agestra 4.12.1 → 4.12.2
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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/dist/bundle.js +173 -172
- package/package.json +1 -3
- package/skills/review.md +21 -15
- package/dist/sql-wasm.cjs +0 -198
- package/dist/sql-wasm.wasm +0 -0
package/dist/bundle.js
CHANGED
|
@@ -1,63 +1,69 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as ___cr } from 'module';import { fileURLToPath as ___fu } from 'url';import { dirname as ___dn } from 'path';const __filename = ___fu(import.meta.url);const __dirname = ___dn(__filename);const require = ___cr(import.meta.url);
|
|
3
|
-
var
|
|
4
|
-
`),
|
|
5
|
-
`)}catch{}return e()}finally{try{e0(a)}catch{}try{om(t)}catch{}}}var o0,s0,i0,eu,tu=Rr(()=>{"use strict";o0=3e4,s0=5e3,i0=10,eu=class extends Error{constructor(e,r){super(`withFileLock: timed out after ${r}ms waiting for ${e}`),this.name="FileLockTimeoutError"}}});import{existsSync as sm,realpathSync as c0}from"fs";import{basename as u0,dirname as l0,isAbsolute as nu,join as d0,normalize as am,resolve as ou,relative as p0}from"path";function f0(t){return t===""||!t.startsWith("..")&&!nu(t)}function ru(t){let e=[],r=ou(t);for(;!sm(r);){let o=l0(r);if(o===r)break;e.unshift(u0(r)),r=o}let n=sm(r)?c0(r):r;return e.reduce((o,s)=>d0(o,s),n)}function cm(t,e){let r=ru(e),n=ru(t),o=p0(r,n);return f0(o)}function su(t,e){let r=ou(e,t);return cm(r,e)}function pt(t,e){let r=ou(e,t);if(!cm(r,e))throw new Error(`Path traversal blocked: ${t} escapes ${e}`);return r}function Fe(t,e){if(t.length===0)throw new Error("Filename must not be empty");if(t.includes("\0"))throw new Error(`Filename contains null byte: ${JSON.stringify(t)}`);if(t.includes("/")||t.includes("\\"))throw new Error(`Filename must not contain path separators: ${JSON.stringify(t)}`);if(t.includes(".."))throw new Error(`Filename must not contain '..': ${JSON.stringify(t)}`);return pt(t,e)}function Qt(t,e){if(nu(t)){let r=am(t);if(!su(r,e))throw new Error(`Read path outside base directory: ${t} is not within ${e}`);return r}return pt(t,e)}function iu(t,e){return nu(t)?ru(am(t)):pt(t,e)}function fr(t){return m0.test(t)}function fi(t,e){if(!t||typeof t!="string")throw new st(String(t),"command must be a non-empty string");if(t.includes("\0"))throw new st(t,"command contains null byte");if(t.includes("/")||t.includes("\\"))throw new st(t,"command must not contain path separators");if(!im.has(t))throw new st(t,`command is not in the allowlist (${[...im].join(", ")})`);for(let r of e){if(typeof r!="string")throw new st(t,`args contain a non-string entry: ${JSON.stringify(r)}`);if(r.includes("\0"))throw new st(t,`arg contains null byte: ${JSON.stringify(r)}`);if(h0.has(r))throw new st(t,`arg ${JSON.stringify(r)} is a code-execution flag and is not permitted`)}}var m0,im,h0,st,Co=Rr(()=>{"use strict";m0=/^[a-zA-Z0-9_-]+-\d+-[a-f0-9]{6}$/;im=new Set(["gemini","codex","claude","npx","node","npm","tsc"]),h0=new Set(["-e","--eval","-c","--command","-E","--execute","--exec"]),st=class extends Error{command;reason;constructor(e,r){super(`CLI command rejected: ${e} \u2014 ${r}`),this.command=e,this.reason=r,this.name="CliCommandRejectedError"}}});var dm={};We(dm,{CLI_PROVIDERS:()=>um,resolveCliConfig:()=>lm});import{readFileSync as au}from"fs";import{join as it}from"path";import{spawn as g0}from"child_process";function lm(t){let e=y0[t.provider]??t.provider;return um[e]??null}function Jr(t,e){let r=it(t,"status.json"),n=`${r}.lock`;Kr(n,()=>{let o=JSON.parse(au(r,"utf-8"));Re(r,{...o,...e})})}async function v0(){let t=process.argv[2];t||process.exit(1);let e;try{e=JSON.parse(au(it(t,"job.json"),"utf-8"))}catch{try{Re(it(t,"status.json"),{id:"unknown",state:"error",provider:"unknown",completedAt:new Date().toISOString()}),oe(it(t,"error.txt"),"Failed to read job.json")}catch{}process.exit(1)}let r=lm(e);r||(Jr(t,{state:"missing_cli",completedAt:new Date().toISOString()}),oe(it(t,"error.txt"),`No CLI mapping for provider: ${e.provider}`),process.exit(1));let{command:n,buildArgs:o}=r;Jr(t,{state:"running",startedAt:new Date().toISOString()});let s=au(it(t,"prompt.txt"),"utf-8"),i=o(s);try{fi(n,i)}catch(c){let u=c instanceof st?c.message:`Argv rejected: ${c.message}`;Jr(t,{state:"error",completedAt:new Date().toISOString()}),oe(it(t,"error.txt"),u);return}let a;if(e.cwd)try{a=pt(e.cwd,process.cwd())}catch(c){Jr(t,{state:"error",completedAt:new Date().toISOString()}),oe(it(t,"error.txt"),`Rejected descriptor.cwd: ${c.message}`);return}return new Promise(c=>{let u=Ht(n,i),l=g0(u.command,u.args,{cwd:a,stdio:["ignore","pipe","pipe"],windowsHide:!0}),d="",p="",f=0,m=0;l.stdout.on("data",y=>{f+=y.length,f<=10485760&&(d+=y.toString())}),l.stderr.on("data",y=>{m+=y.length,m<=10485760&&(p+=y.toString())});let g=setTimeout(()=>{Ct(l),oe(it(t,"output.txt"),d),oe(it(t,"error.txt"),p),Jr(t,{state:"timed_out",completedAt:new Date().toISOString()}),c()},e.timeout);l.on("close",y=>{clearTimeout(g),oe(it(t,"output.txt"),d),oe(it(t,"error.txt"),p);let v=d.trim().length>0;Jr(t,{state:y===0||v?"completed":"error",exitCode:y??1,completedAt:new Date().toISOString()}),c()}),l.on("error",y=>{clearTimeout(g);let v=y.code==="ENOENT"?"missing_cli":"error";oe(it(t,"error.txt"),y.message),Jr(t,{state:v,completedAt:new Date().toISOString()}),c()})})}var y0,um,_0,pm=Rr(()=>{"use strict";pi();tu();ko();Co();$n();y0={"gemini-cli":"gemini","codex-cli":"codex","claude-cli":"claude"},um={gemini:{command:"gemini",buildArgs:t=>["-p",t]},codex:{command:"codex",buildArgs:t=>["exec","--skip-git-repo-check","--full-auto","--ephemeral",t]},claude:{command:"claude",buildArgs:t=>["-p",t]}};_0=process.argv[1]?.endsWith("job-worker.js")||process.argv[1]?.endsWith("job-worker.ts");_0&&v0().catch(()=>process.exit(1))});var _s=R(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.regexpCode=ie.getEsmExportName=ie.getProperty=ie.safeStringify=ie.stringify=ie.strConcat=ie.addCodeArg=ie.str=ie._=ie.nil=ie._Code=ie.Name=ie.IDENTIFIER=ie._CodeOrName=void 0;var ys=class{};ie._CodeOrName=ys;ie.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var on=class extends ys{constructor(e){if(super(),!ie.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};ie.Name=on;var gt=class extends ys{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof on&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ie._Code=gt;ie.nil=new gt("");function p_(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Ul(r,e[n]),r.push(t[++n]);return new gt(r)}ie._=p_;var Zl=new gt("+");function f_(t,...e){let r=[vs(t[0])],n=0;for(;n<e.length;)r.push(Zl),Ul(r,e[n]),r.push(Zl,vs(t[++n]));return yI(r),new gt(r)}ie.str=f_;function Ul(t,e){e instanceof gt?t.push(...e._items):e instanceof on?t.push(e):t.push(bI(e))}ie.addCodeArg=Ul;function yI(t){let e=1;for(;e<t.length-1;){if(t[e]===Zl){let r=vI(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function vI(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof on||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof on))return`"${t}${e.slice(1)}`}function _I(t,e){return e.emptyStr()?t:t.emptyStr()?e:f_`${t}${e}`}ie.strConcat=_I;function bI(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:vs(Array.isArray(t)?t.join(","):t)}function wI(t){return new gt(vs(t))}ie.stringify=wI;function vs(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ie.safeStringify=vs;function xI(t){return typeof t=="string"&&ie.IDENTIFIER.test(t)?new gt(`.${t}`):p_`[${t}]`}ie.getProperty=xI;function SI(t){if(typeof t=="string"&&ie.IDENTIFIER.test(t))return new gt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ie.getEsmExportName=SI;function $I(t){return new gt(t.toString())}ie.regexpCode=$I});var Bl=R(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.ValueScope=rt.ValueScopeName=rt.Scope=rt.varKinds=rt.UsedValueState=void 0;var tt=_s(),ql=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},_a;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(_a||(rt.UsedValueState=_a={}));rt.varKinds={const:new tt.Name("const"),let:new tt.Name("let"),var:new tt.Name("var")};var ba=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof tt.Name?e:this.name(e)}name(e){return new tt.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};rt.Scope=ba;var wa=class extends tt.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,tt._)`.${new tt.Name(r)}[${n}]`}};rt.ValueScopeName=wa;var kI=(0,tt._)`\n`,Vl=class extends ba{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?kI:tt.nil}}get(){return this._scope}name(e){return new wa(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,tt._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=tt.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,_a.Started);let l=r(u);if(l){let d=this.opts.es5?rt.varKinds.var:rt.varKinds.const;s=(0,tt._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,tt._)`${s}${l}${this.opts._n}`;else throw new ql(u);c.set(u,_a.Completed)})}return s}};rt.ValueScope=Vl});var J=R(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.or=G.and=G.not=G.CodeGen=G.operators=G.varKinds=G.ValueScopeName=G.ValueScope=G.Scope=G.Name=G.regexpCode=G.stringify=G.getProperty=G.nil=G.strConcat=G.str=G._=void 0;var ne=_s(),$t=Bl(),br=_s();Object.defineProperty(G,"_",{enumerable:!0,get:function(){return br._}});Object.defineProperty(G,"str",{enumerable:!0,get:function(){return br.str}});Object.defineProperty(G,"strConcat",{enumerable:!0,get:function(){return br.strConcat}});Object.defineProperty(G,"nil",{enumerable:!0,get:function(){return br.nil}});Object.defineProperty(G,"getProperty",{enumerable:!0,get:function(){return br.getProperty}});Object.defineProperty(G,"stringify",{enumerable:!0,get:function(){return br.stringify}});Object.defineProperty(G,"regexpCode",{enumerable:!0,get:function(){return br.regexpCode}});Object.defineProperty(G,"Name",{enumerable:!0,get:function(){return br.Name}});var ka=Bl();Object.defineProperty(G,"Scope",{enumerable:!0,get:function(){return ka.Scope}});Object.defineProperty(G,"ValueScope",{enumerable:!0,get:function(){return ka.ValueScope}});Object.defineProperty(G,"ValueScopeName",{enumerable:!0,get:function(){return ka.ValueScopeName}});Object.defineProperty(G,"varKinds",{enumerable:!0,get:function(){return ka.varKinds}});G.operators={GT:new ne._Code(">"),GTE:new ne._Code(">="),LT:new ne._Code("<"),LTE:new ne._Code("<="),EQ:new ne._Code("==="),NEQ:new ne._Code("!=="),NOT:new ne._Code("!"),OR:new ne._Code("||"),AND:new ne._Code("&&"),ADD:new ne._Code("+")};var rr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Wl=class extends rr{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?$t.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Yn(this.rhs,e,r)),this}get names(){return this.rhs instanceof ne._CodeOrName?this.rhs.names:{}}},xa=class extends rr{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof ne.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Yn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof ne.Name?{}:{...this.lhs.names};return $a(e,this.rhs)}},Hl=class extends xa{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Kl=class extends rr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Jl=class extends rr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Gl=class extends rr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Yl=class extends rr{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Yn(this.code,e,r),this}get names(){return this.code instanceof ne._CodeOrName?this.code.names:{}}},bs=class extends rr{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(PI(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>cn(e,r.names),{})}},nr=class extends bs{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Xl=class extends bs{},Gn=class extends nr{};Gn.kind="else";var sn=class t extends nr{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Gn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(m_(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Yn(this.condition,e,r),this}get names(){let e=super.names;return $a(e,this.condition),this.else&&cn(e,this.else.names),e}};sn.kind="if";var an=class extends nr{};an.kind="for";var Ql=class extends an{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Yn(this.iteration,e,r),this}get names(){return cn(super.names,this.iteration.names)}},ed=class extends an{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?$t.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=$a(super.names,this.from);return $a(e,this.to)}},Sa=class extends an{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Yn(this.iterable,e,r),this}get names(){return cn(super.names,this.iterable.names)}},ws=class extends nr{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};ws.kind="func";var xs=class extends bs{render(e){return"return "+super.render(e)}};xs.kind="return";var td=class extends nr{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&cn(e,this.catch.names),this.finally&&cn(e,this.finally.names),e}},Ss=class extends nr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ss.kind="catch";var $s=class extends nr{render(e){return"finally"+super.render(e)}};$s.kind="finally";var rd=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
6
|
-
`:""},this._extScope=e,this._scope=new $t.Scope({parent:e}),this._nodes=[new Xl]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Wl(e,s,n)),s}const(e,r,n){return this._def($t.varKinds.const,e,r,n)}let(e,r,n){return this._def($t.varKinds.let,e,r,n)}var(e,r,n){return this._def($t.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new xa(e,r,n))}add(e,r){return this._leafNode(new Hl(e,G.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==ne.nil&&this._leafNode(new Yl(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,ne.addCodeArg)(r,o));return r.push("}"),new ne._Code(r)}if(e,r,n){if(this._blockNode(new sn(e)),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(e){return this._elseNode(new sn(e))}else(){return this._elseNode(new Gn)}endIf(){return this._endBlockNode(sn,Gn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Ql(e),r)}forRange(e,r,n,o,s=this.opts.es5?$t.varKinds.var:$t.varKinds.let){let i=this._scope.toName(e);return this._for(new ed(s,i,r,n),()=>o(i))}forOf(e,r,n,o=$t.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof ne.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,ne._)`${i}.length`,a=>{this.var(s,(0,ne._)`${i}[${a}]`),n(s)})}return this._for(new Sa("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?$t.varKinds.var:$t.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,ne._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Sa("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(an)}label(e){return this._leafNode(new Kl(e))}break(e){return this._leafNode(new Jl(e))}return(e){let r=new xs;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(xs)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new td;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ss(s),r(s)}return n&&(this._currNode=o.finally=new $s,this.code(n)),this._endBlockNode(Ss,$s)}throw(e){return this._leafNode(new Gl(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){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||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=ne.nil,n,o){return this._blockNode(new ws(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(ws)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof sn))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};G.CodeGen=rd;function cn(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function $a(t,e){return e instanceof ne._CodeOrName?cn(t,e.names):t}function Yn(t,e,r){if(t instanceof ne.Name)return n(t);if(!o(t))return t;return new ne._Code(t._items.reduce((s,i)=>(i instanceof ne.Name&&(i=n(i)),i instanceof ne._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof ne._Code&&s._items.some(i=>i instanceof ne.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function PI(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function m_(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,ne._)`!${nd(t)}`}G.not=m_;var TI=h_(G.operators.AND);function EI(...t){return t.reduce(TI)}G.and=EI;var RI=h_(G.operators.OR);function II(...t){return t.reduce(RI)}G.or=II;function h_(t){return(e,r)=>e===ne.nil?r:r===ne.nil?e:(0,ne._)`${nd(e)} ${t} ${nd(r)}`}function nd(t){return t instanceof ne.Name?t:(0,ne._)`(${t})`}});var ae=R(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.checkStrictMode=Y.getErrorPath=Y.Type=Y.useFunc=Y.setEvaluated=Y.evaluatedPropsToName=Y.mergeEvaluated=Y.eachItem=Y.unescapeJsonPointer=Y.escapeJsonPointer=Y.escapeFragment=Y.unescapeFragment=Y.schemaRefOrVal=Y.schemaHasRulesButRef=Y.schemaHasRules=Y.checkUnknownRules=Y.alwaysValidSchema=Y.toHash=void 0;var de=J(),AI=_s();function CI(t){let e={};for(let r of t)e[r]=!0;return e}Y.toHash=CI;function DI(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(v_(t,e),!__(e,t.self.RULES.all))}Y.alwaysValidSchema=DI;function v_(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||x_(t,`unknown keyword: "${s}"`)}Y.checkUnknownRules=v_;function __(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}Y.schemaHasRules=__;function zI(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}Y.schemaHasRulesButRef=zI;function OI({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,de._)`${r}`}return(0,de._)`${t}${e}${(0,de.getProperty)(n)}`}Y.schemaRefOrVal=OI;function MI(t){return b_(decodeURIComponent(t))}Y.unescapeFragment=MI;function NI(t){return encodeURIComponent(sd(t))}Y.escapeFragment=NI;function sd(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}Y.escapeJsonPointer=sd;function b_(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}Y.unescapeJsonPointer=b_;function jI(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}Y.eachItem=jI;function g_({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof de.Name?(s instanceof de.Name?t(o,s,i):e(o,s,i),i):s instanceof de.Name?(e(o,i,s),s):r(s,i);return a===de.Name&&!(c instanceof de.Name)?n(o,c):c}}Y.mergeEvaluated={props:g_({mergeNames:(t,e,r)=>t.if((0,de._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,de._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,de._)`${r} || {}`).code((0,de._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,de._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,de._)`${r} || {}`),id(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:w_}),items:g_({mergeNames:(t,e,r)=>t.if((0,de._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,de._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,de._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,de._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function w_(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,de._)`{}`);return e!==void 0&&id(t,r,e),r}Y.evaluatedPropsToName=w_;function id(t,e,r){Object.keys(r).forEach(n=>t.assign((0,de._)`${e}${(0,de.getProperty)(n)}`,!0))}Y.setEvaluated=id;var y_={};function LI(t,e){return t.scopeValue("func",{ref:e,code:y_[e.code]||(y_[e.code]=new AI._Code(e.code))})}Y.useFunc=LI;var od;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(od||(Y.Type=od={}));function FI(t,e,r){if(t instanceof de.Name){let n=e===od.Num;return r?n?(0,de._)`"[" + ${t} + "]"`:(0,de._)`"['" + ${t} + "']"`:n?(0,de._)`"/" + ${t}`:(0,de._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,de.getProperty)(t).toString():"/"+sd(t)}Y.getErrorPath=FI;function x_(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}Y.checkStrictMode=x_});var or=R(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var qe=J(),ZI={data:new qe.Name("data"),valCxt:new qe.Name("valCxt"),instancePath:new qe.Name("instancePath"),parentData:new qe.Name("parentData"),parentDataProperty:new qe.Name("parentDataProperty"),rootData:new qe.Name("rootData"),dynamicAnchors:new qe.Name("dynamicAnchors"),vErrors:new qe.Name("vErrors"),errors:new qe.Name("errors"),this:new qe.Name("this"),self:new qe.Name("self"),scope:new qe.Name("scope"),json:new qe.Name("json"),jsonPos:new qe.Name("jsonPos"),jsonLen:new qe.Name("jsonLen"),jsonPart:new qe.Name("jsonPart")};ad.default=ZI});var ks=R(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.extendErrors=Ve.resetErrorsCount=Ve.reportExtraError=Ve.reportError=Ve.keyword$DataError=Ve.keywordError=void 0;var se=J(),Pa=ae(),Ge=or();Ve.keywordError={message:({keyword:t})=>(0,se.str)`must pass "${t}" keyword validation`};Ve.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,se.str)`"${t}" keyword must be ${e} ($data)`:(0,se.str)`"${t}" keyword is invalid ($data)`};function UI(t,e=Ve.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=k_(t,e,r);n??(i||a)?S_(s,c):$_(o,(0,se._)`[${c}]`)}Ve.reportError=UI;function qI(t,e=Ve.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=k_(t,e,r);S_(o,a),s||i||$_(n,Ge.default.vErrors)}Ve.reportExtraError=qI;function VI(t,e){t.assign(Ge.default.errors,e),t.if((0,se._)`${Ge.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,se._)`${Ge.default.vErrors}.length`,e),()=>t.assign(Ge.default.vErrors,null)))}Ve.resetErrorsCount=VI;function BI({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,Ge.default.errors,a=>{t.const(i,(0,se._)`${Ge.default.vErrors}[${a}]`),t.if((0,se._)`${i}.instancePath === undefined`,()=>t.assign((0,se._)`${i}.instancePath`,(0,se.strConcat)(Ge.default.instancePath,s.errorPath))),t.assign((0,se._)`${i}.schemaPath`,(0,se.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,se._)`${i}.schema`,r),t.assign((0,se._)`${i}.data`,n))})}Ve.extendErrors=BI;function S_(t,e){let r=t.const("err",e);t.if((0,se._)`${Ge.default.vErrors} === null`,()=>t.assign(Ge.default.vErrors,(0,se._)`[${r}]`),(0,se._)`${Ge.default.vErrors}.push(${r})`),t.code((0,se._)`${Ge.default.errors}++`)}function $_(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,se._)`new ${t.ValidationError}(${e})`):(r.assign((0,se._)`${n}.errors`,e),r.return(!1))}var un={keyword:new se.Name("keyword"),schemaPath:new se.Name("schemaPath"),params:new se.Name("params"),propertyName:new se.Name("propertyName"),message:new se.Name("message"),schema:new se.Name("schema"),parentSchema:new se.Name("parentSchema")};function k_(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,se._)`{}`:WI(t,e,r)}function WI(t,e,r={}){let{gen:n,it:o}=t,s=[HI(o,r),KI(t,r)];return JI(t,e,s),n.object(...s)}function HI({errorPath:t},{instancePath:e}){let r=e?(0,se.str)`${t}${(0,Pa.getErrorPath)(e,Pa.Type.Str)}`:t;return[Ge.default.instancePath,(0,se.strConcat)(Ge.default.instancePath,r)]}function KI({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,se.str)`${e}/${t}`;return r&&(o=(0,se.str)`${o}${(0,Pa.getErrorPath)(r,Pa.Type.Str)}`),[un.schemaPath,o]}function JI(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([un.keyword,o],[un.params,typeof e=="function"?e(t):e||(0,se._)`{}`]),c.messages&&n.push([un.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([un.schema,i],[un.parentSchema,(0,se._)`${l}${d}`],[Ge.default.data,s]),u&&n.push([un.propertyName,u])}});var T_=R(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.boolOrEmptySchema=Xn.topBoolOrEmptySchema=void 0;var GI=ks(),YI=J(),XI=or(),QI={message:"boolean schema is false"};function eA(t){let{gen:e,schema:r,validateName:n}=t;r===!1?P_(t,!1):typeof r=="object"&&r.$async===!0?e.return(XI.default.data):(e.assign((0,YI._)`${n}.errors`,null),e.return(!0))}Xn.topBoolOrEmptySchema=eA;function tA(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),P_(t)):r.var(e,!0)}Xn.boolOrEmptySchema=tA;function P_(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,GI.reportError)(o,QI,void 0,e)}});var cd=R(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.getRules=Qn.isJSONType=void 0;var rA=["string","number","integer","boolean","null","object","array"],nA=new Set(rA);function oA(t){return typeof t=="string"&&nA.has(t)}Qn.isJSONType=oA;function sA(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Qn.getRules=sA});var ud=R(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.shouldUseRule=wr.shouldUseGroup=wr.schemaHasRulesForType=void 0;function iA({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&E_(t,n)}wr.schemaHasRulesForType=iA;function E_(t,e){return e.rules.some(r=>R_(t,r))}wr.shouldUseGroup=E_;function R_(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}wr.shouldUseRule=R_});var Ps=R(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.reportTypeError=Be.checkDataTypes=Be.checkDataType=Be.coerceAndCheckDataType=Be.getJSONTypes=Be.getSchemaTypes=Be.DataType=void 0;var aA=cd(),cA=ud(),uA=ks(),V=J(),I_=ae(),eo;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(eo||(Be.DataType=eo={}));function lA(t){let e=A_(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Be.getSchemaTypes=lA;function A_(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(aA.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Be.getJSONTypes=A_;function dA(t,e){let{gen:r,data:n,opts:o}=t,s=pA(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,cA.schemaHasRulesForType)(t,e[0]));if(i){let a=dd(e,n,o.strictNumbers,eo.Wrong);r.if(a,()=>{s.length?fA(t,e,s):pd(t)})}return i}Be.coerceAndCheckDataType=dA;var C_=new Set(["string","number","integer","boolean","null"]);function pA(t,e){return e?t.filter(r=>C_.has(r)||e==="array"&&r==="array"):[]}function fA(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,V._)`typeof ${o}`),a=n.let("coerced",(0,V._)`undefined`);s.coerceTypes==="array"&&n.if((0,V._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,V._)`${o}[0]`).assign(i,(0,V._)`typeof ${o}`).if(dd(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,V._)`${a} !== undefined`);for(let u of r)(C_.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),pd(t),n.endIf(),n.if((0,V._)`${a} !== undefined`,()=>{n.assign(o,a),mA(t,a)});function c(u){switch(u){case"string":n.elseIf((0,V._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,V._)`"" + ${o}`).elseIf((0,V._)`${o} === null`).assign(a,(0,V._)`""`);return;case"number":n.elseIf((0,V._)`${i} == "boolean" || ${o} === null
|
|
7
|
-
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,
|
|
8
|
-
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,
|
|
9
|
-
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,V._)`[${o}]`)}}}function mA({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,V._)`${e} !== undefined`,()=>t.assign((0,V._)`${e}[${r}]`,n))}function ld(t,e,r,n=eo.Correct){let o=n===eo.Correct?V.operators.EQ:V.operators.NEQ,s;switch(t){case"null":return(0,V._)`${e} ${o} null`;case"array":s=(0,V._)`Array.isArray(${e})`;break;case"object":s=(0,V._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,V._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,V._)`typeof ${e} ${o} ${t}`}return n===eo.Correct?s:(0,V.not)(s);function i(a=V.nil){return(0,V.and)((0,V._)`typeof ${e} == "number"`,a,r?(0,V._)`isFinite(${e})`:V.nil)}}Be.checkDataType=ld;function dd(t,e,r,n){if(t.length===1)return ld(t[0],e,r,n);let o,s=(0,I_.toHash)(t);if(s.array&&s.object){let i=(0,V._)`typeof ${e} != "object"`;o=s.null?i:(0,V._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=V.nil;s.number&&delete s.integer;for(let i in s)o=(0,V.and)(o,ld(i,e,r,n));return o}Be.checkDataTypes=dd;var hA={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,V._)`{type: ${t}}`:(0,V._)`{type: ${e}}`};function pd(t){let e=gA(t);(0,uA.reportError)(e,hA)}Be.reportTypeError=pd;function gA(t){let{gen:e,data:r,schema:n}=t,o=(0,I_.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var z_=R(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.assignDefaults=void 0;var to=J(),yA=ae();function vA(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)D_(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>D_(t,s,o.default))}Ta.assignDefaults=vA;function D_(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,to._)`${s}${(0,to.getProperty)(e)}`;if(o){(0,yA.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,to._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,to._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,to._)`${a} = ${(0,to.stringify)(r)}`)}});var yt=R(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.validateUnion=le.validateArray=le.usePattern=le.callValidateCode=le.schemaProperties=le.allSchemaProperties=le.noPropertyInData=le.propertyInData=le.isOwnProperty=le.hasPropFunc=le.reportMissingProp=le.checkMissingProp=le.checkReportMissingProp=void 0;var ye=J(),fd=ae(),xr=or(),_A=ae();function bA(t,e){let{gen:r,data:n,it:o}=t;r.if(hd(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ye._)`${e}`},!0),t.error()})}le.checkReportMissingProp=bA;function wA({gen:t,data:e,it:{opts:r}},n,o){return(0,ye.or)(...n.map(s=>(0,ye.and)(hd(t,e,s,r.ownProperties),(0,ye._)`${o} = ${s}`)))}le.checkMissingProp=wA;function xA(t,e){t.setParams({missingProperty:e},!0),t.error()}le.reportMissingProp=xA;function O_(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ye._)`Object.prototype.hasOwnProperty`})}le.hasPropFunc=O_;function md(t,e,r){return(0,ye._)`${O_(t)}.call(${e}, ${r})`}le.isOwnProperty=md;function SA(t,e,r,n){let o=(0,ye._)`${e}${(0,ye.getProperty)(r)} !== undefined`;return n?(0,ye._)`${o} && ${md(t,e,r)}`:o}le.propertyInData=SA;function hd(t,e,r,n){let o=(0,ye._)`${e}${(0,ye.getProperty)(r)} === undefined`;return n?(0,ye.or)(o,(0,ye.not)(md(t,e,r))):o}le.noPropertyInData=hd;function M_(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}le.allSchemaProperties=M_;function $A(t,e){return M_(e).filter(r=>!(0,fd.alwaysValidSchema)(t,e[r]))}le.schemaProperties=$A;function kA({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,ye._)`${t}, ${e}, ${n}${o}`:e,d=[[xr.default.instancePath,(0,ye.strConcat)(xr.default.instancePath,s)],[xr.default.parentData,i.parentData],[xr.default.parentDataProperty,i.parentDataProperty],[xr.default.rootData,xr.default.rootData]];i.opts.dynamicRef&&d.push([xr.default.dynamicAnchors,xr.default.dynamicAnchors]);let p=(0,ye._)`${l}, ${r.object(...d)}`;return c!==ye.nil?(0,ye._)`${a}.call(${c}, ${p})`:(0,ye._)`${a}(${p})`}le.callValidateCode=kA;var PA=(0,ye._)`new RegExp`;function TA({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,ye._)`${o.code==="new RegExp"?PA:(0,_A.useFunc)(t,o)}(${r}, ${n})`})}le.usePattern=TA;function EA(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,ye._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:fd.Type.Num},s),e.if((0,ye.not)(s),a)})}}le.validateArray=EA;function RA(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,fd.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,ye._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ye.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}le.validateUnion=RA});var L_=R(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.validateKeywordUsage=Lt.validSchemaType=Lt.funcKeywordCode=Lt.macroKeywordCode=void 0;var Ye=J(),ln=or(),IA=yt(),AA=ks();function CA(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=j_(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ye.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Lt.macroKeywordCode=CA;function DA(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;OA(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=j_(n,o,u),d=n.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)g(),e.modifying&&N_(t),y(()=>t.error());else{let v=e.async?f():m();e.modifying&&N_(t),y(()=>zA(t,v))}}function f(){let v=n.let("ruleErrs",null);return n.try(()=>g((0,Ye._)`await `),x=>n.assign(d,!1).if((0,Ye._)`${x} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,Ye._)`${x}.errors`),()=>n.throw(x))),v}function m(){let v=(0,Ye._)`${l}.errors`;return n.assign(v,null),g(Ye.nil),v}function g(v=e.async?(0,Ye._)`await `:Ye.nil){let x=c.opts.passContext?ln.default.this:ln.default.self,b=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ye._)`${v}${(0,IA.callValidateCode)(t,l,x,b)}`,e.modifying)}function y(v){var x;n.if((0,Ye.not)((x=e.valid)!==null&&x!==void 0?x:d),v)}}Lt.funcKeywordCode=DA;function N_(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ye._)`${n.parentData}[${n.parentDataProperty}]`))}function zA(t,e){let{gen:r}=t;r.if((0,Ye._)`Array.isArray(${e})`,()=>{r.assign(ln.default.vErrors,(0,Ye._)`${ln.default.vErrors} === null ? ${e} : ${ln.default.vErrors}.concat(${e})`).assign(ln.default.errors,(0,Ye._)`${ln.default.vErrors}.length`),(0,AA.extendErrors)(t)},()=>t.error())}function OA({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function j_(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ye.stringify)(r)})}function MA(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Lt.validSchemaType=MA;function NA({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Lt.validateKeywordUsage=NA});var Z_=R(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.extendSubschemaMode=Sr.extendSubschemaData=Sr.getSubschema=void 0;var Ft=J(),F_=ae();function jA(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,Ft._)`${t.schemaPath}${(0,Ft.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Ft._)`${t.schemaPath}${(0,Ft.getProperty)(e)}${(0,Ft.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,F_.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Sr.getSubschema=jA;function LA(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=a.let("data",(0,Ft._)`${e.data}${(0,Ft.getProperty)(r)}`,!0);c(p),t.errorPath=(0,Ft.str)`${u}${(0,F_.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Ft._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof Ft.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Sr.extendSubschemaData=LA;function FA(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}Sr.extendSubschemaMode=FA});var gd=R((n2,U_)=>{"use strict";U_.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var V_=R((o2,q_)=>{"use strict";var $r=q_.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Ea(e,n,o,t,"",t)};$r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};$r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};$r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};$r.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 Ea(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in $r.arrayKeywords)for(var p=0;p<d.length;p++)Ea(t,e,r,d[p],o+"/"+l+"/"+p,s,o,l,n,p)}else if(l in $r.propsKeywords){if(d&&typeof d=="object")for(var f in d)Ea(t,e,r,d[f],o+"/"+l+"/"+ZA(f),s,o,l,n,f)}else(l in $r.keywords||t.allKeys&&!(l in $r.skipKeywords))&&Ea(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function ZA(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Ts=R(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.getSchemaRefs=nt.resolveUrl=nt.normalizeId=nt._getFullPath=nt.getFullPath=nt.inlineRef=void 0;var UA=ae(),qA=gd(),VA=V_(),BA=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function WA(t,e=!0){return typeof t=="boolean"?!0:e===!0?!yd(t):e?B_(t)<=e:!1}nt.inlineRef=WA;var HA=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function yd(t){for(let e in t){if(HA.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(yd)||typeof r=="object"&&yd(r))return!0}return!1}function B_(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!BA.has(r)&&(typeof t[r]=="object"&&(0,UA.eachItem)(t[r],n=>e+=B_(n)),e===1/0))return 1/0}return e}function W_(t,e="",r){r!==!1&&(e=ro(e));let n=t.parse(e);return H_(t,n)}nt.getFullPath=W_;function H_(t,e){return t.serialize(e).split("#")[0]+"#"}nt._getFullPath=H_;var KA=/#\/?$/;function ro(t){return t?t.replace(KA,""):""}nt.normalizeId=ro;function JA(t,e,r){return r=ro(r),t.resolve(e,r)}nt.resolveUrl=JA;var GA=/^[a-z_][-a-z0-9._]*$/i;function YA(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=ro(t[r]||e),s={"":o},i=W_(n,o,!1),a={},c=new Set;return VA(t,{allKeys:!0},(d,p,f,m)=>{if(m===void 0)return;let g=i+p,y=s[m];typeof d[r]=="string"&&(y=v.call(this,d[r])),x.call(this,d.$anchor),x.call(this,d.$dynamicAnchor),s[p]=y;function v(b){let P=this.opts.uriResolver.resolve;if(b=ro(y?P(y,b):b),c.has(b))throw l(b);c.add(b);let T=this.refs[b];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?u(d,T.schema,b):b!==ro(g)&&(b[0]==="#"?(u(d,a[b],b),a[b]=d):this.refs[b]=g),b}function x(b){if(typeof b=="string"){if(!GA.test(b))throw new Error(`invalid anchor "${b}"`);v.call(this,`#${b}`)}}}),a;function u(d,p,f){if(p!==void 0&&!qA(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}nt.getSchemaRefs=YA});var Is=R(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.getData=kr.KeywordCxt=kr.validateFunctionCode=void 0;var X_=T_(),K_=Ps(),_d=ud(),Ra=Ps(),XA=z_(),Rs=L_(),vd=Z_(),z=J(),U=or(),QA=Ts(),sr=ae(),Es=ks();function eC(t){if(tb(t)&&(rb(t),eb(t))){nC(t);return}Q_(t,()=>(0,X_.topBoolOrEmptySchema)(t))}kr.validateFunctionCode=eC;function Q_({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,z._)`${U.default.data}, ${U.default.valCxt}`,n.$async,()=>{t.code((0,z._)`"use strict"; ${J_(r,o)}`),rC(t,o),t.code(s)}):t.func(e,(0,z._)`${U.default.data}, ${tC(o)}`,n.$async,()=>t.code(J_(r,o)).code(s))}function tC(t){return(0,z._)`{${U.default.instancePath}="", ${U.default.parentData}, ${U.default.parentDataProperty}, ${U.default.rootData}=${U.default.data}${t.dynamicRef?(0,z._)`, ${U.default.dynamicAnchors}={}`:z.nil}}={}`}function rC(t,e){t.if(U.default.valCxt,()=>{t.var(U.default.instancePath,(0,z._)`${U.default.valCxt}.${U.default.instancePath}`),t.var(U.default.parentData,(0,z._)`${U.default.valCxt}.${U.default.parentData}`),t.var(U.default.parentDataProperty,(0,z._)`${U.default.valCxt}.${U.default.parentDataProperty}`),t.var(U.default.rootData,(0,z._)`${U.default.valCxt}.${U.default.rootData}`),e.dynamicRef&&t.var(U.default.dynamicAnchors,(0,z._)`${U.default.valCxt}.${U.default.dynamicAnchors}`)},()=>{t.var(U.default.instancePath,(0,z._)`""`),t.var(U.default.parentData,(0,z._)`undefined`),t.var(U.default.parentDataProperty,(0,z._)`undefined`),t.var(U.default.rootData,U.default.data),e.dynamicRef&&t.var(U.default.dynamicAnchors,(0,z._)`{}`)})}function nC(t){let{schema:e,opts:r,gen:n}=t;Q_(t,()=>{r.$comment&&e.$comment&&ob(t),cC(t),n.let(U.default.vErrors,null),n.let(U.default.errors,0),r.unevaluated&&oC(t),nb(t),dC(t)})}function oC(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,z._)`${r}.evaluated`),e.if((0,z._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,z._)`${t.evaluated}.props`,(0,z._)`undefined`)),e.if((0,z._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,z._)`${t.evaluated}.items`,(0,z._)`undefined`))}function J_(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,z._)`/*# sourceURL=${r} */`:z.nil}function sC(t,e){if(tb(t)&&(rb(t),eb(t))){iC(t,e);return}(0,X_.boolOrEmptySchema)(t,e)}function eb({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function tb(t){return typeof t.schema!="boolean"}function iC(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&ob(t),uC(t),lC(t);let s=n.const("_errs",U.default.errors);nb(t,s),n.var(e,(0,z._)`${s} === ${U.default.errors}`)}function rb(t){(0,sr.checkUnknownRules)(t),aC(t)}function nb(t,e){if(t.opts.jtd)return G_(t,[],!1,e);let r=(0,K_.getSchemaTypes)(t.schema),n=(0,K_.coerceAndCheckDataType)(t,r);G_(t,r,!n,e)}function aC(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,sr.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function cC(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,sr.checkStrictMode)(t,"default is ignored in the schema root")}function uC(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,QA.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function lC(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ob({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,z._)`${U.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,z.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,z._)`${U.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function dC(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,z._)`${U.default.errors} === 0`,()=>e.return(U.default.data),()=>e.throw((0,z._)`new ${o}(${U.default.vErrors})`)):(e.assign((0,z._)`${n}.errors`,U.default.vErrors),s.unevaluated&&pC(t),e.return((0,z._)`${U.default.errors} === 0`))}function pC({gen:t,evaluated:e,props:r,items:n}){r instanceof z.Name&&t.assign((0,z._)`${e}.props`,r),n instanceof z.Name&&t.assign((0,z._)`${e}.items`,n)}function G_(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,sr.schemaHasRulesButRef)(s,l))){o.block(()=>ib(t,"$ref",l.all.$ref.definition));return}c.jtd||fC(t,e),o.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,_d.shouldUseGroup)(s,p)&&(p.type?(o.if((0,Ra.checkDataType)(p.type,i,c.strictNumbers)),Y_(t,p),e.length===1&&e[0]===p.type&&r&&(o.else(),(0,Ra.reportTypeError)(t)),o.endIf()):Y_(t,p),a||o.if((0,z._)`${U.default.errors} === ${n||0}`))}}function Y_(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,XA.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,_d.shouldUseRule)(n,s)&&ib(t,s.keyword,s.definition,e.type)})}function fC(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(mC(t,e),t.opts.allowUnionTypes||hC(t,e),gC(t,t.dataTypes))}function mC(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{sb(t.dataTypes,r)||bd(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),vC(t,e)}}function hC(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&bd(t,"use allowUnionTypes to allow union type keyword")}function gC(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,_d.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>yC(e,i))&&bd(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function yC(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function sb(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function vC(t,e){let r=[];for(let n of t.dataTypes)sb(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function bd(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,sr.checkStrictMode)(t,e,t.opts.strictTypes)}var Ia=class{constructor(e,r,n){if((0,Rs.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,sr.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",ab(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Rs.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=e.gen.const("_errs",U.default.errors))}result(e,r,n){this.failResult((0,z.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,z.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,z._)`${r} !== undefined && (${(0,z.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Es.reportExtraError:Es.reportError)(this,this.def.error,r)}$dataError(){(0,Es.reportError)(this,this.def.$dataError||Es.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Es.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=z.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=z.nil,r=z.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,z.or)((0,z._)`${o} === undefined`,r)),e!==z.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==z.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,z.or)(i(),a());function i(){if(n.length){if(!(r instanceof z.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,z._)`${(0,Ra.checkDataTypes)(c,r,s.opts.strictNumbers,Ra.DataType.Wrong)}`}return z.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,z._)`!${c}(${r})`}return z.nil}}subschema(e,r){let n=(0,vd.getSubschema)(this.it,e);(0,vd.extendSubschemaData)(n,this.it,e),(0,vd.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return sC(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=sr.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=sr.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,z.Name)),!0}};kr.KeywordCxt=Ia;function ib(t,e,r,n){let o=new Ia(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Rs.funcKeywordCode)(o,r):"macro"in r?(0,Rs.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Rs.funcKeywordCode)(o,r)}var _C=/^\/(?:[^~]|~0|~1)*$/,bC=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ab(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return U.default.rootData;if(t[0]==="/"){if(!_C.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=U.default.rootData}else{let u=bC.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,z._)`${s}${(0,z.getProperty)((0,sr.unescapeJsonPointer)(u))}`,i=(0,z._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}kr.getData=ab});var Aa=R(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var wd=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};xd.default=wd});var As=R(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var Sd=Ts(),$d=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Sd.resolveUrl)(e,r,n),this.missingSchema=(0,Sd.normalizeId)((0,Sd.getFullPath)(e,this.missingRef))}};kd.default=$d});var Da=R(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.resolveSchema=vt.getCompilingSchema=vt.resolveRef=vt.compileSchema=vt.SchemaEnv=void 0;var kt=J(),wC=Aa(),dn=or(),Pt=Ts(),cb=ae(),xC=Is(),no=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Pt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};vt.SchemaEnv=no;function Td(t){let e=ub.call(this,t);if(e)return e;let r=(0,Pt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new kt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:wC.default,code:(0,kt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:dn.default.data,parentData:dn.default.parentData,parentDataProperty:dn.default.parentDataProperty,dataNames:[dn.default.data],dataPathArr:[kt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,kt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:kt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,kt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,xC.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(dn.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${dn.default.self}`,`${dn.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:m,items:g}=u;f.evaluated={props:m instanceof kt.Name?void 0:m,items:g instanceof kt.Name?void 0:g,dynamicProps:m instanceof kt.Name,dynamicItems:g instanceof kt.Name},f.source&&(f.source.evaluated=(0,kt.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}vt.compileSchema=Td;function SC(t,e,r){var n;r=(0,Pt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=PC.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new no({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=$C.call(this,s)}vt.resolveRef=SC;function $C(t){return(0,Pt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Td.call(this,t)}function ub(t){for(let e of this._compilations)if(kC(e,t))return e}vt.getCompilingSchema=ub;function kC(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function PC(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Ca.call(this,t,e)}function Ca(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Pt._getFullPath)(this.opts.uriResolver,r),o=(0,Pt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Pd.call(this,r,t);let s=(0,Pt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Ca.call(this,t,i);return typeof a?.schema!="object"?void 0:Pd.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Td.call(this,i),s===(0,Pt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Pt.resolveUrl)(this.opts.uriResolver,o,u)),new no({schema:a,schemaId:c,root:t,baseId:o})}return Pd.call(this,r,i)}}vt.resolveSchema=Ca;var TC=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Pd(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,cb.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!TC.has(a)&&u&&(e=(0,Pt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,cb.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Pt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Ca.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new no({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var lb=R((l2,EC)=>{EC.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 Rd=R((d2,mb)=>{"use strict";var RC=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),pb=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 Ed(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var IC=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function db(t){return t.length=0,!0}function AC(t,e,r){if(t.length){let n=Ed(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function CC(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=AC;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=db}else{o.push(u);continue}}return o.length&&(a===db?r.zone=o.join(""):i?n.push(o.join("")):n.push(Ed(o))),r.address=n.join(""),r}function fb(t){if(DC(t,":")<2)return{host:t,isIPV6:!1};let e=CC(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function DC(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function zC(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function OC(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function MC(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!pb(r)){let n=fb(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}mb.exports={nonSimpleDomain:IC,recomposeAuthority:MC,normalizeComponentEncoding:OC,removeDotSegments:zC,isIPv4:pb,isUUID:RC,normalizeIPv6:fb,stringArrayToHexStripped:Ed}});var _b=R((p2,vb)=>{"use strict";var{isUUID:NC}=Rd(),jC=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,LC=["http","https","ws","wss","urn","urn:uuid"];function FC(t){return LC.indexOf(t)!==-1}function Id(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function hb(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function gb(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function ZC(t){return t.secure=Id(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function UC(t){if((t.port===(Id(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function qC(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(jC);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=Ad(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function VC(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=Ad(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function BC(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!NC(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function WC(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var yb={scheme:"http",domainHost:!0,parse:hb,serialize:gb},HC={scheme:"https",domainHost:yb.domainHost,parse:hb,serialize:gb},za={scheme:"ws",domainHost:!0,parse:ZC,serialize:UC},KC={scheme:"wss",domainHost:za.domainHost,parse:za.parse,serialize:za.serialize},JC={scheme:"urn",parse:qC,serialize:VC,skipNormalize:!0},GC={scheme:"urn:uuid",parse:BC,serialize:WC,skipNormalize:!0},Oa={http:yb,https:HC,ws:za,wss:KC,urn:JC,"urn:uuid":GC};Object.setPrototypeOf(Oa,null);function Ad(t){return t&&(Oa[t]||Oa[t.toLowerCase()])||void 0}vb.exports={wsIsSecure:Id,SCHEMES:Oa,isValidSchemeName:FC,getSchemeHandler:Ad}});var xb=R((f2,Na)=>{"use strict";var{normalizeIPv6:YC,removeDotSegments:Cs,recomposeAuthority:XC,normalizeComponentEncoding:Ma,isIPv4:QC,nonSimpleDomain:eD}=Rd(),{SCHEMES:tD,getSchemeHandler:bb}=_b();function rD(t,e){return typeof t=="string"?t=Zt(ir(t,e),e):typeof t=="object"&&(t=ir(Zt(t,e),e)),t}function nD(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=wb(ir(t,n),ir(e,n),n,!0);return n.skipEscape=!0,Zt(o,n)}function wb(t,e,r,n){let o={};return n||(t=ir(Zt(t,r),r),e=ir(Zt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Cs(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Cs(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Cs(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=Cs(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function oD(t,e,r){return typeof t=="string"?(t=unescape(t),t=Zt(Ma(ir(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Zt(Ma(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Zt(Ma(ir(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Zt(Ma(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Zt(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=bb(n.scheme||r.scheme);s&&s.serialize&&s.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&&o.push(r.scheme,":");let i=XC(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=Cs(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var sD=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function ir(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(sD);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(QC(n.host)===!1){let c=YC(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!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 i=bb(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&eD(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(t.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)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var Cd={SCHEMES:tD,normalize:rD,resolve:nD,resolveComponent:wb,equal:oD,serialize:Zt,parse:ir};Na.exports=Cd;Na.exports.default=Cd;Na.exports.fastUri=Cd});var $b=R(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var Sb=xb();Sb.code='require("ajv/dist/runtime/uri").default';Dd.default=Sb});var Cb=R(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.CodeGen=Me.Name=Me.nil=Me.stringify=Me.str=Me._=Me.KeywordCxt=void 0;var iD=Is();Object.defineProperty(Me,"KeywordCxt",{enumerable:!0,get:function(){return iD.KeywordCxt}});var oo=J();Object.defineProperty(Me,"_",{enumerable:!0,get:function(){return oo._}});Object.defineProperty(Me,"str",{enumerable:!0,get:function(){return oo.str}});Object.defineProperty(Me,"stringify",{enumerable:!0,get:function(){return oo.stringify}});Object.defineProperty(Me,"nil",{enumerable:!0,get:function(){return oo.nil}});Object.defineProperty(Me,"Name",{enumerable:!0,get:function(){return oo.Name}});Object.defineProperty(Me,"CodeGen",{enumerable:!0,get:function(){return oo.CodeGen}});var aD=Aa(),Rb=As(),cD=cd(),Ds=Da(),uD=J(),zs=Ts(),ja=Ps(),Od=ae(),kb=lb(),lD=$b(),Ib=(t,e)=>new RegExp(t,e);Ib.code="new RegExp";var dD=["removeAdditional","useDefaults","coerceTypes"],pD=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),fD={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."},mD={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Pb=200;function hD(t){var e,r,n,o,s,i,a,c,u,l,d,p,f,m,g,y,v,x,b,P,T,W,$,j,Z;let L=t.strict,Te=(e=t.code)===null||e===void 0?void 0:e.optimize,Ee=Te===!0||Te===void 0?1:Te||0,It=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Ib,gn=(o=t.uriResolver)!==null&&o!==void 0?o:lD.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:L)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:L)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:L)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:L)!==null&&p!==void 0?p:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:L)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:Ee,regExp:It}:{optimize:Ee,regExp:It},loopRequired:(g=t.loopRequired)!==null&&g!==void 0?g:Pb,loopEnum:(y=t.loopEnum)!==null&&y!==void 0?y:Pb,meta:(v=t.meta)!==null&&v!==void 0?v:!0,messages:(x=t.messages)!==null&&x!==void 0?x:!0,inlineRefs:(b=t.inlineRefs)!==null&&b!==void 0?b:!0,schemaId:(P=t.schemaId)!==null&&P!==void 0?P:"$id",addUsedSchema:(T=t.addUsedSchema)!==null&&T!==void 0?T:!0,validateSchema:(W=t.validateSchema)!==null&&W!==void 0?W:!0,validateFormats:($=t.validateFormats)!==null&&$!==void 0?$:!0,unicodeRegExp:(j=t.unicodeRegExp)!==null&&j!==void 0?j:!0,int32range:(Z=t.int32range)!==null&&Z!==void 0?Z:!0,uriResolver:gn}}var Os=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...hD(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new uD.ValueScope({scope:{},prefixes:pD,es5:r,lines:n}),this.logger=wD(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,cD.getRules)(),Tb.call(this,fD,e,"NOT SUPPORTED"),Tb.call(this,mD,e,"DEPRECATED","warn"),this._metaOpts=_D.call(this),e.formats&&yD.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&vD.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),gD.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=kb;n==="id"&&(o={...kb},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||i.call(this,p)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Rb.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,zs.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$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 o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=Eb.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Ds.SchemaEnv({schema:{},schemaId:n});if(r=Ds.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Eb.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,zs.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,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(SD.call(this,n,r),!r)return(0,Od.eachItem)(n,s=>zd.call(this,s)),this;kD.call(this,r);let o={...r,type:(0,ja.getJSONTypes)(r.type),schemaType:(0,ja.getJSONTypes)(r.schemaType)};return(0,Od.eachItem)(n,o.type.length===0?s=>zd.call(this,s,o):s=>o.type.forEach(i=>zd.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=Ab(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,zs.normalizeId)(i||n);let u=zs.getSchemaRefs.call(this,e,n);return c=new Ds.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Ds.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Ds.compileSchema.call(this,e)}finally{this.opts=r}}};Os.ValidationError=aD.default;Os.MissingRefError=Rb.default;Me.default=Os;function Tb(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function Eb(t){return t=(0,zs.normalizeId)(t),this.schemas[t]||this.refs[t]}function gD(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function yD(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function vD(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function _D(){let t={...this.opts};for(let e of dD)delete t[e];return t}var bD={log(){},warn(){},error(){}};function wD(t){if(t===!1)return bD;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var xD=/^[a-z_$][a-z0-9_$:-]*$/i;function SD(t,e){let{RULES:r}=this;if((0,Od.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!xD.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function zd(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,ja.getJSONTypes)(e.type),schemaType:(0,ja.getJSONTypes)(e.schemaType)}};e.before?$D.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function $D(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function kD(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Ab(e)),t.validateSchema=this.compile(e,!0))}var PD={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ab(t){return{anyOf:[t,PD]}}});var Db=R(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var TD={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Md.default=TD});var Nb=R(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.callRef=pn.getValidate=void 0;var ED=As(),zb=yt(),ot=J(),so=or(),Ob=Da(),La=ae(),RD={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=Ob.resolveRef.call(c,u,o,r);if(l===void 0)throw new ED.default(n.opts.uriResolver,o,r);if(l instanceof Ob.SchemaEnv)return p(l);return f(l);function d(){if(s===u)return Fa(t,i,s,s.$async);let m=e.scopeValue("root",{ref:u});return Fa(t,(0,ot._)`${m}.validate`,u,u.$async)}function p(m){let g=Mb(t,m);Fa(t,g,m,m.$async)}function f(m){let g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,ot.stringify)(m)}:{ref:m}),y=e.name("valid"),v=t.subschema({schema:m,dataTypes:[],schemaPath:ot.nil,topSchemaRef:g,errSchemaPath:r},y);t.mergeEvaluated(v),t.ok(y)}}};function Mb(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,ot._)`${r.scopeValue("wrapper",{ref:e})}.validate`}pn.getValidate=Mb;function Fa(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?so.default.this:ot.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let m=o.let("valid");o.try(()=>{o.code((0,ot._)`await ${(0,zb.callValidateCode)(t,e,u)}`),f(e),i||o.assign(m,!0)},g=>{o.if((0,ot._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),p(g),i||o.assign(m,!1)}),t.ok(m)}function d(){t.result((0,zb.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(m){let g=(0,ot._)`${m}.errors`;o.assign(so.default.vErrors,(0,ot._)`${so.default.vErrors} === null ? ${g} : ${so.default.vErrors}.concat(${g})`),o.assign(so.default.errors,(0,ot._)`${so.default.vErrors}.length`)}function f(m){var g;if(!s.opts.unevaluated)return;let y=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=La.mergeEvaluated.props(o,y.props,s.props));else{let v=o.var("props",(0,ot._)`${m}.evaluated.props`);s.props=La.mergeEvaluated.props(o,v,s.props,ot.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=La.mergeEvaluated.items(o,y.items,s.items));else{let v=o.var("items",(0,ot._)`${m}.evaluated.items`);s.items=La.mergeEvaluated.items(o,v,s.items,ot.Name)}}}pn.callRef=Fa;pn.default=RD});var jb=R(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var ID=Db(),AD=Nb(),CD=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",ID.default,AD.default];Nd.default=CD});var Lb=R(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var Za=J(),Pr=Za.operators,Ua={maximum:{okStr:"<=",ok:Pr.LTE,fail:Pr.GT},minimum:{okStr:">=",ok:Pr.GTE,fail:Pr.LT},exclusiveMaximum:{okStr:"<",ok:Pr.LT,fail:Pr.GTE},exclusiveMinimum:{okStr:">",ok:Pr.GT,fail:Pr.LTE}},DD={message:({keyword:t,schemaCode:e})=>(0,Za.str)`must be ${Ua[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Za._)`{comparison: ${Ua[t].okStr}, limit: ${e}}`},zD={keyword:Object.keys(Ua),type:"number",schemaType:"number",$data:!0,error:DD,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Za._)`${r} ${Ua[e].fail} ${n} || isNaN(${r})`)}};jd.default=zD});var Fb=R(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var Ms=J(),OD={message:({schemaCode:t})=>(0,Ms.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Ms._)`{multipleOf: ${t}}`},MD={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:OD,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,Ms._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Ms._)`${i} !== parseInt(${i})`;t.fail$data((0,Ms._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};Ld.default=MD});var Ub=R(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});function Zb(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}Fd.default=Zb;Zb.code='require("ajv/dist/runtime/ucs2length").default'});var qb=R(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var fn=J(),ND=ae(),jD=Ub(),LD={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,fn.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,fn._)`{limit: ${t}}`},FD={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:LD,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?fn.operators.GT:fn.operators.LT,i=o.opts.unicode===!1?(0,fn._)`${r}.length`:(0,fn._)`${(0,ND.useFunc)(t.gen,jD.default)}(${r})`;t.fail$data((0,fn._)`${i} ${s} ${n}`)}};Zd.default=FD});var Vb=R(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var ZD=yt(),qa=J(),UD={message:({schemaCode:t})=>(0,qa.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,qa._)`{pattern: ${t}}`},qD={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:UD,code(t){let{data:e,$data:r,schema:n,schemaCode:o,it:s}=t,i=s.opts.unicodeRegExp?"u":"",a=r?(0,qa._)`(new RegExp(${o}, ${i}))`:(0,ZD.usePattern)(t,n);t.fail$data((0,qa._)`!${a}.test(${e})`)}};Ud.default=qD});var Bb=R(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var Ns=J(),VD={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Ns.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Ns._)`{limit: ${t}}`},BD={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:VD,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Ns.operators.GT:Ns.operators.LT;t.fail$data((0,Ns._)`Object.keys(${r}).length ${o} ${n}`)}};qd.default=BD});var Wb=R(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var js=yt(),Ls=J(),WD=ae(),HD={message:({params:{missingProperty:t}})=>(0,Ls.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Ls._)`{missingProperty: ${t}}`},KD={keyword:"required",type:"object",schemaType:"array",$data:!0,error:HD,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let f=t.parentSchema.properties,{definedProperties:m}=t.it;for(let g of r)if(f?.[g]===void 0&&!m.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,v=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,WD.checkStrictMode)(i,v,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Ls.nil,d);else for(let f of r)(0,js.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||s){let m=e.let("valid",!0);t.block$data(m,()=>p(f,m)),t.ok(m)}else e.if((0,js.checkMissingProp)(t,r,f)),(0,js.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,js.noPropertyInData)(e,o,f,a.ownProperties),()=>t.error())})}function p(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,js.propertyInData)(e,o,f,a.ownProperties)),e.if((0,Ls.not)(m),()=>{t.error(),e.break()})},Ls.nil)}}};Vd.default=KD});var Hb=R(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var Fs=J(),JD={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Fs.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Fs._)`{limit: ${t}}`},GD={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:JD,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Fs.operators.GT:Fs.operators.LT;t.fail$data((0,Fs._)`${r}.length ${o} ${n}`)}};Bd.default=GD});var Va=R(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var Kb=gd();Kb.code='require("ajv/dist/runtime/equal").default';Wd.default=Kb});var Jb=R(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var Hd=Ps(),Ne=J(),YD=ae(),XD=Va(),QD={message:({params:{i:t,j:e}})=>(0,Ne.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Ne._)`{i: ${t}, j: ${e}}`},ez={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:QD,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,Hd.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Ne._)`${i} === false`),t.ok(c);function l(){let m=e.let("i",(0,Ne._)`${r}.length`),g=e.let("j");t.setParams({i:m,j:g}),e.assign(c,!0),e.if((0,Ne._)`${m} > 1`,()=>(d()?p:f)(m,g))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function p(m,g){let y=e.name("item"),v=(0,Hd.checkDataTypes)(u,y,a.opts.strictNumbers,Hd.DataType.Wrong),x=e.const("indices",(0,Ne._)`{}`);e.for((0,Ne._)`;${m}--;`,()=>{e.let(y,(0,Ne._)`${r}[${m}]`),e.if(v,(0,Ne._)`continue`),u.length>1&&e.if((0,Ne._)`typeof ${y} == "string"`,(0,Ne._)`${y} += "_"`),e.if((0,Ne._)`typeof ${x}[${y}] == "number"`,()=>{e.assign(g,(0,Ne._)`${x}[${y}]`),t.error(),e.assign(c,!1).break()}).code((0,Ne._)`${x}[${y}] = ${m}`)})}function f(m,g){let y=(0,YD.useFunc)(e,XD.default),v=e.name("outer");e.label(v).for((0,Ne._)`;${m}--;`,()=>e.for((0,Ne._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Ne._)`${y}(${r}[${m}], ${r}[${g}])`,()=>{t.error(),e.assign(c,!1).break(v)})))}}};Kd.default=ez});var Gb=R(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var Jd=J(),tz=ae(),rz=Va(),nz={message:"must be equal to constant",params:({schemaCode:t})=>(0,Jd._)`{allowedValue: ${t}}`},oz={keyword:"const",$data:!0,error:nz,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Jd._)`!${(0,tz.useFunc)(e,rz.default)}(${r}, ${o})`):t.fail((0,Jd._)`${s} !== ${r}`)}};Gd.default=oz});var Yb=R(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var Zs=J(),sz=ae(),iz=Va(),az={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Zs._)`{allowedValues: ${t}}`},cz={keyword:"enum",schemaType:"array",$data:!0,error:az,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,sz.useFunc)(e,iz.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=e.const("vSchema",s);l=(0,Zs.or)(...o.map((m,g)=>p(f,g)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,f=>e.if((0,Zs._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,m){let g=o[m];return typeof g=="object"&&g!==null?(0,Zs._)`${u()}(${r}, ${f}[${m}])`:(0,Zs._)`${r} === ${g}`}}};Yd.default=cz});var Xb=R(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var uz=Lb(),lz=Fb(),dz=qb(),pz=Vb(),fz=Bb(),mz=Wb(),hz=Hb(),gz=Jb(),yz=Gb(),vz=Yb(),_z=[uz.default,lz.default,dz.default,pz.default,fz.default,mz.default,hz.default,gz.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},yz.default,vz.default];Xd.default=_z});var ep=R(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.validateAdditionalItems=void 0;var mn=J(),Qd=ae(),bz={message:({params:{len:t}})=>(0,mn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,mn._)`{limit: ${t}}`},wz={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:bz,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Qd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Qb(t,n)}};function Qb(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,mn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,mn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Qd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,mn._)`${a} <= ${e.length}`);r.if((0,mn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Qd.Type.Num},u),i.allErrors||r.if((0,mn.not)(u),()=>r.break())})}}Us.validateAdditionalItems=Qb;Us.default=wz});var tp=R(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.validateTuple=void 0;var ew=J(),Ba=ae(),xz=yt(),Sz={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return tw(t,"additionalItems",e);r.items=!0,!(0,Ba.alwaysValidSchema)(r,e)&&t.ok((0,xz.validateArray)(t))}};function tw(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Ba.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,ew._)`${s}.length`);r.forEach((d,p)=>{(0,Ba.alwaysValidSchema)(a,d)||(n.if((0,ew._)`${u} > ${p}`,()=>t.subschema({keyword:i,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:f}=a,m=r.length,g=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(p.strictTuples&&!g){let y=`"${i}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,Ba.checkStrictMode)(a,y,p.strictTuples)}}}qs.validateTuple=tw;qs.default=Sz});var rw=R(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});var $z=tp(),kz={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,$z.validateTuple)(t,"items")};rp.default=kz});var ow=R(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});var nw=J(),Pz=ae(),Tz=yt(),Ez=ep(),Rz={message:({params:{len:t}})=>(0,nw.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,nw._)`{limit: ${t}}`},Iz={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Rz,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,Pz.alwaysValidSchema)(n,e)&&(o?(0,Ez.validateAdditionalItems)(t,o):t.ok((0,Tz.validateArray)(t)))}};np.default=Iz});var sw=R(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});var _t=J(),Wa=ae(),Az={message:({params:{min:t,max:e}})=>e===void 0?(0,_t.str)`must contain at least ${t} valid item(s)`:(0,_t.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,_t._)`{minContains: ${t}}`:(0,_t._)`{minContains: ${t}, maxContains: ${e}}`},Cz={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Az,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,_t._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Wa.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Wa.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Wa.alwaysValidSchema)(s,r)){let g=(0,_t._)`${l} >= ${i}`;a!==void 0&&(g=(0,_t._)`${g} && ${l} <= ${a}`),t.pass(g);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?f(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,_t._)`${o}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let g=e.name("_valid"),y=e.let("count",0);f(g,()=>e.if(g,()=>m(y)))}function f(g,y){e.forRange("i",0,l,v=>{t.subschema({keyword:"contains",dataProp:v,dataPropType:Wa.Type.Num,compositeRule:!0},g),y()})}function m(g){e.code((0,_t._)`${g}++`),a===void 0?e.if((0,_t._)`${g} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,_t._)`${g} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,_t._)`${g} >= ${i}`,()=>e.assign(d,!0)))}}};op.default=Cz});var cw=R(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.validateSchemaDeps=Ut.validatePropertyDeps=Ut.error=void 0;var sp=J(),Dz=ae(),Vs=yt();Ut.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,sp.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,sp._)`{property: ${t},
|
|
3
|
+
var tI=Object.create;var wd=Object.defineProperty;var rI=Object.getOwnPropertyDescriptor;var nI=Object.getOwnPropertyNames;var oI=Object.getPrototypeOf,sI=Object.prototype.hasOwnProperty;var Er=(t,e)=>()=>(t&&(e=t(t=0)),e);var $=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),lt=(t,e)=>{for(var r in e)wd(t,r,{get:e[r],enumerable:!0})},iI=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of nI(e))!sI.call(t,o)&&o!==r&&wd(t,o,{get:()=>e[o],enumerable:!(n=rI(e,o))||n.enumerable});return t};var Dy=(t,e,r)=>(r=t!=null?tI(oI(t)):{},iI(e||!t||!t.__esModule?wd(r,"default",{value:t,enumerable:!0}):r,t));var Oy,Hs,zy,Ny,jy,My,Ly,Ks,qy,So,Fy,Uy,Zy,Vy,By,Wy,xn,$d,Sd,RH,Hy,xo,xd,Ky,Jy,Ya,kn,kd,Gy,Yy,ko,Tr=Er(()=>{"use strict";Oy="4.12.2",Hs="http://localhost:11434",zy="llama3",Ny=".agestra/.jobs",jy=".agestra/traces",My=".agestra/worktrees",Ly=".agestra/sessions",Ks=".agestra/workspace",qy="individual",So="debates",Fy="synthesis",Uy="issue",Zy=".agestra/workers",Vy=Object.freeze(["PATH","HOME","USER","USERPROFILE","APPDATA","LOCALAPPDATA","TEMP","TMP","TMPDIR","SHELL","LANG","LC_ALL","NODE_PATH","SystemRoot","SystemDrive","COMSPEC","ComSpec","windir"]),By=2,Wy=6e4,xn=20,$d=5e4,Sd=10,RH=Object.freeze([3,5,10]),Hy=Object.freeze(["agree","disagree","abstain","revise"]),xo="votes",xd=2,Ky=1440*60*1e3,Jy=3600*1e3,Ya=Object.freeze(["ko","zh","ja","en"]),kn="ko",kd="en",Gy="[REDACTED]",Yy=["","--- REQUIRED RESPONSE FORMAT ---","Respond with JSON only, matching exactly this shape:",'{ "agrees": true | false, "feedback": "specific issues or why you agree", "suggestions": "concrete changes if you disagree (optional, may be omitted)" }',"No prose, markdown, or explanation outside the JSON object. The JSON must be the entire response or wrapped in a single ```json code fence.","-------------------------------"].join(`
|
|
4
|
+
`),ko=Object.freeze({auto:Object.freeze({name:"auto",description:"Auto-detect build profile from project structure (package.json scripts, tsconfig, vitest config, etc.).",command:"npx",args:Object.freeze([])}),tsc:Object.freeze({name:"tsc",description:"TypeScript project-references build via `npx tsc -b --noEmit`.",command:"npx",args:Object.freeze(["tsc","-b","--noEmit"])}),vitest:Object.freeze({name:"vitest",description:"Run the Vitest unit-test suite in CI mode.",command:"npx",args:Object.freeze(["vitest","run","--reporter=dot"])}),"npm-build":Object.freeze({name:"npm-build",description:"Run the project's `npm run build` script.",command:"npm",args:Object.freeze(["run","build"])}),"npm-test":Object.freeze({name:"npm-test",description:"Run the project's `npm test` script.",command:"npm",args:Object.freeze(["test","--","--run"])})})});import{execFileSync as aI}from"child_process";function Po(t){if(!Number.isFinite(t)||t<=0)return{delivered:!1};if(process.platform==="win32")try{return aI("taskkill",["/PID",String(t),"/T","/F"],{stdio:"ignore",windowsHide:!0}),{delivered:!0}}catch{try{return process.kill(t),{delivered:!0}}catch{return{delivered:!1}}}try{return process.kill(-t,"SIGTERM"),{delivered:!0}}catch{try{return process.kill(t,"SIGTERM"),{delivered:!0}}catch{return{delivered:!1}}}}function Jr(t,e=3e3){let r=t.pid;if(r)Po(r);else try{t.kill("SIGTERM")}catch{}setTimeout(()=>{try{t.kill("SIGKILL")}catch{}},e).unref?.()}var Js=Er(()=>{"use strict"});import{execFileSync as cI,spawn as uI}from"child_process";import{existsSync as lI}from"fs";function pI(t){return process.platform!=="win32"||t.includes("/")||t.includes("\\")?!1:dI.has(t.toLowerCase())}function fI(t){if(t.includes("\0"))throw new Error(`Windows shim arg contains null byte: ${JSON.stringify(t)}`);if(t.includes("%"))throw new Error(`Windows shim arg contains '%' which would trigger cmd.exe env expansion: ${JSON.stringify(t)}`);return/[\s"&^<>|()!]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}function mI(t){let e=t.toLowerCase();if(Eo.has(e))return Eo.get(e)??null;try{let n=cI("where.exe",[t],{encoding:"utf-8",stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:5e3}).split(/\r?\n/).map(a=>a.trim()).filter(Boolean);if(n.length===0)return Eo.set(e,null),null;let o=n.find(a=>/\.(cmd|bat)$/i.test(a));if(o){let a={type:"cmd",path:o};return Eo.set(e,a),a}let i=`${n[0]}.ps1`;if(lI(i)){let a={type:"powershell",path:i};return Eo.set(e,a),a}}catch{}return Eo.set(e,null),null}function Pn(t,e){if(!pI(t))return{command:t,args:e};let r=mI(t);return r?r.type==="cmd"?{command:"cmd.exe",args:["/d","/s","/c",r.path,...e.map(n=>fI(n))]}:{command:"powershell.exe",args:["-NoProfile","-ExecutionPolicy","RemoteSigned","-File",r.path,...e]}:{command:t,args:e}}function vt(t){let{command:e,args:r,timeout:n=12e4,cwd:o,env:s,stdin:i,maxBuffer:a=10485760,onStderrChunk:c,signal:u}=t;return new Promise((l,d)=>{if(u?.aborted){d(new Ot(u.reason));return}let p=Pn(e,r),f=uI(p.command,p.args,{cwd:o,env:s?{...process.env,...s}:void 0,stdio:[i?"pipe":"ignore","pipe","pipe"],windowsHide:!0}),m="",h="",y=0,v=0,b=!1,_=null,k=!1,x=null,L=()=>{x&&u&&u.removeEventListener("abort",x)},P=!1,M=()=>{!P&&y+v>a&&(b=!0,P=!0,Jr(f))},q=()=>{k||(Jr(f),k=!0,L(),d(new Error(`CLI timeout after ${n}ms of inactivity: ${e} ${r.join(" ")}`)))},j=setTimeout(q,n);u&&(x=()=>{k||(k=!0,clearTimeout(j),Jr(f),L(),d(new Ot(u.reason)))},u.addEventListener("abort",x));let De=()=>{P||(clearTimeout(j),j=setTimeout(q,n))};if(f.stdout.on("data",Le=>{y+=Le.length,y<=a&&(m+=Le.toString()),M(),De()}),f.stderr.on("data",Le=>{v+=Le.length;let It=Le.toString();if(v<=a&&(h+=It),M(),!P&&c){let Kr=c(It);Kr&&(_=Kr,P=!0,Jr(f))}De()}),i&&f.stdin){f.stdin.on("error",()=>{});try{f.stdin.write(i),f.stdin.end()}catch{}}f.on("close",Le=>{if(clearTimeout(j),!k){if(_){k=!0,L(),d(_);return}k=!0,L(),l({stdout:m,stderr:h,exitCode:Le??1,truncated:b})}}),f.on("error",Le=>{clearTimeout(j),!k&&(k=!0,L(),d(new Error(`CLI spawn error: ${Le.message}`)))})})}var Ot,dI,Eo,Gs=Er(()=>{"use strict";Js();Ot=class extends Error{constructor(e){let r=e instanceof Error?`: ${e.message}`:typeof e=="string"&&e?`: ${e}`:"";super(`CLI aborted${r}`),this.name="CliAbortedError"}},dI=new Set(["codex","gemini","npm","npx"]),Eo=new Map});import{writeFileSync as jA,mkdirSync as ti,openSync as Id,writeSync as Ad,fsyncSync as yv,closeSync as Cd,renameSync as MA,unlinkSync as gv,appendFileSync as LA,copyFileSync as qA}from"fs";import{dirname as ri,join as FA}from"path";import{randomUUID as UA}from"crypto";function ye(t,e){let r=ri(t);ti(r,{recursive:!0});let n=FA(r,`.tmp-${UA().slice(0,8)}`);try{jA(n,e,"utf-8");try{MA(n,t)}catch(o){if(o.code!=="EXDEV")throw o;qA(n,t),gv(n)}}catch(o){try{gv(n)}catch{}throw o}}function Ve(t,e){ye(t,JSON.stringify(e,null,2))}function lc(t,e){let r=ri(t);ti(r,{recursive:!0});let n=Id(t,"a");try{Ad(n,e),yv(n)}finally{Cd(n)}}var uc,tn=Er(()=>{"use strict";uc=class{buffer=new Map;flushTimer=null;flushIntervalMs;maxBufferSize;auditFsync;destroyed=!1;constructor(e){this.flushIntervalMs=e?.flushIntervalMs??2e3,this.maxBufferSize=e?.maxBufferSize??100,this.auditFsync=e?.auditFsync??!0,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>this.flush(),this.flushIntervalMs),this.flushTimer&&typeof this.flushTimer.unref=="function"&&this.flushTimer.unref())}append(e,r,n){if(this.destroyed)throw new Error("DurableAppendWriter has been destroyed");if(n==="audit"){if(this.auditFsync)lc(e,r);else{let s=ri(e);ti(s,{recursive:!0}),LA(e,r)}return}let o=this.buffer.get(e);o||(o=[],this.buffer.set(e,o)),o.push(r),o.length>=this.maxBufferSize&&this.flushFile(e),this.flushIntervalMs===0&&this.flushFile(e)}flush(){for(let e of this.buffer.keys())this.flushFile(e)}panicFlush(){for(let[e,r]of this.buffer)if(r.length!==0)try{let n=ri(e);ti(n,{recursive:!0});let o=Id(e,"a");try{Ad(o,r.join("")),yv(o)}finally{Cd(o)}}catch{}this.buffer.clear()}destroy(){this.destroyed||(this.destroyed=!0,this.flushTimer!==null&&(clearInterval(this.flushTimer),this.flushTimer=null),this.flush())}flushFile(e){let r=this.buffer.get(e);if(!r||r.length===0)return;let n=ri(e);ti(n,{recursive:!0});let o=Id(e,"a");try{Ad(o,r.join(""))}finally{Cd(o)}this.buffer.delete(e)}}});import{openSync as ZA,writeSync as VA,closeSync as BA,unlinkSync as vv,statSync as WA,mkdirSync as HA}from"fs";import{dirname as KA}from"path";function QA(t){if(t<=0)return;let e=new SharedArrayBuffer(4),r=new Int32Array(e);Atomics.wait(r,0,0,t)}function Zn(t,e,r={}){let n=r.staleMs??JA,o=r.acquireTimeoutMs??GA,s=r.pollMs??YA;HA(KA(t),{recursive:!0});let i=Date.now(),a=null;for(;a===null;)try{a=ZA(t,"wx")}catch(c){if(c.code!=="EEXIST")throw c;let l=!1;try{let p=WA(t);l=Date.now()-p.mtimeMs>n}catch{continue}if(l){try{vv(t)}catch{}continue}let d=Date.now()-i;if(d>=o)throw new Dd(t,d);QA(s)}try{try{VA(a,`${process.pid}@${Date.now()}
|
|
5
|
+
`)}catch{}return e()}finally{try{BA(a)}catch{}try{vv(t)}catch{}}}var JA,GA,YA,Dd,dc=Er(()=>{"use strict";JA=3e4,GA=5e3,YA=10,Dd=class extends Error{constructor(e,r){super(`withFileLock: timed out after ${r}ms waiting for ${e}`),this.name="FileLockTimeoutError"}}});import{existsSync as _v,realpathSync as XA}from"fs";import{basename as eC,dirname as tC,isAbsolute as zd,join as rC,normalize as wv,resolve as Nd,relative as nC}from"path";function oC(t){return t===""||!t.startsWith("..")&&!zd(t)}function Od(t){let e=[],r=Nd(t);for(;!_v(r);){let o=tC(r);if(o===r)break;e.unshift(eC(r)),r=o}let n=_v(r)?XA(r):r;return e.reduce((o,s)=>rC(o,s),n)}function $v(t,e){let r=Od(e),n=Od(t),o=nC(r,n);return oC(o)}function jd(t,e){let r=Nd(e,t);return $v(r,e)}function Mt(t,e){let r=Nd(e,t);if(!$v(r,e))throw new Error(`Path traversal blocked: ${t} escapes ${e}`);return r}function rt(t,e){if(t.length===0)throw new Error("Filename must not be empty");if(t.includes("\0"))throw new Error(`Filename contains null byte: ${JSON.stringify(t)}`);if(t.includes("/")||t.includes("\\"))throw new Error(`Filename must not contain path separators: ${JSON.stringify(t)}`);if(t.includes(".."))throw new Error(`Filename must not contain '..': ${JSON.stringify(t)}`);return Mt(t,e)}function Or(t,e){if(zd(t)){let r=wv(t);if(!jd(r,e))throw new Error(`Read path outside base directory: ${t} is not within ${e}`);return r}return Mt(t,e)}function Md(t,e){return zd(t)?Od(wv(t)):Mt(t,e)}function zr(t){return sC.test(t)}function pc(t,e){if(!t||typeof t!="string")throw new At(String(t),"command must be a non-empty string");if(t.includes("\0"))throw new At(t,"command contains null byte");if(t.includes("/")||t.includes("\\"))throw new At(t,"command must not contain path separators");if(!bv.has(t))throw new At(t,`command is not in the allowlist (${[...bv].join(", ")})`);for(let r of e){if(typeof r!="string")throw new At(t,`args contain a non-string entry: ${JSON.stringify(r)}`);if(r.includes("\0"))throw new At(t,`arg contains null byte: ${JSON.stringify(r)}`);if(iC.has(r))throw new At(t,`arg ${JSON.stringify(r)} is a code-execution flag and is not permitted`)}}var sC,bv,iC,At,No=Er(()=>{"use strict";sC=/^[a-zA-Z0-9_-]+-\d+-[a-f0-9]{6}$/;bv=new Set(["gemini","codex","claude","npx","node","npm","tsc"]),iC=new Set(["-e","--eval","-c","--command","-E","--execute","--exec"]),At=class extends Error{command;reason;constructor(e,r){super(`CLI command rejected: ${e} \u2014 ${r}`),this.command=e,this.reason=r,this.name="CliCommandRejectedError"}}});import{readFileSync as aC}from"fs";import{join as cC}from"path";function We(t,e){let r=cC(t,"status.json"),n=`${r}.lock`;Zn(n,()=>{let o=JSON.parse(aC(r,"utf-8"));Ve(r,{...o,...e})})}var ni=Er(()=>{"use strict";tn();dc()});import{spawn as uC}from"child_process";import{join as Ld}from"path";function fc(t){return new Promise(e=>{let r=Pn(t.command,t.args),n=uC(r.command,r.args,{cwd:t.cwd,stdio:["ignore","pipe","pipe"],windowsHide:!0});if(t.recordPid&&typeof n.pid=="number"&&n.pid>0)try{We(t.jobDir,{pid:n.pid})}catch{}if(!n.stdout||!n.stderr){try{n.kill()}catch{}try{ye(Ld(t.jobDir,"error.txt"),"Worker stdout/stderr streams unavailable (pipe allocation failed)"),We(t.jobDir,{state:"error",completedAt:new Date().toISOString()})}catch{}e();return}let o="",s="",i=0,a=0,c=!1,u=!1;n.stdout.on("data",p=>{i+=p.length,i<=10485760?o+=p.toString():c||(c=!0,Jr(n))}),n.stderr.on("data",p=>{a+=p.length,a<=10485760&&(s+=p.toString())});let l=(p,f)=>{if(!u){u=!0,clearTimeout(d);try{ye(Ld(t.jobDir,"output.txt"),o),ye(Ld(t.jobDir,"error.txt"),f!==void 0?f:s),We(t.jobDir,p)}catch{}e()}},d=setTimeout(()=>{Jr(n),l({state:"timed_out",completedAt:new Date().toISOString()})},t.timeoutMs);n.on("close",p=>{let f=o.trim().length>0;l({state:p===0||f?"completed":"error",exitCode:p??1,completedAt:new Date().toISOString()})}),n.on("error",p=>{let f=p.code==="ENOENT"?"missing_cli":"error";l({state:f,completedAt:new Date().toISOString()},p.message)})})}var qd=Er(()=>{"use strict";tn();Gs();Js();ni()});var Pv={};lt(Pv,{CLI_PROVIDERS:()=>xv,resolveCliConfig:()=>kv});import{readFileSync as Sv}from"fs";import{join as Vn}from"path";function kv(t){let e=lC[t.provider]??t.provider;return xv[e]??null}async function dC(){let t=process.argv[2];t||process.exit(1);let e;try{e=JSON.parse(Sv(Vn(t,"job.json"),"utf-8"))}catch{try{Ve(Vn(t,"status.json"),{id:"unknown",state:"error",provider:"unknown",completedAt:new Date().toISOString()}),ye(Vn(t,"error.txt"),"Failed to read job.json")}catch{}process.exit(1)}let r=kv(e);r||(We(t,{state:"missing_cli",completedAt:new Date().toISOString()}),ye(Vn(t,"error.txt"),`No CLI mapping for provider: ${e.provider}`),process.exit(1));let{command:n,buildArgs:o}=r;We(t,{state:"running",startedAt:new Date().toISOString()});let s=Sv(Vn(t,"prompt.txt"),"utf-8"),i=o(s);try{pc(n,i)}catch(c){let u=c instanceof At?c.message:`Argv rejected: ${c.message}`;We(t,{state:"error",completedAt:new Date().toISOString()}),ye(Vn(t,"error.txt"),u);return}let a;if(e.cwd)try{a=Mt(e.cwd,process.cwd())}catch(c){We(t,{state:"error",completedAt:new Date().toISOString()}),ye(Vn(t,"error.txt"),`Rejected descriptor.cwd: ${c.message}`);return}await fc({jobDir:t,command:n,args:i,cwd:a,timeoutMs:e.timeout,recordPid:!1})}var lC,xv,pC,Ev=Er(()=>{"use strict";tn();No();qd();ni();lC={"gemini-cli":"gemini","codex-cli":"codex","claude-cli":"claude"},xv={gemini:{command:"gemini",buildArgs:t=>["-p",t]},codex:{command:"codex",buildArgs:t=>["exec","--skip-git-repo-check","--full-auto","--ephemeral",t]},claude:{command:"claude",buildArgs:t=>["-p",t]}};pC=process.argv[1]?.endsWith("job-worker.js")||process.argv[1]?.endsWith("job-worker.ts");pC&&dC().catch(()=>process.exit(1))});var Vi=$(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.regexpCode=me.getEsmExportName=me.getProperty=me.safeStringify=me.stringify=me.strConcat=me.addCodeArg=me.str=me._=me.nil=me._Code=me.Name=me.IDENTIFIER=me._CodeOrName=void 0;var Ui=class{};me._CodeOrName=Ui;me.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Xn=class extends Ui{constructor(e){if(super(),!me.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};me.Name=Xn;var Ut=class extends Ui{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Xn&&(r[n.str]=(r[n.str]||0)+1),r),{})}};me._Code=Ut;me.nil=new Ut("");function DS(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Sf(r,e[n]),r.push(t[++n]);return new Ut(r)}me._=DS;var $f=new Ut("+");function OS(t,...e){let r=[Zi(t[0])],n=0;for(;n<e.length;)r.push($f),Sf(r,e[n]),r.push($f,Zi(t[++n]));return gj(r),new Ut(r)}me.str=OS;function Sf(t,e){e instanceof Ut?t.push(...e._items):e instanceof Xn?t.push(e):t.push(_j(e))}me.addCodeArg=Sf;function gj(t){let e=1;for(;e<t.length-1;){if(t[e]===$f){let r=yj(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function yj(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Xn||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Xn))return`"${t}${e.slice(1)}`}function vj(t,e){return e.emptyStr()?t:t.emptyStr()?e:OS`${t}${e}`}me.strConcat=vj;function _j(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Zi(Array.isArray(t)?t.join(","):t)}function bj(t){return new Ut(Zi(t))}me.stringify=bj;function Zi(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}me.safeStringify=Zi;function wj(t){return typeof t=="string"&&me.IDENTIFIER.test(t)?new Ut(`.${t}`):DS`[${t}]`}me.getProperty=wj;function $j(t){if(typeof t=="string"&&me.IDENTIFIER.test(t))return new Ut(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}me.getEsmExportName=$j;function Sj(t){return new Ut(t.toString())}me.regexpCode=Sj});var Pf=$(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.ValueScope=St.ValueScopeName=St.Scope=St.varKinds=St.UsedValueState=void 0;var $t=Vi(),xf=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},wu;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(wu||(St.UsedValueState=wu={}));St.varKinds={const:new $t.Name("const"),let:new $t.Name("let"),var:new $t.Name("var")};var $u=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof $t.Name?e:this.name(e)}name(e){return new $t.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};St.Scope=$u;var Su=class extends $t.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,$t._)`.${new $t.Name(r)}[${n}]`}};St.ValueScopeName=Su;var xj=(0,$t._)`\n`,kf=class extends $u{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?xj:$t.nil}}get(){return this._scope}name(e){return new Su(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,$t._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=$t.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,wu.Started);let l=r(u);if(l){let d=this.opts.es5?St.varKinds.var:St.varKinds.const;s=(0,$t._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,$t._)`${s}${l}${this.opts._n}`;else throw new xf(u);c.set(u,wu.Completed)})}return s}};St.ValueScope=kf});var te=$(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.or=X.and=X.not=X.CodeGen=X.operators=X.varKinds=X.ValueScopeName=X.ValueScope=X.Scope=X.Name=X.regexpCode=X.stringify=X.getProperty=X.nil=X.strConcat=X.str=X._=void 0;var ce=Vi(),er=Pf(),cn=Vi();Object.defineProperty(X,"_",{enumerable:!0,get:function(){return cn._}});Object.defineProperty(X,"str",{enumerable:!0,get:function(){return cn.str}});Object.defineProperty(X,"strConcat",{enumerable:!0,get:function(){return cn.strConcat}});Object.defineProperty(X,"nil",{enumerable:!0,get:function(){return cn.nil}});Object.defineProperty(X,"getProperty",{enumerable:!0,get:function(){return cn.getProperty}});Object.defineProperty(X,"stringify",{enumerable:!0,get:function(){return cn.stringify}});Object.defineProperty(X,"regexpCode",{enumerable:!0,get:function(){return cn.regexpCode}});Object.defineProperty(X,"Name",{enumerable:!0,get:function(){return cn.Name}});var Eu=Pf();Object.defineProperty(X,"Scope",{enumerable:!0,get:function(){return Eu.Scope}});Object.defineProperty(X,"ValueScope",{enumerable:!0,get:function(){return Eu.ValueScope}});Object.defineProperty(X,"ValueScopeName",{enumerable:!0,get:function(){return Eu.ValueScopeName}});Object.defineProperty(X,"varKinds",{enumerable:!0,get:function(){return Eu.varKinds}});X.operators={GT:new ce._Code(">"),GTE:new ce._Code(">="),LT:new ce._Code("<"),LTE:new ce._Code("<="),EQ:new ce._Code("==="),NEQ:new ce._Code("!=="),NOT:new ce._Code("!"),OR:new ce._Code("||"),AND:new ce._Code("&&"),ADD:new ce._Code("+")};var Mr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Ef=class extends Mr{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?er.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=ss(this.rhs,e,r)),this}get names(){return this.rhs instanceof ce._CodeOrName?this.rhs.names:{}}},xu=class extends Mr{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof ce.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=ss(this.rhs,e,r),this}get names(){let e=this.lhs instanceof ce.Name?{}:{...this.lhs.names};return Pu(e,this.rhs)}},Tf=class extends xu{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Rf=class extends Mr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},If=class extends Mr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Af=class extends Mr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Cf=class extends Mr{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=ss(this.code,e,r),this}get names(){return this.code instanceof ce._CodeOrName?this.code.names:{}}},Bi=class extends Mr{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(kj(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>ro(e,r.names),{})}},Lr=class extends Bi{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Df=class extends Bi{},os=class extends Lr{};os.kind="else";var eo=class t extends Lr{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new os(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(zS(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=ss(this.condition,e,r),this}get names(){let e=super.names;return Pu(e,this.condition),this.else&&ro(e,this.else.names),e}};eo.kind="if";var to=class extends Lr{};to.kind="for";var Of=class extends to{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=ss(this.iteration,e,r),this}get names(){return ro(super.names,this.iteration.names)}},zf=class extends to{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?er.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=Pu(super.names,this.from);return Pu(e,this.to)}},ku=class extends to{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=ss(this.iterable,e,r),this}get names(){return ro(super.names,this.iterable.names)}},Wi=class extends Lr{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Wi.kind="func";var Hi=class extends Bi{render(e){return"return "+super.render(e)}};Hi.kind="return";var Nf=class extends Lr{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&ro(e,this.catch.names),this.finally&&ro(e,this.finally.names),e}},Ki=class extends Lr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ki.kind="catch";var Ji=class extends Lr{render(e){return"finally"+super.render(e)}};Ji.kind="finally";var jf=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
6
|
+
`:""},this._extScope=e,this._scope=new er.Scope({parent:e}),this._nodes=[new Df]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Ef(e,s,n)),s}const(e,r,n){return this._def(er.varKinds.const,e,r,n)}let(e,r,n){return this._def(er.varKinds.let,e,r,n)}var(e,r,n){return this._def(er.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new xu(e,r,n))}add(e,r){return this._leafNode(new Tf(e,X.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==ce.nil&&this._leafNode(new Cf(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,ce.addCodeArg)(r,o));return r.push("}"),new ce._Code(r)}if(e,r,n){if(this._blockNode(new eo(e)),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(e){return this._elseNode(new eo(e))}else(){return this._elseNode(new os)}endIf(){return this._endBlockNode(eo,os)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Of(e),r)}forRange(e,r,n,o,s=this.opts.es5?er.varKinds.var:er.varKinds.let){let i=this._scope.toName(e);return this._for(new zf(s,i,r,n),()=>o(i))}forOf(e,r,n,o=er.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof ce.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,ce._)`${i}.length`,a=>{this.var(s,(0,ce._)`${i}[${a}]`),n(s)})}return this._for(new ku("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?er.varKinds.var:er.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,ce._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new ku("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(to)}label(e){return this._leafNode(new Rf(e))}break(e){return this._leafNode(new If(e))}return(e){let r=new Hi;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Hi)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Nf;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ki(s),r(s)}return n&&(this._currNode=o.finally=new Ji,this.code(n)),this._endBlockNode(Ki,Ji)}throw(e){return this._leafNode(new Af(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){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||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=ce.nil,n,o){return this._blockNode(new Wi(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Wi)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof eo))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};X.CodeGen=jf;function ro(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Pu(t,e){return e instanceof ce._CodeOrName?ro(t,e.names):t}function ss(t,e,r){if(t instanceof ce.Name)return n(t);if(!o(t))return t;return new ce._Code(t._items.reduce((s,i)=>(i instanceof ce.Name&&(i=n(i)),i instanceof ce._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof ce._Code&&s._items.some(i=>i instanceof ce.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function kj(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function zS(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,ce._)`!${Mf(t)}`}X.not=zS;var Pj=NS(X.operators.AND);function Ej(...t){return t.reduce(Pj)}X.and=Ej;var Tj=NS(X.operators.OR);function Rj(...t){return t.reduce(Tj)}X.or=Rj;function NS(t){return(e,r)=>e===ce.nil?r:r===ce.nil?e:(0,ce._)`${Mf(e)} ${t} ${Mf(r)}`}function Mf(t){return t instanceof ce.Name?t:(0,ce._)`(${t})`}});var le=$(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.checkStrictMode=re.getErrorPath=re.Type=re.useFunc=re.setEvaluated=re.evaluatedPropsToName=re.mergeEvaluated=re.eachItem=re.unescapeJsonPointer=re.escapeJsonPointer=re.escapeFragment=re.unescapeFragment=re.schemaRefOrVal=re.schemaHasRulesButRef=re.schemaHasRules=re.checkUnknownRules=re.alwaysValidSchema=re.toHash=void 0;var we=te(),Ij=Vi();function Aj(t){let e={};for(let r of t)e[r]=!0;return e}re.toHash=Aj;function Cj(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(LS(t,e),!qS(e,t.self.RULES.all))}re.alwaysValidSchema=Cj;function LS(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||ZS(t,`unknown keyword: "${s}"`)}re.checkUnknownRules=LS;function qS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}re.schemaHasRules=qS;function Dj(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}re.schemaHasRulesButRef=Dj;function Oj({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,we._)`${r}`}return(0,we._)`${t}${e}${(0,we.getProperty)(n)}`}re.schemaRefOrVal=Oj;function zj(t){return FS(decodeURIComponent(t))}re.unescapeFragment=zj;function Nj(t){return encodeURIComponent(qf(t))}re.escapeFragment=Nj;function qf(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}re.escapeJsonPointer=qf;function FS(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}re.unescapeJsonPointer=FS;function jj(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}re.eachItem=jj;function jS({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof we.Name?(s instanceof we.Name?t(o,s,i):e(o,s,i),i):s instanceof we.Name?(e(o,i,s),s):r(s,i);return a===we.Name&&!(c instanceof we.Name)?n(o,c):c}}re.mergeEvaluated={props:jS({mergeNames:(t,e,r)=>t.if((0,we._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,we._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,we._)`${r} || {}`).code((0,we._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,we._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,we._)`${r} || {}`),Ff(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:US}),items:jS({mergeNames:(t,e,r)=>t.if((0,we._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,we._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,we._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,we._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function US(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,we._)`{}`);return e!==void 0&&Ff(t,r,e),r}re.evaluatedPropsToName=US;function Ff(t,e,r){Object.keys(r).forEach(n=>t.assign((0,we._)`${e}${(0,we.getProperty)(n)}`,!0))}re.setEvaluated=Ff;var MS={};function Mj(t,e){return t.scopeValue("func",{ref:e,code:MS[e.code]||(MS[e.code]=new Ij._Code(e.code))})}re.useFunc=Mj;var Lf;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Lf||(re.Type=Lf={}));function Lj(t,e,r){if(t instanceof we.Name){let n=e===Lf.Num;return r?n?(0,we._)`"[" + ${t} + "]"`:(0,we._)`"['" + ${t} + "']"`:n?(0,we._)`"/" + ${t}`:(0,we._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,we.getProperty)(t).toString():"/"+qf(t)}re.getErrorPath=Lj;function ZS(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}re.checkStrictMode=ZS});var qr=$(Uf=>{"use strict";Object.defineProperty(Uf,"__esModule",{value:!0});var ot=te(),qj={data:new ot.Name("data"),valCxt:new ot.Name("valCxt"),instancePath:new ot.Name("instancePath"),parentData:new ot.Name("parentData"),parentDataProperty:new ot.Name("parentDataProperty"),rootData:new ot.Name("rootData"),dynamicAnchors:new ot.Name("dynamicAnchors"),vErrors:new ot.Name("vErrors"),errors:new ot.Name("errors"),this:new ot.Name("this"),self:new ot.Name("self"),scope:new ot.Name("scope"),json:new ot.Name("json"),jsonPos:new ot.Name("jsonPos"),jsonLen:new ot.Name("jsonLen"),jsonPart:new ot.Name("jsonPart")};Uf.default=qj});var Gi=$(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.extendErrors=st.resetErrorsCount=st.reportExtraError=st.reportError=st.keyword$DataError=st.keywordError=void 0;var de=te(),Tu=le(),mt=qr();st.keywordError={message:({keyword:t})=>(0,de.str)`must pass "${t}" keyword validation`};st.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,de.str)`"${t}" keyword must be ${e} ($data)`:(0,de.str)`"${t}" keyword is invalid ($data)`};function Fj(t,e=st.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=WS(t,e,r);n??(i||a)?VS(s,c):BS(o,(0,de._)`[${c}]`)}st.reportError=Fj;function Uj(t,e=st.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=WS(t,e,r);VS(o,a),s||i||BS(n,mt.default.vErrors)}st.reportExtraError=Uj;function Zj(t,e){t.assign(mt.default.errors,e),t.if((0,de._)`${mt.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,de._)`${mt.default.vErrors}.length`,e),()=>t.assign(mt.default.vErrors,null)))}st.resetErrorsCount=Zj;function Vj({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,mt.default.errors,a=>{t.const(i,(0,de._)`${mt.default.vErrors}[${a}]`),t.if((0,de._)`${i}.instancePath === undefined`,()=>t.assign((0,de._)`${i}.instancePath`,(0,de.strConcat)(mt.default.instancePath,s.errorPath))),t.assign((0,de._)`${i}.schemaPath`,(0,de.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,de._)`${i}.schema`,r),t.assign((0,de._)`${i}.data`,n))})}st.extendErrors=Vj;function VS(t,e){let r=t.const("err",e);t.if((0,de._)`${mt.default.vErrors} === null`,()=>t.assign(mt.default.vErrors,(0,de._)`[${r}]`),(0,de._)`${mt.default.vErrors}.push(${r})`),t.code((0,de._)`${mt.default.errors}++`)}function BS(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,de._)`new ${t.ValidationError}(${e})`):(r.assign((0,de._)`${n}.errors`,e),r.return(!1))}var no={keyword:new de.Name("keyword"),schemaPath:new de.Name("schemaPath"),params:new de.Name("params"),propertyName:new de.Name("propertyName"),message:new de.Name("message"),schema:new de.Name("schema"),parentSchema:new de.Name("parentSchema")};function WS(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,de._)`{}`:Bj(t,e,r)}function Bj(t,e,r={}){let{gen:n,it:o}=t,s=[Wj(o,r),Hj(t,r)];return Kj(t,e,s),n.object(...s)}function Wj({errorPath:t},{instancePath:e}){let r=e?(0,de.str)`${t}${(0,Tu.getErrorPath)(e,Tu.Type.Str)}`:t;return[mt.default.instancePath,(0,de.strConcat)(mt.default.instancePath,r)]}function Hj({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,de.str)`${e}/${t}`;return r&&(o=(0,de.str)`${o}${(0,Tu.getErrorPath)(r,Tu.Type.Str)}`),[no.schemaPath,o]}function Kj(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([no.keyword,o],[no.params,typeof e=="function"?e(t):e||(0,de._)`{}`]),c.messages&&n.push([no.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([no.schema,i],[no.parentSchema,(0,de._)`${l}${d}`],[mt.default.data,s]),u&&n.push([no.propertyName,u])}});var KS=$(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.boolOrEmptySchema=is.topBoolOrEmptySchema=void 0;var Jj=Gi(),Gj=te(),Yj=qr(),Qj={message:"boolean schema is false"};function Xj(t){let{gen:e,schema:r,validateName:n}=t;r===!1?HS(t,!1):typeof r=="object"&&r.$async===!0?e.return(Yj.default.data):(e.assign((0,Gj._)`${n}.errors`,null),e.return(!0))}is.topBoolOrEmptySchema=Xj;function eM(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),HS(t)):r.var(e,!0)}is.boolOrEmptySchema=eM;function HS(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,Jj.reportError)(o,Qj,void 0,e)}});var Zf=$(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.getRules=as.isJSONType=void 0;var tM=["string","number","integer","boolean","null","object","array"],rM=new Set(tM);function nM(t){return typeof t=="string"&&rM.has(t)}as.isJSONType=nM;function oM(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}as.getRules=oM});var Vf=$(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.shouldUseRule=un.shouldUseGroup=un.schemaHasRulesForType=void 0;function sM({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&JS(t,n)}un.schemaHasRulesForType=sM;function JS(t,e){return e.rules.some(r=>GS(t,r))}un.shouldUseGroup=JS;function GS(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}un.shouldUseRule=GS});var Yi=$(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.reportTypeError=it.checkDataTypes=it.checkDataType=it.coerceAndCheckDataType=it.getJSONTypes=it.getSchemaTypes=it.DataType=void 0;var iM=Zf(),aM=Vf(),cM=Gi(),K=te(),YS=le(),cs;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(cs||(it.DataType=cs={}));function uM(t){let e=QS(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}it.getSchemaTypes=uM;function QS(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(iM.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}it.getJSONTypes=QS;function lM(t,e){let{gen:r,data:n,opts:o}=t,s=dM(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,aM.schemaHasRulesForType)(t,e[0]));if(i){let a=Wf(e,n,o.strictNumbers,cs.Wrong);r.if(a,()=>{s.length?pM(t,e,s):Hf(t)})}return i}it.coerceAndCheckDataType=lM;var XS=new Set(["string","number","integer","boolean","null"]);function dM(t,e){return e?t.filter(r=>XS.has(r)||e==="array"&&r==="array"):[]}function pM(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,K._)`typeof ${o}`),a=n.let("coerced",(0,K._)`undefined`);s.coerceTypes==="array"&&n.if((0,K._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,K._)`${o}[0]`).assign(i,(0,K._)`typeof ${o}`).if(Wf(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,K._)`${a} !== undefined`);for(let u of r)(XS.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Hf(t),n.endIf(),n.if((0,K._)`${a} !== undefined`,()=>{n.assign(o,a),fM(t,a)});function c(u){switch(u){case"string":n.elseIf((0,K._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,K._)`"" + ${o}`).elseIf((0,K._)`${o} === null`).assign(a,(0,K._)`""`);return;case"number":n.elseIf((0,K._)`${i} == "boolean" || ${o} === null
|
|
7
|
+
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,K._)`+${o}`);return;case"integer":n.elseIf((0,K._)`${i} === "boolean" || ${o} === null
|
|
8
|
+
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,K._)`+${o}`);return;case"boolean":n.elseIf((0,K._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,K._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,K._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,K._)`${i} === "string" || ${i} === "number"
|
|
9
|
+
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,K._)`[${o}]`)}}}function fM({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,K._)`${e} !== undefined`,()=>t.assign((0,K._)`${e}[${r}]`,n))}function Bf(t,e,r,n=cs.Correct){let o=n===cs.Correct?K.operators.EQ:K.operators.NEQ,s;switch(t){case"null":return(0,K._)`${e} ${o} null`;case"array":s=(0,K._)`Array.isArray(${e})`;break;case"object":s=(0,K._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,K._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,K._)`typeof ${e} ${o} ${t}`}return n===cs.Correct?s:(0,K.not)(s);function i(a=K.nil){return(0,K.and)((0,K._)`typeof ${e} == "number"`,a,r?(0,K._)`isFinite(${e})`:K.nil)}}it.checkDataType=Bf;function Wf(t,e,r,n){if(t.length===1)return Bf(t[0],e,r,n);let o,s=(0,YS.toHash)(t);if(s.array&&s.object){let i=(0,K._)`typeof ${e} != "object"`;o=s.null?i:(0,K._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=K.nil;s.number&&delete s.integer;for(let i in s)o=(0,K.and)(o,Bf(i,e,r,n));return o}it.checkDataTypes=Wf;var mM={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,K._)`{type: ${t}}`:(0,K._)`{type: ${e}}`};function Hf(t){let e=hM(t);(0,cM.reportError)(e,mM)}it.reportTypeError=Hf;function hM(t){let{gen:e,data:r,schema:n}=t,o=(0,YS.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var tx=$(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.assignDefaults=void 0;var us=te(),gM=le();function yM(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)ex(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>ex(t,s,o.default))}Ru.assignDefaults=yM;function ex(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,us._)`${s}${(0,us.getProperty)(e)}`;if(o){(0,gM.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,us._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,us._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,us._)`${a} = ${(0,us.stringify)(r)}`)}});var Zt=$(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.validateUnion=_e.validateArray=_e.usePattern=_e.callValidateCode=_e.schemaProperties=_e.allSchemaProperties=_e.noPropertyInData=_e.propertyInData=_e.isOwnProperty=_e.hasPropFunc=_e.reportMissingProp=_e.checkMissingProp=_e.checkReportMissingProp=void 0;var Re=te(),Kf=le(),ln=qr(),vM=le();function _M(t,e){let{gen:r,data:n,it:o}=t;r.if(Gf(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Re._)`${e}`},!0),t.error()})}_e.checkReportMissingProp=_M;function bM({gen:t,data:e,it:{opts:r}},n,o){return(0,Re.or)(...n.map(s=>(0,Re.and)(Gf(t,e,s,r.ownProperties),(0,Re._)`${o} = ${s}`)))}_e.checkMissingProp=bM;function wM(t,e){t.setParams({missingProperty:e},!0),t.error()}_e.reportMissingProp=wM;function rx(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Re._)`Object.prototype.hasOwnProperty`})}_e.hasPropFunc=rx;function Jf(t,e,r){return(0,Re._)`${rx(t)}.call(${e}, ${r})`}_e.isOwnProperty=Jf;function $M(t,e,r,n){let o=(0,Re._)`${e}${(0,Re.getProperty)(r)} !== undefined`;return n?(0,Re._)`${o} && ${Jf(t,e,r)}`:o}_e.propertyInData=$M;function Gf(t,e,r,n){let o=(0,Re._)`${e}${(0,Re.getProperty)(r)} === undefined`;return n?(0,Re.or)(o,(0,Re.not)(Jf(t,e,r))):o}_e.noPropertyInData=Gf;function nx(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}_e.allSchemaProperties=nx;function SM(t,e){return nx(e).filter(r=>!(0,Kf.alwaysValidSchema)(t,e[r]))}_e.schemaProperties=SM;function xM({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,Re._)`${t}, ${e}, ${n}${o}`:e,d=[[ln.default.instancePath,(0,Re.strConcat)(ln.default.instancePath,s)],[ln.default.parentData,i.parentData],[ln.default.parentDataProperty,i.parentDataProperty],[ln.default.rootData,ln.default.rootData]];i.opts.dynamicRef&&d.push([ln.default.dynamicAnchors,ln.default.dynamicAnchors]);let p=(0,Re._)`${l}, ${r.object(...d)}`;return c!==Re.nil?(0,Re._)`${a}.call(${c}, ${p})`:(0,Re._)`${a}(${p})`}_e.callValidateCode=xM;var kM=(0,Re._)`new RegExp`;function PM({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Re._)`${o.code==="new RegExp"?kM:(0,vM.useFunc)(t,o)}(${r}, ${n})`})}_e.usePattern=PM;function EM(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,Re._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Kf.Type.Num},s),e.if((0,Re.not)(s),a)})}}_e.validateArray=EM;function TM(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Kf.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,Re._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,Re.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}_e.validateUnion=TM});var ix=$(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.validateKeywordUsage=vr.validSchemaType=vr.funcKeywordCode=vr.macroKeywordCode=void 0;var ht=te(),oo=qr(),RM=Zt(),IM=Gi();function AM(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=sx(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:ht.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}vr.macroKeywordCode=AM;function CM(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;OM(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=sx(n,o,u),d=n.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)h(),e.modifying&&ox(t),y(()=>t.error());else{let v=e.async?f():m();e.modifying&&ox(t),y(()=>DM(t,v))}}function f(){let v=n.let("ruleErrs",null);return n.try(()=>h((0,ht._)`await `),b=>n.assign(d,!1).if((0,ht._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,ht._)`${b}.errors`),()=>n.throw(b))),v}function m(){let v=(0,ht._)`${l}.errors`;return n.assign(v,null),h(ht.nil),v}function h(v=e.async?(0,ht._)`await `:ht.nil){let b=c.opts.passContext?oo.default.this:oo.default.self,_=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,ht._)`${v}${(0,RM.callValidateCode)(t,l,b,_)}`,e.modifying)}function y(v){var b;n.if((0,ht.not)((b=e.valid)!==null&&b!==void 0?b:d),v)}}vr.funcKeywordCode=CM;function ox(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ht._)`${n.parentData}[${n.parentDataProperty}]`))}function DM(t,e){let{gen:r}=t;r.if((0,ht._)`Array.isArray(${e})`,()=>{r.assign(oo.default.vErrors,(0,ht._)`${oo.default.vErrors} === null ? ${e} : ${oo.default.vErrors}.concat(${e})`).assign(oo.default.errors,(0,ht._)`${oo.default.vErrors}.length`),(0,IM.extendErrors)(t)},()=>t.error())}function OM({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function sx(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ht.stringify)(r)})}function zM(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}vr.validSchemaType=zM;function NM({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}vr.validateKeywordUsage=NM});var cx=$(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.extendSubschemaMode=dn.extendSubschemaData=dn.getSubschema=void 0;var _r=te(),ax=le();function jM(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,_r._)`${t.schemaPath}${(0,_r.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,_r._)`${t.schemaPath}${(0,_r.getProperty)(e)}${(0,_r.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,ax.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}dn.getSubschema=jM;function MM(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=a.let("data",(0,_r._)`${e.data}${(0,_r.getProperty)(r)}`,!0);c(p),t.errorPath=(0,_r.str)`${u}${(0,ax.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,_r._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof _r.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}dn.extendSubschemaData=MM;function LM(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}dn.extendSubschemaMode=LM});var Qi=$((bX,ux)=>{"use strict";ux.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var dx=$((wX,lx)=>{"use strict";var pn=lx.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Iu(e,n,o,t,"",t)};pn.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};pn.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};pn.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};pn.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 Iu(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in pn.arrayKeywords)for(var p=0;p<d.length;p++)Iu(t,e,r,d[p],o+"/"+l+"/"+p,s,o,l,n,p)}else if(l in pn.propsKeywords){if(d&&typeof d=="object")for(var f in d)Iu(t,e,r,d[f],o+"/"+l+"/"+qM(f),s,o,l,n,f)}else(l in pn.keywords||t.allKeys&&!(l in pn.skipKeywords))&&Iu(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function qM(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Xi=$(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.getSchemaRefs=xt.resolveUrl=xt.normalizeId=xt._getFullPath=xt.getFullPath=xt.inlineRef=void 0;var FM=le(),UM=Qi(),ZM=dx(),VM=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function BM(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Yf(t):e?px(t)<=e:!1}xt.inlineRef=BM;var WM=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Yf(t){for(let e in t){if(WM.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Yf)||typeof r=="object"&&Yf(r))return!0}return!1}function px(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!VM.has(r)&&(typeof t[r]=="object"&&(0,FM.eachItem)(t[r],n=>e+=px(n)),e===1/0))return 1/0}return e}function fx(t,e="",r){r!==!1&&(e=ls(e));let n=t.parse(e);return mx(t,n)}xt.getFullPath=fx;function mx(t,e){return t.serialize(e).split("#")[0]+"#"}xt._getFullPath=mx;var HM=/#\/?$/;function ls(t){return t?t.replace(HM,""):""}xt.normalizeId=ls;function KM(t,e,r){return r=ls(r),t.resolve(e,r)}xt.resolveUrl=KM;var JM=/^[a-z_][-a-z0-9._]*$/i;function GM(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=ls(t[r]||e),s={"":o},i=fx(n,o,!1),a={},c=new Set;return ZM(t,{allKeys:!0},(d,p,f,m)=>{if(m===void 0)return;let h=i+p,y=s[m];typeof d[r]=="string"&&(y=v.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),s[p]=y;function v(_){let k=this.opts.uriResolver.resolve;if(_=ls(y?k(y,_):_),c.has(_))throw l(_);c.add(_);let x=this.refs[_];return typeof x=="string"&&(x=this.refs[x]),typeof x=="object"?u(d,x.schema,_):_!==ls(h)&&(_[0]==="#"?(u(d,a[_],_),a[_]=d):this.refs[_]=h),_}function b(_){if(typeof _=="string"){if(!JM.test(_))throw new Error(`invalid anchor "${_}"`);v.call(this,`#${_}`)}}}),a;function u(d,p,f){if(p!==void 0&&!UM(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}xt.getSchemaRefs=GM});var ra=$(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.getData=fn.KeywordCxt=fn.validateFunctionCode=void 0;var _x=KS(),hx=Yi(),Xf=Vf(),Au=Yi(),YM=tx(),ta=ix(),Qf=cx(),O=te(),V=qr(),QM=Xi(),Fr=le(),ea=Gi();function XM(t){if($x(t)&&(Sx(t),wx(t))){r1(t);return}bx(t,()=>(0,_x.topBoolOrEmptySchema)(t))}fn.validateFunctionCode=XM;function bx({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,O._)`${V.default.data}, ${V.default.valCxt}`,n.$async,()=>{t.code((0,O._)`"use strict"; ${gx(r,o)}`),t1(t,o),t.code(s)}):t.func(e,(0,O._)`${V.default.data}, ${e1(o)}`,n.$async,()=>t.code(gx(r,o)).code(s))}function e1(t){return(0,O._)`{${V.default.instancePath}="", ${V.default.parentData}, ${V.default.parentDataProperty}, ${V.default.rootData}=${V.default.data}${t.dynamicRef?(0,O._)`, ${V.default.dynamicAnchors}={}`:O.nil}}={}`}function t1(t,e){t.if(V.default.valCxt,()=>{t.var(V.default.instancePath,(0,O._)`${V.default.valCxt}.${V.default.instancePath}`),t.var(V.default.parentData,(0,O._)`${V.default.valCxt}.${V.default.parentData}`),t.var(V.default.parentDataProperty,(0,O._)`${V.default.valCxt}.${V.default.parentDataProperty}`),t.var(V.default.rootData,(0,O._)`${V.default.valCxt}.${V.default.rootData}`),e.dynamicRef&&t.var(V.default.dynamicAnchors,(0,O._)`${V.default.valCxt}.${V.default.dynamicAnchors}`)},()=>{t.var(V.default.instancePath,(0,O._)`""`),t.var(V.default.parentData,(0,O._)`undefined`),t.var(V.default.parentDataProperty,(0,O._)`undefined`),t.var(V.default.rootData,V.default.data),e.dynamicRef&&t.var(V.default.dynamicAnchors,(0,O._)`{}`)})}function r1(t){let{schema:e,opts:r,gen:n}=t;bx(t,()=>{r.$comment&&e.$comment&&kx(t),a1(t),n.let(V.default.vErrors,null),n.let(V.default.errors,0),r.unevaluated&&n1(t),xx(t),l1(t)})}function n1(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,O._)`${r}.evaluated`),e.if((0,O._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,O._)`${t.evaluated}.props`,(0,O._)`undefined`)),e.if((0,O._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,O._)`${t.evaluated}.items`,(0,O._)`undefined`))}function gx(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,O._)`/*# sourceURL=${r} */`:O.nil}function o1(t,e){if($x(t)&&(Sx(t),wx(t))){s1(t,e);return}(0,_x.boolOrEmptySchema)(t,e)}function wx({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function $x(t){return typeof t.schema!="boolean"}function s1(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&kx(t),c1(t),u1(t);let s=n.const("_errs",V.default.errors);xx(t,s),n.var(e,(0,O._)`${s} === ${V.default.errors}`)}function Sx(t){(0,Fr.checkUnknownRules)(t),i1(t)}function xx(t,e){if(t.opts.jtd)return yx(t,[],!1,e);let r=(0,hx.getSchemaTypes)(t.schema),n=(0,hx.coerceAndCheckDataType)(t,r);yx(t,r,!n,e)}function i1(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Fr.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function a1(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Fr.checkStrictMode)(t,"default is ignored in the schema root")}function c1(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,QM.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function u1(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function kx({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,O._)`${V.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,O.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,O._)`${V.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function l1(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,O._)`${V.default.errors} === 0`,()=>e.return(V.default.data),()=>e.throw((0,O._)`new ${o}(${V.default.vErrors})`)):(e.assign((0,O._)`${n}.errors`,V.default.vErrors),s.unevaluated&&d1(t),e.return((0,O._)`${V.default.errors} === 0`))}function d1({gen:t,evaluated:e,props:r,items:n}){r instanceof O.Name&&t.assign((0,O._)`${e}.props`,r),n instanceof O.Name&&t.assign((0,O._)`${e}.items`,n)}function yx(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Fr.schemaHasRulesButRef)(s,l))){o.block(()=>Ex(t,"$ref",l.all.$ref.definition));return}c.jtd||p1(t,e),o.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,Xf.shouldUseGroup)(s,p)&&(p.type?(o.if((0,Au.checkDataType)(p.type,i,c.strictNumbers)),vx(t,p),e.length===1&&e[0]===p.type&&r&&(o.else(),(0,Au.reportTypeError)(t)),o.endIf()):vx(t,p),a||o.if((0,O._)`${V.default.errors} === ${n||0}`))}}function vx(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,YM.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Xf.shouldUseRule)(n,s)&&Ex(t,s.keyword,s.definition,e.type)})}function p1(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(f1(t,e),t.opts.allowUnionTypes||m1(t,e),h1(t,t.dataTypes))}function f1(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Px(t.dataTypes,r)||em(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),y1(t,e)}}function m1(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&em(t,"use allowUnionTypes to allow union type keyword")}function h1(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Xf.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>g1(e,i))&&em(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function g1(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Px(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function y1(t,e){let r=[];for(let n of t.dataTypes)Px(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function em(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Fr.checkStrictMode)(t,e,t.opts.strictTypes)}var Cu=class{constructor(e,r,n){if((0,ta.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Fr.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Tx(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,ta.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=e.gen.const("_errs",V.default.errors))}result(e,r,n){this.failResult((0,O.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,O.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,O._)`${r} !== undefined && (${(0,O.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?ea.reportExtraError:ea.reportError)(this,this.def.error,r)}$dataError(){(0,ea.reportError)(this,this.def.$dataError||ea.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,ea.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=O.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=O.nil,r=O.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,O.or)((0,O._)`${o} === undefined`,r)),e!==O.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==O.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,O.or)(i(),a());function i(){if(n.length){if(!(r instanceof O.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,O._)`${(0,Au.checkDataTypes)(c,r,s.opts.strictNumbers,Au.DataType.Wrong)}`}return O.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,O._)`!${c}(${r})`}return O.nil}}subschema(e,r){let n=(0,Qf.getSubschema)(this.it,e);(0,Qf.extendSubschemaData)(n,this.it,e),(0,Qf.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return o1(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Fr.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Fr.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,O.Name)),!0}};fn.KeywordCxt=Cu;function Ex(t,e,r,n){let o=new Cu(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,ta.funcKeywordCode)(o,r):"macro"in r?(0,ta.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,ta.funcKeywordCode)(o,r)}var v1=/^\/(?:[^~]|~0|~1)*$/,_1=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Tx(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return V.default.rootData;if(t[0]==="/"){if(!v1.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=V.default.rootData}else{let u=_1.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,O._)`${s}${(0,O.getProperty)((0,Fr.unescapeJsonPointer)(u))}`,i=(0,O._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}fn.getData=Tx});var Du=$(rm=>{"use strict";Object.defineProperty(rm,"__esModule",{value:!0});var tm=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};rm.default=tm});var na=$(sm=>{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});var nm=Xi(),om=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,nm.resolveUrl)(e,r,n),this.missingSchema=(0,nm.normalizeId)((0,nm.getFullPath)(e,this.missingRef))}};sm.default=om});var zu=$(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.resolveSchema=Vt.getCompilingSchema=Vt.resolveRef=Vt.compileSchema=Vt.SchemaEnv=void 0;var tr=te(),b1=Du(),so=qr(),rr=Xi(),Rx=le(),w1=ra(),ds=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,rr.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Vt.SchemaEnv=ds;function am(t){let e=Ix.call(this,t);if(e)return e;let r=(0,rr.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new tr.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:b1.default,code:(0,tr._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:so.default.data,parentData:so.default.parentData,parentDataProperty:so.default.parentDataProperty,dataNames:[so.default.data],dataPathArr:[tr.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,tr.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:tr.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,tr._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,w1.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(so.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${so.default.self}`,`${so.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:m,items:h}=u;f.evaluated={props:m instanceof tr.Name?void 0:m,items:h instanceof tr.Name?void 0:h,dynamicProps:m instanceof tr.Name,dynamicItems:h instanceof tr.Name},f.source&&(f.source.evaluated=(0,tr.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Vt.compileSchema=am;function $1(t,e,r){var n;r=(0,rr.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=k1.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new ds({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=S1.call(this,s)}Vt.resolveRef=$1;function S1(t){return(0,rr.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:am.call(this,t)}function Ix(t){for(let e of this._compilations)if(x1(e,t))return e}Vt.getCompilingSchema=Ix;function x1(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function k1(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Ou.call(this,t,e)}function Ou(t,e){let r=this.opts.uriResolver.parse(e),n=(0,rr._getFullPath)(this.opts.uriResolver,r),o=(0,rr.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return im.call(this,r,t);let s=(0,rr.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Ou.call(this,t,i);return typeof a?.schema!="object"?void 0:im.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||am.call(this,i),s===(0,rr.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,rr.resolveUrl)(this.opts.uriResolver,o,u)),new ds({schema:a,schemaId:c,root:t,baseId:o})}return im.call(this,r,i)}}Vt.resolveSchema=Ou;var P1=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function im(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Rx.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!P1.has(a)&&u&&(e=(0,rr.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Rx.schemaHasRulesButRef)(r,this.RULES)){let a=(0,rr.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Ou.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new ds({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var Ax=$((EX,E1)=>{E1.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 um=$((TX,zx)=>{"use strict";var T1=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Dx=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 cm(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var R1=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Cx(t){return t.length=0,!0}function I1(t,e,r){if(t.length){let n=cm(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function A1(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=I1;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=Cx}else{o.push(u);continue}}return o.length&&(a===Cx?r.zone=o.join(""):i?n.push(o.join("")):n.push(cm(o))),r.address=n.join(""),r}function Ox(t){if(C1(t,":")<2)return{host:t,isIPV6:!1};let e=A1(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function C1(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function D1(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function O1(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function z1(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Dx(r)){let n=Ox(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}zx.exports={nonSimpleDomain:R1,recomposeAuthority:z1,normalizeComponentEncoding:O1,removeDotSegments:D1,isIPv4:Dx,isUUID:T1,normalizeIPv6:Ox,stringArrayToHexStripped:cm}});var qx=$((RX,Lx)=>{"use strict";var{isUUID:N1}=um(),j1=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,M1=["http","https","ws","wss","urn","urn:uuid"];function L1(t){return M1.indexOf(t)!==-1}function lm(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Nx(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function jx(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function q1(t){return t.secure=lm(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function F1(t){if((t.port===(lm(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function U1(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(j1);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=dm(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Z1(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=dm(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function V1(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!N1(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function B1(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Mx={scheme:"http",domainHost:!0,parse:Nx,serialize:jx},W1={scheme:"https",domainHost:Mx.domainHost,parse:Nx,serialize:jx},Nu={scheme:"ws",domainHost:!0,parse:q1,serialize:F1},H1={scheme:"wss",domainHost:Nu.domainHost,parse:Nu.parse,serialize:Nu.serialize},K1={scheme:"urn",parse:U1,serialize:Z1,skipNormalize:!0},J1={scheme:"urn:uuid",parse:V1,serialize:B1,skipNormalize:!0},ju={http:Mx,https:W1,ws:Nu,wss:H1,urn:K1,"urn:uuid":J1};Object.setPrototypeOf(ju,null);function dm(t){return t&&(ju[t]||ju[t.toLowerCase()])||void 0}Lx.exports={wsIsSecure:lm,SCHEMES:ju,isValidSchemeName:L1,getSchemeHandler:dm}});var fm=$((IX,Lu)=>{"use strict";var{normalizeIPv6:G1,removeDotSegments:oa,recomposeAuthority:Y1,normalizeComponentEncoding:Mu,isIPv4:Q1,nonSimpleDomain:X1}=um(),{SCHEMES:eL,getSchemeHandler:Fx}=qx();function tL(t,e){return typeof t=="string"?t=br(Ur(t,e),e):typeof t=="object"&&(t=Ur(br(t,e),e)),t}function rL(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Ux(Ur(t,n),Ur(e,n),n,!0);return n.skipEscape=!0,br(o,n)}function Ux(t,e,r,n){let o={};return n||(t=Ur(br(t,r),r),e=Ur(br(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=oa(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=oa(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=oa(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=oa(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function nL(t,e,r){return typeof t=="string"?(t=unescape(t),t=br(Mu(Ur(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=br(Mu(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=br(Mu(Ur(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=br(Mu(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function br(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=Fx(n.scheme||r.scheme);s&&s.serialize&&s.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&&o.push(r.scheme,":");let i=Y1(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=oa(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var oL=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ur(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(oL);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(Q1(n.host)===!1){let c=G1(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!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 i=Fx(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&X1(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(t.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)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var pm={SCHEMES:eL,normalize:tL,resolve:rL,resolveComponent:Ux,equal:nL,serialize:br,parse:Ur};Lu.exports=pm;Lu.exports.default=pm;Lu.exports.fastUri=pm});var Vx=$(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0});var Zx=fm();Zx.code='require("ajv/dist/runtime/uri").default';mm.default=Zx});var Qx=$(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.CodeGen=Ye.Name=Ye.nil=Ye.stringify=Ye.str=Ye._=Ye.KeywordCxt=void 0;var sL=ra();Object.defineProperty(Ye,"KeywordCxt",{enumerable:!0,get:function(){return sL.KeywordCxt}});var ps=te();Object.defineProperty(Ye,"_",{enumerable:!0,get:function(){return ps._}});Object.defineProperty(Ye,"str",{enumerable:!0,get:function(){return ps.str}});Object.defineProperty(Ye,"stringify",{enumerable:!0,get:function(){return ps.stringify}});Object.defineProperty(Ye,"nil",{enumerable:!0,get:function(){return ps.nil}});Object.defineProperty(Ye,"Name",{enumerable:!0,get:function(){return ps.Name}});Object.defineProperty(Ye,"CodeGen",{enumerable:!0,get:function(){return ps.CodeGen}});var iL=Du(),Jx=na(),aL=Zf(),sa=zu(),cL=te(),ia=Xi(),qu=Yi(),gm=le(),Bx=Ax(),uL=Vx(),Gx=(t,e)=>new RegExp(t,e);Gx.code="new RegExp";var lL=["removeAdditional","useDefaults","coerceTypes"],dL=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),pL={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."},fL={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Wx=200;function mL(t){var e,r,n,o,s,i,a,c,u,l,d,p,f,m,h,y,v,b,_,k,x,L,P,M,q;let j=t.strict,De=(e=t.code)===null||e===void 0?void 0:e.optimize,Le=De===!0||De===void 0?1:De||0,It=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Gx,Kr=(o=t.uriResolver)!==null&&o!==void 0?o:uL.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:j)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:j)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:j)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:j)!==null&&p!==void 0?p:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:j)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:Le,regExp:It}:{optimize:Le,regExp:It},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:Wx,loopEnum:(y=t.loopEnum)!==null&&y!==void 0?y:Wx,meta:(v=t.meta)!==null&&v!==void 0?v:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(_=t.inlineRefs)!==null&&_!==void 0?_:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(x=t.addUsedSchema)!==null&&x!==void 0?x:!0,validateSchema:(L=t.validateSchema)!==null&&L!==void 0?L:!0,validateFormats:(P=t.validateFormats)!==null&&P!==void 0?P:!0,unicodeRegExp:(M=t.unicodeRegExp)!==null&&M!==void 0?M:!0,int32range:(q=t.int32range)!==null&&q!==void 0?q:!0,uriResolver:Kr}}var aa=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...mL(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new cL.ValueScope({scope:{},prefixes:dL,es5:r,lines:n}),this.logger=bL(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,aL.getRules)(),Hx.call(this,pL,e,"NOT SUPPORTED"),Hx.call(this,fL,e,"DEPRECATED","warn"),this._metaOpts=vL.call(this),e.formats&&gL.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&yL.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),hL.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=Bx;n==="id"&&(o={...Bx},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||i.call(this,p)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Jx.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,ia.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$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 o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=Kx.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new sa.SchemaEnv({schema:{},schemaId:n});if(r=sa.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Kx.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,ia.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,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($L.call(this,n,r),!r)return(0,gm.eachItem)(n,s=>hm.call(this,s)),this;xL.call(this,r);let o={...r,type:(0,qu.getJSONTypes)(r.type),schemaType:(0,qu.getJSONTypes)(r.schemaType)};return(0,gm.eachItem)(n,o.type.length===0?s=>hm.call(this,s,o):s=>o.type.forEach(i=>hm.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=Yx(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,ia.normalizeId)(i||n);let u=ia.getSchemaRefs.call(this,e,n);return c=new sa.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):sa.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{sa.compileSchema.call(this,e)}finally{this.opts=r}}};aa.ValidationError=iL.default;aa.MissingRefError=Jx.default;Ye.default=aa;function Hx(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function Kx(t){return t=(0,ia.normalizeId)(t),this.schemas[t]||this.refs[t]}function hL(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function gL(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function yL(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function vL(){let t={...this.opts};for(let e of lL)delete t[e];return t}var _L={log(){},warn(){},error(){}};function bL(t){if(t===!1)return _L;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var wL=/^[a-z_$][a-z0-9_$:-]*$/i;function $L(t,e){let{RULES:r}=this;if((0,gm.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!wL.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function hm(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,qu.getJSONTypes)(e.type),schemaType:(0,qu.getJSONTypes)(e.schemaType)}};e.before?SL.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function SL(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function xL(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Yx(e)),t.validateSchema=this.compile(e,!0))}var kL={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Yx(t){return{anyOf:[t,kL]}}});var Xx=$(ym=>{"use strict";Object.defineProperty(ym,"__esModule",{value:!0});var PL={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ym.default=PL});var n0=$(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.callRef=io.getValidate=void 0;var EL=na(),e0=Zt(),kt=te(),fs=qr(),t0=zu(),Fu=le(),TL={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=t0.resolveRef.call(c,u,o,r);if(l===void 0)throw new EL.default(n.opts.uriResolver,o,r);if(l instanceof t0.SchemaEnv)return p(l);return f(l);function d(){if(s===u)return Uu(t,i,s,s.$async);let m=e.scopeValue("root",{ref:u});return Uu(t,(0,kt._)`${m}.validate`,u,u.$async)}function p(m){let h=r0(t,m);Uu(t,h,m,m.$async)}function f(m){let h=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,kt.stringify)(m)}:{ref:m}),y=e.name("valid"),v=t.subschema({schema:m,dataTypes:[],schemaPath:kt.nil,topSchemaRef:h,errSchemaPath:r},y);t.mergeEvaluated(v),t.ok(y)}}};function r0(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,kt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}io.getValidate=r0;function Uu(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?fs.default.this:kt.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let m=o.let("valid");o.try(()=>{o.code((0,kt._)`await ${(0,e0.callValidateCode)(t,e,u)}`),f(e),i||o.assign(m,!0)},h=>{o.if((0,kt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),p(h),i||o.assign(m,!1)}),t.ok(m)}function d(){t.result((0,e0.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(m){let h=(0,kt._)`${m}.errors`;o.assign(fs.default.vErrors,(0,kt._)`${fs.default.vErrors} === null ? ${h} : ${fs.default.vErrors}.concat(${h})`),o.assign(fs.default.errors,(0,kt._)`${fs.default.vErrors}.length`)}function f(m){var h;if(!s.opts.unevaluated)return;let y=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=Fu.mergeEvaluated.props(o,y.props,s.props));else{let v=o.var("props",(0,kt._)`${m}.evaluated.props`);s.props=Fu.mergeEvaluated.props(o,v,s.props,kt.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=Fu.mergeEvaluated.items(o,y.items,s.items));else{let v=o.var("items",(0,kt._)`${m}.evaluated.items`);s.items=Fu.mergeEvaluated.items(o,v,s.items,kt.Name)}}}io.callRef=Uu;io.default=TL});var o0=$(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0});var RL=Xx(),IL=n0(),AL=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",RL.default,IL.default];vm.default=AL});var s0=$(_m=>{"use strict";Object.defineProperty(_m,"__esModule",{value:!0});var Zu=te(),mn=Zu.operators,Vu={maximum:{okStr:"<=",ok:mn.LTE,fail:mn.GT},minimum:{okStr:">=",ok:mn.GTE,fail:mn.LT},exclusiveMaximum:{okStr:"<",ok:mn.LT,fail:mn.GTE},exclusiveMinimum:{okStr:">",ok:mn.GT,fail:mn.LTE}},CL={message:({keyword:t,schemaCode:e})=>(0,Zu.str)`must be ${Vu[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Zu._)`{comparison: ${Vu[t].okStr}, limit: ${e}}`},DL={keyword:Object.keys(Vu),type:"number",schemaType:"number",$data:!0,error:CL,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Zu._)`${r} ${Vu[e].fail} ${n} || isNaN(${r})`)}};_m.default=DL});var i0=$(bm=>{"use strict";Object.defineProperty(bm,"__esModule",{value:!0});var ca=te(),OL={message:({schemaCode:t})=>(0,ca.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,ca._)`{multipleOf: ${t}}`},zL={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:OL,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,ca._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,ca._)`${i} !== parseInt(${i})`;t.fail$data((0,ca._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};bm.default=zL});var c0=$(wm=>{"use strict";Object.defineProperty(wm,"__esModule",{value:!0});function a0(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}wm.default=a0;a0.code='require("ajv/dist/runtime/ucs2length").default'});var u0=$($m=>{"use strict";Object.defineProperty($m,"__esModule",{value:!0});var ao=te(),NL=le(),jL=c0(),ML={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,ao.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,ao._)`{limit: ${t}}`},LL={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:ML,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?ao.operators.GT:ao.operators.LT,i=o.opts.unicode===!1?(0,ao._)`${r}.length`:(0,ao._)`${(0,NL.useFunc)(t.gen,jL.default)}(${r})`;t.fail$data((0,ao._)`${i} ${s} ${n}`)}};$m.default=LL});var l0=$(Sm=>{"use strict";Object.defineProperty(Sm,"__esModule",{value:!0});var qL=Zt(),FL=le(),ms=te(),UL={message:({schemaCode:t})=>(0,ms.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,ms._)`{pattern: ${t}}`},ZL={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:UL,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,ms._)`new RegExp`:(0,FL.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,ms._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,ms._)`!${l}`)}else{let c=(0,qL.usePattern)(t,o);t.fail$data((0,ms._)`!${c}.test(${r})`)}}};Sm.default=ZL});var d0=$(xm=>{"use strict";Object.defineProperty(xm,"__esModule",{value:!0});var ua=te(),VL={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,ua.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,ua._)`{limit: ${t}}`},BL={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:VL,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?ua.operators.GT:ua.operators.LT;t.fail$data((0,ua._)`Object.keys(${r}).length ${o} ${n}`)}};xm.default=BL});var p0=$(km=>{"use strict";Object.defineProperty(km,"__esModule",{value:!0});var la=Zt(),da=te(),WL=le(),HL={message:({params:{missingProperty:t}})=>(0,da.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,da._)`{missingProperty: ${t}}`},KL={keyword:"required",type:"object",schemaType:"array",$data:!0,error:HL,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let f=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(f?.[h]===void 0&&!m.has(h)){let y=i.schemaEnv.baseId+i.errSchemaPath,v=`required property "${h}" is not defined at "${y}" (strictRequired)`;(0,WL.checkStrictMode)(i,v,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(da.nil,d);else for(let f of r)(0,la.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||s){let m=e.let("valid",!0);t.block$data(m,()=>p(f,m)),t.ok(m)}else e.if((0,la.checkMissingProp)(t,r,f)),(0,la.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,la.noPropertyInData)(e,o,f,a.ownProperties),()=>t.error())})}function p(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,la.propertyInData)(e,o,f,a.ownProperties)),e.if((0,da.not)(m),()=>{t.error(),e.break()})},da.nil)}}};km.default=KL});var f0=$(Pm=>{"use strict";Object.defineProperty(Pm,"__esModule",{value:!0});var pa=te(),JL={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,pa.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,pa._)`{limit: ${t}}`},GL={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:JL,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?pa.operators.GT:pa.operators.LT;t.fail$data((0,pa._)`${r}.length ${o} ${n}`)}};Pm.default=GL});var Bu=$(Em=>{"use strict";Object.defineProperty(Em,"__esModule",{value:!0});var m0=Qi();m0.code='require("ajv/dist/runtime/equal").default';Em.default=m0});var h0=$(Rm=>{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});var Tm=Yi(),Qe=te(),YL=le(),QL=Bu(),XL={message:({params:{i:t,j:e}})=>(0,Qe.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Qe._)`{i: ${t}, j: ${e}}`},eq={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:XL,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,Tm.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Qe._)`${i} === false`),t.ok(c);function l(){let m=e.let("i",(0,Qe._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,Qe._)`${m} > 1`,()=>(d()?p:f)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function p(m,h){let y=e.name("item"),v=(0,Tm.checkDataTypes)(u,y,a.opts.strictNumbers,Tm.DataType.Wrong),b=e.const("indices",(0,Qe._)`{}`);e.for((0,Qe._)`;${m}--;`,()=>{e.let(y,(0,Qe._)`${r}[${m}]`),e.if(v,(0,Qe._)`continue`),u.length>1&&e.if((0,Qe._)`typeof ${y} == "string"`,(0,Qe._)`${y} += "_"`),e.if((0,Qe._)`typeof ${b}[${y}] == "number"`,()=>{e.assign(h,(0,Qe._)`${b}[${y}]`),t.error(),e.assign(c,!1).break()}).code((0,Qe._)`${b}[${y}] = ${m}`)})}function f(m,h){let y=(0,YL.useFunc)(e,QL.default),v=e.name("outer");e.label(v).for((0,Qe._)`;${m}--;`,()=>e.for((0,Qe._)`${h} = ${m}; ${h}--;`,()=>e.if((0,Qe._)`${y}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(v)})))}}};Rm.default=eq});var g0=$(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});var Im=te(),tq=le(),rq=Bu(),nq={message:"must be equal to constant",params:({schemaCode:t})=>(0,Im._)`{allowedValue: ${t}}`},oq={keyword:"const",$data:!0,error:nq,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Im._)`!${(0,tq.useFunc)(e,rq.default)}(${r}, ${o})`):t.fail((0,Im._)`${s} !== ${r}`)}};Am.default=oq});var y0=$(Cm=>{"use strict";Object.defineProperty(Cm,"__esModule",{value:!0});var fa=te(),sq=le(),iq=Bu(),aq={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,fa._)`{allowedValues: ${t}}`},cq={keyword:"enum",schemaType:"array",$data:!0,error:aq,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,sq.useFunc)(e,iq.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=e.const("vSchema",s);l=(0,fa.or)(...o.map((m,h)=>p(f,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,f=>e.if((0,fa._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,m){let h=o[m];return typeof h=="object"&&h!==null?(0,fa._)`${u()}(${r}, ${f}[${m}])`:(0,fa._)`${r} === ${h}`}}};Cm.default=cq});var v0=$(Dm=>{"use strict";Object.defineProperty(Dm,"__esModule",{value:!0});var uq=s0(),lq=i0(),dq=u0(),pq=l0(),fq=d0(),mq=p0(),hq=f0(),gq=h0(),yq=g0(),vq=y0(),_q=[uq.default,lq.default,dq.default,pq.default,fq.default,mq.default,hq.default,gq.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},yq.default,vq.default];Dm.default=_q});var zm=$(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.validateAdditionalItems=void 0;var co=te(),Om=le(),bq={message:({params:{len:t}})=>(0,co.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,co._)`{limit: ${t}}`},wq={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:bq,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Om.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}_0(t,n)}};function _0(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,co._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,co._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Om.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,co._)`${a} <= ${e.length}`);r.if((0,co.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:Om.Type.Num},u),i.allErrors||r.if((0,co.not)(u),()=>r.break())})}}ma.validateAdditionalItems=_0;ma.default=wq});var Nm=$(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.validateTuple=void 0;var b0=te(),Wu=le(),$q=Zt(),Sq={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return w0(t,"additionalItems",e);r.items=!0,!(0,Wu.alwaysValidSchema)(r,e)&&t.ok((0,$q.validateArray)(t))}};function w0(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Wu.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,b0._)`${s}.length`);r.forEach((d,p)=>{(0,Wu.alwaysValidSchema)(a,d)||(n.if((0,b0._)`${u} > ${p}`,()=>t.subschema({keyword:i,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:f}=a,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(p.strictTuples&&!h){let y=`"${i}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,Wu.checkStrictMode)(a,y,p.strictTuples)}}}ha.validateTuple=w0;ha.default=Sq});var $0=$(jm=>{"use strict";Object.defineProperty(jm,"__esModule",{value:!0});var xq=Nm(),kq={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,xq.validateTuple)(t,"items")};jm.default=kq});var x0=$(Mm=>{"use strict";Object.defineProperty(Mm,"__esModule",{value:!0});var S0=te(),Pq=le(),Eq=Zt(),Tq=zm(),Rq={message:({params:{len:t}})=>(0,S0.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,S0._)`{limit: ${t}}`},Iq={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Rq,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,Pq.alwaysValidSchema)(n,e)&&(o?(0,Tq.validateAdditionalItems)(t,o):t.ok((0,Eq.validateArray)(t)))}};Mm.default=Iq});var k0=$(Lm=>{"use strict";Object.defineProperty(Lm,"__esModule",{value:!0});var Bt=te(),Hu=le(),Aq={message:({params:{min:t,max:e}})=>e===void 0?(0,Bt.str)`must contain at least ${t} valid item(s)`:(0,Bt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Bt._)`{minContains: ${t}}`:(0,Bt._)`{minContains: ${t}, maxContains: ${e}}`},Cq={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Aq,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,Bt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Hu.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Hu.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Hu.alwaysValidSchema)(s,r)){let h=(0,Bt._)`${l} >= ${i}`;a!==void 0&&(h=(0,Bt._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?f(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,Bt._)`${o}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let h=e.name("_valid"),y=e.let("count",0);f(h,()=>e.if(h,()=>m(y)))}function f(h,y){e.forRange("i",0,l,v=>{t.subschema({keyword:"contains",dataProp:v,dataPropType:Hu.Type.Num,compositeRule:!0},h),y()})}function m(h){e.code((0,Bt._)`${h}++`),a===void 0?e.if((0,Bt._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,Bt._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,Bt._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};Lm.default=Cq});var T0=$(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.validateSchemaDeps=wr.validatePropertyDeps=wr.error=void 0;var qm=te(),Dq=le(),ga=Zt();wr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,qm.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,qm._)`{property: ${t},
|
|
10
10
|
missingProperty: ${n},
|
|
11
11
|
depsCount: ${e},
|
|
12
|
-
deps: ${r}}`};var zz={keyword:"dependencies",type:"object",schemaType:"object",error:Ut.error,code(t){let[e,r]=Oz(t);iw(t,e),aw(t,r)}};function Oz({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function iw(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,Vs.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,Vs.checkReportMissingProp)(t,u)}):(r.if((0,sp._)`${c} && (${(0,Vs.checkMissingProp)(t,a,s)})`),(0,Vs.reportMissingProp)(t,s),r.else())}}Ut.validatePropertyDeps=iw;function aw(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,Dz.alwaysValidSchema)(s,e[a])||(r.if((0,Vs.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Ut.validateSchemaDeps=aw;Ut.default=zz});var lw=R(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});var uw=J(),Mz=ae(),Nz={message:"property name must be valid",params:({params:t})=>(0,uw._)`{propertyName: ${t.propertyName}}`},jz={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Nz,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,Mz.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,uw.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};ip.default=jz});var cp=R(ap=>{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});var Ha=yt(),Tt=J(),Lz=or(),Ka=ae(),Fz={message:"must NOT have additional properties",params:({params:t})=>(0,Tt._)`{additionalProperty: ${t.additionalProperty}}`},Zz={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Fz,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Ka.alwaysValidSchema)(i,r))return;let u=(0,Ha.allSchemaProperties)(n.properties),l=(0,Ha.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Tt._)`${s} === ${Lz.default.errors}`);function d(){e.forIn("key",o,y=>{!u.length&&!l.length?m(y):e.if(p(y),()=>m(y))})}function p(y){let v;if(u.length>8){let x=(0,Ka.schemaRefOrVal)(i,n.properties,"properties");v=(0,Ha.isOwnProperty)(e,x,y)}else u.length?v=(0,Tt.or)(...u.map(x=>(0,Tt._)`${y} === ${x}`)):v=Tt.nil;return l.length&&(v=(0,Tt.or)(v,...l.map(x=>(0,Tt._)`${(0,Ha.usePattern)(t,x)}.test(${y})`))),(0,Tt.not)(v)}function f(y){e.code((0,Tt._)`delete ${o}[${y}]`)}function m(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(y);return}if(r===!1){t.setParams({additionalProperty:y}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Ka.alwaysValidSchema)(i,r)){let v=e.name("valid");c.removeAdditional==="failing"?(g(y,v,!1),e.if((0,Tt.not)(v),()=>{t.reset(),f(y)})):(g(y,v),a||e.if((0,Tt.not)(v),()=>e.break()))}}function g(y,v,x){let b={keyword:"additionalProperties",dataProp:y,dataPropType:Ka.Type.Str};x===!1&&Object.assign(b,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(b,v)}}};ap.default=Zz});var fw=R(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});var Uz=Is(),dw=yt(),up=ae(),pw=cp(),qz={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&pw.default.code(new Uz.KeywordCxt(s,pw.default,"additionalProperties"));let i=(0,dw.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=up.mergeEvaluated.props(e,(0,up.toHash)(i),s.props));let a=i.filter(d=>!(0,up.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,dw.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};lp.default=qz});var yw=R(dp=>{"use strict";Object.defineProperty(dp,"__esModule",{value:!0});var mw=yt(),Ja=J(),hw=ae(),gw=ae(),Vz={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,mw.allSchemaProperties)(r),c=a.filter(g=>(0,hw.alwaysValidSchema)(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Ja.Name)&&(s.props=(0,gw.evaluatedPropsToName)(e,s.props));let{props:d}=s;p();function p(){for(let g of a)u&&f(g),s.allErrors?m(g):(e.var(l,!0),m(g),e.if(l))}function f(g){for(let y in u)new RegExp(g).test(y)&&(0,hw.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",n,y=>{e.if((0,Ja._)`${(0,mw.usePattern)(t,g)}.test(${y})`,()=>{let v=c.includes(g);v||t.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:gw.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Ja._)`${d}[${y}]`,!0):!v&&!s.allErrors&&e.if((0,Ja.not)(l),()=>e.break())})})}}};dp.default=Vz});var vw=R(pp=>{"use strict";Object.defineProperty(pp,"__esModule",{value:!0});var Bz=ae(),Wz={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Bz.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};pp.default=Wz});var _w=R(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});var Hz=yt(),Kz={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Hz.validateUnion,error:{message:"must match a schema in anyOf"}};fp.default=Kz});var bw=R(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});var Ga=J(),Jz=ae(),Gz={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Ga._)`{passingSchemas: ${t.passing}}`},Yz={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Gz,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let p;(0,Jz.alwaysValidSchema)(o,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Ga._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Ga._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,Ga.Name)})})}}};mp.default=Yz});var ww=R(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});var Xz=ae(),Qz={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,Xz.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};hp.default=Qz});var $w=R(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});var Ya=J(),Sw=ae(),eO={message:({params:t})=>(0,Ya.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Ya._)`{failingKeyword: ${t.ifClause}}`},tO={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:eO,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Sw.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=xw(n,"then"),s=xw(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,Ya.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(p,i),d?e.assign(d,(0,Ya._)`${l}`):t.setParams({ifClause:l})}}}};function xw(t,e){let r=t.schema[e];return r!==void 0&&!(0,Sw.alwaysValidSchema)(t,r)}gp.default=tO});var kw=R(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});var rO=ae(),nO={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,rO.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};yp.default=nO});var Pw=R(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});var oO=ep(),sO=rw(),iO=tp(),aO=ow(),cO=sw(),uO=cw(),lO=lw(),dO=cp(),pO=fw(),fO=yw(),mO=vw(),hO=_w(),gO=bw(),yO=ww(),vO=$w(),_O=kw();function bO(t=!1){let e=[mO.default,hO.default,gO.default,yO.default,vO.default,_O.default,lO.default,dO.default,uO.default,pO.default,fO.default];return t?e.push(sO.default,aO.default):e.push(oO.default,iO.default),e.push(cO.default),e}vp.default=bO});var Tw=R(_p=>{"use strict";Object.defineProperty(_p,"__esModule",{value:!0});var Pe=J(),wO={message:({schemaCode:t})=>(0,Pe.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Pe._)`{format: ${t}}`},xO={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:wO,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?p():f();function p(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",(0,Pe._)`${m}[${i}]`),y=r.let("fType"),v=r.let("format");r.if((0,Pe._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,Pe._)`${g}.type || "string"`).assign(v,(0,Pe._)`${g}.validate`),()=>r.assign(y,(0,Pe._)`"string"`).assign(v,g)),t.fail$data((0,Pe.or)(x(),b()));function x(){return c.strictSchema===!1?Pe.nil:(0,Pe._)`${i} && !${v}`}function b(){let P=l.$async?(0,Pe._)`(${g}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,Pe._)`${v}(${n})`,T=(0,Pe._)`(typeof ${v} == "function" ? ${P} : ${v}.test(${n}))`;return(0,Pe._)`${v} && ${v} !== true && ${y} === ${e} && !${T}`}}function f(){let m=d.formats[s];if(!m){x();return}if(m===!0)return;let[g,y,v]=b(m);g===e&&t.pass(P());function x(){if(c.strictSchema===!1){d.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function b(T){let W=T instanceof RegExp?(0,Pe.regexpCode)(T):c.code.formats?(0,Pe._)`${c.code.formats}${(0,Pe.getProperty)(s)}`:void 0,$=r.scopeValue("formats",{key:s,ref:T,code:W});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Pe._)`${$}.validate`]:["string",T,$]}function P(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Pe._)`await ${v}(${n})`}return typeof y=="function"?(0,Pe._)`${v}(${n})`:(0,Pe._)`${v}.test(${n})`}}}};_p.default=xO});var Ew=R(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});var SO=Tw(),$O=[SO.default];bp.default=$O});var Rw=R(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.contentVocabulary=io.metadataVocabulary=void 0;io.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];io.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Aw=R(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});var kO=jb(),PO=Xb(),TO=Pw(),EO=Ew(),Iw=Rw(),RO=[kO.default,PO.default,(0,TO.default)(),EO.default,Iw.metadataVocabulary,Iw.contentVocabulary];wp.default=RO});var Dw=R(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.DiscrError=void 0;var Cw;(function(t){t.Tag="tag",t.Mapping="mapping"})(Cw||(Xa.DiscrError=Cw={}))});var Ow=R(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});var ao=J(),xp=Dw(),zw=Da(),IO=As(),AO=ae(),CO={message:({params:{discrError:t,tagName:e}})=>t===xp.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,ao._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},DO={keyword:"discriminator",type:"object",schemaType:"object",error:CO,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,ao._)`${r}${(0,ao.getProperty)(a)}`);e.if((0,ao._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:xp.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let f=p();e.if(!1);for(let m in f)e.elseIf((0,ao._)`${u} === ${m}`),e.assign(c,d(f[m]));e.else(),t.error(!1,{discrError:xp.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(f){let m=e.name("valid"),g=t.subschema({keyword:"oneOf",schemaProp:f},m);return t.mergeEvaluated(g,ao.Name),m}function p(){var f;let m={},g=v(o),y=!0;for(let P=0;P<i.length;P++){let T=i[P];if(T?.$ref&&!(0,AO.schemaHasRulesButRef)(T,s.self.RULES)){let $=T.$ref;if(T=zw.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,$),T instanceof zw.SchemaEnv&&(T=T.schema),T===void 0)throw new IO.default(s.opts.uriResolver,s.baseId,$)}let W=(f=T?.properties)===null||f===void 0?void 0:f[a];if(typeof W!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||v(T)),x(W,P)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return m;function v({required:P}){return Array.isArray(P)&&P.includes(a)}function x(P,T){if(P.const)b(P.const,T);else if(P.enum)for(let W of P.enum)b(W,T);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function b(P,T){if(typeof P!="string"||P in m)throw new Error(`discriminator: "${a}" values must be unique strings`);m[P]=T}}}};Sp.default=DO});var Mw=R((tW,zO)=>{zO.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 kp=R((ve,$p)=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.MissingRefError=ve.ValidationError=ve.CodeGen=ve.Name=ve.nil=ve.stringify=ve.str=ve._=ve.KeywordCxt=ve.Ajv=void 0;var OO=Cb(),MO=Aw(),NO=Ow(),Nw=Mw(),jO=["/properties"],Qa="http://json-schema.org/draft-07/schema",co=class extends OO.default{_addVocabularies(){super._addVocabularies(),MO.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(NO.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Nw,jO):Nw;this.addMetaSchema(e,Qa,!1),this.refs["http://json-schema.org/schema"]=Qa}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Qa)?Qa:void 0)}};ve.Ajv=co;$p.exports=ve=co;$p.exports.Ajv=co;Object.defineProperty(ve,"__esModule",{value:!0});ve.default=co;var LO=Is();Object.defineProperty(ve,"KeywordCxt",{enumerable:!0,get:function(){return LO.KeywordCxt}});var uo=J();Object.defineProperty(ve,"_",{enumerable:!0,get:function(){return uo._}});Object.defineProperty(ve,"str",{enumerable:!0,get:function(){return uo.str}});Object.defineProperty(ve,"stringify",{enumerable:!0,get:function(){return uo.stringify}});Object.defineProperty(ve,"nil",{enumerable:!0,get:function(){return uo.nil}});Object.defineProperty(ve,"Name",{enumerable:!0,get:function(){return uo.Name}});Object.defineProperty(ve,"CodeGen",{enumerable:!0,get:function(){return uo.CodeGen}});var FO=Aa();Object.defineProperty(ve,"ValidationError",{enumerable:!0,get:function(){return FO.default}});var ZO=As();Object.defineProperty(ve,"MissingRefError",{enumerable:!0,get:function(){return ZO.default}})});var Bw=R(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.formatNames=Vt.fastFormats=Vt.fullFormats=void 0;function qt(t,e){return{validate:t,compare:e}}Vt.fullFormats={date:qt(Zw,Rp),time:qt(Tp(!0),Ip),"date-time":qt(jw(!0),qw),"iso-time":qt(Tp(),Uw),"iso-date-time":qt(jw(),Vw),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:HO,"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:eM,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:KO,int32:{type:"number",validate:YO},int64:{type:"number",validate:XO},float:{type:"number",validate:Fw},double:{type:"number",validate:Fw},password:!0,binary:!0};Vt.fastFormats={...Vt.fullFormats,date:qt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Rp),time:qt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ip),"date-time":qt(/^\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,qw),"iso-time":qt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Uw),"iso-date-time":qt(/^\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,Vw),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};Vt.formatNames=Object.keys(Vt.fullFormats);function UO(t){return t%4===0&&(t%100!==0||t%400===0)}var qO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,VO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Zw(t){let e=qO.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&UO(r)?29:VO[n])}function Rp(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Pp=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Tp(t){return function(r){let n=Pp.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,p=o-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&i<61}}function Ip(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function Uw(t,e){if(!(t&&e))return;let r=Pp.exec(t),n=Pp.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var Ep=/t|\s/i;function jw(t){let e=Tp(t);return function(n){let o=n.split(Ep);return o.length===2&&Zw(o[0])&&e(o[1])}}function qw(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function Vw(t,e){if(!(t&&e))return;let[r,n]=t.split(Ep),[o,s]=e.split(Ep),i=Rp(r,o);if(i!==void 0)return i||Ip(n,s)}var BO=/\/|:/,WO=/^(?:[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 HO(t){return BO.test(t)&&WO.test(t)}var Lw=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function KO(t){return Lw.lastIndex=0,Lw.test(t)}var JO=-(2**31),GO=2**31-1;function YO(t){return Number.isInteger(t)&&t<=GO&&t>=JO}function XO(t){return Number.isInteger(t)}function Fw(){return!0}var QO=/[^\\]\\Z/;function eM(t){if(QO.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var Ww=R(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.formatLimitDefinition=void 0;var tM=kp(),Et=J(),Tr=Et.operators,ec={formatMaximum:{okStr:"<=",ok:Tr.LTE,fail:Tr.GT},formatMinimum:{okStr:">=",ok:Tr.GTE,fail:Tr.LT},formatExclusiveMaximum:{okStr:"<",ok:Tr.LT,fail:Tr.GTE},formatExclusiveMinimum:{okStr:">",ok:Tr.GT,fail:Tr.LTE}},rM={message:({keyword:t,schemaCode:e})=>(0,Et.str)`should be ${ec[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Et._)`{comparison: ${ec[t].okStr}, limit: ${e}}`};lo.formatLimitDefinition={keyword:Object.keys(ec),type:"string",schemaType:"string",$data:!0,error:rM,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new tM.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=e.const("fmt",(0,Et._)`${p}[${c.schemaCode}]`);t.fail$data((0,Et.or)((0,Et._)`typeof ${f} != "object"`,(0,Et._)`${f} instanceof RegExp`,(0,Et._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let p=c.schema,f=a.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let m=e.scopeValue("formats",{key:p,ref:f,code:i.code.formats?(0,Et._)`${i.code.formats}${(0,Et.getProperty)(p)}`:void 0});t.fail$data(d(m))}function d(p){return(0,Et._)`${p}.compare(${r}, ${n}) ${ec[o].fail} 0`}},dependencies:["format"]};var nM=t=>(t.addKeyword(lo.formatLimitDefinition),t);lo.default=nM});var Gw=R((Bs,Jw)=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var po=Bw(),oM=Ww(),Ap=J(),Hw=new Ap.Name("fullFormats"),sM=new Ap.Name("fastFormats"),Cp=(t,e={keywords:!0})=>{if(Array.isArray(e))return Kw(t,e,po.fullFormats,Hw),t;let[r,n]=e.mode==="fast"?[po.fastFormats,sM]:[po.fullFormats,Hw],o=e.formats||po.formatNames;return Kw(t,o,r,n),e.keywords&&(0,oM.default)(t),t};Cp.get=(t,e="full")=>{let n=(e==="fast"?po.fastFormats:po.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function Kw(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,Ap._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}Jw.exports=Bs=Cp;Object.defineProperty(Bs,"__esModule",{value:!0});Bs.default=Cp});import{readFileSync as CL}from"fs";import{join as yf}from"path";import{fileURLToPath as DL}from"url";var yn=class extends Error{providerId;constructor(e,r){super(`[${e}] ${r}`),this.providerId=e,this.name=this.constructor.name}},Ys=class extends yn{code="PROVIDER_NOT_FOUND";retryable=!1;constructor(e){super(e,`Provider not found: ${e}`)}},pe=class extends yn{code="PROVIDER_UNAVAILABLE";retryable=!1;constructor(e,r){super(e,`Provider unavailable: ${r||"not installed or not running"}`)}};var vn=class extends yn{timeoutMs;code="PROVIDER_TIMEOUT";retryable=!0;constructor(e,r){super(e,`Timeout after ${r}ms`),this.timeoutMs=r}},He=class extends yn{code="PROVIDER_EXECUTION_ERROR";retryable=!0;constructor(e,r){super(e,`Execution error: ${r}`)}};var jf={ollama:{tier:"tool"},"claude-cli":{tier:"agent",maxComplexity:"complex"},"gemini-cli":{tier:"agent",maxComplexity:"complex"},"codex-cli":{tier:"agent",maxComplexity:"complex"},"claude-host":{tier:"agent",maxComplexity:"complex"},"codex-host":{tier:"agent",maxComplexity:"complex"},"gemini-host":{tier:"agent",maxComplexity:"complex"}},$$={ollama:{invocation:"http",roles:["participant","tool"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"claude-cli":{invocation:"cli",roles:["participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"gemini-cli":{invocation:"cli",roles:["leader","participant","reviewer","worker"],supportsAutonomousExecution:!0,supportsReadOnlyChat:!0},"codex-cli":{invocation:"cli",roles:["leader","participant","reviewer","worker"],supportsAutonomousExecution:!0,supportsReadOnlyChat:!0},"claude-host":{invocation:"host-bridge",roles:["leader","participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"codex-host":{invocation:"host-bridge",roles:["leader","participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"gemini-host":{invocation:"host-bridge",roles:["leader","participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0}};function Hc(t){return t<3?"simple":t<8?"moderate":t<=20?"complex":"advanced"}function ei(t,e,r,n=t){let o=jf[n]??jf[t]??{},s=o.maxComplexity??"simple";return n==="ollama"&&r!==void 0&&(s=Hc(r)),{providerId:t,tier:o.tier??"tool",strengths:o.strengths??e.strengths,maxComplexity:s}}function cr(t,e){let r=$$[t.type],n=r?.roles?[...r.roles]:["participant"];return{id:t.id,type:t.type,invocation:r?.invocation??"unknown",roles:n,supportsAutonomousExecution:r?.supportsAutonomousExecution??!1,supportsReadOnlyChat:r?.supportsReadOnlyChat??!0,supportsToolUse:e?.supportsToolUse??r?.supportsToolUse??!1}}var ti={low:0,medium:.5,high:.7},k$={chat:"low",simple_review:"low",code_review:"medium",code_generation:"medium",design:"medium",writing:"medium",analysis:"medium",ideation:"medium",debate_turn:"medium",architecture:"high",cross_validate:"high",complex_refactor:"high"};function Lf(t,e){return e?.[t]??k$[t]??"low"}function ri(t,e,r=ti){return t>=r[e]}var ni=class{providers=new Map;resolveProvider(e){let r=this.providers.get(e);if(r)return r;if(e==="claude")return this.resolveClaudeAlias()}resolveClaudeAlias(){let e,r;for(let n of this.providers.values())n.type==="claude-host"?e=e??n:n.type==="claude-cli"&&(r=r??n);return e??r}register(e){this.providers.set(e.id,e)}get(e){let r=this.resolveProvider(e);if(!r)throw new Ys(e);return r}getAll(){return[...this.providers.values()]}getAvailable(){return this.getAll().filter(e=>e.isAvailable())}getAvailableDescriptors(){return this.getAvailable().map(e=>this.getDescriptor(e.id))}getByCapability(e){return this.getAvailable().filter(r=>r.getCapabilities().strengths.includes(e))}has(e){return this.providers.has(e)}getCapability(e){let r=this.get(e);return ei(r.id,r.getCapabilities(),void 0,r.type)}getDescriptor(e){let r=this.get(e);return r.getDescriptor?.()??cr(r,r.getCapabilities())}getByTier(e){return this.getAvailable().filter(r=>this.getCapability(r.id).tier===e)}getByRole(e){return this.getAvailable().filter(r=>this.getDescriptor(r.id).roles.includes(e))}getBestForTask(e,r,n,o){let s=this.getAvailable();if(s.length===0)return;if(!r)return s[0];let i=n??Lf(e),a=r.getQualityStats(30),c=new Map;for(let[p,f]of a){let m=p.split(":")[0],g=c.get(m)??{totalScore:0,count:0};g.totalScore+=f.avgScore*f.count,g.count+=f.count,c.set(m,g)}let u=s.filter(p=>{let f=c.get(p.id);if(!f)return i==="low";let m=f.totalScore/f.count;return ri(m,i,o)});if(u.length===0)return;let l,d=-1;for(let p of u){let f=`${p.id}:${e}`,m=a.get(f);m&&m.avgScore>d&&(d=m.avgScore,l=p)}return l??u[0]}};var h={};We(h,{BRAND:()=>Y$,DIRTY:()=>Cr,EMPTY_PATH:()=>R$,INVALID:()=>M,NEVER:()=>Ok,OK:()=>Le,ParseStatus:()=>Ce,Schema:()=>H,ZodAny:()=>dr,ZodArray:()=>Yt,ZodBigInt:()=>zr,ZodBoolean:()=>Or,ZodBranded:()=>To,ZodCatch:()=>Wr,ZodDate:()=>Mr,ZodDefault:()=>Br,ZodDiscriminatedUnion:()=>ii,ZodEffects:()=>dt,ZodEnum:()=>qr,ZodError:()=>Xe,ZodFirstPartyTypeKind:()=>k,ZodFunction:()=>ci,ZodIntersection:()=>Fr,ZodIssueCode:()=>S,ZodLazy:()=>Zr,ZodLiteral:()=>Ur,ZodMap:()=>In,ZodNaN:()=>Cn,ZodNativeEnum:()=>Vr,ZodNever:()=>bt,ZodNull:()=>jr,ZodNullable:()=>Ot,ZodNumber:()=>Dr,ZodObject:()=>Qe,ZodOptional:()=>ut,ZodParsedType:()=>I,ZodPipeline:()=>Eo,ZodPromise:()=>pr,ZodReadonly:()=>Hr,ZodRecord:()=>ai,ZodSchema:()=>H,ZodSet:()=>An,ZodString:()=>lr,ZodSymbol:()=>En,ZodTransformer:()=>dt,ZodTuple:()=>zt,ZodType:()=>H,ZodUndefined:()=>Nr,ZodUnion:()=>Lr,ZodUnknown:()=>Gt,ZodVoid:()=>Rn,addIssueToContext:()=>E,any:()=>ik,array:()=>lk,bigint:()=>tk,boolean:()=>Gf,coerce:()=>zk,custom:()=>Hf,date:()=>rk,datetimeRegex:()=>Bf,defaultErrorMap:()=>Kt,discriminatedUnion:()=>mk,effect:()=>Pk,enum:()=>Sk,function:()=>bk,getErrorMap:()=>kn,getParsedType:()=>Dt,instanceof:()=>Q$,intersection:()=>hk,isAborted:()=>oi,isAsync:()=>Pn,isDirty:()=>si,isValid:()=>ur,late:()=>X$,lazy:()=>wk,literal:()=>xk,makeIssue:()=>Po,map:()=>vk,nan:()=>ek,nativeEnum:()=>$k,never:()=>ck,null:()=>sk,nullable:()=>Ek,number:()=>Jf,object:()=>dk,objectUtil:()=>Kc,oboolean:()=>Dk,onumber:()=>Ck,optional:()=>Tk,ostring:()=>Ak,pipeline:()=>Ik,preprocess:()=>Rk,promise:()=>kk,quotelessJson:()=>P$,record:()=>yk,set:()=>_k,setErrorMap:()=>E$,strictObject:()=>pk,string:()=>Kf,symbol:()=>nk,transformer:()=>Pk,tuple:()=>gk,undefined:()=>ok,union:()=>fk,unknown:()=>ak,util:()=>X,void:()=>uk});var X;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(X||(X={}));var Kc;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Kc||(Kc={}));var I=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Dt=t=>{switch(typeof t){case"undefined":return I.undefined;case"string":return I.string;case"number":return Number.isNaN(t)?I.nan:I.number;case"boolean":return I.boolean;case"function":return I.function;case"bigint":return I.bigint;case"symbol":return I.symbol;case"object":return Array.isArray(t)?I.array:t===null?I.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?I.promise:typeof Map<"u"&&t instanceof Map?I.map:typeof Set<"u"&&t instanceof Set?I.set:typeof Date<"u"&&t instanceof Date?I.date:I.object;default:return I.unknown}};var S=X.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"]),P$=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Xe=class t extends Error{get errors(){return this.issues}constructor(e){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=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,X.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Xe.create=t=>new Xe(t);var T$=(t,e)=>{let r;switch(t.code){case S.invalid_type:t.received===I.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case S.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,X.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:r=`Unrecognized key(s) in object: ${X.joinValues(t.keys,", ")}`;break;case S.invalid_union:r="Invalid input";break;case S.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${X.joinValues(t.options)}`;break;case S.invalid_enum_value:r=`Invalid enum value. Expected ${X.joinValues(t.options)}, received '${t.received}'`;break;case S.invalid_arguments:r="Invalid function arguments";break;case S.invalid_return_type:r="Invalid function return type";break;case S.invalid_date:r="Invalid date";break;case S.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:X.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case S.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case S.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case S.custom:r="Invalid input";break;case S.invalid_intersection_types:r="Intersection results could not be merged";break;case S.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case S.not_finite:r="Number must be finite";break;default:r=e.defaultError,X.assertNever(t)}return{message:r}},Kt=T$;var Ff=Kt;function E$(t){Ff=t}function kn(){return Ff}var Po=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},R$=[];function E(t,e){let r=kn(),n=Po({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Kt?void 0:Kt].filter(o=>!!o)});t.common.issues.push(n)}var Ce=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return M;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return M;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},M=Object.freeze({status:"aborted"}),Cr=t=>({status:"dirty",value:t}),Le=t=>({status:"valid",value:t}),oi=t=>t.status==="aborted",si=t=>t.status==="dirty",ur=t=>t.status==="valid",Pn=t=>typeof Promise<"u"&&t instanceof Promise;var C;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(C||(C={}));var lt=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}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}},Zf=(t,e)=>{if(ur(e))return{success:!0,data:e.value};if(!t.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 Xe(t.common.issues);return this._error=r,this._error}}};function q(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var H=class{get description(){return this._def.description}_getType(e){return Dt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Dt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ce,ctx:{common:e.parent.common,data:e.data,parsedType:Dt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Pn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Zf(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return ur(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:e,path:[],parent:r}).then(n=>ur(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dt(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(Pn(o)?o:Promise.resolve(o));return Zf(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:S.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new dt({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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 ut.create(this,this._def)}nullable(){return Ot.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yt.create(this)}promise(){return pr.create(this,this._def)}or(e){return Lr.create([this,e],this._def)}and(e){return Fr.create(this,e,this._def)}transform(e){return new dt({...q(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Br({...q(this._def),innerType:this,defaultValue:r,typeName:k.ZodDefault})}brand(){return new To({typeName:k.ZodBranded,type:this,...q(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Wr({...q(this._def),innerType:this,catchValue:r,typeName:k.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Eo.create(this,e)}readonly(){return Hr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},I$=/^c[^\s-]{8,}$/i,A$=/^[0-9a-z]+$/,C$=/^[0-9A-HJKMNP-TV-Z]{26}$/i,D$=/^[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,z$=/^[a-z0-9_-]{21}$/i,O$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,M$=/^[-+]?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)?)??$/,N$=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,j$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Jc,L$=/^(?:(?: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])$/,F$=/^(?:(?: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])$/,Z$=/^(([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]))$/,U$=/^(([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])$/,q$=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,V$=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,qf="((\\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])))",B$=new RegExp(`^${qf}$`);function Vf(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function W$(t){return new RegExp(`^${Vf(t)}$`)}function Bf(t){let e=`${qf}T${Vf(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function H$(t,e){return!!((e==="v4"||!e)&&L$.test(t)||(e==="v6"||!e)&&Z$.test(t))}function K$(t,e){if(!O$.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function J$(t,e){return!!((e==="v4"||!e)&&F$.test(t)||(e==="v6"||!e)&&U$.test(t))}var lr=class t extends H{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==I.string){let s=this._getOrReturnCtx(e);return E(s,{code:S.invalid_type,expected:I.string,received:s.parsedType}),M}let n=new Ce,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:S.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:S.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?E(o,{code:S.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&E(o,{code:S.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")N$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"email",code:S.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Jc||(Jc=new RegExp(j$,"u")),Jc.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"emoji",code:S.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")D$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"uuid",code:S.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")z$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"nanoid",code:S.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")I$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"cuid",code:S.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")A$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"cuid2",code:S.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")C$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"ulid",code:S.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),E(o,{validation:"url",code:S.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"regex",code:S.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),E(o,{code:S.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),E(o,{code:S.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),E(o,{code:S.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Bf(s).test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{code:S.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?B$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{code:S.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?W$(s).test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{code:S.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?M$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"duration",code:S.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?H$(e.data,s.version)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"ip",code:S.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?K$(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"jwt",code:S.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?J$(e.data,s.version)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"cidr",code:S.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?q$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"base64",code:S.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?V$.test(e.data)||(o=this._getOrReturnCtx(e,o),E(o,{validation:"base64url",code:S.invalid_string,message:s.message}),n.dirty()):X.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:S.invalid_string,...C.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...C.errToObj(e)})}url(e){return this._addCheck({kind:"url",...C.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...C.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...C.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...C.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...C.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...C.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...C.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...C.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...C.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...C.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...C.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...C.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...C.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...C.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...C.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...C.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...C.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...C.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...C.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...C.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...C.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...C.errToObj(r)})}nonempty(e){return this.min(1,C.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};lr.create=t=>new lr({checks:[],typeName:k.ZodString,coerce:t?.coerce??!1,...q(t)});function G$(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var Dr=class t extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==I.number){let s=this._getOrReturnCtx(e);return E(s,{code:S.invalid_type,expected:I.number,received:s.parsedType}),M}let n,o=new Ce;for(let s of this._def.checks)s.kind==="int"?X.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:S.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:S.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:S.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?G$(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),E(n,{code:S.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),E(n,{code:S.not_finite,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,C.toString(r))}gt(e,r){return this.setLimit("min",e,!1,C.toString(r))}lte(e,r){return this.setLimit("max",e,!0,C.toString(r))}lt(e,r){return this.setLimit("max",e,!1,C.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:C.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:C.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:C.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:C.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:C.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&X.isInteger(e.value))}get isFinite(){let e=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"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Dr.create=t=>new Dr({checks:[],typeName:k.ZodNumber,coerce:t?.coerce||!1,...q(t)});var zr=class t extends H{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==I.bigint)return this._getInvalidInput(e);let n,o=new Ce;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:S.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),E(n,{code:S.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),E(n,{code:S.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return E(r,{code:S.invalid_type,expected:I.bigint,received:r.parsedType}),M}gte(e,r){return this.setLimit("min",e,!0,C.toString(r))}gt(e,r){return this.setLimit("min",e,!1,C.toString(r))}lte(e,r){return this.setLimit("max",e,!0,C.toString(r))}lt(e,r){return this.setLimit("max",e,!1,C.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:C.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};zr.create=t=>new zr({checks:[],typeName:k.ZodBigInt,coerce:t?.coerce??!1,...q(t)});var Or=class extends H{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==I.boolean){let n=this._getOrReturnCtx(e);return E(n,{code:S.invalid_type,expected:I.boolean,received:n.parsedType}),M}return Le(e.data)}};Or.create=t=>new Or({typeName:k.ZodBoolean,coerce:t?.coerce||!1,...q(t)});var Mr=class t extends H{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==I.date){let s=this._getOrReturnCtx(e);return E(s,{code:S.invalid_type,expected:I.date,received:s.parsedType}),M}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return E(s,{code:S.invalid_date}),M}let n=new Ce,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:S.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),E(o,{code:S.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):X.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:C.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:C.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};Mr.create=t=>new Mr({checks:[],coerce:t?.coerce||!1,typeName:k.ZodDate,...q(t)});var En=class extends H{_parse(e){if(this._getType(e)!==I.symbol){let n=this._getOrReturnCtx(e);return E(n,{code:S.invalid_type,expected:I.symbol,received:n.parsedType}),M}return Le(e.data)}};En.create=t=>new En({typeName:k.ZodSymbol,...q(t)});var Nr=class extends H{_parse(e){if(this._getType(e)!==I.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:S.invalid_type,expected:I.undefined,received:n.parsedType}),M}return Le(e.data)}};Nr.create=t=>new Nr({typeName:k.ZodUndefined,...q(t)});var jr=class extends H{_parse(e){if(this._getType(e)!==I.null){let n=this._getOrReturnCtx(e);return E(n,{code:S.invalid_type,expected:I.null,received:n.parsedType}),M}return Le(e.data)}};jr.create=t=>new jr({typeName:k.ZodNull,...q(t)});var dr=class extends H{constructor(){super(...arguments),this._any=!0}_parse(e){return Le(e.data)}};dr.create=t=>new dr({typeName:k.ZodAny,...q(t)});var Gt=class extends H{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Le(e.data)}};Gt.create=t=>new Gt({typeName:k.ZodUnknown,...q(t)});var bt=class extends H{_parse(e){let r=this._getOrReturnCtx(e);return E(r,{code:S.invalid_type,expected:I.never,received:r.parsedType}),M}};bt.create=t=>new bt({typeName:k.ZodNever,...q(t)});var Rn=class extends H{_parse(e){if(this._getType(e)!==I.undefined){let n=this._getOrReturnCtx(e);return E(n,{code:S.invalid_type,expected:I.void,received:n.parsedType}),M}return Le(e.data)}};Rn.create=t=>new Rn({typeName:k.ZodVoid,...q(t)});var Yt=class t extends H{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==I.array)return E(r,{code:S.invalid_type,expected:I.array,received:r.parsedType}),M;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(E(r,{code:i?S.too_big:S.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(E(r,{code:S.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(E(r,{code:S.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new lt(r,i,r.path,a)))).then(i=>Ce.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new lt(r,i,r.path,a)));return Ce.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:C.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:C.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:C.toString(r)}})}nonempty(e){return this.min(1,e)}};Yt.create=(t,e)=>new Yt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...q(e)});function Tn(t){if(t instanceof Qe){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=ut.create(Tn(n))}return new Qe({...t._def,shape:()=>e})}else return t instanceof Yt?new Yt({...t._def,type:Tn(t.element)}):t instanceof ut?ut.create(Tn(t.unwrap())):t instanceof Ot?Ot.create(Tn(t.unwrap())):t instanceof zt?zt.create(t.items.map(e=>Tn(e))):t}var Qe=class t extends H{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=X.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==I.object){let u=this._getOrReturnCtx(e);return E(u,{code:S.invalid_type,expected:I.object,received:u.parsedType}),M}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof bt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new lt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof bt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(E(o,{code:S.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new lt(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>Ce.mergeObjectSync(n,u)):Ce.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return C.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:C.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of X.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of X.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Tn(this)}partial(e){let r={};for(let n of X.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of X.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof ut;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Wf(X.objectKeys(this.shape))}};Qe.create=(t,e)=>new Qe({shape:()=>t,unknownKeys:"strip",catchall:bt.create(),typeName:k.ZodObject,...q(e)});Qe.strictCreate=(t,e)=>new Qe({shape:()=>t,unknownKeys:"strict",catchall:bt.create(),typeName:k.ZodObject,...q(e)});Qe.lazycreate=(t,e)=>new Qe({shape:t,unknownKeys:"strip",catchall:bt.create(),typeName:k.ZodObject,...q(e)});var Lr=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Xe(a.ctx.common.issues));return E(r,{code:S.invalid_union,unionErrors:i}),M}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Xe(c));return E(r,{code:S.invalid_union,unionErrors:a}),M}}get options(){return this._def.options}};Lr.create=(t,e)=>new Lr({options:t,typeName:k.ZodUnion,...q(e)});var Jt=t=>t instanceof Zr?Jt(t.schema):t instanceof dt?Jt(t.innerType()):t instanceof Ur?[t.value]:t instanceof qr?t.options:t instanceof Vr?X.objectValues(t.enum):t instanceof Br?Jt(t._def.innerType):t instanceof Nr?[void 0]:t instanceof jr?[null]:t instanceof ut?[void 0,...Jt(t.unwrap())]:t instanceof Ot?[null,...Jt(t.unwrap())]:t instanceof To||t instanceof Hr?Jt(t.unwrap()):t instanceof Wr?Jt(t._def.innerType):[],ii=class t extends H{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.object)return E(r,{code:S.invalid_type,expected:I.object,received:r.parsedType}),M;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(E(r,{code:S.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),M)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Jt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...q(n)})}};function Gc(t,e){let r=Dt(t),n=Dt(e);if(t===e)return{valid:!0,data:t};if(r===I.object&&n===I.object){let o=X.objectKeys(e),s=X.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Gc(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===I.array&&n===I.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Gc(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===I.date&&n===I.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Fr=class extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(oi(s)||oi(i))return M;let a=Gc(s.value,i.value);return a.valid?((si(s)||si(i))&&r.dirty(),{status:r.value,value:a.data}):(E(n,{code:S.invalid_intersection_types}),M)};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(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Fr.create=(t,e,r)=>new Fr({left:t,right:e,typeName:k.ZodIntersection,...q(r)});var zt=class t extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.array)return E(n,{code:S.invalid_type,expected:I.array,received:n.parsedType}),M;if(n.data.length<this._def.items.length)return E(n,{code:S.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),M;!this._def.rest&&n.data.length>this._def.items.length&&(E(n,{code:S.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new lt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ce.mergeArray(r,i)):Ce.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};zt.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new zt({items:t,typeName:k.ZodTuple,rest:null,...q(e)})};var ai=class t extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.object)return E(n,{code:S.invalid_type,expected:I.object,received:n.parsedType}),M;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new lt(n,a,n.path,a)),value:i._parse(new lt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ce.mergeObjectAsync(r,o):Ce.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof H?new t({keyType:e,valueType:r,typeName:k.ZodRecord,...q(n)}):new t({keyType:lr.create(),valueType:e,typeName:k.ZodRecord,...q(r)})}},In=class extends H{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.map)return E(n,{code:S.invalid_type,expected:I.map,received:n.parsedType}),M;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new lt(n,a,n.path,[u,"key"])),value:s._parse(new lt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return M;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return M;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};In.create=(t,e,r)=>new In({valueType:e,keyType:t,typeName:k.ZodMap,...q(r)});var An=class t extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.set)return E(n,{code:S.invalid_type,expected:I.set,received:n.parsedType}),M;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(E(n,{code:S.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(E(n,{code:S.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return M;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new lt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:C.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:C.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};An.create=(t,e)=>new An({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...q(e)});var ci=class t extends H{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.function)return E(r,{code:S.invalid_type,expected:I.function,received:r.parsedType}),M;function n(a,c){return Po({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,kn(),Kt].filter(u=>!!u),issueData:{code:S.invalid_arguments,argumentsError:c}})}function o(a,c){return Po({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,kn(),Kt].filter(u=>!!u),issueData:{code:S.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof pr){let a=this;return Le(async function(...c){let u=new Xe([]),l=await a._def.args.parseAsync(c,s).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(f=>{throw u.addIssue(o(d,f)),u})})}else{let a=this;return Le(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Xe([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Xe([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:zt.create(e).rest(Gt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||zt.create([]).rest(Gt.create()),returns:r||Gt.create(),typeName:k.ZodFunction,...q(n)})}},Zr=class extends H{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Zr.create=(t,e)=>new Zr({getter:t,typeName:k.ZodLazy,...q(e)});var Ur=class extends H{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return E(r,{received:r.data,code:S.invalid_literal,expected:this._def.value}),M}return{status:"valid",value:e.data}}get value(){return this._def.value}};Ur.create=(t,e)=>new Ur({value:t,typeName:k.ZodLiteral,...q(e)});function Wf(t,e){return new qr({values:t,typeName:k.ZodEnum,...q(e)})}var qr=class t extends H{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{expected:X.joinValues(n),received:r.parsedType,code:S.invalid_type}),M}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return E(r,{received:r.data,code:S.invalid_enum_value,options:n}),M}return Le(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};qr.create=Wf;var Vr=class extends H{_parse(e){let r=X.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==I.string&&n.parsedType!==I.number){let o=X.objectValues(r);return E(n,{expected:X.joinValues(o),received:n.parsedType,code:S.invalid_type}),M}if(this._cache||(this._cache=new Set(X.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=X.objectValues(r);return E(n,{received:n.data,code:S.invalid_enum_value,options:o}),M}return Le(e.data)}get enum(){return this._def.values}};Vr.create=(t,e)=>new Vr({values:t,typeName:k.ZodNativeEnum,...q(e)});var pr=class extends H{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.promise&&r.common.async===!1)return E(r,{code:S.invalid_type,expected:I.promise,received:r.parsedType}),M;let n=r.parsedType===I.promise?r.data:Promise.resolve(r.data);return Le(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};pr.create=(t,e)=>new pr({type:t,typeName:k.ZodPromise,...q(e)});var dt=class extends H{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{E(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return M;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?M:c.status==="dirty"?Cr(c.value):r.value==="dirty"?Cr(c.value):c});{if(r.value==="aborted")return M;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?M:a.status==="dirty"?Cr(a.value):r.value==="dirty"?Cr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?M:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?M:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!ur(i))return M;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>ur(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):M);X.assertNever(o)}};dt.create=(t,e,r)=>new dt({schema:t,typeName:k.ZodEffects,effect:e,...q(r)});dt.createWithPreprocess=(t,e,r)=>new dt({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...q(r)});var ut=class extends H{_parse(e){return this._getType(e)===I.undefined?Le(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ut.create=(t,e)=>new ut({innerType:t,typeName:k.ZodOptional,...q(e)});var Ot=class extends H{_parse(e){return this._getType(e)===I.null?Le(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ot.create=(t,e)=>new Ot({innerType:t,typeName:k.ZodNullable,...q(e)});var Br=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===I.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Br.create=(t,e)=>new Br({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...q(e)});var Wr=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Pn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Xe(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xe(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Wr.create=(t,e)=>new Wr({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...q(e)});var Cn=class extends H{_parse(e){if(this._getType(e)!==I.nan){let n=this._getOrReturnCtx(e);return E(n,{code:S.invalid_type,expected:I.nan,received:n.parsedType}),M}return{status:"valid",value:e.data}}};Cn.create=t=>new Cn({typeName:k.ZodNaN,...q(t)});var Y$=Symbol("zod_brand"),To=class extends H{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Eo=class t extends H{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?M:s.status==="dirty"?(r.dirty(),Cr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?M:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:k.ZodPipeline})}},Hr=class extends H{_parse(e){let r=this._def.innerType._parse(e),n=o=>(ur(o)&&(o.value=Object.freeze(o.value)),o);return Pn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Hr.create=(t,e)=>new Hr({innerType:t,typeName:k.ZodReadonly,...q(e)});function Uf(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Hf(t,e={},r){return t?dr.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Uf(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Uf(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):dr.create()}var X$={object:Qe.lazycreate},k;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(k||(k={}));var Q$=(t,e={message:`Input not instance of ${t.name}`})=>Hf(r=>r instanceof t,e),Kf=lr.create,Jf=Dr.create,ek=Cn.create,tk=zr.create,Gf=Or.create,rk=Mr.create,nk=En.create,ok=Nr.create,sk=jr.create,ik=dr.create,ak=Gt.create,ck=bt.create,uk=Rn.create,lk=Yt.create,dk=Qe.create,pk=Qe.strictCreate,fk=Lr.create,mk=ii.create,hk=Fr.create,gk=zt.create,yk=ai.create,vk=In.create,_k=An.create,bk=ci.create,wk=Zr.create,xk=Ur.create,Sk=qr.create,$k=Vr.create,kk=pr.create,Pk=dt.create,Tk=ut.create,Ek=Ot.create,Rk=dt.createWithPreprocess,Ik=Eo.create,Ak=()=>Kf().optional(),Ck=()=>Jf().optional(),Dk=()=>Gf().optional(),zk={string:(t=>lr.create({...t,coerce:!0})),number:(t=>Dr.create({...t,coerce:!0})),boolean:(t=>Or.create({...t,coerce:!0})),bigint:(t=>zr.create({...t,coerce:!0})),date:(t=>Mr.create({...t,coerce:!0}))};var Ok=M;Wt();var Mk=h.enum(["read-only","workspace-write","full-auto"]),Nk=Mk.default("read-only"),jk=h.object({id:h.string(),type:h.string(),enabled:h.boolean().default(!0),executionPolicy:Nk,config:h.record(h.unknown()).default({})}),Lk=h.enum(["default-only","auto"]).default("default-only"),Fk=h.object({selectionPolicy:Lk,locale:h.string().optional(),providers:h.array(jk).min(1,"At least one provider required")});function Xt(t){switch(t){case"ollama":case"gemini-cli":case"codex-cli":case"claude-cli":return"workspace-write";default:return"read-only"}}function ui(t){return t==="workspace-write"||t==="full-auto"}function Zk(t){return Qs.includes(t)}function Uk(t){if(t!==void 0)return Zk(t)?t:(console.warn(`[config] unknown locale '${t}', falling back to ${Ir}`),Ir)}function Yf(t){let e=Fk.parse(t);return{selectionPolicy:e.selectionPolicy,locale:Uk(e.locale),providers:e.providers,enabledProviders:e.providers.filter(r=>r.enabled)}}import{existsSync as Xf,mkdirSync as qk}from"fs";import{homedir as Vk}from"os";import{dirname as Bk,join as Qf}from"path";var em="providers.config.json";function Ro(){let t=process.env.AGESTRA_CONFIG_PATH;if(t&&t.length>0)return t;let e=Qf(Vk(),".agestra",em);if(Xf(e))return e;let r=process.env.CLAUDE_PLUGIN_ROOT,n=r&&r.length>0?Qf(r,em):void 0;return n&&Xf(n)?n:e}function tm(t){qk(Bk(t),{recursive:!0})}pi();tu();Co();ko();$n();Wt();import{mkdirSync as fm,readFileSync as Ie,readdirSync as Do,existsSync as Ze,unlinkSync as $0,rmdirSync as k0}from"fs";import{join as Q}from"path";import{spawn as mm}from"child_process";import{randomUUID as P0}from"crypto";var T0=5e3,cu=["completed","error","timed_out","cancelled","missing_cli"];function Mt(t,e){let r=Q(t,"status.json"),n=`${r}.lock`;Kr(n,()=>{let o=JSON.parse(Ie(r,"utf-8"));Re(r,{...o,...e})})}var mi=class{jobsDir;workspaceDir;maxJobs;maxAgeDays;submitCount=0;statusCache=new Map;completionHandler;saveInFlight=new Map;deferredSaveTimers=new Map;constructor(e=process.cwd(),r){this.workspaceDir=e,this.jobsDir=Q(e,xf),fm(this.jobsDir,{recursive:!0}),this.maxJobs=r?.maxJobs??100,this.maxAgeDays=r?.maxAgeDays??7,this.completionHandler=r?.completionHandler,this.submitCount=this.countExistingJobs()}countExistingJobs(){if(!Ze(this.jobsDir))return 0;try{return Do(this.jobsDir,{withFileTypes:!0}).filter(e=>e.isDirectory()).length}catch{return 0}}reconcileOrphans(){let e=0,r;try{r=Do(this.jobsDir)}catch{return 0}for(let n of r){if(!fr(n))continue;let o=Q(this.jobsDir,n,"status.json");if(!Ze(o))continue;let s;try{s=JSON.parse(Ie(o,"utf-8"))}catch{continue}if(s.state!=="running"||s.pid!==void 0&&this.isPidAlive(s.pid))continue;let i=`${o}.lock`;try{let a=Kr(i,()=>{let c=JSON.parse(Ie(o,"utf-8"));if(c.state!=="running"||c.pid!==void 0&&this.isPidAlive(c.pid))return null;let u={...c,state:"error",completedAt:new Date().toISOString()};return Re(o,u),u});if(!a)continue;oe(Q(this.jobsDir,n,"error.txt"),"orphaned (worker process died before completion)"),this.statusCache.set(n,a),e++}catch{}}return e}resolveCreatedAtMs(e){let r=Q(this.jobsDir,e,"job.json");try{let o=JSON.parse(Ie(r,"utf-8")),s=new Date(o.createdAt).getTime();if(Number.isFinite(s))return s}catch{}let n=e.split("-");for(let o=n.length-2;o>=0;o--)if(/^\d+$/.test(n[o])){let s=Number(n[o]);if(Number.isFinite(s)&&s>0)return s}return null}isPidAlive(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(r){return r.code==="EPERM"}}submit(e){let r=`${e.provider}-${Date.now()}-${P0().slice(0,6)}`,n=Q(this.jobsDir,r);fm(n,{recursive:!0});let o=e.timeout??3e5,s={id:r,provider:e.provider,prompt:e.prompt,timeout:o,createdAt:new Date().toISOString(),cwd:this.workspaceDir,saveAsDocument:e.saveAsDocument},i={id:r,state:"queued",provider:e.provider};if(Re(Q(n,"job.json"),s),Re(Q(n,"status.json"),i),oe(Q(n,"prompt.txt"),e.prompt),this.statusCache.set(r,i),this.spawnWorker(n),e.saveAsDocument&&this.completionHandler){let a=setTimeout(()=>{this.deferredSaveTimers.delete(r),this.maybeTriggerCompletionSave(r).catch(()=>{})},o+T0);a.unref?.(),this.deferredSaveTimers.set(r,a)}return this.submitCount++,this.submitCount%10===0&&this.cleanup(),r}getStatus(e){if(!fr(e))return null;let r=this.statusCache.get(e);if(r&&cu.includes(r.state)&&((r.savedDocumentId?!0:r.saveError!==void 0)||!this.completionHandler))return r;let n=Q(this.jobsDir,e,"status.json");if(!Ze(n))return null;let o=JSON.parse(Ie(n,"utf-8"));if(o.state==="queued"){let s=this.resolveCreatedAtMs(e);if(s!==null&&Date.now()-s>6e4){let a=`${n}.lock`;try{let c=Kr(a,()=>{let u=JSON.parse(Ie(n,"utf-8"));if(u.state!=="queued")return null;let l={...u,state:"error",completedAt:new Date().toISOString()};return Re(n,l),l});if(c)return oe(Q(this.jobsDir,e,"error.txt"),"Job stalled in queued state (worker failed to start)"),this.statusCache.set(e,c),c}catch{}}}return this.statusCache.set(e,o),cu.includes(o.state)&&!o.savedDocumentId&&!o.saveError&&this.completionHandler&&this.maybeTriggerCompletionSave(e).catch(()=>{}),o}getResult(e){if(!fr(e))return null;let r=this.getStatus(e);if(!r)return null;let n=Q(this.jobsDir,e),o={id:e,state:r.state,exitCode:r.exitCode,savedDocumentId:r.savedDocumentId,saveError:r.saveError},s=Q(n,"output.txt");Ze(s)&&(o.output=Ie(s,"utf-8"));let i=Q(n,"error.txt");return Ze(i)&&(o.error=Ie(i,"utf-8")),o}async getResultAwaited(e){return fr(e)?(await this.maybeTriggerCompletionSave(e),this.getResult(e)):null}async invokeHandlerWithRetry(e,r){let n=[200,600],o;for(let s=0;s<n.length+1;s++){if(!Ze(Q(r,"status.json")))throw o||new Error("job directory removed during completion save");try{return await e()}catch(i){if(o=i,s>=n.length)break;await new Promise(a=>setTimeout(a,n[s]))}}throw o}async maybeTriggerCompletionSave(e){if(!this.completionHandler||!fr(e))return;let r=Q(this.jobsDir,e);if(!Ze(Q(r,"status.json")))return;let n=this.saveInFlight.get(e);if(n)return n;let o=this.runCompletionSave(e).finally(()=>{this.saveInFlight.delete(e)});return this.saveInFlight.set(e,o),o}async runCompletionSave(e){if(!this.completionHandler||!fr(e))return;let r=Q(this.jobsDir,e),n=Q(r,"status.json"),o=Q(r,"job.json");if(!Ze(n)||!Ze(o))return;let s=JSON.parse(Ie(n,"utf-8"));if(!cu.includes(s.state)||s.savedDocumentId||s.saveError)return;let i=JSON.parse(Ie(o,"utf-8"));if(!i.saveAsDocument)return;let a={id:e,state:s.state,exitCode:s.exitCode},c=Q(r,"output.txt");Ze(c)&&(a.output=Ie(c,"utf-8"));let u=Q(r,"error.txt");Ze(u)&&(a.error=Ie(u,"utf-8"));try{let l=await this.invokeHandlerWithRetry(()=>this.completionHandler({jobId:e,descriptor:i,result:a,saveAsDocument:i.saveAsDocument}),r);if(l){let d={savedDocumentId:l.documentId};Mt(r,d),this.statusCache.set(e,{...s,...d})}else{let d={saveError:`skipped (state=${s.state})`};Mt(r,d),this.statusCache.set(e,{...s,...d})}}catch(l){let p={saveError:l instanceof Error?l.message:String(l)};try{Mt(r,p),this.statusCache.set(e,{...s,...p})}catch{}}}listJobs(){if(!Ze(this.jobsDir))return[];let e;try{e=Do(this.jobsDir,{withFileTypes:!0}).filter(n=>n.isDirectory())}catch{return[]}let r=[];for(let n of e)try{let o=Q(this.jobsDir,n.name,"status.json");Ze(o)&&r.push(JSON.parse(Ie(o,"utf-8")))}catch{}return r}cancel(e){if(!fr(e))return!1;let r=this.getStatus(e);if(!r||r.state!=="queued"&&r.state!=="running")return!1;r.pid&&xn(r.pid);let n=Q(this.jobsDir,e),o=Q(n,"status.json"),s=`${o}.lock`;try{let i=Kr(s,()=>{let a=JSON.parse(Ie(o,"utf-8"));if(a.state!=="queued"&&a.state!=="running")return null;let c={...a,state:"cancelled",completedAt:new Date().toISOString()};return Re(o,c),c});i&&this.statusCache.set(e,i)}catch{}return this.clearDeferredSaveTimer(e),!0}clearDeferredSaveTimer(e){let r=this.deferredSaveTimers.get(e);r&&(clearTimeout(r),this.deferredSaveTimers.delete(e))}shutdown(){for(let e of this.deferredSaveTimers.values())clearTimeout(e);this.deferredSaveTimers.clear()}cleanup(){if(!Ze(this.jobsDir))return 0;let e;try{e=Do(this.jobsDir,{withFileTypes:!0}).filter(u=>u.isDirectory())}catch{return 0}let r=[];for(let u of e)try{let l=Q(this.jobsDir,u.name,"status.json"),d=Q(this.jobsDir,u.name,"job.json");if(!Ze(l))continue;let p=JSON.parse(Ie(l,"utf-8")),f=null;try{f=JSON.parse(Ie(d,"utf-8"))}catch{}r.push({name:u.name,status:p,descriptor:f})}catch{}let n=["completed","error","timed_out","cancelled","missing_cli"],o=r.filter(u=>n.includes(u.status.state)).sort((u,l)=>{let d=u.descriptor?.createdAt??"",p=l.descriptor?.createdAt??"";return d.localeCompare(p)}),s=0,i=Date.now(),a=this.maxAgeDays*24*60*60*1e3,c=r.length;for(let u of o){let d=(u.descriptor?.createdAt?i-new Date(u.descriptor.createdAt).getTime():1/0)>a,p=c-s>this.maxJobs;if(!d&&!p)continue;let f=Q(this.jobsDir,u.name);try{let m=Do(f);for(let g of m)$0(Q(f,g));k0(f),this.statusCache.delete(u.name),this.clearDeferredSaveTimer(u.name),s++}catch{}}return s}spawnWorker(e){let r=new URL("./job-worker.js",import.meta.url).pathname;if(Ze(r)){let n=mm(process.execPath,[r,e],{detached:!0,stdio:"ignore",cwd:this.workspaceDir}),o=typeof n.pid=="number"&&n.pid>0;if(o)try{Mt(e,{pid:n.pid})}catch{}n.on("error",s=>{if(o)return;s.code==="ENOENT"?this.runInProcess(e):this.runInProcess(e)}),n.unref()}else this.runInProcess(e)}runInProcess(e){Promise.resolve().then(()=>(pm(),dm)).then(({resolveCliConfig:r})=>{let n;try{n=JSON.parse(Ie(Q(e,"job.json"),"utf-8"))}catch{return}let o=r(n);if(!o){Mt(e,{state:"missing_cli",completedAt:new Date().toISOString()}),oe(Q(e,"error.txt"),`No CLI mapping for provider: ${n.provider}`);return}let{command:s,buildArgs:i}=o,a=Ie(Q(e,"prompt.txt"),"utf-8"),c=i(a);Mt(e,{state:"running",startedAt:new Date().toISOString()});let u=Ht(s,c),l=mm(u.command,u.args,{cwd:n.cwd||void 0,stdio:["ignore","pipe","pipe"],windowsHide:!0});if(typeof l.pid=="number"&&l.pid>0)try{Mt(e,{pid:l.pid})}catch{}if(!l.stdout||!l.stderr){try{l.kill()}catch{}oe(Q(e,"error.txt"),"Worker stdout/stderr streams unavailable (pipe allocation failed)"),Mt(e,{state:"error",completedAt:new Date().toISOString()});return}let d="",p="",f=0,m=0,g=!1,y=!1;l.stdout.on("data",b=>{f+=b.length,f<=10485760?d+=b.toString():g||(g=!0,Ct(l))}),l.stderr.on("data",b=>{m+=b.length,m<=10485760&&(p+=b.toString())});let v=(b,P)=>{if(!y){y=!0,clearTimeout(x);try{oe(Q(e,"output.txt"),d),P!==void 0?oe(Q(e,"error.txt"),P):oe(Q(e,"error.txt"),p),Mt(e,b)}catch{}}},x=setTimeout(()=>{y||(Ct(l),v({state:"timed_out",completedAt:new Date().toISOString()}))},n.timeout);l.on("close",b=>{if(y)return;let P=d.trim().length>0;v({state:b===0||P?"completed":"error",exitCode:b??1,completedAt:new Date().toISOString()})}),l.on("error",b=>{if(y)return;let P=b.code==="ENOENT"?"missing_cli":"error";v({state:P,completedAt:new Date().toISOString()},b.message)})}).catch(()=>{try{Mt(e,{state:"error",completedAt:new Date().toISOString()}),oe(Q(e,"error.txt"),"Failed to load job worker module")}catch{}})}};pi();Wt();import{mkdirSync as E0,readdirSync as hm,readFileSync as R0,unlinkSync as I0}from"fs";import{join as zo}from"path";function gm(t){let e=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}-${r}-${n}`}function A0(t){return typeof t=="object"&&t!==null&&"traceId"in t&&"action"in t&&!("type"in t&&t.type==="quality_update")}function C0(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="quality_update"}var hi=class{tracesDir;writer;constructor(e,r){this.tracesDir=zo(e,Sf),E0(this.tracesDir,{recursive:!0}),this.writer=new li(r)}write(e){let r={...e,timestamp:e.timestamp??new Date().toISOString()},n=gm(new Date(r.timestamp)),o=zo(this.tracesDir,`${n}.jsonl`);this.writer.append(o,JSON.stringify(r)+`
|
|
13
|
-
`,"trace")}query(e={}){let r=this.listFiles(e.daysBack),n=[],o=[];for(let i of r){let a=R0(i,"utf-8").split(`
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
`),r=[];for(let n=0;n<e.length;n++){let o=e[n];for(let s of vm){let i=s.regex.exec(o);if(!i)continue;let a=i[0];if(!_m.some(u=>u.test(a))){r.push({type:s.type,pattern:s.description,line:n+1,excerpt:o.length>80?o.slice(0,80)+"...":o});break}}}return{clean:r.length===0,findings:r}}function uu(t){if(t.length===0)return t;let e=t.split(`
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
`))i.startsWith("worktree ")?n=i.slice(9):i.startsWith("branch refs/heads/")?o=i.slice(18):i===""&&s();return n&&s(),r}cleanOrphans(){let e=this.listOrphans(),r=0;for(let n of e)this.forceRemoveWorktree(n.path),this.gitSafe(["branch","-D",n.branch]),r++;return r}forceRemoveWorktree(e){this.gitSafe(["worktree","remove",e])===null&&this.gitSafe(["worktree","remove","--force",e])===null&&(wm(e)&&M0(e,{recursive:!0,force:!0}),this.gitSafe(["worktree","prune"]))}git(e){return O0("git",e,{cwd:this.baseDir,encoding:"utf-8",stdio:"pipe",timeout:3e4}).trim()}gitSafe(e){try{return this.git(e)}catch{return null}}};var j0=["npm","node","git","tsc"];function Sm(t){return{task:t.taskDescription,files:{readonly:t.filesToRead??[],readwrite:t.filesToModify??[]},constraints:t.constraints,success_criteria:t.successCriteria??[],permissions:{sandbox_root:t.workingDir,allowed_commands:[...j0]},timeout_minutes:t.timeoutMinutes??10}}function $m(t){let e=[];return(!t.task||t.task.trim().length===0)&&e.push("task must not be empty"),(!t.permissions.sandbox_root||t.permissions.sandbox_root.trim().length===0)&&e.push("permissions.sandbox_root must not be empty"),t.timeout_minutes<=0&&e.push("timeout_minutes must be positive"),{valid:e.length===0,errors:e}}var ke;(function(t){t.SPAWNING="SPAWNING",t.RUNNING="RUNNING",t.COLLECTING="COLLECTING",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.CANCELLING="CANCELLING",t.CANCELLED="CANCELLED",t.TIMEOUT="TIMEOUT"})(ke||(ke={}));var vi=10,lu=2e4;import{spawn as V0}from"child_process";import{writeFileSync as pu,mkdirSync as B0,readFileSync as Em,existsSync as Rm}from"fs";import{isAbsolute as Im,join as Oo,resolve as Am}from"path";import{randomBytes as W0}from"crypto";import{execFileSync as H0}from"child_process";Wt();$n();ko();Co();Co();import{readFileSync as km}from"fs";var du=class{builders=new Map;register(e,r){this.builders.set(e,r)}has(e){return this.builders.has(e)}build(e,r,n,o){let s=this.builders.get(e);if(!s){let i=[...this.builders.keys()];throw new Error(`No CLI launch builder registered for provider "${e}". Known: [${i.join(", ")}]`)}return s(r,n,o)}knownProviders(){return[...this.builders.keys()]}};function L0(t,e,r){let n=Pm(t,e,r);return{command:"codex",args:["exec","--skip-git-repo-check","--full-auto","--ephemeral","-C",e,"-"],stdin:n}}function F0(t,e,r){return{command:"gemini",args:["--approval-mode","yolo","-p",Pm(t,e,r)]}}function Pm(t,e,r){let n=km(t,"utf-8"),o=Z0(r,e);return["You are an autonomous coding worker operating in the current workspace.","Execute the task manifest below without asking for confirmation.","Stay within the workspace, respect read-only vs read-write boundaries, and summarize changes plus verification at the end.","",n,o].join(`
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
deps: ${r}}`};var Oq={keyword:"dependencies",type:"object",schemaType:"object",error:wr.error,code(t){let[e,r]=zq(t);P0(t,e),E0(t,r)}};function zq({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function P0(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,ga.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,ga.checkReportMissingProp)(t,u)}):(r.if((0,qm._)`${c} && (${(0,ga.checkMissingProp)(t,a,s)})`),(0,ga.reportMissingProp)(t,s),r.else())}}wr.validatePropertyDeps=P0;function E0(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,Dq.alwaysValidSchema)(s,e[a])||(r.if((0,ga.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}wr.validateSchemaDeps=E0;wr.default=Oq});var I0=$(Fm=>{"use strict";Object.defineProperty(Fm,"__esModule",{value:!0});var R0=te(),Nq=le(),jq={message:"property name must be valid",params:({params:t})=>(0,R0._)`{propertyName: ${t.propertyName}}`},Mq={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:jq,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,Nq.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,R0.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Fm.default=Mq});var Zm=$(Um=>{"use strict";Object.defineProperty(Um,"__esModule",{value:!0});var Ku=Zt(),nr=te(),Lq=qr(),Ju=le(),qq={message:"must NOT have additional properties",params:({params:t})=>(0,nr._)`{additionalProperty: ${t.additionalProperty}}`},Fq={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:qq,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Ju.alwaysValidSchema)(i,r))return;let u=(0,Ku.allSchemaProperties)(n.properties),l=(0,Ku.allSchemaProperties)(n.patternProperties);d(),t.ok((0,nr._)`${s} === ${Lq.default.errors}`);function d(){e.forIn("key",o,y=>{!u.length&&!l.length?m(y):e.if(p(y),()=>m(y))})}function p(y){let v;if(u.length>8){let b=(0,Ju.schemaRefOrVal)(i,n.properties,"properties");v=(0,Ku.isOwnProperty)(e,b,y)}else u.length?v=(0,nr.or)(...u.map(b=>(0,nr._)`${y} === ${b}`)):v=nr.nil;return l.length&&(v=(0,nr.or)(v,...l.map(b=>(0,nr._)`${(0,Ku.usePattern)(t,b)}.test(${y})`))),(0,nr.not)(v)}function f(y){e.code((0,nr._)`delete ${o}[${y}]`)}function m(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(y);return}if(r===!1){t.setParams({additionalProperty:y}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Ju.alwaysValidSchema)(i,r)){let v=e.name("valid");c.removeAdditional==="failing"?(h(y,v,!1),e.if((0,nr.not)(v),()=>{t.reset(),f(y)})):(h(y,v),a||e.if((0,nr.not)(v),()=>e.break()))}}function h(y,v,b){let _={keyword:"additionalProperties",dataProp:y,dataPropType:Ju.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(_,v)}}};Um.default=Fq});var D0=$(Bm=>{"use strict";Object.defineProperty(Bm,"__esModule",{value:!0});var Uq=ra(),A0=Zt(),Vm=le(),C0=Zm(),Zq={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&C0.default.code(new Uq.KeywordCxt(s,C0.default,"additionalProperties"));let i=(0,A0.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Vm.mergeEvaluated.props(e,(0,Vm.toHash)(i),s.props));let a=i.filter(d=>!(0,Vm.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,A0.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Bm.default=Zq});var j0=$(Wm=>{"use strict";Object.defineProperty(Wm,"__esModule",{value:!0});var O0=Zt(),Gu=te(),z0=le(),N0=le(),Vq={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,O0.allSchemaProperties)(r),c=a.filter(h=>(0,z0.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Gu.Name)&&(s.props=(0,N0.evaluatedPropsToName)(e,s.props));let{props:d}=s;p();function p(){for(let h of a)u&&f(h),s.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function f(h){for(let y in u)new RegExp(h).test(y)&&(0,z0.checkStrictMode)(s,`property ${y} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,y=>{e.if((0,Gu._)`${(0,O0.usePattern)(t,h)}.test(${y})`,()=>{let v=c.includes(h);v||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:y,dataPropType:N0.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Gu._)`${d}[${y}]`,!0):!v&&!s.allErrors&&e.if((0,Gu.not)(l),()=>e.break())})})}}};Wm.default=Vq});var M0=$(Hm=>{"use strict";Object.defineProperty(Hm,"__esModule",{value:!0});var Bq=le(),Wq={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Bq.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Hm.default=Wq});var L0=$(Km=>{"use strict";Object.defineProperty(Km,"__esModule",{value:!0});var Hq=Zt(),Kq={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Hq.validateUnion,error:{message:"must match a schema in anyOf"}};Km.default=Kq});var q0=$(Jm=>{"use strict";Object.defineProperty(Jm,"__esModule",{value:!0});var Yu=te(),Jq=le(),Gq={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Yu._)`{passingSchemas: ${t.passing}}`},Yq={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Gq,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let p;(0,Jq.alwaysValidSchema)(o,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Yu._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Yu._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,Yu.Name)})})}}};Jm.default=Yq});var F0=$(Gm=>{"use strict";Object.defineProperty(Gm,"__esModule",{value:!0});var Qq=le(),Xq={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,Qq.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Gm.default=Xq});var V0=$(Ym=>{"use strict";Object.defineProperty(Ym,"__esModule",{value:!0});var Qu=te(),Z0=le(),eF={message:({params:t})=>(0,Qu.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Qu._)`{failingKeyword: ${t.ifClause}}`},tF={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:eF,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Z0.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=U0(n,"then"),s=U0(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,Qu.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(p,i),d?e.assign(d,(0,Qu._)`${l}`):t.setParams({ifClause:l})}}}};function U0(t,e){let r=t.schema[e];return r!==void 0&&!(0,Z0.alwaysValidSchema)(t,r)}Ym.default=tF});var B0=$(Qm=>{"use strict";Object.defineProperty(Qm,"__esModule",{value:!0});var rF=le(),nF={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,rF.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Qm.default=nF});var W0=$(Xm=>{"use strict";Object.defineProperty(Xm,"__esModule",{value:!0});var oF=zm(),sF=$0(),iF=Nm(),aF=x0(),cF=k0(),uF=T0(),lF=I0(),dF=Zm(),pF=D0(),fF=j0(),mF=M0(),hF=L0(),gF=q0(),yF=F0(),vF=V0(),_F=B0();function bF(t=!1){let e=[mF.default,hF.default,gF.default,yF.default,vF.default,_F.default,lF.default,dF.default,uF.default,pF.default,fF.default];return t?e.push(sF.default,aF.default):e.push(oF.default,iF.default),e.push(cF.default),e}Xm.default=bF});var H0=$(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});var Ue=te(),wF={message:({schemaCode:t})=>(0,Ue.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ue._)`{format: ${t}}`},$F={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:wF,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?p():f();function p(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,Ue._)`${m}[${i}]`),y=r.let("fType"),v=r.let("format");r.if((0,Ue._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(y,(0,Ue._)`${h}.type || "string"`).assign(v,(0,Ue._)`${h}.validate`),()=>r.assign(y,(0,Ue._)`"string"`).assign(v,h)),t.fail$data((0,Ue.or)(b(),_()));function b(){return c.strictSchema===!1?Ue.nil:(0,Ue._)`${i} && !${v}`}function _(){let k=l.$async?(0,Ue._)`(${h}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,Ue._)`${v}(${n})`,x=(0,Ue._)`(typeof ${v} == "function" ? ${k} : ${v}.test(${n}))`;return(0,Ue._)`${v} && ${v} !== true && ${y} === ${e} && !${x}`}}function f(){let m=d.formats[s];if(!m){b();return}if(m===!0)return;let[h,y,v]=_(m);h===e&&t.pass(k());function b(){if(c.strictSchema===!1){d.logger.warn(x());return}throw new Error(x());function x(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function _(x){let L=x instanceof RegExp?(0,Ue.regexpCode)(x):c.code.formats?(0,Ue._)`${c.code.formats}${(0,Ue.getProperty)(s)}`:void 0,P=r.scopeValue("formats",{key:s,ref:x,code:L});return typeof x=="object"&&!(x instanceof RegExp)?[x.type||"string",x.validate,(0,Ue._)`${P}.validate`]:["string",x,P]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ue._)`await ${v}(${n})`}return typeof y=="function"?(0,Ue._)`${v}(${n})`:(0,Ue._)`${v}.test(${n})`}}}};eh.default=$F});var K0=$(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});var SF=H0(),xF=[SF.default];th.default=xF});var J0=$(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.contentVocabulary=hs.metadataVocabulary=void 0;hs.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];hs.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Y0=$(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});var kF=o0(),PF=v0(),EF=W0(),TF=K0(),G0=J0(),RF=[kF.default,PF.default,(0,EF.default)(),TF.default,G0.metadataVocabulary,G0.contentVocabulary];rh.default=RF});var X0=$(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.DiscrError=void 0;var Q0;(function(t){t.Tag="tag",t.Mapping="mapping"})(Q0||(Xu.DiscrError=Q0={}))});var tk=$(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});var gs=te(),nh=X0(),ek=zu(),IF=na(),AF=le(),CF={message:({params:{discrError:t,tagName:e}})=>t===nh.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,gs._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},DF={keyword:"discriminator",type:"object",schemaType:"object",error:CF,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,gs._)`${r}${(0,gs.getProperty)(a)}`);e.if((0,gs._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:nh.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let f=p();e.if(!1);for(let m in f)e.elseIf((0,gs._)`${u} === ${m}`),e.assign(c,d(f[m]));e.else(),t.error(!1,{discrError:nh.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(f){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:f},m);return t.mergeEvaluated(h,gs.Name),m}function p(){var f;let m={},h=v(o),y=!0;for(let k=0;k<i.length;k++){let x=i[k];if(x?.$ref&&!(0,AF.schemaHasRulesButRef)(x,s.self.RULES)){let P=x.$ref;if(x=ek.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,P),x instanceof ek.SchemaEnv&&(x=x.schema),x===void 0)throw new IF.default(s.opts.uriResolver,s.baseId,P)}let L=(f=x?.properties)===null||f===void 0?void 0:f[a];if(typeof L!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(h||v(x)),b(L,k)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return m;function v({required:k}){return Array.isArray(k)&&k.includes(a)}function b(k,x){if(k.const)_(k.const,x);else if(k.enum)for(let L of k.enum)_(L,x);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function _(k,x){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${a}" values must be unique strings`);m[k]=x}}}};oh.default=DF});var rk=$((v7,OF)=>{OF.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 ok=$((Ie,sh)=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.MissingRefError=Ie.ValidationError=Ie.CodeGen=Ie.Name=Ie.nil=Ie.stringify=Ie.str=Ie._=Ie.KeywordCxt=Ie.Ajv=void 0;var zF=Qx(),NF=Y0(),jF=tk(),nk=rk(),MF=["/properties"],el="http://json-schema.org/draft-07/schema",ys=class extends zF.default{_addVocabularies(){super._addVocabularies(),NF.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(jF.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(nk,MF):nk;this.addMetaSchema(e,el,!1),this.refs["http://json-schema.org/schema"]=el}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(el)?el:void 0)}};Ie.Ajv=ys;sh.exports=Ie=ys;sh.exports.Ajv=ys;Object.defineProperty(Ie,"__esModule",{value:!0});Ie.default=ys;var LF=ra();Object.defineProperty(Ie,"KeywordCxt",{enumerable:!0,get:function(){return LF.KeywordCxt}});var vs=te();Object.defineProperty(Ie,"_",{enumerable:!0,get:function(){return vs._}});Object.defineProperty(Ie,"str",{enumerable:!0,get:function(){return vs.str}});Object.defineProperty(Ie,"stringify",{enumerable:!0,get:function(){return vs.stringify}});Object.defineProperty(Ie,"nil",{enumerable:!0,get:function(){return vs.nil}});Object.defineProperty(Ie,"Name",{enumerable:!0,get:function(){return vs.Name}});Object.defineProperty(Ie,"CodeGen",{enumerable:!0,get:function(){return vs.CodeGen}});var qF=Du();Object.defineProperty(Ie,"ValidationError",{enumerable:!0,get:function(){return qF.default}});var FF=na();Object.defineProperty(Ie,"MissingRefError",{enumerable:!0,get:function(){return FF.default}})});var pk=$(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.formatNames=Sr.fastFormats=Sr.fullFormats=void 0;function $r(t,e){return{validate:t,compare:e}}Sr.fullFormats={date:$r(ck,uh),time:$r(ah(!0),lh),"date-time":$r(sk(!0),lk),"iso-time":$r(ah(),uk),"iso-date-time":$r(sk(),dk),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:HF,"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:eU,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:KF,int32:{type:"number",validate:YF},int64:{type:"number",validate:QF},float:{type:"number",validate:ak},double:{type:"number",validate:ak},password:!0,binary:!0};Sr.fastFormats={...Sr.fullFormats,date:$r(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,uh),time:$r(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,lh),"date-time":$r(/^\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,lk),"iso-time":$r(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,uk),"iso-date-time":$r(/^\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,dk),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};Sr.formatNames=Object.keys(Sr.fullFormats);function UF(t){return t%4===0&&(t%100!==0||t%400===0)}var ZF=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,VF=[0,31,28,31,30,31,30,31,31,30,31,30,31];function ck(t){let e=ZF.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&UF(r)?29:VF[n])}function uh(t,e){if(t&&e)return t>e?1:t<e?-1:0}var ih=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function ah(t){return function(r){let n=ih.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,p=o-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&i<61}}function lh(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function uk(t,e){if(!(t&&e))return;let r=ih.exec(t),n=ih.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var ch=/t|\s/i;function sk(t){let e=ah(t);return function(n){let o=n.split(ch);return o.length===2&&ck(o[0])&&e(o[1])}}function lk(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function dk(t,e){if(!(t&&e))return;let[r,n]=t.split(ch),[o,s]=e.split(ch),i=uh(r,o);if(i!==void 0)return i||lh(n,s)}var BF=/\/|:/,WF=/^(?:[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 HF(t){return BF.test(t)&&WF.test(t)}var ik=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function KF(t){return ik.lastIndex=0,ik.test(t)}var JF=-(2**31),GF=2**31-1;function YF(t){return Number.isInteger(t)&&t<=GF&&t>=JF}function QF(t){return Number.isInteger(t)}function ak(){return!0}var XF=/[^\\]\\Z/;function eU(t){if(XF.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var _a=$(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.regexpCode=he.getEsmExportName=he.getProperty=he.safeStringify=he.stringify=he.strConcat=he.addCodeArg=he.str=he._=he.nil=he._Code=he.Name=he.IDENTIFIER=he._CodeOrName=void 0;var ya=class{};he._CodeOrName=ya;he.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var uo=class extends ya{constructor(e){if(super(),!he.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};he.Name=uo;var Wt=class extends ya{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof uo&&(r[n.str]=(r[n.str]||0)+1),r),{})}};he._Code=Wt;he.nil=new Wt("");function fk(t,...e){let r=[t[0]],n=0;for(;n<e.length;)ph(r,e[n]),r.push(t[++n]);return new Wt(r)}he._=fk;var dh=new Wt("+");function mk(t,...e){let r=[va(t[0])],n=0;for(;n<e.length;)r.push(dh),ph(r,e[n]),r.push(dh,va(t[++n]));return tU(r),new Wt(r)}he.str=mk;function ph(t,e){e instanceof Wt?t.push(...e._items):e instanceof uo?t.push(e):t.push(oU(e))}he.addCodeArg=ph;function tU(t){let e=1;for(;e<t.length-1;){if(t[e]===dh){let r=rU(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function rU(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof uo||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof uo))return`"${t}${e.slice(1)}`}function nU(t,e){return e.emptyStr()?t:t.emptyStr()?e:mk`${t}${e}`}he.strConcat=nU;function oU(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:va(Array.isArray(t)?t.join(","):t)}function sU(t){return new Wt(va(t))}he.stringify=sU;function va(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}he.safeStringify=va;function iU(t){return typeof t=="string"&&he.IDENTIFIER.test(t)?new Wt(`.${t}`):fk`[${t}]`}he.getProperty=iU;function aU(t){if(typeof t=="string"&&he.IDENTIFIER.test(t))return new Wt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}he.getEsmExportName=aU;function cU(t){return new Wt(t.toString())}he.regexpCode=cU});var hh=$(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.ValueScope=Et.ValueScopeName=Et.Scope=Et.varKinds=Et.UsedValueState=void 0;var Pt=_a(),fh=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},tl;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(tl||(Et.UsedValueState=tl={}));Et.varKinds={const:new Pt.Name("const"),let:new Pt.Name("let"),var:new Pt.Name("var")};var rl=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Pt.Name?e:this.name(e)}name(e){return new Pt.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Et.Scope=rl;var nl=class extends Pt.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Pt._)`.${new Pt.Name(r)}[${n}]`}};Et.ValueScopeName=nl;var uU=(0,Pt._)`\n`,mh=class extends rl{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?uU:Pt.nil}}get(){return this._scope}name(e){return new nl(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Pt._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=Pt.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,tl.Started);let l=r(u);if(l){let d=this.opts.es5?Et.varKinds.var:Et.varKinds.const;s=(0,Pt._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Pt._)`${s}${l}${this.opts._n}`;else throw new fh(u);c.set(u,tl.Completed)})}return s}};Et.ValueScope=mh});var Q=$(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.or=ee.and=ee.not=ee.CodeGen=ee.operators=ee.varKinds=ee.ValueScopeName=ee.ValueScope=ee.Scope=ee.Name=ee.regexpCode=ee.stringify=ee.getProperty=ee.nil=ee.strConcat=ee.str=ee._=void 0;var ue=_a(),or=hh(),hn=_a();Object.defineProperty(ee,"_",{enumerable:!0,get:function(){return hn._}});Object.defineProperty(ee,"str",{enumerable:!0,get:function(){return hn.str}});Object.defineProperty(ee,"strConcat",{enumerable:!0,get:function(){return hn.strConcat}});Object.defineProperty(ee,"nil",{enumerable:!0,get:function(){return hn.nil}});Object.defineProperty(ee,"getProperty",{enumerable:!0,get:function(){return hn.getProperty}});Object.defineProperty(ee,"stringify",{enumerable:!0,get:function(){return hn.stringify}});Object.defineProperty(ee,"regexpCode",{enumerable:!0,get:function(){return hn.regexpCode}});Object.defineProperty(ee,"Name",{enumerable:!0,get:function(){return hn.Name}});var al=hh();Object.defineProperty(ee,"Scope",{enumerable:!0,get:function(){return al.Scope}});Object.defineProperty(ee,"ValueScope",{enumerable:!0,get:function(){return al.ValueScope}});Object.defineProperty(ee,"ValueScopeName",{enumerable:!0,get:function(){return al.ValueScopeName}});Object.defineProperty(ee,"varKinds",{enumerable:!0,get:function(){return al.varKinds}});ee.operators={GT:new ue._Code(">"),GTE:new ue._Code(">="),LT:new ue._Code("<"),LTE:new ue._Code("<="),EQ:new ue._Code("==="),NEQ:new ue._Code("!=="),NOT:new ue._Code("!"),OR:new ue._Code("||"),AND:new ue._Code("&&"),ADD:new ue._Code("+")};var Zr=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},gh=class extends Zr{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?or.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=bs(this.rhs,e,r)),this}get names(){return this.rhs instanceof ue._CodeOrName?this.rhs.names:{}}},ol=class extends Zr{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof ue.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=bs(this.rhs,e,r),this}get names(){let e=this.lhs instanceof ue.Name?{}:{...this.lhs.names};return il(e,this.rhs)}},yh=class extends ol{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},vh=class extends Zr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},_h=class extends Zr{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},bh=class extends Zr{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},wh=class extends Zr{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=bs(this.code,e,r),this}get names(){return this.code instanceof ue._CodeOrName?this.code.names:{}}},ba=class extends Zr{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(lU(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>fo(e,r.names),{})}},Vr=class extends ba{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},$h=class extends ba{},_s=class extends Vr{};_s.kind="else";var lo=class t extends Vr{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new _s(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(hk(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=bs(this.condition,e,r),this}get names(){let e=super.names;return il(e,this.condition),this.else&&fo(e,this.else.names),e}};lo.kind="if";var po=class extends Vr{};po.kind="for";var Sh=class extends po{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=bs(this.iteration,e,r),this}get names(){return fo(super.names,this.iteration.names)}},xh=class extends po{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?or.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=il(super.names,this.from);return il(e,this.to)}},sl=class extends po{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=bs(this.iterable,e,r),this}get names(){return fo(super.names,this.iterable.names)}},wa=class extends Vr{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};wa.kind="func";var $a=class extends ba{render(e){return"return "+super.render(e)}};$a.kind="return";var kh=class extends Vr{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&fo(e,this.catch.names),this.finally&&fo(e,this.finally.names),e}},Sa=class extends Vr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Sa.kind="catch";var xa=class extends Vr{render(e){return"finally"+super.render(e)}};xa.kind="finally";var Ph=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
13
|
+
`:""},this._extScope=e,this._scope=new or.Scope({parent:e}),this._nodes=[new $h]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new gh(e,s,n)),s}const(e,r,n){return this._def(or.varKinds.const,e,r,n)}let(e,r,n){return this._def(or.varKinds.let,e,r,n)}var(e,r,n){return this._def(or.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new ol(e,r,n))}add(e,r){return this._leafNode(new yh(e,ee.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==ue.nil&&this._leafNode(new wh(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,ue.addCodeArg)(r,o));return r.push("}"),new ue._Code(r)}if(e,r,n){if(this._blockNode(new lo(e)),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(e){return this._elseNode(new lo(e))}else(){return this._elseNode(new _s)}endIf(){return this._endBlockNode(lo,_s)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Sh(e),r)}forRange(e,r,n,o,s=this.opts.es5?or.varKinds.var:or.varKinds.let){let i=this._scope.toName(e);return this._for(new xh(s,i,r,n),()=>o(i))}forOf(e,r,n,o=or.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof ue.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,ue._)`${i}.length`,a=>{this.var(s,(0,ue._)`${i}[${a}]`),n(s)})}return this._for(new sl("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?or.varKinds.var:or.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,ue._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new sl("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(po)}label(e){return this._leafNode(new vh(e))}break(e){return this._leafNode(new _h(e))}return(e){let r=new $a;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode($a)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new kh;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Sa(s),r(s)}return n&&(this._currNode=o.finally=new xa,this.code(n)),this._endBlockNode(Sa,xa)}throw(e){return this._leafNode(new bh(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){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||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=ue.nil,n,o){return this._blockNode(new wa(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(wa)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof lo))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};ee.CodeGen=Ph;function fo(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function il(t,e){return e instanceof ue._CodeOrName?fo(t,e.names):t}function bs(t,e,r){if(t instanceof ue.Name)return n(t);if(!o(t))return t;return new ue._Code(t._items.reduce((s,i)=>(i instanceof ue.Name&&(i=n(i)),i instanceof ue._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof ue._Code&&s._items.some(i=>i instanceof ue.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function lU(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function hk(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,ue._)`!${Eh(t)}`}ee.not=hk;var dU=gk(ee.operators.AND);function pU(...t){return t.reduce(dU)}ee.and=pU;var fU=gk(ee.operators.OR);function mU(...t){return t.reduce(fU)}ee.or=mU;function gk(t){return(e,r)=>e===ue.nil?r:r===ue.nil?e:(0,ue._)`${Eh(e)} ${t} ${Eh(r)}`}function Eh(t){return t instanceof ue.Name?t:(0,ue._)`(${t})`}});var pe=$(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.checkStrictMode=ne.getErrorPath=ne.Type=ne.useFunc=ne.setEvaluated=ne.evaluatedPropsToName=ne.mergeEvaluated=ne.eachItem=ne.unescapeJsonPointer=ne.escapeJsonPointer=ne.escapeFragment=ne.unescapeFragment=ne.schemaRefOrVal=ne.schemaHasRulesButRef=ne.schemaHasRules=ne.checkUnknownRules=ne.alwaysValidSchema=ne.toHash=void 0;var $e=Q(),hU=_a();function gU(t){let e={};for(let r of t)e[r]=!0;return e}ne.toHash=gU;function yU(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(_k(t,e),!bk(e,t.self.RULES.all))}ne.alwaysValidSchema=yU;function _k(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Sk(t,`unknown keyword: "${s}"`)}ne.checkUnknownRules=_k;function bk(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}ne.schemaHasRules=bk;function vU(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}ne.schemaHasRulesButRef=vU;function _U({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,$e._)`${r}`}return(0,$e._)`${t}${e}${(0,$e.getProperty)(n)}`}ne.schemaRefOrVal=_U;function bU(t){return wk(decodeURIComponent(t))}ne.unescapeFragment=bU;function wU(t){return encodeURIComponent(Rh(t))}ne.escapeFragment=wU;function Rh(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}ne.escapeJsonPointer=Rh;function wk(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}ne.unescapeJsonPointer=wk;function $U(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}ne.eachItem=$U;function yk({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof $e.Name?(s instanceof $e.Name?t(o,s,i):e(o,s,i),i):s instanceof $e.Name?(e(o,i,s),s):r(s,i);return a===$e.Name&&!(c instanceof $e.Name)?n(o,c):c}}ne.mergeEvaluated={props:yk({mergeNames:(t,e,r)=>t.if((0,$e._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,$e._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,$e._)`${r} || {}`).code((0,$e._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,$e._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,$e._)`${r} || {}`),Ih(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:$k}),items:yk({mergeNames:(t,e,r)=>t.if((0,$e._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,$e._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,$e._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,$e._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function $k(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,$e._)`{}`);return e!==void 0&&Ih(t,r,e),r}ne.evaluatedPropsToName=$k;function Ih(t,e,r){Object.keys(r).forEach(n=>t.assign((0,$e._)`${e}${(0,$e.getProperty)(n)}`,!0))}ne.setEvaluated=Ih;var vk={};function SU(t,e){return t.scopeValue("func",{ref:e,code:vk[e.code]||(vk[e.code]=new hU._Code(e.code))})}ne.useFunc=SU;var Th;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Th||(ne.Type=Th={}));function xU(t,e,r){if(t instanceof $e.Name){let n=e===Th.Num;return r?n?(0,$e._)`"[" + ${t} + "]"`:(0,$e._)`"['" + ${t} + "']"`:n?(0,$e._)`"/" + ${t}`:(0,$e._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,$e.getProperty)(t).toString():"/"+Rh(t)}ne.getErrorPath=xU;function Sk(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}ne.checkStrictMode=Sk});var Br=$(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0});var at=Q(),kU={data:new at.Name("data"),valCxt:new at.Name("valCxt"),instancePath:new at.Name("instancePath"),parentData:new at.Name("parentData"),parentDataProperty:new at.Name("parentDataProperty"),rootData:new at.Name("rootData"),dynamicAnchors:new at.Name("dynamicAnchors"),vErrors:new at.Name("vErrors"),errors:new at.Name("errors"),this:new at.Name("this"),self:new at.Name("self"),scope:new at.Name("scope"),json:new at.Name("json"),jsonPos:new at.Name("jsonPos"),jsonLen:new at.Name("jsonLen"),jsonPart:new at.Name("jsonPart")};Ah.default=kU});var ka=$(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.extendErrors=ct.resetErrorsCount=ct.reportExtraError=ct.reportError=ct.keyword$DataError=ct.keywordError=void 0;var fe=Q(),cl=pe(),gt=Br();ct.keywordError={message:({keyword:t})=>(0,fe.str)`must pass "${t}" keyword validation`};ct.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,fe.str)`"${t}" keyword must be ${e} ($data)`:(0,fe.str)`"${t}" keyword is invalid ($data)`};function PU(t,e=ct.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Pk(t,e,r);n??(i||a)?xk(s,c):kk(o,(0,fe._)`[${c}]`)}ct.reportError=PU;function EU(t,e=ct.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Pk(t,e,r);xk(o,a),s||i||kk(n,gt.default.vErrors)}ct.reportExtraError=EU;function TU(t,e){t.assign(gt.default.errors,e),t.if((0,fe._)`${gt.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,fe._)`${gt.default.vErrors}.length`,e),()=>t.assign(gt.default.vErrors,null)))}ct.resetErrorsCount=TU;function RU({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,gt.default.errors,a=>{t.const(i,(0,fe._)`${gt.default.vErrors}[${a}]`),t.if((0,fe._)`${i}.instancePath === undefined`,()=>t.assign((0,fe._)`${i}.instancePath`,(0,fe.strConcat)(gt.default.instancePath,s.errorPath))),t.assign((0,fe._)`${i}.schemaPath`,(0,fe.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,fe._)`${i}.schema`,r),t.assign((0,fe._)`${i}.data`,n))})}ct.extendErrors=RU;function xk(t,e){let r=t.const("err",e);t.if((0,fe._)`${gt.default.vErrors} === null`,()=>t.assign(gt.default.vErrors,(0,fe._)`[${r}]`),(0,fe._)`${gt.default.vErrors}.push(${r})`),t.code((0,fe._)`${gt.default.errors}++`)}function kk(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,fe._)`new ${t.ValidationError}(${e})`):(r.assign((0,fe._)`${n}.errors`,e),r.return(!1))}var mo={keyword:new fe.Name("keyword"),schemaPath:new fe.Name("schemaPath"),params:new fe.Name("params"),propertyName:new fe.Name("propertyName"),message:new fe.Name("message"),schema:new fe.Name("schema"),parentSchema:new fe.Name("parentSchema")};function Pk(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,fe._)`{}`:IU(t,e,r)}function IU(t,e,r={}){let{gen:n,it:o}=t,s=[AU(o,r),CU(t,r)];return DU(t,e,s),n.object(...s)}function AU({errorPath:t},{instancePath:e}){let r=e?(0,fe.str)`${t}${(0,cl.getErrorPath)(e,cl.Type.Str)}`:t;return[gt.default.instancePath,(0,fe.strConcat)(gt.default.instancePath,r)]}function CU({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,fe.str)`${e}/${t}`;return r&&(o=(0,fe.str)`${o}${(0,cl.getErrorPath)(r,cl.Type.Str)}`),[mo.schemaPath,o]}function DU(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([mo.keyword,o],[mo.params,typeof e=="function"?e(t):e||(0,fe._)`{}`]),c.messages&&n.push([mo.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([mo.schema,i],[mo.parentSchema,(0,fe._)`${l}${d}`],[gt.default.data,s]),u&&n.push([mo.propertyName,u])}});var Tk=$(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.boolOrEmptySchema=ws.topBoolOrEmptySchema=void 0;var OU=ka(),zU=Q(),NU=Br(),jU={message:"boolean schema is false"};function MU(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Ek(t,!1):typeof r=="object"&&r.$async===!0?e.return(NU.default.data):(e.assign((0,zU._)`${n}.errors`,null),e.return(!0))}ws.topBoolOrEmptySchema=MU;function LU(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Ek(t)):r.var(e,!0)}ws.boolOrEmptySchema=LU;function Ek(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,OU.reportError)(o,jU,void 0,e)}});var Ch=$($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.getRules=$s.isJSONType=void 0;var qU=["string","number","integer","boolean","null","object","array"],FU=new Set(qU);function UU(t){return typeof t=="string"&&FU.has(t)}$s.isJSONType=UU;function ZU(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}$s.getRules=ZU});var Dh=$(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.shouldUseRule=gn.shouldUseGroup=gn.schemaHasRulesForType=void 0;function VU({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Rk(t,n)}gn.schemaHasRulesForType=VU;function Rk(t,e){return e.rules.some(r=>Ik(t,r))}gn.shouldUseGroup=Rk;function Ik(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}gn.shouldUseRule=Ik});var Pa=$(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.reportTypeError=ut.checkDataTypes=ut.checkDataType=ut.coerceAndCheckDataType=ut.getJSONTypes=ut.getSchemaTypes=ut.DataType=void 0;var BU=Ch(),WU=Dh(),HU=ka(),J=Q(),Ak=pe(),Ss;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Ss||(ut.DataType=Ss={}));function KU(t){let e=Ck(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}ut.getSchemaTypes=KU;function Ck(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(BU.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}ut.getJSONTypes=Ck;function JU(t,e){let{gen:r,data:n,opts:o}=t,s=GU(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,WU.schemaHasRulesForType)(t,e[0]));if(i){let a=zh(e,n,o.strictNumbers,Ss.Wrong);r.if(a,()=>{s.length?YU(t,e,s):Nh(t)})}return i}ut.coerceAndCheckDataType=JU;var Dk=new Set(["string","number","integer","boolean","null"]);function GU(t,e){return e?t.filter(r=>Dk.has(r)||e==="array"&&r==="array"):[]}function YU(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,J._)`typeof ${o}`),a=n.let("coerced",(0,J._)`undefined`);s.coerceTypes==="array"&&n.if((0,J._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,J._)`${o}[0]`).assign(i,(0,J._)`typeof ${o}`).if(zh(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,J._)`${a} !== undefined`);for(let u of r)(Dk.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Nh(t),n.endIf(),n.if((0,J._)`${a} !== undefined`,()=>{n.assign(o,a),QU(t,a)});function c(u){switch(u){case"string":n.elseIf((0,J._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,J._)`"" + ${o}`).elseIf((0,J._)`${o} === null`).assign(a,(0,J._)`""`);return;case"number":n.elseIf((0,J._)`${i} == "boolean" || ${o} === null
|
|
14
|
+
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,J._)`+${o}`);return;case"integer":n.elseIf((0,J._)`${i} === "boolean" || ${o} === null
|
|
15
|
+
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,J._)`+${o}`);return;case"boolean":n.elseIf((0,J._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,J._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,J._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,J._)`${i} === "string" || ${i} === "number"
|
|
16
|
+
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,J._)`[${o}]`)}}}function QU({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,J._)`${e} !== undefined`,()=>t.assign((0,J._)`${e}[${r}]`,n))}function Oh(t,e,r,n=Ss.Correct){let o=n===Ss.Correct?J.operators.EQ:J.operators.NEQ,s;switch(t){case"null":return(0,J._)`${e} ${o} null`;case"array":s=(0,J._)`Array.isArray(${e})`;break;case"object":s=(0,J._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,J._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,J._)`typeof ${e} ${o} ${t}`}return n===Ss.Correct?s:(0,J.not)(s);function i(a=J.nil){return(0,J.and)((0,J._)`typeof ${e} == "number"`,a,r?(0,J._)`isFinite(${e})`:J.nil)}}ut.checkDataType=Oh;function zh(t,e,r,n){if(t.length===1)return Oh(t[0],e,r,n);let o,s=(0,Ak.toHash)(t);if(s.array&&s.object){let i=(0,J._)`typeof ${e} != "object"`;o=s.null?i:(0,J._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=J.nil;s.number&&delete s.integer;for(let i in s)o=(0,J.and)(o,Oh(i,e,r,n));return o}ut.checkDataTypes=zh;var XU={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,J._)`{type: ${t}}`:(0,J._)`{type: ${e}}`};function Nh(t){let e=eZ(t);(0,HU.reportError)(e,XU)}ut.reportTypeError=Nh;function eZ(t){let{gen:e,data:r,schema:n}=t,o=(0,Ak.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var zk=$(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.assignDefaults=void 0;var xs=Q(),tZ=pe();function rZ(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Ok(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Ok(t,s,o.default))}ul.assignDefaults=rZ;function Ok(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,xs._)`${s}${(0,xs.getProperty)(e)}`;if(o){(0,tZ.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,xs._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,xs._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,xs._)`${a} = ${(0,xs.stringify)(r)}`)}});var Ht=$(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.validateUnion=be.validateArray=be.usePattern=be.callValidateCode=be.schemaProperties=be.allSchemaProperties=be.noPropertyInData=be.propertyInData=be.isOwnProperty=be.hasPropFunc=be.reportMissingProp=be.checkMissingProp=be.checkReportMissingProp=void 0;var Ae=Q(),jh=pe(),yn=Br(),nZ=pe();function oZ(t,e){let{gen:r,data:n,it:o}=t;r.if(Lh(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Ae._)`${e}`},!0),t.error()})}be.checkReportMissingProp=oZ;function sZ({gen:t,data:e,it:{opts:r}},n,o){return(0,Ae.or)(...n.map(s=>(0,Ae.and)(Lh(t,e,s,r.ownProperties),(0,Ae._)`${o} = ${s}`)))}be.checkMissingProp=sZ;function iZ(t,e){t.setParams({missingProperty:e},!0),t.error()}be.reportMissingProp=iZ;function Nk(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ae._)`Object.prototype.hasOwnProperty`})}be.hasPropFunc=Nk;function Mh(t,e,r){return(0,Ae._)`${Nk(t)}.call(${e}, ${r})`}be.isOwnProperty=Mh;function aZ(t,e,r,n){let o=(0,Ae._)`${e}${(0,Ae.getProperty)(r)} !== undefined`;return n?(0,Ae._)`${o} && ${Mh(t,e,r)}`:o}be.propertyInData=aZ;function Lh(t,e,r,n){let o=(0,Ae._)`${e}${(0,Ae.getProperty)(r)} === undefined`;return n?(0,Ae.or)(o,(0,Ae.not)(Mh(t,e,r))):o}be.noPropertyInData=Lh;function jk(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}be.allSchemaProperties=jk;function cZ(t,e){return jk(e).filter(r=>!(0,jh.alwaysValidSchema)(t,e[r]))}be.schemaProperties=cZ;function uZ({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,Ae._)`${t}, ${e}, ${n}${o}`:e,d=[[yn.default.instancePath,(0,Ae.strConcat)(yn.default.instancePath,s)],[yn.default.parentData,i.parentData],[yn.default.parentDataProperty,i.parentDataProperty],[yn.default.rootData,yn.default.rootData]];i.opts.dynamicRef&&d.push([yn.default.dynamicAnchors,yn.default.dynamicAnchors]);let p=(0,Ae._)`${l}, ${r.object(...d)}`;return c!==Ae.nil?(0,Ae._)`${a}.call(${c}, ${p})`:(0,Ae._)`${a}(${p})`}be.callValidateCode=uZ;var lZ=(0,Ae._)`new RegExp`;function dZ({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Ae._)`${o.code==="new RegExp"?lZ:(0,nZ.useFunc)(t,o)}(${r}, ${n})`})}be.usePattern=dZ;function pZ(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,Ae._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:jh.Type.Num},s),e.if((0,Ae.not)(s),a)})}}be.validateArray=pZ;function fZ(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,jh.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,Ae._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,Ae.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}be.validateUnion=fZ});var qk=$(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.validateKeywordUsage=xr.validSchemaType=xr.funcKeywordCode=xr.macroKeywordCode=void 0;var yt=Q(),ho=Br(),mZ=Ht(),hZ=ka();function gZ(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Lk(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:yt.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}xr.macroKeywordCode=gZ;function yZ(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;_Z(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Lk(n,o,u),d=n.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)h(),e.modifying&&Mk(t),y(()=>t.error());else{let v=e.async?f():m();e.modifying&&Mk(t),y(()=>vZ(t,v))}}function f(){let v=n.let("ruleErrs",null);return n.try(()=>h((0,yt._)`await `),b=>n.assign(d,!1).if((0,yt._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,yt._)`${b}.errors`),()=>n.throw(b))),v}function m(){let v=(0,yt._)`${l}.errors`;return n.assign(v,null),h(yt.nil),v}function h(v=e.async?(0,yt._)`await `:yt.nil){let b=c.opts.passContext?ho.default.this:ho.default.self,_=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,yt._)`${v}${(0,mZ.callValidateCode)(t,l,b,_)}`,e.modifying)}function y(v){var b;n.if((0,yt.not)((b=e.valid)!==null&&b!==void 0?b:d),v)}}xr.funcKeywordCode=yZ;function Mk(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,yt._)`${n.parentData}[${n.parentDataProperty}]`))}function vZ(t,e){let{gen:r}=t;r.if((0,yt._)`Array.isArray(${e})`,()=>{r.assign(ho.default.vErrors,(0,yt._)`${ho.default.vErrors} === null ? ${e} : ${ho.default.vErrors}.concat(${e})`).assign(ho.default.errors,(0,yt._)`${ho.default.vErrors}.length`),(0,hZ.extendErrors)(t)},()=>t.error())}function _Z({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Lk(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,yt.stringify)(r)})}function bZ(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}xr.validSchemaType=bZ;function wZ({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}xr.validateKeywordUsage=wZ});var Uk=$(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.extendSubschemaMode=vn.extendSubschemaData=vn.getSubschema=void 0;var kr=Q(),Fk=pe();function $Z(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,kr._)`${t.schemaPath}${(0,kr.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,kr._)`${t.schemaPath}${(0,kr.getProperty)(e)}${(0,kr.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Fk.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}vn.getSubschema=$Z;function SZ(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=a.let("data",(0,kr._)`${e.data}${(0,kr.getProperty)(r)}`,!0);c(p),t.errorPath=(0,kr.str)`${u}${(0,Fk.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,kr._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof kr.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}vn.extendSubschemaData=SZ;function xZ(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}vn.extendSubschemaMode=xZ});var Vk=$((O7,Zk)=>{"use strict";var _n=Zk.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};ll(e,n,o,t,"",t)};_n.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};_n.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};_n.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};_n.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 ll(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in _n.arrayKeywords)for(var p=0;p<d.length;p++)ll(t,e,r,d[p],o+"/"+l+"/"+p,s,o,l,n,p)}else if(l in _n.propsKeywords){if(d&&typeof d=="object")for(var f in d)ll(t,e,r,d[f],o+"/"+l+"/"+kZ(f),s,o,l,n,f)}else(l in _n.keywords||t.allKeys&&!(l in _n.skipKeywords))&&ll(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function kZ(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Ea=$(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.getSchemaRefs=Tt.resolveUrl=Tt.normalizeId=Tt._getFullPath=Tt.getFullPath=Tt.inlineRef=void 0;var PZ=pe(),EZ=Qi(),TZ=Vk(),RZ=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function IZ(t,e=!0){return typeof t=="boolean"?!0:e===!0?!qh(t):e?Bk(t)<=e:!1}Tt.inlineRef=IZ;var AZ=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function qh(t){for(let e in t){if(AZ.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(qh)||typeof r=="object"&&qh(r))return!0}return!1}function Bk(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!RZ.has(r)&&(typeof t[r]=="object"&&(0,PZ.eachItem)(t[r],n=>e+=Bk(n)),e===1/0))return 1/0}return e}function Wk(t,e="",r){r!==!1&&(e=ks(e));let n=t.parse(e);return Hk(t,n)}Tt.getFullPath=Wk;function Hk(t,e){return t.serialize(e).split("#")[0]+"#"}Tt._getFullPath=Hk;var CZ=/#\/?$/;function ks(t){return t?t.replace(CZ,""):""}Tt.normalizeId=ks;function DZ(t,e,r){return r=ks(r),t.resolve(e,r)}Tt.resolveUrl=DZ;var OZ=/^[a-z_][-a-z0-9._]*$/i;function zZ(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=ks(t[r]||e),s={"":o},i=Wk(n,o,!1),a={},c=new Set;return TZ(t,{allKeys:!0},(d,p,f,m)=>{if(m===void 0)return;let h=i+p,y=s[m];typeof d[r]=="string"&&(y=v.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),s[p]=y;function v(_){let k=this.opts.uriResolver.resolve;if(_=ks(y?k(y,_):_),c.has(_))throw l(_);c.add(_);let x=this.refs[_];return typeof x=="string"&&(x=this.refs[x]),typeof x=="object"?u(d,x.schema,_):_!==ks(h)&&(_[0]==="#"?(u(d,a[_],_),a[_]=d):this.refs[_]=h),_}function b(_){if(typeof _=="string"){if(!OZ.test(_))throw new Error(`invalid anchor "${_}"`);v.call(this,`#${_}`)}}}),a;function u(d,p,f){if(p!==void 0&&!EZ(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Tt.getSchemaRefs=zZ});var Ia=$(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.getData=bn.KeywordCxt=bn.validateFunctionCode=void 0;var Qk=Tk(),Kk=Pa(),Uh=Dh(),dl=Pa(),NZ=zk(),Ra=qk(),Fh=Uk(),z=Q(),B=Br(),jZ=Ea(),Wr=pe(),Ta=ka();function MZ(t){if(tP(t)&&(rP(t),eP(t))){FZ(t);return}Xk(t,()=>(0,Qk.topBoolOrEmptySchema)(t))}bn.validateFunctionCode=MZ;function Xk({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,z._)`${B.default.data}, ${B.default.valCxt}`,n.$async,()=>{t.code((0,z._)`"use strict"; ${Jk(r,o)}`),qZ(t,o),t.code(s)}):t.func(e,(0,z._)`${B.default.data}, ${LZ(o)}`,n.$async,()=>t.code(Jk(r,o)).code(s))}function LZ(t){return(0,z._)`{${B.default.instancePath}="", ${B.default.parentData}, ${B.default.parentDataProperty}, ${B.default.rootData}=${B.default.data}${t.dynamicRef?(0,z._)`, ${B.default.dynamicAnchors}={}`:z.nil}}={}`}function qZ(t,e){t.if(B.default.valCxt,()=>{t.var(B.default.instancePath,(0,z._)`${B.default.valCxt}.${B.default.instancePath}`),t.var(B.default.parentData,(0,z._)`${B.default.valCxt}.${B.default.parentData}`),t.var(B.default.parentDataProperty,(0,z._)`${B.default.valCxt}.${B.default.parentDataProperty}`),t.var(B.default.rootData,(0,z._)`${B.default.valCxt}.${B.default.rootData}`),e.dynamicRef&&t.var(B.default.dynamicAnchors,(0,z._)`${B.default.valCxt}.${B.default.dynamicAnchors}`)},()=>{t.var(B.default.instancePath,(0,z._)`""`),t.var(B.default.parentData,(0,z._)`undefined`),t.var(B.default.parentDataProperty,(0,z._)`undefined`),t.var(B.default.rootData,B.default.data),e.dynamicRef&&t.var(B.default.dynamicAnchors,(0,z._)`{}`)})}function FZ(t){let{schema:e,opts:r,gen:n}=t;Xk(t,()=>{r.$comment&&e.$comment&&oP(t),WZ(t),n.let(B.default.vErrors,null),n.let(B.default.errors,0),r.unevaluated&&UZ(t),nP(t),JZ(t)})}function UZ(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,z._)`${r}.evaluated`),e.if((0,z._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,z._)`${t.evaluated}.props`,(0,z._)`undefined`)),e.if((0,z._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,z._)`${t.evaluated}.items`,(0,z._)`undefined`))}function Jk(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,z._)`/*# sourceURL=${r} */`:z.nil}function ZZ(t,e){if(tP(t)&&(rP(t),eP(t))){VZ(t,e);return}(0,Qk.boolOrEmptySchema)(t,e)}function eP({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function tP(t){return typeof t.schema!="boolean"}function VZ(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&oP(t),HZ(t),KZ(t);let s=n.const("_errs",B.default.errors);nP(t,s),n.var(e,(0,z._)`${s} === ${B.default.errors}`)}function rP(t){(0,Wr.checkUnknownRules)(t),BZ(t)}function nP(t,e){if(t.opts.jtd)return Gk(t,[],!1,e);let r=(0,Kk.getSchemaTypes)(t.schema),n=(0,Kk.coerceAndCheckDataType)(t,r);Gk(t,r,!n,e)}function BZ(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Wr.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function WZ(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Wr.checkStrictMode)(t,"default is ignored in the schema root")}function HZ(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,jZ.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function KZ(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function oP({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,z._)`${B.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,z.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,z._)`${B.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function JZ(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,z._)`${B.default.errors} === 0`,()=>e.return(B.default.data),()=>e.throw((0,z._)`new ${o}(${B.default.vErrors})`)):(e.assign((0,z._)`${n}.errors`,B.default.vErrors),s.unevaluated&&GZ(t),e.return((0,z._)`${B.default.errors} === 0`))}function GZ({gen:t,evaluated:e,props:r,items:n}){r instanceof z.Name&&t.assign((0,z._)`${e}.props`,r),n instanceof z.Name&&t.assign((0,z._)`${e}.items`,n)}function Gk(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Wr.schemaHasRulesButRef)(s,l))){o.block(()=>iP(t,"$ref",l.all.$ref.definition));return}c.jtd||YZ(t,e),o.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,Uh.shouldUseGroup)(s,p)&&(p.type?(o.if((0,dl.checkDataType)(p.type,i,c.strictNumbers)),Yk(t,p),e.length===1&&e[0]===p.type&&r&&(o.else(),(0,dl.reportTypeError)(t)),o.endIf()):Yk(t,p),a||o.if((0,z._)`${B.default.errors} === ${n||0}`))}}function Yk(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,NZ.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Uh.shouldUseRule)(n,s)&&iP(t,s.keyword,s.definition,e.type)})}function YZ(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(QZ(t,e),t.opts.allowUnionTypes||XZ(t,e),eV(t,t.dataTypes))}function QZ(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{sP(t.dataTypes,r)||Zh(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),rV(t,e)}}function XZ(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Zh(t,"use allowUnionTypes to allow union type keyword")}function eV(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Uh.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>tV(e,i))&&Zh(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function tV(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function sP(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function rV(t,e){let r=[];for(let n of t.dataTypes)sP(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Zh(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Wr.checkStrictMode)(t,e,t.opts.strictTypes)}var pl=class{constructor(e,r,n){if((0,Ra.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Wr.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",aP(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Ra.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=e.gen.const("_errs",B.default.errors))}result(e,r,n){this.failResult((0,z.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,z.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,z._)`${r} !== undefined && (${(0,z.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Ta.reportExtraError:Ta.reportError)(this,this.def.error,r)}$dataError(){(0,Ta.reportError)(this,this.def.$dataError||Ta.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ta.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=z.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=z.nil,r=z.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,z.or)((0,z._)`${o} === undefined`,r)),e!==z.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==z.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,z.or)(i(),a());function i(){if(n.length){if(!(r instanceof z.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,z._)`${(0,dl.checkDataTypes)(c,r,s.opts.strictNumbers,dl.DataType.Wrong)}`}return z.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,z._)`!${c}(${r})`}return z.nil}}subschema(e,r){let n=(0,Fh.getSubschema)(this.it,e);(0,Fh.extendSubschemaData)(n,this.it,e),(0,Fh.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return ZZ(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Wr.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Wr.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,z.Name)),!0}};bn.KeywordCxt=pl;function iP(t,e,r,n){let o=new pl(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Ra.funcKeywordCode)(o,r):"macro"in r?(0,Ra.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Ra.funcKeywordCode)(o,r)}var nV=/^\/(?:[^~]|~0|~1)*$/,oV=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function aP(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return B.default.rootData;if(t[0]==="/"){if(!nV.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=B.default.rootData}else{let u=oV.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,z._)`${s}${(0,z.getProperty)((0,Wr.unescapeJsonPointer)(u))}`,i=(0,z._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}bn.getData=aP});var fl=$(Bh=>{"use strict";Object.defineProperty(Bh,"__esModule",{value:!0});var Vh=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Bh.default=Vh});var Aa=$(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});var Wh=Ea(),Hh=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Wh.resolveUrl)(e,r,n),this.missingSchema=(0,Wh.normalizeId)((0,Wh.getFullPath)(e,this.missingRef))}};Kh.default=Hh});var hl=$(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.resolveSchema=Kt.getCompilingSchema=Kt.resolveRef=Kt.compileSchema=Kt.SchemaEnv=void 0;var sr=Q(),sV=fl(),go=Br(),ir=Ea(),cP=pe(),iV=Ia(),Ps=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,ir.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};Kt.SchemaEnv=Ps;function Gh(t){let e=uP.call(this,t);if(e)return e;let r=(0,ir.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new sr.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:sV.default,code:(0,sr._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:go.default.data,parentData:go.default.parentData,parentDataProperty:go.default.parentDataProperty,dataNames:[go.default.data],dataPathArr:[sr.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,sr.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:sr.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,sr._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,iV.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(go.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${go.default.self}`,`${go.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:m,items:h}=u;f.evaluated={props:m instanceof sr.Name?void 0:m,items:h instanceof sr.Name?void 0:h,dynamicProps:m instanceof sr.Name,dynamicItems:h instanceof sr.Name},f.source&&(f.source.evaluated=(0,sr.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Kt.compileSchema=Gh;function aV(t,e,r){var n;r=(0,ir.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=lV.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Ps({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=cV.call(this,s)}Kt.resolveRef=aV;function cV(t){return(0,ir.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Gh.call(this,t)}function uP(t){for(let e of this._compilations)if(uV(e,t))return e}Kt.getCompilingSchema=uP;function uV(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function lV(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||ml.call(this,t,e)}function ml(t,e){let r=this.opts.uriResolver.parse(e),n=(0,ir._getFullPath)(this.opts.uriResolver,r),o=(0,ir.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Jh.call(this,r,t);let s=(0,ir.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=ml.call(this,t,i);return typeof a?.schema!="object"?void 0:Jh.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Gh.call(this,i),s===(0,ir.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,ir.resolveUrl)(this.opts.uriResolver,o,u)),new Ps({schema:a,schemaId:c,root:t,baseId:o})}return Jh.call(this,r,i)}}Kt.resolveSchema=ml;var dV=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Jh(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,cP.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!dV.has(a)&&u&&(e=(0,ir.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,cP.schemaHasRulesButRef)(r,this.RULES)){let a=(0,ir.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=ml.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Ps({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var lP=$((q7,pV)=>{pV.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 pP=$(Yh=>{"use strict";Object.defineProperty(Yh,"__esModule",{value:!0});var dP=fm();dP.code='require("ajv/dist/runtime/uri").default';Yh.default=dP});var bP=$(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.CodeGen=Xe.Name=Xe.nil=Xe.stringify=Xe.str=Xe._=Xe.KeywordCxt=void 0;var fV=Ia();Object.defineProperty(Xe,"KeywordCxt",{enumerable:!0,get:function(){return fV.KeywordCxt}});var Es=Q();Object.defineProperty(Xe,"_",{enumerable:!0,get:function(){return Es._}});Object.defineProperty(Xe,"str",{enumerable:!0,get:function(){return Es.str}});Object.defineProperty(Xe,"stringify",{enumerable:!0,get:function(){return Es.stringify}});Object.defineProperty(Xe,"nil",{enumerable:!0,get:function(){return Es.nil}});Object.defineProperty(Xe,"Name",{enumerable:!0,get:function(){return Es.Name}});Object.defineProperty(Xe,"CodeGen",{enumerable:!0,get:function(){return Es.CodeGen}});var mV=fl(),yP=Aa(),hV=Ch(),Ca=hl(),gV=Q(),Da=Ea(),gl=Pa(),Xh=pe(),fP=lP(),yV=pP(),vP=(t,e)=>new RegExp(t,e);vP.code="new RegExp";var vV=["removeAdditional","useDefaults","coerceTypes"],_V=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),bV={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."},wV={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},mP=200;function $V(t){var e,r,n,o,s,i,a,c,u,l,d,p,f,m,h,y,v,b,_,k,x,L,P,M,q;let j=t.strict,De=(e=t.code)===null||e===void 0?void 0:e.optimize,Le=De===!0||De===void 0?1:De||0,It=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:vP,Kr=(o=t.uriResolver)!==null&&o!==void 0?o:yV.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:j)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:j)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:j)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:j)!==null&&p!==void 0?p:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:j)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:Le,regExp:It}:{optimize:Le,regExp:It},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:mP,loopEnum:(y=t.loopEnum)!==null&&y!==void 0?y:mP,meta:(v=t.meta)!==null&&v!==void 0?v:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(_=t.inlineRefs)!==null&&_!==void 0?_:!0,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(x=t.addUsedSchema)!==null&&x!==void 0?x:!0,validateSchema:(L=t.validateSchema)!==null&&L!==void 0?L:!0,validateFormats:(P=t.validateFormats)!==null&&P!==void 0?P:!0,unicodeRegExp:(M=t.unicodeRegExp)!==null&&M!==void 0?M:!0,int32range:(q=t.int32range)!==null&&q!==void 0?q:!0,uriResolver:Kr}}var Oa=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...$V(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new gV.ValueScope({scope:{},prefixes:_V,es5:r,lines:n}),this.logger=TV(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,hV.getRules)(),hP.call(this,bV,e,"NOT SUPPORTED"),hP.call(this,wV,e,"DEPRECATED","warn"),this._metaOpts=PV.call(this),e.formats&&xV.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&kV.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),SV.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=fP;n==="id"&&(o={...fP},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||i.call(this,p)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof yP.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Da.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$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 o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=gP.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Ca.SchemaEnv({schema:{},schemaId:n});if(r=Ca.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=gP.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,Da.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,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(IV.call(this,n,r),!r)return(0,Xh.eachItem)(n,s=>Qh.call(this,s)),this;CV.call(this,r);let o={...r,type:(0,gl.getJSONTypes)(r.type),schemaType:(0,gl.getJSONTypes)(r.schemaType)};return(0,Xh.eachItem)(n,o.type.length===0?s=>Qh.call(this,s,o):s=>o.type.forEach(i=>Qh.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=_P(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,Da.normalizeId)(i||n);let u=Da.getSchemaRefs.call(this,e,n);return c=new Ca.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Ca.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Ca.compileSchema.call(this,e)}finally{this.opts=r}}};Oa.ValidationError=mV.default;Oa.MissingRefError=yP.default;Xe.default=Oa;function hP(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function gP(t){return t=(0,Da.normalizeId)(t),this.schemas[t]||this.refs[t]}function SV(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function xV(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function kV(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function PV(){let t={...this.opts};for(let e of vV)delete t[e];return t}var EV={log(){},warn(){},error(){}};function TV(t){if(t===!1)return EV;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var RV=/^[a-z_$][a-z0-9_$:-]*$/i;function IV(t,e){let{RULES:r}=this;if((0,Xh.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!RV.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Qh(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,gl.getJSONTypes)(e.type),schemaType:(0,gl.getJSONTypes)(e.schemaType)}};e.before?AV.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function AV(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function CV(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=_P(e)),t.validateSchema=this.compile(e,!0))}var DV={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function _P(t){return{anyOf:[t,DV]}}});var wP=$(eg=>{"use strict";Object.defineProperty(eg,"__esModule",{value:!0});var OV={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};eg.default=OV});var kP=$(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.callRef=yo.getValidate=void 0;var zV=Aa(),$P=Ht(),Rt=Q(),Ts=Br(),SP=hl(),yl=pe(),NV={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=SP.resolveRef.call(c,u,o,r);if(l===void 0)throw new zV.default(n.opts.uriResolver,o,r);if(l instanceof SP.SchemaEnv)return p(l);return f(l);function d(){if(s===u)return vl(t,i,s,s.$async);let m=e.scopeValue("root",{ref:u});return vl(t,(0,Rt._)`${m}.validate`,u,u.$async)}function p(m){let h=xP(t,m);vl(t,h,m,m.$async)}function f(m){let h=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Rt.stringify)(m)}:{ref:m}),y=e.name("valid"),v=t.subschema({schema:m,dataTypes:[],schemaPath:Rt.nil,topSchemaRef:h,errSchemaPath:r},y);t.mergeEvaluated(v),t.ok(y)}}};function xP(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Rt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}yo.getValidate=xP;function vl(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Ts.default.this:Rt.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let m=o.let("valid");o.try(()=>{o.code((0,Rt._)`await ${(0,$P.callValidateCode)(t,e,u)}`),f(e),i||o.assign(m,!0)},h=>{o.if((0,Rt._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),p(h),i||o.assign(m,!1)}),t.ok(m)}function d(){t.result((0,$P.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(m){let h=(0,Rt._)`${m}.errors`;o.assign(Ts.default.vErrors,(0,Rt._)`${Ts.default.vErrors} === null ? ${h} : ${Ts.default.vErrors}.concat(${h})`),o.assign(Ts.default.errors,(0,Rt._)`${Ts.default.vErrors}.length`)}function f(m){var h;if(!s.opts.unevaluated)return;let y=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=yl.mergeEvaluated.props(o,y.props,s.props));else{let v=o.var("props",(0,Rt._)`${m}.evaluated.props`);s.props=yl.mergeEvaluated.props(o,v,s.props,Rt.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=yl.mergeEvaluated.items(o,y.items,s.items));else{let v=o.var("items",(0,Rt._)`${m}.evaluated.items`);s.items=yl.mergeEvaluated.items(o,v,s.items,Rt.Name)}}}yo.callRef=vl;yo.default=NV});var PP=$(tg=>{"use strict";Object.defineProperty(tg,"__esModule",{value:!0});var jV=wP(),MV=kP(),LV=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",jV.default,MV.default];tg.default=LV});var EP=$(rg=>{"use strict";Object.defineProperty(rg,"__esModule",{value:!0});var _l=Q(),wn=_l.operators,bl={maximum:{okStr:"<=",ok:wn.LTE,fail:wn.GT},minimum:{okStr:">=",ok:wn.GTE,fail:wn.LT},exclusiveMaximum:{okStr:"<",ok:wn.LT,fail:wn.GTE},exclusiveMinimum:{okStr:">",ok:wn.GT,fail:wn.LTE}},qV={message:({keyword:t,schemaCode:e})=>(0,_l.str)`must be ${bl[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,_l._)`{comparison: ${bl[t].okStr}, limit: ${e}}`},FV={keyword:Object.keys(bl),type:"number",schemaType:"number",$data:!0,error:qV,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,_l._)`${r} ${bl[e].fail} ${n} || isNaN(${r})`)}};rg.default=FV});var TP=$(ng=>{"use strict";Object.defineProperty(ng,"__esModule",{value:!0});var za=Q(),UV={message:({schemaCode:t})=>(0,za.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,za._)`{multipleOf: ${t}}`},ZV={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:UV,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,za._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,za._)`${i} !== parseInt(${i})`;t.fail$data((0,za._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};ng.default=ZV});var IP=$(og=>{"use strict";Object.defineProperty(og,"__esModule",{value:!0});function RP(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}og.default=RP;RP.code='require("ajv/dist/runtime/ucs2length").default'});var AP=$(sg=>{"use strict";Object.defineProperty(sg,"__esModule",{value:!0});var vo=Q(),VV=pe(),BV=IP(),WV={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,vo.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,vo._)`{limit: ${t}}`},HV={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:WV,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?vo.operators.GT:vo.operators.LT,i=o.opts.unicode===!1?(0,vo._)`${r}.length`:(0,vo._)`${(0,VV.useFunc)(t.gen,BV.default)}(${r})`;t.fail$data((0,vo._)`${i} ${s} ${n}`)}};sg.default=HV});var CP=$(ig=>{"use strict";Object.defineProperty(ig,"__esModule",{value:!0});var KV=Ht(),JV=pe(),Rs=Q(),GV={message:({schemaCode:t})=>(0,Rs.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Rs._)`{pattern: ${t}}`},YV={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:GV,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Rs._)`new RegExp`:(0,JV.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Rs._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Rs._)`!${l}`)}else{let c=(0,KV.usePattern)(t,o);t.fail$data((0,Rs._)`!${c}.test(${r})`)}}};ig.default=YV});var DP=$(ag=>{"use strict";Object.defineProperty(ag,"__esModule",{value:!0});var Na=Q(),QV={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Na.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Na._)`{limit: ${t}}`},XV={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:QV,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Na.operators.GT:Na.operators.LT;t.fail$data((0,Na._)`Object.keys(${r}).length ${o} ${n}`)}};ag.default=XV});var OP=$(cg=>{"use strict";Object.defineProperty(cg,"__esModule",{value:!0});var ja=Ht(),Ma=Q(),e9=pe(),t9={message:({params:{missingProperty:t}})=>(0,Ma.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Ma._)`{missingProperty: ${t}}`},r9={keyword:"required",type:"object",schemaType:"array",$data:!0,error:t9,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let f=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(f?.[h]===void 0&&!m.has(h)){let y=i.schemaEnv.baseId+i.errSchemaPath,v=`required property "${h}" is not defined at "${y}" (strictRequired)`;(0,e9.checkStrictMode)(i,v,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Ma.nil,d);else for(let f of r)(0,ja.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||s){let m=e.let("valid",!0);t.block$data(m,()=>p(f,m)),t.ok(m)}else e.if((0,ja.checkMissingProp)(t,r,f)),(0,ja.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,ja.noPropertyInData)(e,o,f,a.ownProperties),()=>t.error())})}function p(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,ja.propertyInData)(e,o,f,a.ownProperties)),e.if((0,Ma.not)(m),()=>{t.error(),e.break()})},Ma.nil)}}};cg.default=r9});var zP=$(ug=>{"use strict";Object.defineProperty(ug,"__esModule",{value:!0});var La=Q(),n9={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,La.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,La._)`{limit: ${t}}`},o9={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:n9,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?La.operators.GT:La.operators.LT;t.fail$data((0,La._)`${r}.length ${o} ${n}`)}};ug.default=o9});var wl=$(lg=>{"use strict";Object.defineProperty(lg,"__esModule",{value:!0});var NP=Qi();NP.code='require("ajv/dist/runtime/equal").default';lg.default=NP});var jP=$(pg=>{"use strict";Object.defineProperty(pg,"__esModule",{value:!0});var dg=Pa(),et=Q(),s9=pe(),i9=wl(),a9={message:({params:{i:t,j:e}})=>(0,et.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,et._)`{i: ${t}, j: ${e}}`},c9={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:a9,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,dg.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,et._)`${i} === false`),t.ok(c);function l(){let m=e.let("i",(0,et._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,et._)`${m} > 1`,()=>(d()?p:f)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function p(m,h){let y=e.name("item"),v=(0,dg.checkDataTypes)(u,y,a.opts.strictNumbers,dg.DataType.Wrong),b=e.const("indices",(0,et._)`{}`);e.for((0,et._)`;${m}--;`,()=>{e.let(y,(0,et._)`${r}[${m}]`),e.if(v,(0,et._)`continue`),u.length>1&&e.if((0,et._)`typeof ${y} == "string"`,(0,et._)`${y} += "_"`),e.if((0,et._)`typeof ${b}[${y}] == "number"`,()=>{e.assign(h,(0,et._)`${b}[${y}]`),t.error(),e.assign(c,!1).break()}).code((0,et._)`${b}[${y}] = ${m}`)})}function f(m,h){let y=(0,s9.useFunc)(e,i9.default),v=e.name("outer");e.label(v).for((0,et._)`;${m}--;`,()=>e.for((0,et._)`${h} = ${m}; ${h}--;`,()=>e.if((0,et._)`${y}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(v)})))}}};pg.default=c9});var MP=$(mg=>{"use strict";Object.defineProperty(mg,"__esModule",{value:!0});var fg=Q(),u9=pe(),l9=wl(),d9={message:"must be equal to constant",params:({schemaCode:t})=>(0,fg._)`{allowedValue: ${t}}`},p9={keyword:"const",$data:!0,error:d9,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,fg._)`!${(0,u9.useFunc)(e,l9.default)}(${r}, ${o})`):t.fail((0,fg._)`${s} !== ${r}`)}};mg.default=p9});var LP=$(hg=>{"use strict";Object.defineProperty(hg,"__esModule",{value:!0});var qa=Q(),f9=pe(),m9=wl(),h9={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,qa._)`{allowedValues: ${t}}`},g9={keyword:"enum",schemaType:"array",$data:!0,error:h9,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,f9.useFunc)(e,m9.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=e.const("vSchema",s);l=(0,qa.or)(...o.map((m,h)=>p(f,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,f=>e.if((0,qa._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,m){let h=o[m];return typeof h=="object"&&h!==null?(0,qa._)`${u()}(${r}, ${f}[${m}])`:(0,qa._)`${r} === ${h}`}}};hg.default=g9});var qP=$(gg=>{"use strict";Object.defineProperty(gg,"__esModule",{value:!0});var y9=EP(),v9=TP(),_9=AP(),b9=CP(),w9=DP(),$9=OP(),S9=zP(),x9=jP(),k9=MP(),P9=LP(),E9=[y9.default,v9.default,_9.default,b9.default,w9.default,$9.default,S9.default,x9.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},k9.default,P9.default];gg.default=E9});var vg=$(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.validateAdditionalItems=void 0;var _o=Q(),yg=pe(),T9={message:({params:{len:t}})=>(0,_o.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,_o._)`{limit: ${t}}`},R9={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:T9,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,yg.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}FP(t,n)}};function FP(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,_o._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,_o._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,yg.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,_o._)`${a} <= ${e.length}`);r.if((0,_o.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:yg.Type.Num},u),i.allErrors||r.if((0,_o.not)(u),()=>r.break())})}}Fa.validateAdditionalItems=FP;Fa.default=R9});var _g=$(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.validateTuple=void 0;var UP=Q(),$l=pe(),I9=Ht(),A9={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return ZP(t,"additionalItems",e);r.items=!0,!(0,$l.alwaysValidSchema)(r,e)&&t.ok((0,I9.validateArray)(t))}};function ZP(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=$l.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,UP._)`${s}.length`);r.forEach((d,p)=>{(0,$l.alwaysValidSchema)(a,d)||(n.if((0,UP._)`${u} > ${p}`,()=>t.subschema({keyword:i,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:f}=a,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(p.strictTuples&&!h){let y=`"${i}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,$l.checkStrictMode)(a,y,p.strictTuples)}}}Ua.validateTuple=ZP;Ua.default=A9});var VP=$(bg=>{"use strict";Object.defineProperty(bg,"__esModule",{value:!0});var C9=_g(),D9={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,C9.validateTuple)(t,"items")};bg.default=D9});var WP=$(wg=>{"use strict";Object.defineProperty(wg,"__esModule",{value:!0});var BP=Q(),O9=pe(),z9=Ht(),N9=vg(),j9={message:({params:{len:t}})=>(0,BP.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,BP._)`{limit: ${t}}`},M9={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:j9,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,O9.alwaysValidSchema)(n,e)&&(o?(0,N9.validateAdditionalItems)(t,o):t.ok((0,z9.validateArray)(t)))}};wg.default=M9});var HP=$($g=>{"use strict";Object.defineProperty($g,"__esModule",{value:!0});var Jt=Q(),Sl=pe(),L9={message:({params:{min:t,max:e}})=>e===void 0?(0,Jt.str)`must contain at least ${t} valid item(s)`:(0,Jt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Jt._)`{minContains: ${t}}`:(0,Jt._)`{minContains: ${t}, maxContains: ${e}}`},q9={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:L9,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,Jt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Sl.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Sl.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Sl.alwaysValidSchema)(s,r)){let h=(0,Jt._)`${l} >= ${i}`;a!==void 0&&(h=(0,Jt._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?f(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,Jt._)`${o}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let h=e.name("_valid"),y=e.let("count",0);f(h,()=>e.if(h,()=>m(y)))}function f(h,y){e.forRange("i",0,l,v=>{t.subschema({keyword:"contains",dataProp:v,dataPropType:Sl.Type.Num,compositeRule:!0},h),y()})}function m(h){e.code((0,Jt._)`${h}++`),a===void 0?e.if((0,Jt._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,Jt._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,Jt._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};$g.default=q9});var GP=$(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.validateSchemaDeps=Pr.validatePropertyDeps=Pr.error=void 0;var Sg=Q(),F9=pe(),Za=Ht();Pr.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Sg.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Sg._)`{property: ${t},
|
|
17
|
+
missingProperty: ${n},
|
|
18
|
+
depsCount: ${e},
|
|
19
|
+
deps: ${r}}`};var U9={keyword:"dependencies",type:"object",schemaType:"object",error:Pr.error,code(t){let[e,r]=Z9(t);KP(t,e),JP(t,r)}};function Z9({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function KP(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,Za.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,Za.checkReportMissingProp)(t,u)}):(r.if((0,Sg._)`${c} && (${(0,Za.checkMissingProp)(t,a,s)})`),(0,Za.reportMissingProp)(t,s),r.else())}}Pr.validatePropertyDeps=KP;function JP(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,F9.alwaysValidSchema)(s,e[a])||(r.if((0,Za.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Pr.validateSchemaDeps=JP;Pr.default=U9});var QP=$(xg=>{"use strict";Object.defineProperty(xg,"__esModule",{value:!0});var YP=Q(),V9=pe(),B9={message:"property name must be valid",params:({params:t})=>(0,YP._)`{propertyName: ${t.propertyName}}`},W9={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:B9,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,V9.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,YP.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};xg.default=W9});var Pg=$(kg=>{"use strict";Object.defineProperty(kg,"__esModule",{value:!0});var xl=Ht(),ar=Q(),H9=Br(),kl=pe(),K9={message:"must NOT have additional properties",params:({params:t})=>(0,ar._)`{additionalProperty: ${t.additionalProperty}}`},J9={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:K9,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,kl.alwaysValidSchema)(i,r))return;let u=(0,xl.allSchemaProperties)(n.properties),l=(0,xl.allSchemaProperties)(n.patternProperties);d(),t.ok((0,ar._)`${s} === ${H9.default.errors}`);function d(){e.forIn("key",o,y=>{!u.length&&!l.length?m(y):e.if(p(y),()=>m(y))})}function p(y){let v;if(u.length>8){let b=(0,kl.schemaRefOrVal)(i,n.properties,"properties");v=(0,xl.isOwnProperty)(e,b,y)}else u.length?v=(0,ar.or)(...u.map(b=>(0,ar._)`${y} === ${b}`)):v=ar.nil;return l.length&&(v=(0,ar.or)(v,...l.map(b=>(0,ar._)`${(0,xl.usePattern)(t,b)}.test(${y})`))),(0,ar.not)(v)}function f(y){e.code((0,ar._)`delete ${o}[${y}]`)}function m(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(y);return}if(r===!1){t.setParams({additionalProperty:y}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,kl.alwaysValidSchema)(i,r)){let v=e.name("valid");c.removeAdditional==="failing"?(h(y,v,!1),e.if((0,ar.not)(v),()=>{t.reset(),f(y)})):(h(y,v),a||e.if((0,ar.not)(v),()=>e.break()))}}function h(y,v,b){let _={keyword:"additionalProperties",dataProp:y,dataPropType:kl.Type.Str};b===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(_,v)}}};kg.default=J9});var tE=$(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});var G9=Ia(),XP=Ht(),Eg=pe(),eE=Pg(),Y9={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&eE.default.code(new G9.KeywordCxt(s,eE.default,"additionalProperties"));let i=(0,XP.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Eg.mergeEvaluated.props(e,(0,Eg.toHash)(i),s.props));let a=i.filter(d=>!(0,Eg.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,XP.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Tg.default=Y9});var sE=$(Rg=>{"use strict";Object.defineProperty(Rg,"__esModule",{value:!0});var rE=Ht(),Pl=Q(),nE=pe(),oE=pe(),Q9={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,rE.allSchemaProperties)(r),c=a.filter(h=>(0,nE.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Pl.Name)&&(s.props=(0,oE.evaluatedPropsToName)(e,s.props));let{props:d}=s;p();function p(){for(let h of a)u&&f(h),s.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function f(h){for(let y in u)new RegExp(h).test(y)&&(0,nE.checkStrictMode)(s,`property ${y} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,y=>{e.if((0,Pl._)`${(0,rE.usePattern)(t,h)}.test(${y})`,()=>{let v=c.includes(h);v||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:y,dataPropType:oE.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Pl._)`${d}[${y}]`,!0):!v&&!s.allErrors&&e.if((0,Pl.not)(l),()=>e.break())})})}}};Rg.default=Q9});var iE=$(Ig=>{"use strict";Object.defineProperty(Ig,"__esModule",{value:!0});var X9=pe(),eB={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,X9.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Ig.default=eB});var aE=$(Ag=>{"use strict";Object.defineProperty(Ag,"__esModule",{value:!0});var tB=Ht(),rB={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:tB.validateUnion,error:{message:"must match a schema in anyOf"}};Ag.default=rB});var cE=$(Cg=>{"use strict";Object.defineProperty(Cg,"__esModule",{value:!0});var El=Q(),nB=pe(),oB={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,El._)`{passingSchemas: ${t.passing}}`},sB={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:oB,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let p;(0,nB.alwaysValidSchema)(o,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,El._)`${c} && ${i}`).assign(i,!1).assign(a,(0,El._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,El.Name)})})}}};Cg.default=sB});var uE=$(Dg=>{"use strict";Object.defineProperty(Dg,"__esModule",{value:!0});var iB=pe(),aB={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,iB.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Dg.default=aB});var pE=$(Og=>{"use strict";Object.defineProperty(Og,"__esModule",{value:!0});var Tl=Q(),dE=pe(),cB={message:({params:t})=>(0,Tl.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Tl._)`{failingKeyword: ${t.ifClause}}`},uB={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:cB,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,dE.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=lE(n,"then"),s=lE(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,Tl.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(p,i),d?e.assign(d,(0,Tl._)`${l}`):t.setParams({ifClause:l})}}}};function lE(t,e){let r=t.schema[e];return r!==void 0&&!(0,dE.alwaysValidSchema)(t,r)}Og.default=uB});var fE=$(zg=>{"use strict";Object.defineProperty(zg,"__esModule",{value:!0});var lB=pe(),dB={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,lB.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};zg.default=dB});var mE=$(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});var pB=vg(),fB=VP(),mB=_g(),hB=WP(),gB=HP(),yB=GP(),vB=QP(),_B=Pg(),bB=tE(),wB=sE(),$B=iE(),SB=aE(),xB=cE(),kB=uE(),PB=pE(),EB=fE();function TB(t=!1){let e=[$B.default,SB.default,xB.default,kB.default,PB.default,EB.default,vB.default,_B.default,yB.default,bB.default,wB.default];return t?e.push(fB.default,hB.default):e.push(pB.default,mB.default),e.push(gB.default),e}Ng.default=TB});var hE=$(jg=>{"use strict";Object.defineProperty(jg,"__esModule",{value:!0});var Ze=Q(),RB={message:({schemaCode:t})=>(0,Ze.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ze._)`{format: ${t}}`},IB={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:RB,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?p():f();function p(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,Ze._)`${m}[${i}]`),y=r.let("fType"),v=r.let("format");r.if((0,Ze._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(y,(0,Ze._)`${h}.type || "string"`).assign(v,(0,Ze._)`${h}.validate`),()=>r.assign(y,(0,Ze._)`"string"`).assign(v,h)),t.fail$data((0,Ze.or)(b(),_()));function b(){return c.strictSchema===!1?Ze.nil:(0,Ze._)`${i} && !${v}`}function _(){let k=l.$async?(0,Ze._)`(${h}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,Ze._)`${v}(${n})`,x=(0,Ze._)`(typeof ${v} == "function" ? ${k} : ${v}.test(${n}))`;return(0,Ze._)`${v} && ${v} !== true && ${y} === ${e} && !${x}`}}function f(){let m=d.formats[s];if(!m){b();return}if(m===!0)return;let[h,y,v]=_(m);h===e&&t.pass(k());function b(){if(c.strictSchema===!1){d.logger.warn(x());return}throw new Error(x());function x(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function _(x){let L=x instanceof RegExp?(0,Ze.regexpCode)(x):c.code.formats?(0,Ze._)`${c.code.formats}${(0,Ze.getProperty)(s)}`:void 0,P=r.scopeValue("formats",{key:s,ref:x,code:L});return typeof x=="object"&&!(x instanceof RegExp)?[x.type||"string",x.validate,(0,Ze._)`${P}.validate`]:["string",x,P]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ze._)`await ${v}(${n})`}return typeof y=="function"?(0,Ze._)`${v}(${n})`:(0,Ze._)`${v}.test(${n})`}}}};jg.default=IB});var gE=$(Mg=>{"use strict";Object.defineProperty(Mg,"__esModule",{value:!0});var AB=hE(),CB=[AB.default];Mg.default=CB});var yE=$(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.contentVocabulary=Is.metadataVocabulary=void 0;Is.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Is.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var _E=$(Lg=>{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});var DB=PP(),OB=qP(),zB=mE(),NB=gE(),vE=yE(),jB=[DB.default,OB.default,(0,zB.default)(),NB.default,vE.metadataVocabulary,vE.contentVocabulary];Lg.default=jB});var wE=$(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.DiscrError=void 0;var bE;(function(t){t.Tag="tag",t.Mapping="mapping"})(bE||(Rl.DiscrError=bE={}))});var SE=$(Fg=>{"use strict";Object.defineProperty(Fg,"__esModule",{value:!0});var As=Q(),qg=wE(),$E=hl(),MB=Aa(),LB=pe(),qB={message:({params:{discrError:t,tagName:e}})=>t===qg.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,As._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},FB={keyword:"discriminator",type:"object",schemaType:"object",error:qB,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,As._)`${r}${(0,As.getProperty)(a)}`);e.if((0,As._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:qg.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let f=p();e.if(!1);for(let m in f)e.elseIf((0,As._)`${u} === ${m}`),e.assign(c,d(f[m]));e.else(),t.error(!1,{discrError:qg.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(f){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:f},m);return t.mergeEvaluated(h,As.Name),m}function p(){var f;let m={},h=v(o),y=!0;for(let k=0;k<i.length;k++){let x=i[k];if(x?.$ref&&!(0,LB.schemaHasRulesButRef)(x,s.self.RULES)){let P=x.$ref;if(x=$E.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,P),x instanceof $E.SchemaEnv&&(x=x.schema),x===void 0)throw new MB.default(s.opts.uriResolver,s.baseId,P)}let L=(f=x?.properties)===null||f===void 0?void 0:f[a];if(typeof L!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(h||v(x)),b(L,k)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return m;function v({required:k}){return Array.isArray(k)&&k.includes(a)}function b(k,x){if(k.const)_(k.const,x);else if(k.enum)for(let L of k.enum)_(L,x);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function _(k,x){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${a}" values must be unique strings`);m[k]=x}}}};Fg.default=FB});var xE=$((Tee,UB)=>{UB.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 PE=$((Ce,Ug)=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.MissingRefError=Ce.ValidationError=Ce.CodeGen=Ce.Name=Ce.nil=Ce.stringify=Ce.str=Ce._=Ce.KeywordCxt=Ce.Ajv=void 0;var ZB=bP(),VB=_E(),BB=SE(),kE=xE(),WB=["/properties"],Il="http://json-schema.org/draft-07/schema",Cs=class extends ZB.default{_addVocabularies(){super._addVocabularies(),VB.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(BB.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(kE,WB):kE;this.addMetaSchema(e,Il,!1),this.refs["http://json-schema.org/schema"]=Il}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Il)?Il:void 0)}};Ce.Ajv=Cs;Ug.exports=Ce=Cs;Ug.exports.Ajv=Cs;Object.defineProperty(Ce,"__esModule",{value:!0});Ce.default=Cs;var HB=Ia();Object.defineProperty(Ce,"KeywordCxt",{enumerable:!0,get:function(){return HB.KeywordCxt}});var Ds=Q();Object.defineProperty(Ce,"_",{enumerable:!0,get:function(){return Ds._}});Object.defineProperty(Ce,"str",{enumerable:!0,get:function(){return Ds.str}});Object.defineProperty(Ce,"stringify",{enumerable:!0,get:function(){return Ds.stringify}});Object.defineProperty(Ce,"nil",{enumerable:!0,get:function(){return Ds.nil}});Object.defineProperty(Ce,"Name",{enumerable:!0,get:function(){return Ds.Name}});Object.defineProperty(Ce,"CodeGen",{enumerable:!0,get:function(){return Ds.CodeGen}});var KB=fl();Object.defineProperty(Ce,"ValidationError",{enumerable:!0,get:function(){return KB.default}});var JB=Aa();Object.defineProperty(Ce,"MissingRefError",{enumerable:!0,get:function(){return JB.default}})});var EE=$(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.formatLimitDefinition=void 0;var GB=PE(),cr=Q(),$n=cr.operators,Al={formatMaximum:{okStr:"<=",ok:$n.LTE,fail:$n.GT},formatMinimum:{okStr:">=",ok:$n.GTE,fail:$n.LT},formatExclusiveMaximum:{okStr:"<",ok:$n.LT,fail:$n.GTE},formatExclusiveMinimum:{okStr:">",ok:$n.GT,fail:$n.LTE}},YB={message:({keyword:t,schemaCode:e})=>(0,cr.str)`should be ${Al[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,cr._)`{comparison: ${Al[t].okStr}, limit: ${e}}`};Os.formatLimitDefinition={keyword:Object.keys(Al),type:"string",schemaType:"string",$data:!0,error:YB,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new GB.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=e.const("fmt",(0,cr._)`${p}[${c.schemaCode}]`);t.fail$data((0,cr.or)((0,cr._)`typeof ${f} != "object"`,(0,cr._)`${f} instanceof RegExp`,(0,cr._)`typeof ${f}.compare != "function"`,d(f)))}function l(){let p=c.schema,f=a.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let m=e.scopeValue("formats",{key:p,ref:f,code:i.code.formats?(0,cr._)`${i.code.formats}${(0,cr.getProperty)(p)}`:void 0});t.fail$data(d(m))}function d(p){return(0,cr._)`${p}.compare(${r}, ${n}) ${Al[o].fail} 0`}},dependencies:["format"]};var QB=t=>(t.addKeyword(Os.formatLimitDefinition),t);Os.default=QB});var AE=$((Va,IE)=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});var zs=pk(),XB=EE(),Zg=Q(),TE=new Zg.Name("fullFormats"),e2=new Zg.Name("fastFormats"),Vg=(t,e={keywords:!0})=>{if(Array.isArray(e))return RE(t,e,zs.fullFormats,TE),t;let[r,n]=e.mode==="fast"?[zs.fastFormats,e2]:[zs.fullFormats,TE],o=e.formats||zs.formatNames;return RE(t,o,r,n),e.keywords&&(0,XB.default)(t),t};Vg.get=(t,e="full")=>{let n=(e==="fast"?zs.fastFormats:zs.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function RE(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,Zg._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}IE.exports=Va=Vg;Object.defineProperty(Va,"__esModule",{value:!0});Va.default=Vg});import{readFileSync as _H}from"fs";import{join as Ay}from"path";import{fileURLToPath as bH}from"url";var wo=class extends Error{providerId;constructor(e,r){super(`[${e}] ${r}`),this.providerId=e,this.name=this.constructor.name}},Ga=class extends wo{code="PROVIDER_NOT_FOUND";retryable=!1;constructor(e){super(e,`Provider not found: ${e}`)}},Se=class extends wo{code="PROVIDER_UNAVAILABLE";retryable=!1;constructor(e,r){super(e,`Provider unavailable: ${r||"not installed or not running"}`)}};var $o=class extends wo{timeoutMs;code="PROVIDER_TIMEOUT";retryable=!0;constructor(e,r){super(e,`Timeout after ${r}ms`),this.timeoutMs=r}},dt=class extends wo{code="PROVIDER_EXECUTION_ERROR";retryable=!0;constructor(e,r){super(e,`Execution error: ${r}`)}};var Qy={ollama:{tier:"tool"},"claude-cli":{tier:"agent",maxComplexity:"complex"},"gemini-cli":{tier:"agent",maxComplexity:"complex"},"codex-cli":{tier:"agent",maxComplexity:"complex"},"claude-host":{tier:"agent",maxComplexity:"complex"},"codex-host":{tier:"agent",maxComplexity:"complex"},"gemini-host":{tier:"agent",maxComplexity:"complex"}},hI={ollama:{invocation:"http",roles:["participant","tool"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"claude-cli":{invocation:"cli",roles:["participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"gemini-cli":{invocation:"cli",roles:["leader","participant","reviewer","worker"],supportsAutonomousExecution:!0,supportsReadOnlyChat:!0},"codex-cli":{invocation:"cli",roles:["leader","participant","reviewer","worker"],supportsAutonomousExecution:!0,supportsReadOnlyChat:!0},"claude-host":{invocation:"host-bridge",roles:["leader","participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"codex-host":{invocation:"host-bridge",roles:["leader","participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0},"gemini-host":{invocation:"host-bridge",roles:["leader","participant","reviewer"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0}};function Pd(t){return t<3?"simple":t<8?"moderate":t<=20?"complex":"advanced"}function Xa(t,e,r,n=t){let o=Qy[n]??Qy[t]??{},s=o.maxComplexity??"simple";return n==="ollama"&&r!==void 0&&(s=Pd(r)),{providerId:t,tier:o.tier??"tool",strengths:o.strengths??e.strengths,maxComplexity:s}}function Gr(t,e){let r=hI[t.type],n=r?.roles?[...r.roles]:["participant"];return{id:t.id,type:t.type,invocation:r?.invocation??"unknown",roles:n,supportsAutonomousExecution:r?.supportsAutonomousExecution??!1,supportsReadOnlyChat:r?.supportsReadOnlyChat??!0,supportsToolUse:e?.supportsToolUse??r?.supportsToolUse??!1}}var ec={low:0,medium:.5,high:.7},gI={chat:"low",simple_review:"low",code_review:"medium",code_generation:"medium",design:"medium",writing:"medium",analysis:"medium",ideation:"medium",debate_turn:"medium",architecture:"high",cross_validate:"high",complex_refactor:"high"};function Xy(t,e){return e?.[t]??gI[t]??"low"}function tc(t,e,r=ec){return t>=r[e]}var rc=class{providers=new Map;resolveProvider(e){let r=this.providers.get(e);if(r)return r;if(e==="claude")return this.resolveClaudeAlias()}resolveClaudeAlias(){let e,r;for(let n of this.providers.values())n.type==="claude-host"?e=e??n:n.type==="claude-cli"&&(r=r??n);return e??r}register(e){this.providers.set(e.id,e)}get(e){let r=this.resolveProvider(e);if(!r)throw new Ga(e);return r}getAll(){return[...this.providers.values()]}getAvailable(){return this.getAll().filter(e=>e.isAvailable())}getAvailableDescriptors(){return this.getAvailable().map(e=>this.getDescriptor(e.id))}getByCapability(e){return this.getAvailable().filter(r=>r.getCapabilities().strengths.includes(e))}has(e){return this.providers.has(e)}getCapability(e){let r=this.get(e);return Xa(r.id,r.getCapabilities(),void 0,r.type)}getDescriptor(e){let r=this.get(e);return r.getDescriptor?.()??Gr(r,r.getCapabilities())}getByTier(e){return this.getAvailable().filter(r=>this.getCapability(r.id).tier===e)}getByRole(e){return this.getAvailable().filter(r=>this.getDescriptor(r.id).roles.includes(e))}getBestForTask(e,r,n,o){let s=this.getAvailable();if(s.length===0)return;if(!r)return s[0];let i=n??Xy(e),a=r.getQualityStats(30),c=new Map;for(let[p,f]of a){let m=p.split(":")[0],h=c.get(m)??{totalScore:0,count:0};h.totalScore+=f.avgScore*f.count,h.count+=f.count,c.set(m,h)}let u=s.filter(p=>{let f=c.get(p.id);if(!f)return i==="low";let m=f.totalScore/f.count;return tc(m,i,o)});if(u.length===0)return;let l,d=-1;for(let p of u){let f=`${p.id}:${e}`,m=a.get(f);m&&m.avgScore>d&&(d=m.avgScore,l=p)}return l??u[0]}};var g={};lt(g,{BRAND:()=>UI,DIRTY:()=>En,EMPTY_PATH:()=>bI,INVALID:()=>F,NEVER:()=>PA,OK:()=>tt,ParseStatus:()=>Ke,Schema:()=>Y,ZodAny:()=>Xr,ZodArray:()=>Cr,ZodBigInt:()=>Rn,ZodBoolean:()=>In,ZodBranded:()=>Qs,ZodCatch:()=>Fn,ZodDate:()=>An,ZodDefault:()=>qn,ZodDiscriminatedUnion:()=>sc,ZodEffects:()=>jt,ZodEnum:()=>Mn,ZodError:()=>_t,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>ac,ZodIntersection:()=>zn,ZodIssueCode:()=>E,ZodLazy:()=>Nn,ZodLiteral:()=>jn,ZodMap:()=>Do,ZodNaN:()=>zo,ZodNativeEnum:()=>Ln,ZodNever:()=>Gt,ZodNull:()=>Dn,ZodNullable:()=>mr,ZodNumber:()=>Tn,ZodObject:()=>bt,ZodOptional:()=>zt,ZodParsedType:()=>I,ZodPipeline:()=>Xs,ZodPromise:()=>en,ZodReadonly:()=>Un,ZodRecord:()=>ic,ZodSchema:()=>Y,ZodSet:()=>Oo,ZodString:()=>Qr,ZodSymbol:()=>Ao,ZodTransformer:()=>jt,ZodTuple:()=>fr,ZodType:()=>Y,ZodUndefined:()=>Cn,ZodUnion:()=>On,ZodUnknown:()=>Ar,ZodVoid:()=>Co,addIssueToContext:()=>R,any:()=>YI,array:()=>tA,bigint:()=>WI,boolean:()=>lv,coerce:()=>kA,custom:()=>av,date:()=>HI,datetimeRegex:()=>sv,defaultErrorMap:()=>Rr,discriminatedUnion:()=>sA,effect:()=>yA,enum:()=>mA,function:()=>dA,getErrorMap:()=>To,getParsedType:()=>pr,instanceof:()=>VI,intersection:()=>iA,isAborted:()=>nc,isAsync:()=>Ro,isDirty:()=>oc,isValid:()=>Yr,late:()=>ZI,lazy:()=>pA,literal:()=>fA,makeIssue:()=>Ys,map:()=>uA,nan:()=>BI,nativeEnum:()=>hA,never:()=>XI,null:()=>GI,nullable:()=>_A,number:()=>uv,object:()=>rA,objectUtil:()=>Ed,oboolean:()=>xA,onumber:()=>SA,optional:()=>vA,ostring:()=>$A,pipeline:()=>wA,preprocess:()=>bA,promise:()=>gA,quotelessJson:()=>yI,record:()=>cA,set:()=>lA,setErrorMap:()=>_I,strictObject:()=>nA,string:()=>cv,symbol:()=>KI,transformer:()=>yA,tuple:()=>aA,undefined:()=>JI,union:()=>oA,unknown:()=>QI,util:()=>oe,void:()=>eA});var oe;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(oe||(oe={}));var Ed;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Ed||(Ed={}));var I=oe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),pr=t=>{switch(typeof t){case"undefined":return I.undefined;case"string":return I.string;case"number":return Number.isNaN(t)?I.nan:I.number;case"boolean":return I.boolean;case"function":return I.function;case"bigint":return I.bigint;case"symbol":return I.symbol;case"object":return Array.isArray(t)?I.array:t===null?I.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?I.promise:typeof Map<"u"&&t instanceof Map?I.map:typeof Set<"u"&&t instanceof Set?I.set:typeof Date<"u"&&t instanceof Date?I.date:I.object;default:return I.unknown}};var E=oe.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"]),yI=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),_t=class t extends Error{get errors(){return this.issues}constructor(e){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=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,oe.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};_t.create=t=>new _t(t);var vI=(t,e)=>{let r;switch(t.code){case E.invalid_type:t.received===I.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case E.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,oe.jsonStringifyReplacer)}`;break;case E.unrecognized_keys:r=`Unrecognized key(s) in object: ${oe.joinValues(t.keys,", ")}`;break;case E.invalid_union:r="Invalid input";break;case E.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${oe.joinValues(t.options)}`;break;case E.invalid_enum_value:r=`Invalid enum value. Expected ${oe.joinValues(t.options)}, received '${t.received}'`;break;case E.invalid_arguments:r="Invalid function arguments";break;case E.invalid_return_type:r="Invalid function return type";break;case E.invalid_date:r="Invalid date";break;case E.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:oe.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case E.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case E.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case E.custom:r="Invalid input";break;case E.invalid_intersection_types:r="Intersection results could not be merged";break;case E.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case E.not_finite:r="Number must be finite";break;default:r=e.defaultError,oe.assertNever(t)}return{message:r}},Rr=vI;var ev=Rr;function _I(t){ev=t}function To(){return ev}var Ys=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},bI=[];function R(t,e){let r=To(),n=Ys({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Rr?void 0:Rr].filter(o=>!!o)});t.common.issues.push(n)}var Ke=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return F;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return F;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},F=Object.freeze({status:"aborted"}),En=t=>({status:"dirty",value:t}),tt=t=>({status:"valid",value:t}),nc=t=>t.status==="aborted",oc=t=>t.status==="dirty",Yr=t=>t.status==="valid",Ro=t=>typeof Promise<"u"&&t instanceof Promise;var C;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(C||(C={}));var Nt=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}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}},tv=(t,e)=>{if(Yr(e))return{success:!0,data:e.value};if(!t.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 _t(t.common.issues);return this._error=r,this._error}}};function W(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var Y=class{get description(){return this._def.description}_getType(e){return pr(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:pr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ke,ctx:{common:e.parent.common,data:e.data,parsedType:pr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Ro(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:pr(e)},o=this._parseSync({data:e,path:n.path,parent:n});return tv(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:pr(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Yr(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:e,path:[],parent:r}).then(n=>Yr(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:pr(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(Ro(o)?o:Promise.resolve(o));return tv(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:E.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new jt({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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 zt.create(this,this._def)}nullable(){return mr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Cr.create(this)}promise(){return en.create(this,this._def)}or(e){return On.create([this,e],this._def)}and(e){return zn.create(this,e,this._def)}transform(e){return new jt({...W(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new qn({...W(this._def),innerType:this,defaultValue:r,typeName:T.ZodDefault})}brand(){return new Qs({typeName:T.ZodBranded,type:this,...W(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Fn({...W(this._def),innerType:this,catchValue:r,typeName:T.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Xs.create(this,e)}readonly(){return Un.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},wI=/^c[^\s-]{8,}$/i,$I=/^[0-9a-z]+$/,SI=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xI=/^[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,kI=/^[a-z0-9_-]{21}$/i,PI=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,EI=/^[-+]?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)?)??$/,TI=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,RI="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Td,II=/^(?:(?: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])$/,AI=/^(?:(?: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])$/,CI=/^(([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]))$/,DI=/^(([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])$/,OI=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,zI=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nv="((\\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])))",NI=new RegExp(`^${nv}$`);function ov(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function jI(t){return new RegExp(`^${ov(t)}$`)}function sv(t){let e=`${nv}T${ov(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function MI(t,e){return!!((e==="v4"||!e)&&II.test(t)||(e==="v6"||!e)&&CI.test(t))}function LI(t,e){if(!PI.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function qI(t,e){return!!((e==="v4"||!e)&&AI.test(t)||(e==="v6"||!e)&&DI.test(t))}var Qr=class t extends Y{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==I.string){let s=this._getOrReturnCtx(e);return R(s,{code:E.invalid_type,expected:I.string,received:s.parsedType}),F}let n=new Ke,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:E.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:E.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?R(o,{code:E.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&R(o,{code:E.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")TI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"email",code:E.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Td||(Td=new RegExp(RI,"u")),Td.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"emoji",code:E.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")xI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"uuid",code:E.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")kI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"nanoid",code:E.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")wI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"cuid",code:E.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")$I.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"cuid2",code:E.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")SI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"ulid",code:E.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),R(o,{validation:"url",code:E.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"regex",code:E.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),R(o,{code:E.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),R(o,{code:E.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),R(o,{code:E.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?sv(s).test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{code:E.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?NI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{code:E.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?jI(s).test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{code:E.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?EI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"duration",code:E.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?MI(e.data,s.version)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"ip",code:E.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?LI(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"jwt",code:E.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?qI(e.data,s.version)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"cidr",code:E.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?OI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"base64",code:E.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?zI.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"base64url",code:E.invalid_string,message:s.message}),n.dirty()):oe.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:E.invalid_string,...C.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...C.errToObj(e)})}url(e){return this._addCheck({kind:"url",...C.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...C.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...C.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...C.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...C.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...C.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...C.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...C.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...C.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...C.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...C.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...C.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...C.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...C.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...C.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...C.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...C.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...C.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...C.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...C.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...C.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...C.errToObj(r)})}nonempty(e){return this.min(1,C.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Qr.create=t=>new Qr({checks:[],typeName:T.ZodString,coerce:t?.coerce??!1,...W(t)});function FI(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var Tn=class t extends Y{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==I.number){let s=this._getOrReturnCtx(e);return R(s,{code:E.invalid_type,expected:I.number,received:s.parsedType}),F}let n,o=new Ke;for(let s of this._def.checks)s.kind==="int"?oe.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),R(n,{code:E.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:E.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:E.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?FI(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),R(n,{code:E.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),R(n,{code:E.not_finite,message:s.message}),o.dirty()):oe.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,C.toString(r))}gt(e,r){return this.setLimit("min",e,!1,C.toString(r))}lte(e,r){return this.setLimit("max",e,!0,C.toString(r))}lt(e,r){return this.setLimit("max",e,!1,C.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:C.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:C.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:C.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:C.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:C.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&oe.isInteger(e.value))}get isFinite(){let e=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"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Tn.create=t=>new Tn({checks:[],typeName:T.ZodNumber,coerce:t?.coerce||!1,...W(t)});var Rn=class t extends Y{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==I.bigint)return this._getInvalidInput(e);let n,o=new Ke;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:E.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:E.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),R(n,{code:E.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):oe.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return R(r,{code:E.invalid_type,expected:I.bigint,received:r.parsedType}),F}gte(e,r){return this.setLimit("min",e,!0,C.toString(r))}gt(e,r){return this.setLimit("min",e,!1,C.toString(r))}lte(e,r){return this.setLimit("max",e,!0,C.toString(r))}lt(e,r){return this.setLimit("max",e,!1,C.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:C.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Rn.create=t=>new Rn({checks:[],typeName:T.ZodBigInt,coerce:t?.coerce??!1,...W(t)});var In=class extends Y{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==I.boolean){let n=this._getOrReturnCtx(e);return R(n,{code:E.invalid_type,expected:I.boolean,received:n.parsedType}),F}return tt(e.data)}};In.create=t=>new In({typeName:T.ZodBoolean,coerce:t?.coerce||!1,...W(t)});var An=class t extends Y{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==I.date){let s=this._getOrReturnCtx(e);return R(s,{code:E.invalid_type,expected:I.date,received:s.parsedType}),F}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return R(s,{code:E.invalid_date}),F}let n=new Ke,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:E.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:E.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):oe.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:C.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:C.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};An.create=t=>new An({checks:[],coerce:t?.coerce||!1,typeName:T.ZodDate,...W(t)});var Ao=class extends Y{_parse(e){if(this._getType(e)!==I.symbol){let n=this._getOrReturnCtx(e);return R(n,{code:E.invalid_type,expected:I.symbol,received:n.parsedType}),F}return tt(e.data)}};Ao.create=t=>new Ao({typeName:T.ZodSymbol,...W(t)});var Cn=class extends Y{_parse(e){if(this._getType(e)!==I.undefined){let n=this._getOrReturnCtx(e);return R(n,{code:E.invalid_type,expected:I.undefined,received:n.parsedType}),F}return tt(e.data)}};Cn.create=t=>new Cn({typeName:T.ZodUndefined,...W(t)});var Dn=class extends Y{_parse(e){if(this._getType(e)!==I.null){let n=this._getOrReturnCtx(e);return R(n,{code:E.invalid_type,expected:I.null,received:n.parsedType}),F}return tt(e.data)}};Dn.create=t=>new Dn({typeName:T.ZodNull,...W(t)});var Xr=class extends Y{constructor(){super(...arguments),this._any=!0}_parse(e){return tt(e.data)}};Xr.create=t=>new Xr({typeName:T.ZodAny,...W(t)});var Ar=class extends Y{constructor(){super(...arguments),this._unknown=!0}_parse(e){return tt(e.data)}};Ar.create=t=>new Ar({typeName:T.ZodUnknown,...W(t)});var Gt=class extends Y{_parse(e){let r=this._getOrReturnCtx(e);return R(r,{code:E.invalid_type,expected:I.never,received:r.parsedType}),F}};Gt.create=t=>new Gt({typeName:T.ZodNever,...W(t)});var Co=class extends Y{_parse(e){if(this._getType(e)!==I.undefined){let n=this._getOrReturnCtx(e);return R(n,{code:E.invalid_type,expected:I.void,received:n.parsedType}),F}return tt(e.data)}};Co.create=t=>new Co({typeName:T.ZodVoid,...W(t)});var Cr=class t extends Y{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==I.array)return R(r,{code:E.invalid_type,expected:I.array,received:r.parsedType}),F;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(R(r,{code:i?E.too_big:E.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(R(r,{code:E.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(R(r,{code:E.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new Nt(r,i,r.path,a)))).then(i=>Ke.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Nt(r,i,r.path,a)));return Ke.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:C.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:C.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:C.toString(r)}})}nonempty(e){return this.min(1,e)}};Cr.create=(t,e)=>new Cr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...W(e)});function Io(t){if(t instanceof bt){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=zt.create(Io(n))}return new bt({...t._def,shape:()=>e})}else return t instanceof Cr?new Cr({...t._def,type:Io(t.element)}):t instanceof zt?zt.create(Io(t.unwrap())):t instanceof mr?mr.create(Io(t.unwrap())):t instanceof fr?fr.create(t.items.map(e=>Io(e))):t}var bt=class t extends Y{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=oe.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==I.object){let u=this._getOrReturnCtx(e);return R(u,{code:E.invalid_type,expected:I.object,received:u.parsedType}),F}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Gt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Nt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Gt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(R(o,{code:E.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Nt(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>Ke.mergeObjectSync(n,u)):Ke.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return C.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:C.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:T.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of oe.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of oe.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Io(this)}partial(e){let r={};for(let n of oe.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of oe.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof zt;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return iv(oe.objectKeys(this.shape))}};bt.create=(t,e)=>new bt({shape:()=>t,unknownKeys:"strip",catchall:Gt.create(),typeName:T.ZodObject,...W(e)});bt.strictCreate=(t,e)=>new bt({shape:()=>t,unknownKeys:"strict",catchall:Gt.create(),typeName:T.ZodObject,...W(e)});bt.lazycreate=(t,e)=>new bt({shape:t,unknownKeys:"strip",catchall:Gt.create(),typeName:T.ZodObject,...W(e)});var On=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new _t(a.ctx.common.issues));return R(r,{code:E.invalid_union,unionErrors:i}),F}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new _t(c));return R(r,{code:E.invalid_union,unionErrors:a}),F}}get options(){return this._def.options}};On.create=(t,e)=>new On({options:t,typeName:T.ZodUnion,...W(e)});var Ir=t=>t instanceof Nn?Ir(t.schema):t instanceof jt?Ir(t.innerType()):t instanceof jn?[t.value]:t instanceof Mn?t.options:t instanceof Ln?oe.objectValues(t.enum):t instanceof qn?Ir(t._def.innerType):t instanceof Cn?[void 0]:t instanceof Dn?[null]:t instanceof zt?[void 0,...Ir(t.unwrap())]:t instanceof mr?[null,...Ir(t.unwrap())]:t instanceof Qs||t instanceof Un?Ir(t.unwrap()):t instanceof Fn?Ir(t._def.innerType):[],sc=class t extends Y{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.object)return R(r,{code:E.invalid_type,expected:I.object,received:r.parsedType}),F;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(R(r,{code:E.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),F)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Ir(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:T.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...W(n)})}};function Rd(t,e){let r=pr(t),n=pr(e);if(t===e)return{valid:!0,data:t};if(r===I.object&&n===I.object){let o=oe.objectKeys(e),s=oe.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Rd(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===I.array&&n===I.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Rd(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===I.date&&n===I.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var zn=class extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(nc(s)||nc(i))return F;let a=Rd(s.value,i.value);return a.valid?((oc(s)||oc(i))&&r.dirty(),{status:r.value,value:a.data}):(R(n,{code:E.invalid_intersection_types}),F)};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(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};zn.create=(t,e,r)=>new zn({left:t,right:e,typeName:T.ZodIntersection,...W(r)});var fr=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.array)return R(n,{code:E.invalid_type,expected:I.array,received:n.parsedType}),F;if(n.data.length<this._def.items.length)return R(n,{code:E.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F;!this._def.rest&&n.data.length>this._def.items.length&&(R(n,{code:E.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Nt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ke.mergeArray(r,i)):Ke.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};fr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new fr({items:t,typeName:T.ZodTuple,rest:null,...W(e)})};var ic=class t extends Y{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.object)return R(n,{code:E.invalid_type,expected:I.object,received:n.parsedType}),F;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Nt(n,a,n.path,a)),value:i._parse(new Nt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ke.mergeObjectAsync(r,o):Ke.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof Y?new t({keyType:e,valueType:r,typeName:T.ZodRecord,...W(n)}):new t({keyType:Qr.create(),valueType:e,typeName:T.ZodRecord,...W(r)})}},Do=class extends Y{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.map)return R(n,{code:E.invalid_type,expected:I.map,received:n.parsedType}),F;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new Nt(n,a,n.path,[u,"key"])),value:s._parse(new Nt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return F;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return F;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};Do.create=(t,e,r)=>new Do({valueType:e,keyType:t,typeName:T.ZodMap,...W(r)});var Oo=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.set)return R(n,{code:E.invalid_type,expected:I.set,received:n.parsedType}),F;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(R(n,{code:E.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(R(n,{code:E.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return F;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new Nt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:C.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:C.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Oo.create=(t,e)=>new Oo({valueType:t,minSize:null,maxSize:null,typeName:T.ZodSet,...W(e)});var ac=class t extends Y{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.function)return R(r,{code:E.invalid_type,expected:I.function,received:r.parsedType}),F;function n(a,c){return Ys({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,To(),Rr].filter(u=>!!u),issueData:{code:E.invalid_arguments,argumentsError:c}})}function o(a,c){return Ys({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,To(),Rr].filter(u=>!!u),issueData:{code:E.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof en){let a=this;return tt(async function(...c){let u=new _t([]),l=await a._def.args.parseAsync(c,s).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(f=>{throw u.addIssue(o(d,f)),u})})}else{let a=this;return tt(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new _t([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new _t([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:fr.create(e).rest(Ar.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||fr.create([]).rest(Ar.create()),returns:r||Ar.create(),typeName:T.ZodFunction,...W(n)})}},Nn=class extends Y{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Nn.create=(t,e)=>new Nn({getter:t,typeName:T.ZodLazy,...W(e)});var jn=class extends Y{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return R(r,{received:r.data,code:E.invalid_literal,expected:this._def.value}),F}return{status:"valid",value:e.data}}get value(){return this._def.value}};jn.create=(t,e)=>new jn({value:t,typeName:T.ZodLiteral,...W(e)});function iv(t,e){return new Mn({values:t,typeName:T.ZodEnum,...W(e)})}var Mn=class t extends Y{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return R(r,{expected:oe.joinValues(n),received:r.parsedType,code:E.invalid_type}),F}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return R(r,{received:r.data,code:E.invalid_enum_value,options:n}),F}return tt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Mn.create=iv;var Ln=class extends Y{_parse(e){let r=oe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==I.string&&n.parsedType!==I.number){let o=oe.objectValues(r);return R(n,{expected:oe.joinValues(o),received:n.parsedType,code:E.invalid_type}),F}if(this._cache||(this._cache=new Set(oe.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=oe.objectValues(r);return R(n,{received:n.data,code:E.invalid_enum_value,options:o}),F}return tt(e.data)}get enum(){return this._def.values}};Ln.create=(t,e)=>new Ln({values:t,typeName:T.ZodNativeEnum,...W(e)});var en=class extends Y{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.promise&&r.common.async===!1)return R(r,{code:E.invalid_type,expected:I.promise,received:r.parsedType}),F;let n=r.parsedType===I.promise?r.data:Promise.resolve(r.data);return tt(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};en.create=(t,e)=>new en({type:t,typeName:T.ZodPromise,...W(e)});var jt=class extends Y{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{R(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return F;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?F:c.status==="dirty"?En(c.value):r.value==="dirty"?En(c.value):c});{if(r.value==="aborted")return F;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?F:a.status==="dirty"?En(a.value):r.value==="dirty"?En(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?F:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?F:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Yr(i))return F;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Yr(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):F);oe.assertNever(o)}};jt.create=(t,e,r)=>new jt({schema:t,typeName:T.ZodEffects,effect:e,...W(r)});jt.createWithPreprocess=(t,e,r)=>new jt({schema:e,effect:{type:"preprocess",transform:t},typeName:T.ZodEffects,...W(r)});var zt=class extends Y{_parse(e){return this._getType(e)===I.undefined?tt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};zt.create=(t,e)=>new zt({innerType:t,typeName:T.ZodOptional,...W(e)});var mr=class extends Y{_parse(e){return this._getType(e)===I.null?tt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};mr.create=(t,e)=>new mr({innerType:t,typeName:T.ZodNullable,...W(e)});var qn=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===I.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};qn.create=(t,e)=>new qn({innerType:t,typeName:T.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...W(e)});var Fn=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Ro(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new _t(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new _t(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Fn.create=(t,e)=>new Fn({innerType:t,typeName:T.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...W(e)});var zo=class extends Y{_parse(e){if(this._getType(e)!==I.nan){let n=this._getOrReturnCtx(e);return R(n,{code:E.invalid_type,expected:I.nan,received:n.parsedType}),F}return{status:"valid",value:e.data}}};zo.create=t=>new zo({typeName:T.ZodNaN,...W(t)});var UI=Symbol("zod_brand"),Qs=class extends Y{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Xs=class t extends Y{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?F:s.status==="dirty"?(r.dirty(),En(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?F:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:T.ZodPipeline})}},Un=class extends Y{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Yr(o)&&(o.value=Object.freeze(o.value)),o);return Ro(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Un.create=(t,e)=>new Un({innerType:t,typeName:T.ZodReadonly,...W(e)});function rv(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function av(t,e={},r){return t?Xr.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=rv(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=rv(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Xr.create()}var ZI={object:bt.lazycreate},T;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(T||(T={}));var VI=(t,e={message:`Input not instance of ${t.name}`})=>av(r=>r instanceof t,e),cv=Qr.create,uv=Tn.create,BI=zo.create,WI=Rn.create,lv=In.create,HI=An.create,KI=Ao.create,JI=Cn.create,GI=Dn.create,YI=Xr.create,QI=Ar.create,XI=Gt.create,eA=Co.create,tA=Cr.create,rA=bt.create,nA=bt.strictCreate,oA=On.create,sA=sc.create,iA=zn.create,aA=fr.create,cA=ic.create,uA=Do.create,lA=Oo.create,dA=ac.create,pA=Nn.create,fA=jn.create,mA=Mn.create,hA=Ln.create,gA=en.create,yA=jt.create,vA=zt.create,_A=mr.create,bA=jt.createWithPreprocess,wA=Xs.create,$A=()=>cv().optional(),SA=()=>uv().optional(),xA=()=>lv().optional(),kA={string:(t=>Qr.create({...t,coerce:!0})),number:(t=>Tn.create({...t,coerce:!0})),boolean:(t=>In.create({...t,coerce:!0})),bigint:(t=>Rn.create({...t,coerce:!0})),date:(t=>An.create({...t,coerce:!0}))};var PA=F;Tr();var EA=g.enum(["read-only","workspace-write","full-auto"]),TA=EA.default("read-only"),RA=g.object({id:g.string(),type:g.string(),enabled:g.boolean().default(!0),executionPolicy:TA,config:g.record(g.unknown()).default({})}),IA=g.enum(["default-only","auto"]).default("default-only"),AA=g.object({selectionPolicy:IA,locale:g.string().optional(),providers:g.array(RA).min(1,"At least one provider required")});function Dr(t){switch(t){case"ollama":case"gemini-cli":case"codex-cli":case"claude-cli":return"workspace-write";default:return"read-only"}}function cc(t){return t==="workspace-write"||t==="full-auto"}function CA(t){return Ya.includes(t)}function DA(t){if(t!==void 0)return CA(t)?t:(console.warn(`[config] unknown locale '${t}', falling back to ${kn}`),kn)}function dv(t){let e=AA.parse(t);return{selectionPolicy:e.selectionPolicy,locale:DA(e.locale),providers:e.providers,enabledProviders:e.providers.filter(r=>r.enabled)}}import{existsSync as pv,mkdirSync as OA}from"fs";import{homedir as zA}from"os";import{dirname as NA,join as fv}from"path";var mv="providers.config.json";function ei(){let t=process.env.AGESTRA_CONFIG_PATH;if(t&&t.length>0)return t;let e=fv(zA(),".agestra",mv);if(pv(e))return e;let r=process.env.CLAUDE_PLUGIN_ROOT,n=r&&r.length>0?fv(r,mv):void 0;return n&&pv(n)?n:e}function hv(t){OA(NA(t),{recursive:!0})}tn();dc();No();Js();import{mkdirSync as Nv,readFileSync as hr,readdirSync as jv,existsSync as Ct}from"fs";import{join as qe}from"path";import{spawn as wC}from"child_process";import{randomUUID as $C}from"crypto";tn();qd();ni();import{readFileSync as Tv}from"fs";import{join as mc}from"path";function hc(t){Promise.resolve().then(()=>(Ev(),Pv)).then(async({resolveCliConfig:e})=>{let r;try{r=JSON.parse(Tv(mc(t,"job.json"),"utf-8"))}catch{return}let n=e(r);if(!n){We(t,{state:"missing_cli",completedAt:new Date().toISOString()}),ye(mc(t,"error.txt"),`No CLI mapping for provider: ${r.provider}`);return}let{command:o,buildArgs:s}=n,i=Tv(mc(t,"prompt.txt"),"utf-8"),a=s(i);We(t,{state:"running",startedAt:new Date().toISOString()}),await fc({jobDir:t,command:o,args:a,cwd:r.cwd||void 0,timeoutMs:r.timeout,recordPid:!0})}).catch(()=>{try{We(t,{state:"error",completedAt:new Date().toISOString()}),ye(mc(t,"error.txt"),"Failed to load job worker module")}catch{}})}import{existsSync as Rv,readFileSync as Iv,readdirSync as Av,unlinkSync as fC,rmdirSync as mC}from"fs";import{join as gc}from"path";var hC=["completed","error","timed_out","cancelled","missing_cli"];function Cv(t){let{jobsDir:e,maxJobs:r,maxAgeDays:n,statusCache:o,clearDeferredSaveTimer:s}=t;if(!Rv(e))return 0;let i;try{i=Av(e,{withFileTypes:!0}).filter(f=>f.isDirectory())}catch{return 0}let a=[];for(let f of i)try{let m=gc(e,f.name,"status.json"),h=gc(e,f.name,"job.json");if(!Rv(m))continue;let y=JSON.parse(Iv(m,"utf-8")),v=null;try{v=JSON.parse(Iv(h,"utf-8"))}catch{}a.push({name:f.name,status:y,descriptor:v})}catch{}let c=a.filter(f=>hC.includes(f.status.state)).sort((f,m)=>{let h=f.descriptor?.createdAt??"",y=m.descriptor?.createdAt??"";return h.localeCompare(y)}),u=0,l=Date.now(),d=n*24*60*60*1e3,p=a.length;for(let f of c){let h=(f.descriptor?.createdAt?l-new Date(f.descriptor.createdAt).getTime():1/0)>d,y=p-u>r;if(!h&&!y)continue;let v=gc(e,f.name);try{let b=Av(v);for(let _ of b)fC(gc(v,_));mC(v),o.delete(f.name),s(f.name),u++}catch{}}return u}tn();dc();No();import{existsSync as gC,readFileSync as Fd,readdirSync as yC}from"fs";import{join as Ud}from"path";function Dv(t){if(!Number.isInteger(t)||t<=0)return!1;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}function Ov(t,e){let r=Ud(t,e,"job.json");try{let o=JSON.parse(Fd(r,"utf-8")),s=new Date(o.createdAt).getTime();if(Number.isFinite(s))return s}catch{}let n=e.split("-");for(let o=n.length-2;o>=0;o--)if(/^\d+$/.test(n[o])){let s=Number(n[o]);if(Number.isFinite(s)&&s>0)return s}return null}function zv(t){let{jobsDir:e,statusCache:r}=t,n=0,o;try{o=yC(e)}catch{return 0}for(let s of o){if(!zr(s))continue;let i=Ud(e,s,"status.json");if(!gC(i))continue;let a;try{a=JSON.parse(Fd(i,"utf-8"))}catch{continue}if(a.state!=="running"||a.pid!==void 0&&Dv(a.pid))continue;let c=`${i}.lock`;try{let u=Zn(c,()=>{let l=JSON.parse(Fd(i,"utf-8"));if(l.state!=="running"||l.pid!==void 0&&Dv(l.pid))return null;let d={...l,state:"error",completedAt:new Date().toISOString()};return Ve(i,d),d});if(!u)continue;ye(Ud(e,s,"error.txt"),"orphaned (worker process died before completion)"),r.set(s,u),n++}catch{}}return n}ni();Tr();var SC=5e3,Zd=["completed","error","timed_out","cancelled","missing_cli"],yc=class{jobsDir;workspaceDir;maxJobs;maxAgeDays;submitCount=0;statusCache=new Map;completionHandler;saveInFlight=new Map;deferredSaveTimers=new Map;constructor(e=process.cwd(),r){this.workspaceDir=e,this.jobsDir=qe(e,Ny),Nv(this.jobsDir,{recursive:!0}),this.maxJobs=r?.maxJobs??100,this.maxAgeDays=r?.maxAgeDays??7,this.completionHandler=r?.completionHandler,this.submitCount=this.countExistingJobs()}countExistingJobs(){if(!Ct(this.jobsDir))return 0;try{return jv(this.jobsDir,{withFileTypes:!0}).filter(e=>e.isDirectory()).length}catch{return 0}}reconcileOrphans(){return zv({jobsDir:this.jobsDir,statusCache:this.statusCache})}submit(e){let r=`${e.provider}-${Date.now()}-${$C().slice(0,6)}`,n=qe(this.jobsDir,r);Nv(n,{recursive:!0});let o=e.timeout??3e5,s={id:r,provider:e.provider,prompt:e.prompt,timeout:o,createdAt:new Date().toISOString(),cwd:this.workspaceDir,saveAsDocument:e.saveAsDocument},i={id:r,state:"queued",provider:e.provider};if(Ve(qe(n,"job.json"),s),Ve(qe(n,"status.json"),i),ye(qe(n,"prompt.txt"),e.prompt),this.statusCache.set(r,i),this.spawnWorker(n),e.saveAsDocument&&this.completionHandler){let a=setTimeout(()=>{this.deferredSaveTimers.delete(r),this.maybeTriggerCompletionSave(r).catch(()=>{})},o+SC);a.unref?.(),this.deferredSaveTimers.set(r,a)}return this.submitCount++,this.submitCount%10===0&&this.cleanup(),r}getStatus(e){if(!zr(e))return null;let r=this.statusCache.get(e);if(r&&Zd.includes(r.state)&&((r.savedDocumentId?!0:r.saveError!==void 0)||!this.completionHandler))return r;let n=qe(this.jobsDir,e,"status.json");if(!Ct(n))return null;let o=JSON.parse(hr(n,"utf-8"));if(o.state==="queued"){let s=Ov(this.jobsDir,e);if(s!==null&&Date.now()-s>6e4){let a=`${n}.lock`;try{let c=Zn(a,()=>{let u=JSON.parse(hr(n,"utf-8"));if(u.state!=="queued")return null;let l={...u,state:"error",completedAt:new Date().toISOString()};return Ve(n,l),l});if(c)return ye(qe(this.jobsDir,e,"error.txt"),"Job stalled in queued state (worker failed to start)"),this.statusCache.set(e,c),c}catch{}}}return this.statusCache.set(e,o),Zd.includes(o.state)&&!o.savedDocumentId&&!o.saveError&&this.completionHandler&&this.maybeTriggerCompletionSave(e).catch(()=>{}),o}getResult(e){if(!zr(e))return null;let r=this.getStatus(e);if(!r)return null;let n=qe(this.jobsDir,e),o={id:e,state:r.state,exitCode:r.exitCode,savedDocumentId:r.savedDocumentId,saveError:r.saveError},s=qe(n,"output.txt");Ct(s)&&(o.output=hr(s,"utf-8"));let i=qe(n,"error.txt");return Ct(i)&&(o.error=hr(i,"utf-8")),o}async getResultAwaited(e){return zr(e)?(await this.maybeTriggerCompletionSave(e),this.getResult(e)):null}async invokeHandlerWithRetry(e,r){let n=[200,600],o;for(let s=0;s<n.length+1;s++){if(!Ct(qe(r,"status.json")))throw o||new Error("job directory removed during completion save");try{return await e()}catch(i){if(o=i,s>=n.length)break;await new Promise(a=>setTimeout(a,n[s]))}}throw o}async maybeTriggerCompletionSave(e){if(!this.completionHandler||!zr(e))return;let r=qe(this.jobsDir,e);if(!Ct(qe(r,"status.json")))return;let n=this.saveInFlight.get(e);if(n)return n;let o=this.runCompletionSave(e).finally(()=>{this.saveInFlight.delete(e)});return this.saveInFlight.set(e,o),o}async runCompletionSave(e){if(!this.completionHandler||!zr(e))return;let r=qe(this.jobsDir,e),n=qe(r,"status.json"),o=qe(r,"job.json");if(!Ct(n)||!Ct(o))return;let s=JSON.parse(hr(n,"utf-8"));if(!Zd.includes(s.state)||s.savedDocumentId||s.saveError)return;let i=JSON.parse(hr(o,"utf-8"));if(!i.saveAsDocument)return;let a={id:e,state:s.state,exitCode:s.exitCode},c=qe(r,"output.txt");Ct(c)&&(a.output=hr(c,"utf-8"));let u=qe(r,"error.txt");Ct(u)&&(a.error=hr(u,"utf-8"));try{let l=await this.invokeHandlerWithRetry(()=>this.completionHandler({jobId:e,descriptor:i,result:a,saveAsDocument:i.saveAsDocument}),r);if(l){let d={savedDocumentId:l.documentId};We(r,d),this.statusCache.set(e,{...s,...d})}else{let d={saveError:`skipped (state=${s.state})`};We(r,d),this.statusCache.set(e,{...s,...d})}}catch(l){let p={saveError:l instanceof Error?l.message:String(l)};try{We(r,p),this.statusCache.set(e,{...s,...p})}catch{}}}listJobs(){if(!Ct(this.jobsDir))return[];let e;try{e=jv(this.jobsDir,{withFileTypes:!0}).filter(n=>n.isDirectory())}catch{return[]}let r=[];for(let n of e)try{let o=qe(this.jobsDir,n.name,"status.json");Ct(o)&&r.push(JSON.parse(hr(o,"utf-8")))}catch{}return r}cancel(e){if(!zr(e))return!1;let r=this.getStatus(e);if(!r||r.state!=="queued"&&r.state!=="running")return!1;r.pid&&Po(r.pid);let n=qe(this.jobsDir,e),o=qe(n,"status.json"),s=`${o}.lock`;try{let i=Zn(s,()=>{let a=JSON.parse(hr(o,"utf-8"));if(a.state!=="queued"&&a.state!=="running")return null;let c={...a,state:"cancelled",completedAt:new Date().toISOString()};return Ve(o,c),c});i&&this.statusCache.set(e,i)}catch{}return this.clearDeferredSaveTimer(e),!0}clearDeferredSaveTimer(e){let r=this.deferredSaveTimers.get(e);r&&(clearTimeout(r),this.deferredSaveTimers.delete(e))}shutdown(){for(let e of this.deferredSaveTimers.values())clearTimeout(e);this.deferredSaveTimers.clear()}cleanup(){return Cv({jobsDir:this.jobsDir,maxJobs:this.maxJobs,maxAgeDays:this.maxAgeDays,statusCache:this.statusCache,clearDeferredSaveTimer:e=>this.clearDeferredSaveTimer(e)})}spawnWorker(e){let r=new URL("./job-worker.js",import.meta.url).pathname;if(Ct(r)){let n=wC(process.execPath,[r,e],{detached:!0,stdio:"ignore",cwd:this.workspaceDir}),o=typeof n.pid=="number"&&n.pid>0;if(o)try{We(e,{pid:n.pid})}catch{}n.on("error",s=>{if(o)return;s.code==="ENOENT"?hc(e):hc(e)}),n.unref()}else hc(e)}};tn();Tr();import{mkdirSync as xC,readdirSync as Mv,readFileSync as kC,unlinkSync as PC}from"fs";import{join as oi}from"path";function Lv(t){let e=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}-${r}-${n}`}function EC(t){return typeof t=="object"&&t!==null&&"traceId"in t&&"action"in t&&!("type"in t&&t.type==="quality_update")}function TC(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="quality_update"}var vc=class{tracesDir;writer;constructor(e,r){this.tracesDir=oi(e,jy),xC(this.tracesDir,{recursive:!0}),this.writer=new uc(r)}write(e){let r={...e,timestamp:e.timestamp??new Date().toISOString()},n=Lv(new Date(r.timestamp)),o=oi(this.tracesDir,`${n}.jsonl`);this.writer.append(o,JSON.stringify(r)+`
|
|
20
|
+
`,"trace")}query(e={}){let r=this.listFiles(e.daysBack),n=[],o=[];for(let i of r){let a=kC(i,"utf-8").split(`
|
|
21
|
+
`).filter(Boolean);for(let c of a)try{let u=JSON.parse(c);TC(u)?o.push(u):EC(u)&&n.push(u)}catch{}}for(let i of o){let a=n.find(c=>c.traceId===i.traceId&&c.providerId===i.providerId);a&&(a.quality=i.quality)}let s=n;return e.providerId&&(s=s.filter(i=>i.providerId===e.providerId)),e.task&&(s=s.filter(i=>i.task===e.task)),e.traceId&&(s=s.filter(i=>i.traceId===e.traceId)),e.successOnly&&(s=s.filter(i=>i.response.success)),e.failedOnly&&(s=s.filter(i=>!i.response.success)),e.limit!==void 0&&(s=s.slice(0,e.limit)),s}updateQuality(e,r,n){let o=new Date,s={type:"quality_update",traceId:e,providerId:r,timestamp:o.toISOString(),quality:n},i=Lv(o),a=oi(this.tracesDir,`${i}.jsonl`);this.writer.append(a,JSON.stringify(s)+`
|
|
22
|
+
`,"audit")}shutdown(){this.writer.destroy()}panicFlush(){this.writer.panicFlush()}getQualityStats(e){let r=this.query({daysBack:e}),n=new Map;for(let s of r){if(!s.quality)continue;let i=`${s.providerId}:${s.task}`,a=n.get(i)??{totalScore:0,count:0,totalLatency:0};a.totalScore+=s.quality.score,a.count+=1,a.totalLatency+=s.latencyMs,n.set(i,a)}let o=new Map;for(let[s,i]of n)o.set(s,{avgScore:i.totalScore/i.count,count:i.count,avgLatencyMs:i.totalLatency/i.count});return o}cleanup(e){let r=new Date;r.setDate(r.getDate()-e);let n=0,o;try{o=Mv(this.tracesDir)}catch{return 0}for(let s of o){if(!s.endsWith(".jsonl"))continue;let i=s.replace(".jsonl",""),a=new Date(i+"T00:00:00.000Z");isNaN(a.getTime())||a<r&&(PC(oi(this.tracesDir,s)),n++)}return n}listFiles(e){let r;try{r=Mv(this.tracesDir).filter(n=>n.endsWith(".jsonl")).sort()}catch{return[]}if(e!==void 0){let n=new Date;n.setDate(n.getDate()-e),r=r.filter(o=>{let s=o.replace(".jsonl",""),i=new Date(s+"T00:00:00.000Z");return!isNaN(i.getTime())&&i>=n})}return r.map(n=>oi(this.tracesDir,n))}};var RC=/[;|&`$(){}!><\n\r\\]/,_c=new Set(["ls","cat","head","tail","wc","diff","find","grep","sort","uniq"]),IC=new Set(["rm","sudo","chmod","chown","mkfs","dd","curl","wget","kill","pkill","killall","mv","cp","sh","bash","zsh","python","perl","ruby","node","npm","npx","eval","exec","source"]);function qv(t){if(RC.test(t))return{valid:!1,error:"Command contains shell metacharacters (piping, chaining, or subshell operators are not allowed)"};let e=t.split(/\s+/).filter(Boolean);if(e.length===0)return{valid:!1,error:"Empty command"};if(e[0].includes("/")||e[0].includes("\\"))return{valid:!1,error:"Command must not contain path separators (use bare command names only)"};for(let n=1;n<e.length;n++)if(e[n].includes("/")||e[n].includes("\\"))return{valid:!1,error:`Argument must not contain path separators: ${JSON.stringify(e[n])}`};let r=e[0];if(!_c.has(r))return{valid:!1,error:`Command '${r}' is not allowed. Allowed: ${[..._c].join(", ")}`};for(let n of e){let o=n.replace(/^.*\//,"");if(IC.has(o))return{valid:!1,error:`Command contains blocked token '${o}'`}}return{valid:!0}}Tr();var Fv=[{type:"aws_access_key",regex:/AKIA[0-9A-Z]{16}/,description:"AWS Access Key ID"},{type:"private_key",regex:/-----BEGIN\s+(RSA|EC|DSA|OPENSSH)?\s*PRIVATE KEY-----/,description:"Private key header"},{type:"password_assignment",regex:/(?:password|passwd|pwd)\s*[:=]\s*["']?[^\s"',;]{4,}["']?/i,description:"Password assignment"},{type:"api_key_assignment",regex:/(?:api[_-]?key|apikey|secret[_-]?key)\s*[:=]\s*["']?[^\s"',;]{8,}["']?/i,description:"API key assignment"},{type:"bearer_token",regex:/Bearer\s+[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+/,description:"Bearer JWT token"},{type:"generic_secret",regex:/(?:token|secret|credential)\s*[:=]\s*["'][^"']{8,}["']/i,description:"Generic secret assignment"}],Uv=[/\$[A-Z_]+/,/\$\{[A-Z_]+\}/,/process\.env\.\w+/,/<YOUR_[A-Z_]+>/];function Zv(t){let e=Array.isArray(t)?t:t.split(`
|
|
23
|
+
`),r=[];for(let n=0;n<e.length;n++){let o=e[n];for(let s of Fv){let i=s.regex.exec(o);if(!i)continue;let a=i[0];if(!Uv.some(u=>u.test(a))){r.push({type:s.type,pattern:s.description,line:n+1,excerpt:o.length>80?o.slice(0,80)+"...":o});break}}}return{clean:r.length===0,findings:r}}function jo(t){if(t.length===0)return t;let e=t.split(`
|
|
24
|
+
`);for(let r=0;r<e.length;r++){let n=e[r];for(let o of Fv){let s=new RegExp(o.regex.source,o.regex.flags.includes("g")?o.regex.flags:o.regex.flags+"g");n=n.replace(s,i=>Uv.some(a=>a.test(i))?i:Gy)}e[r]=n}return e.join(`
|
|
25
|
+
`)}Tr();import{execFileSync as AC}from"child_process";import{existsSync as Vv,rmSync as CC,mkdirSync as DC}from"fs";import{join as Bv}from"path";var bc=class{baseDir;worktrees=new Map;worktreeBaseDir;constructor(e){this.baseDir=e,this.worktreeBaseDir=Bv(e,My)}create(e){let r=e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,60),n=`agestra-worker/${r}`,o=Bv(this.worktreeBaseDir,r);DC(this.worktreeBaseDir,{recursive:!0}),Vv(o)&&this.forceRemoveWorktree(o),this.gitSafe(["branch","-D",n]),this.git(["worktree","add","-b",n,o,"HEAD"]);let s={id:e,path:o,branch:n};return this.worktrees.set(e,s),s}remove(e){let r=this.worktrees.get(e);r&&(this.forceRemoveWorktree(r.path),this.gitSafe(["branch","-D",r.branch]),this.worktrees.delete(e))}get(e){return this.worktrees.get(e)}list(){return[...this.worktrees.values()]}listOrphans(){let e=this.gitSafe(["worktree","list","--porcelain"]);if(!e)return[];let r=[],n="",o="",s=()=>{n.includes(".agestra/worktrees")&&o.startsWith("agestra-worker/")&&([...this.worktrees.values()].some(a=>a.path===n)||r.push({path:n,branch:o})),n="",o=""};for(let i of e.split(`
|
|
26
|
+
`))i.startsWith("worktree ")?n=i.slice(9):i.startsWith("branch refs/heads/")?o=i.slice(18):i===""&&s();return n&&s(),r}cleanOrphans(){let e=this.listOrphans(),r=0;for(let n of e)this.forceRemoveWorktree(n.path),this.gitSafe(["branch","-D",n.branch]),r++;return r}forceRemoveWorktree(e){this.gitSafe(["worktree","remove",e])===null&&this.gitSafe(["worktree","remove","--force",e])===null&&(Vv(e)&&CC(e,{recursive:!0,force:!0}),this.gitSafe(["worktree","prune"]))}git(e){return AC("git",e,{cwd:this.baseDir,encoding:"utf-8",stdio:"pipe",timeout:3e4}).trim()}gitSafe(e){try{return this.git(e)}catch{return null}}};var OC=["npm","node","git","tsc"];function Wv(t){return{task:t.taskDescription,files:{readonly:t.filesToRead??[],readwrite:t.filesToModify??[]},constraints:t.constraints,success_criteria:t.successCriteria??[],permissions:{sandbox_root:t.workingDir,allowed_commands:[...OC]},timeout_minutes:t.timeoutMinutes??10}}function Hv(t){let e=[];return(!t.task||t.task.trim().length===0)&&e.push("task must not be empty"),(!t.permissions.sandbox_root||t.permissions.sandbox_root.trim().length===0)&&e.push("permissions.sandbox_root must not be empty"),t.timeout_minutes<=0&&e.push("timeout_minutes must be positive"),{valid:e.length===0,errors:e}}var Fe;(function(t){t.SPAWNING="SPAWNING",t.RUNNING="RUNNING",t.COLLECTING="COLLECTING",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.CANCELLING="CANCELLING",t.CANCELLED="CANCELLED",t.TIMEOUT="TIMEOUT"})(Fe||(Fe={}));var wc=10,Wd=2e4;import{spawn as qC}from"child_process";import{writeFileSync as Kd,mkdirSync as FC,readFileSync as Yv,existsSync as Qv}from"fs";import{isAbsolute as Xv,join as si,resolve as e_}from"path";import{randomBytes as UC}from"crypto";import{execFileSync as ZC}from"child_process";Tr();Gs();Js();No();No();import{readFileSync as Kv}from"fs";var Hd=class{builders=new Map;register(e,r){this.builders.set(e,r)}has(e){return this.builders.has(e)}build(e,r,n,o){let s=this.builders.get(e);if(!s){let i=[...this.builders.keys()];throw new Error(`No CLI launch builder registered for provider "${e}". Known: [${i.join(", ")}]`)}return s(r,n,o)}knownProviders(){return[...this.builders.keys()]}};function zC(t,e,r){let n=Jv(t,e,r);return{command:"codex",args:["exec","--skip-git-repo-check","--full-auto","--ephemeral","-C",e,"-"],stdin:n}}function NC(t,e,r){return{command:"gemini",args:["--approval-mode","yolo","-p",Jv(t,e,r)]}}function Jv(t,e,r){let n=Kv(t,"utf-8"),o=jC(r,e);return["You are an autonomous coding worker operating in the current workspace.","Execute the task manifest below without asking for confirmation.","Stay within the workspace, respect read-only vs read-write boundaries, and summarize changes plus verification at the end.","",n,o].join(`
|
|
27
|
+
`)}function Gv(){let t=new Hd;return t.register("codex",zC),t.register("gemini",NC),t}function jC(t,e){if(!t||t.length===0)return"";let r=t.filter(o=>!jd(o,e));if(r.length===0)return"";let n=["Read-only file snapshots:","These files may live outside the worker sandbox root. Use the embedded contents below as authoritative context and do not attempt to edit them.",""];for(let o of r.slice(0,wc))try{let s=Kv(o,"utf-8"),i=s.length>Wd?`${s.slice(0,Wd)}
|
|
28
|
+
...[truncated]`:s;n.push(`### File: ${o}`),n.push("```"),n.push(i),n.push("```"),n.push("")}catch(s){let i=s instanceof Error?s.message:String(s);n.push(`### File: ${o}`),n.push(`[unavailable: ${i}]`),n.push("")}return r.length>wc&&(n.push(`...[${r.length-wc} additional read-only files omitted]`),n.push("")),n.join(`
|
|
29
|
+
`)}var ii=class t{baseDir;workers=new Map;workersBaseDir;worktreeManager;providerPolicies;cliBuilderRegistry;constructor(e,r={}){this.baseDir=e,this.workersBaseDir=si(e,Zy),this.worktreeManager=new bc(e),this.providerPolicies=r.providerPolicies??new Map,this.cliBuilderRegistry=r.cliBuilderRegistry??Gv()}knownProviders(){let e=new Set;for(let r of this.cliBuilderRegistry.knownProviders())e.add(r);for(let r of this.providerPolicies.keys())e.add(r);return[...e]}activeWorkerCount(){let e=0;for(let r of this.workers.values()){let n=r.info.state;(n===Fe.RUNNING||n===Fe.COLLECTING)&&e++}return e}spawn(e){if(this.activeWorkerCount()>=3)throw new Error(`Worker quota exceeded: ${this.activeWorkerCount()}/${3} workers already active. Wait for existing workers to complete or call stop() before spawning a new one.`);let r=this.validateWorkingDirectory(e.workingDir),n=this.normalizeReadablePaths(e.filesToRead,r),o=this.normalizeWritablePaths(e.filesToModify,r);this.assertAutonomousExecutionAllowed(e.provider);let s=[e.taskDescription,e.constraints??""],i=Zv(s);if(!i.clean){let M=i.findings.map(q=>q.pattern).join(", ");throw new Error(`Secret detected in task input \u2014 spawn blocked. Found: ${M}`)}let a=UC(3).toString("hex"),c=`${e.provider}-${Date.now()}-${a}`,u=si(this.workersBaseDir,c);FC(u,{recursive:!0});let l=Wv({taskDescription:e.taskDescription,workingDir:r,filesToRead:n,filesToModify:o,constraints:e.constraints,successCriteria:e.successCriteria,timeoutMinutes:e.timeoutMinutes}),d=Hv(l);if(!d.valid)throw new Error(`Invalid task manifest: ${d.errors.join(", ")}`);let p=si(u,"task-manifest.json");Kd(p,JSON.stringify(l,null,2),"utf-8");let f=e.useWorktree!==!1?this.tryCreateWorktree(c):null,m=si(u,"stdout.log"),h=si(u,"stderr.log"),y=f?.path??r,v=this.cliBuilderRegistry.build(e.provider,p,y,n),b=Pn(v.command,v.args),_=qC(b.command,b.args,{cwd:y,env:t.buildWorkerEnv(),detached:!0,stdio:[v.stdin?"pipe":"ignore","pipe","pipe"]}),k=[],x=[];_.stdout?.on("data",M=>k.push(M)),_.stderr?.on("data",M=>x.push(M)),v.stdin!==void 0&&_.stdin?.end(v.stdin),_.unref();let L={workerId:c,provider:e.provider,state:Fe.RUNNING,pid:_.pid??null,worktreePath:f?.path??null,worktreeBranch:f?.branch??null,startedAt:Date.now(),retryCount:0,exitCode:null,error:null},P={info:L,process:_,workerDir:u,manifestPath:p,outputPath:m,errorPath:h};if(this.workers.set(c,P),e.timeoutMinutes){let M=e.timeoutMinutes*6e4,q=setTimeout(()=>{if(P.info.state===Fe.RUNNING&&P.process===_){P.info.state=Fe.TIMEOUT,P.info.error=`Worker timed out after ${e.timeoutMinutes} minutes`;let j=_.pid;j&&Po(j)}},M);q.unref(),P.timeoutTimer=q}return _.on("close",M=>{P.timeoutTimer&&(clearTimeout(P.timeoutTimer),P.timeoutTimer=void 0),P.info.exitCode=M;try{Kd(m,Buffer.concat(k).toString("utf-8")),Kd(h,Buffer.concat(x).toString("utf-8"))}catch{}P.info.state===Fe.CANCELLING?P.info.state=Fe.CANCELLED:M===0?P.info.state=Fe.COLLECTING:(P.info.state=Fe.FAILED,P.info.error=`Process exited with code ${M}`)}),L}getStatus(e){let r=this.workers.get(e);if(!r)return;let n=Math.floor((Date.now()-r.info.startedAt)/1e3),o="";try{Qv(r.outputPath)&&(o=Yv(r.outputPath,"utf-8").split(`
|
|
23
30
|
`).slice(-20).join(`
|
|
24
|
-
`))}catch{}return{workerId:r.info.workerId,provider:r.info.provider,state:r.info.state,elapsedSeconds:n,pid:r.info.pid,outputTail:
|
|
25
|
-
`).map(c=>c.trim().slice(3)):[];return a.length>0&&(this.execGit(["commit","-m",s],o),this.execGit(["merge",n.info.worktreeBranch,"--no-edit"],this.baseDir)),this.worktreeManager.remove(n.info.workerId),n.info.worktreePath=null,n.info.worktreeBranch=null,{merged:a}}rejectChanges(e){let r=this.workers.get(e);if(!r)throw new Error(`Worker not found: ${e}`);r.info.worktreePath&&this.worktreeManager.remove(r.info.workerId),r.info.worktreePath=null,r.info.worktreeBranch=null}tryCreateWorktree(e){try{return this.worktreeManager.create(e)}catch(r){let n=r instanceof Error?r.message:String(r);return console.warn(`[CliWorkerManager] Worker ${e} failed to create isolated worktree: ${n} \u2014 falling back to shared base directory.`),null}}execGit(e,r){return
|
|
26
|
-
`).map(n=>n.trim().slice(3)).filter(Boolean):[]}static buildWorkerEnv(){let e={};for(let r of
|
|
31
|
+
`))}catch{}return{workerId:r.info.workerId,provider:r.info.provider,state:r.info.state,elapsedSeconds:n,pid:r.info.pid,outputTail:jo(o),worktreeBranch:r.info.worktreeBranch,retryCount:r.info.retryCount}}collect(e){let r=this.workers.get(e);if(!r)return;let n="";try{Qv(r.outputPath)&&(n=Yv(r.outputPath,"utf-8"))}catch{}n=jo(n);let o=null;try{r.info.worktreePath&&(o=this.reviewChanges(r.info.workerId))}catch{o=null}return r.info.state===Fe.COLLECTING&&(r.info.state=Fe.COMPLETED),{workerId:r.info.workerId,state:r.info.state,exitCode:r.info.exitCode,outputFull:n,gitDiff:o?.fullDiff??"",filesChanged:o?.filesChanged??[],worktreeBranch:r.info.worktreeBranch}}stop(e){let r=this.workers.get(e);if(!r||!r.process||r.info.state!==Fe.RUNNING)return;r.info.state=Fe.CANCELLING;let n=r.process.pid;if(n)Po(n);else try{r.process.kill("SIGTERM")}catch{}setTimeout(()=>{if(r.info.state===Fe.CANCELLING){try{r.process?.kill("SIGKILL")}catch{}r.info.state=Fe.CANCELLED}},5e3)}listAll(){return[...this.workers.values()].map(e=>({...e.info}))}reviewChanges(e){let r=this.workers.get(e);if(!r)throw new Error(`Worker not found: ${e}`);if(!r.info.worktreePath)throw new Error(`Worker ${e} has no isolated worktree`);let n=r.info.worktreePath;return this.execGitSafe(["add","-N","."],n),{workerId:r.info.workerId,provider:r.info.provider,worktreePath:r.info.worktreePath,branch:r.info.worktreeBranch,filesChanged:this.listChangedFiles(n),diffStat:this.execGit(["diff","--stat","HEAD"],n),fullDiff:this.execGit(["diff","HEAD"],n)}}acceptChanges(e,r){let n=this.workers.get(e);if(!n)throw new Error(`Worker not found: ${e}`);if(!n.info.worktreePath||!n.info.worktreeBranch)throw new Error(`Worker ${e} has no isolated worktree`);let o=n.info.worktreePath,s=r??`agestra: worker ${e}`;this.execGit(["add","-A"],o);let i=this.execGit(["status","--porcelain"],o),a=i.trim()?i.trim().split(`
|
|
32
|
+
`).map(c=>c.trim().slice(3)):[];return a.length>0&&(this.execGit(["commit","-m",s],o),this.execGit(["merge",n.info.worktreeBranch,"--no-edit"],this.baseDir)),this.worktreeManager.remove(n.info.workerId),n.info.worktreePath=null,n.info.worktreeBranch=null,{merged:a}}rejectChanges(e){let r=this.workers.get(e);if(!r)throw new Error(`Worker not found: ${e}`);r.info.worktreePath&&this.worktreeManager.remove(r.info.workerId),r.info.worktreePath=null,r.info.worktreeBranch=null}tryCreateWorktree(e){try{return this.worktreeManager.create(e)}catch(r){let n=r instanceof Error?r.message:String(r);return console.warn(`[CliWorkerManager] Worker ${e} failed to create isolated worktree: ${n} \u2014 falling back to shared base directory.`),null}}execGit(e,r){return ZC("git",e,{cwd:r,encoding:"utf-8",stdio:"pipe",timeout:3e4}).trim()}execGitSafe(e,r){try{return this.execGit(e,r)}catch{return null}}listChangedFiles(e){let r=this.execGitSafe(["status","--porcelain"],e);return r?.trim()?r.trim().split(`
|
|
33
|
+
`).map(n=>n.trim().slice(3)).filter(Boolean):[]}static buildWorkerEnv(){let e={};for(let r of Vy){let n=process.env[r];n!==void 0&&(e[r]=n)}for(let[r,n]of Object.entries(process.env))r.startsWith("AGESTRA_")&&n!==void 0&&(e[r]=n);return e}getProviderPolicy(e){let r=this.providerPolicies.get(e);if(r===void 0){let n=[...this.providerPolicies.keys()];throw new Error(`No execution policy configured for provider "${e}". Known: [${n.join(", ")}]`)}return r}assertAutonomousExecutionAllowed(e){let r=this.getProviderPolicy(e);if(!cc(r))throw new Error(`Execution policy blocks autonomous worker for provider "${e}" (policy: ${r})`)}validateWorkingDirectory(e){return Mt(e,this.baseDir)}normalizeReadablePaths(e,r){return e?.map(n=>{let o=Xv(n)?n:e_(r,n);return Or(o,this.baseDir)})}normalizeWritablePaths(e,r){return e?.map(n=>{let o=Xv(n)?n:e_(r,n);return Mt(o,this.baseDir)})}};var Sc=class{upstream;cached=null;cachedAt=0;cachedDaysBack=0;ttlMs;constructor(e,r){this.upstream=e,this.ttlMs=r?.ttlMs??6e4}getQualityStats(e){let r=Date.now();return this.cached!==null&&this.cachedDaysBack===e&&r-this.cachedAt<this.ttlMs?this.cached:(this.cached=this.upstream.getQualityStats(e),this.cachedAt=r,this.cachedDaysBack=e,this.cached)}invalidate(){this.cached=null,this.cachedAt=0}};var Mo=class{maxConcurrent;maxQueueSize;running=0;queue=[];constructor(e,r=16){this.maxConcurrent=e,this.maxQueueSize=r}async acquire(){if(this.running<this.maxConcurrent){this.running++;return}if(this.queue.length>=this.maxQueueSize)throw new Error(`ConcurrencyLimiter queue full (max ${this.maxQueueSize})`);return new Promise(e=>{this.queue.push(()=>{this.running++,e()})})}release(){this.running--;let e=this.queue.shift();e&&e()}async run(e){await this.acquire();try{return await e()}finally{this.release()}}};Gs();Tr();import{spawn as VC}from"child_process";var BC=3e5,WC=3,HC=15e3,KC=3e3,t_=10*1024*1024,JC=6e5,xc=class{state="idle";process=null;consecutiveFailures=0;lastFailureTime=0;idleTimer=null;pendingRequests=new Map;command;commandPrefix;commandArgs;idleTimeoutMs;maxConsecutiveFailures;startupTimeoutMs;stdoutBuffer="";startupResolve=null;startupReject=null;constructor(e){this.command=e.command,this.commandPrefix=e.commandPrefix??[],this.commandArgs=e.commandArgs??[],this.idleTimeoutMs=e.idleTimeoutMs??BC,this.maxConsecutiveFailures=e.maxConsecutiveFailures??WC,this.startupTimeoutMs=e.startupTimeoutMs??HC}async request(e,r,n){if(this.state==="shutdown")throw new Error("CodexAppServer is shutting down");if(n?.aborted)throw new Ot(n.reason);if((this.state==="idle"||this.state==="error")&&await this.start(),this.state==="starting"&&await this.waitForReady(),n?.aborted)throw new Ot(n.reason);if(this.state!=="ready"&&this.state!=="busy")throw new Error(`CodexAppServer in unexpected state: ${this.state}`);return this.sendRequest(e,r??JC,n)}isAlive(){return this.process!==null&&!this.process.killed&&(this.state==="ready"||this.state==="busy"||this.state==="starting")}getState(){return this.state}shouldFallback(){return this.consecutiveFailures<this.maxConsecutiveFailures?!1:Date.now()-this.lastFailureTime>Wy?(this.consecutiveFailures=0,!1):!0}resetFailures(){this.consecutiveFailures=0}async shutdown(){if(!this.process||this.state==="shutdown"||this.state==="idle")return;this.state="shutdown",this.clearIdleTimer();for(let[,n]of this.pendingRequests)clearTimeout(n.timer),n.reject(new Error("App server shutting down"));this.pendingRequests.clear(),this.startupReject&&(this.startupReject(new Error("App server shutting down")),this.startupResolve=null,this.startupReject=null);let e=this.process;this.process=null;try{e.kill("SIGTERM")}catch{this.state="idle";return}let r=setTimeout(()=>{try{e.kill("SIGKILL")}catch{}},KC);await new Promise(n=>{e.on("close",()=>{clearTimeout(r),n()}),(e.exitCode!==null||e.signalCode!==null)&&(clearTimeout(r),n())}),this.state="idle"}async start(){if(this.state!=="idle"&&this.state!=="error")return;this.state="starting",this.stdoutBuffer="";let e=[...this.commandPrefix,...this.commandArgs,"app-server"],r=Pn(this.command,e),n=VC(r.command,r.args,{stdio:["pipe","pipe","pipe"],detached:!1,windowsHide:!0});this.process=n;let o=c=>this.handleStdout(c.toString()),s=c=>{process.stderr.write(`[codex-app-server] ${c.toString()}`)},i=(c,u)=>{n.stdout?.off("data",o),n.stderr?.off("data",s),n.off("error",a),this.handleProcessClose(c,u)},a=c=>{n.stdout?.off("data",o),n.stderr?.off("data",s),n.off("close",i),this.handleProcessError(c)};return n.stdout.on("data",o),n.stderr.on("data",s),n.on("close",i),n.on("error",a),this.waitForReady()}waitForReady(){return this.state==="ready"?Promise.resolve():new Promise((e,r)=>{let n=setTimeout(()=>{this.startupResolve=null,this.startupReject=null,this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.state="error",r(new Error(`CodexAppServer startup timeout (${this.startupTimeoutMs}ms)`))},this.startupTimeoutMs);this.startupResolve=()=>{clearTimeout(n),e()},this.startupReject=o=>{clearTimeout(n),r(o)}})}handleStdout(e){if(this.stdoutBuffer+=e,this.stdoutBuffer.length>t_){if(process.stderr.write(`[codex-app-server] stdoutBuffer exceeded ${t_} bytes \u2014 dropping and restarting
|
|
27
34
|
`),this.stdoutBuffer="",this.state!=="shutdown"){this.state="error",this.consecutiveFailures++,this.lastFailureTime=Date.now();for(let[,o]of this.pendingRequests)clearTimeout(o.timer),o.reject(new Error("App server stdout buffer overflow"));this.pendingRequests.clear();try{this.process?.kill("SIGTERM")}catch{}}return}for(let o of this.pendingRequests.values())o.resetTimer();let r=()=>{this.state="ready",this.consecutiveFailures=0,this.resetIdleTimer(),this.startupResolve&&(this.startupResolve(),this.startupResolve=null,this.startupReject=null)},n;for(;(n=this.stdoutBuffer.indexOf(`
|
|
28
|
-
`))!==-1;){let o=this.stdoutBuffer.slice(0,n).trim();if(this.stdoutBuffer=this.stdoutBuffer.slice(n+1),!!o){if(this.state==="starting"&&(o.includes("ready")||o.includes("initialized"))){r();continue}try{let s=JSON.parse(o);if(this.state==="starting"&&r(),s.id&&this.pendingRequests.has(s.id)){let i=this.pendingRequests.get(s.id);this.pendingRequests.delete(s.id),clearTimeout(i.timer),this.consecutiveFailures=0,this.pendingRequests.size===0&&(this.state="ready",this.resetIdleTimer()),i.resolve(s)}}catch{this.state==="starting"&&r()}}}}sendRequest(e,r,n){return new Promise((o,s)=>{if(!this.process||!this.process.stdin){s(new Error("App server process not available"));return}let i=null,a=()=>{i&&n&&(n.removeEventListener("abort",i),i=null)},c=()=>{this.pendingRequests.delete(e.id),a(),this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.pendingRequests.size===0&&this.state==="busy"&&(this.state="error"),s(new Error(`App server request timeout (${r}ms of inactivity)`))},u=setTimeout(c,r),l=()=>{clearTimeout(u),u=setTimeout(c,r)},d=f=>{a(),o(f)},p=f=>{a(),s(f)};this.pendingRequests.set(e.id,{resolve:d,reject:p,timer:u,resetTimer:l}),this.state="busy",this.clearIdleTimer(),n&&(i=()=>{let f=this.pendingRequests.get(e.id);f&&(this.pendingRequests.delete(e.id),clearTimeout(f.timer),this.pendingRequests.size===0&&this.state==="busy"&&(this.state="ready",this.resetIdleTimer()),a(),s(new
|
|
29
|
-
`)}catch(f){clearTimeout(u),this.pendingRequests.delete(e.id),a(),this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.state="error",s(new Error(`Failed to write to app server: ${f.message}`))}})}handleProcessClose(e,r){for(let[,n]of this.pendingRequests)clearTimeout(n.timer),n.reject(new Error(`App server process exited (code=${e}, signal=${r})`));this.pendingRequests.clear(),this.startupReject&&(this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.startupReject(new Error(`App server process exited during startup (code=${e})`)),this.startupResolve=null,this.startupReject=null),this.process=null,this.clearIdleTimer(),this.state!=="shutdown"&&(this.state=this.state==="starting"?"error":"idle")}handleProcessError(e){this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.startupReject&&(this.startupReject(new Error(`App server spawn error: ${e.message}`)),this.startupResolve=null,this.startupReject=null),this.state="error",this.process=null,this.clearIdleTimer()}resetIdleTimer(){this.clearIdleTimer(),this.idleTimer=setTimeout(()=>{this.state==="ready"&&this.pendingRequests.size===0&&this.shutdown().catch(()=>{})},this.idleTimeoutMs),this.idleTimer&&typeof this.idleTimer.unref=="function"&&this.idleTimer.unref()}clearIdleTimer(){this.idleTimer!==null&&(clearTimeout(this.idleTimer),this.idleTimer=null)}};function
|
|
35
|
+
`))!==-1;){let o=this.stdoutBuffer.slice(0,n).trim();if(this.stdoutBuffer=this.stdoutBuffer.slice(n+1),!!o){if(this.state==="starting"&&(o.includes("ready")||o.includes("initialized"))){r();continue}try{let s=JSON.parse(o);if(this.state==="starting"&&r(),s.id&&this.pendingRequests.has(s.id)){let i=this.pendingRequests.get(s.id);this.pendingRequests.delete(s.id),clearTimeout(i.timer),this.consecutiveFailures=0,this.pendingRequests.size===0&&(this.state="ready",this.resetIdleTimer()),i.resolve(s)}}catch{this.state==="starting"&&r()}}}}sendRequest(e,r,n){return new Promise((o,s)=>{if(!this.process||!this.process.stdin){s(new Error("App server process not available"));return}let i=null,a=()=>{i&&n&&(n.removeEventListener("abort",i),i=null)},c=()=>{this.pendingRequests.delete(e.id),a(),this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.pendingRequests.size===0&&this.state==="busy"&&(this.state="error"),s(new Error(`App server request timeout (${r}ms of inactivity)`))},u=setTimeout(c,r),l=()=>{clearTimeout(u),u=setTimeout(c,r)},d=f=>{a(),o(f)},p=f=>{a(),s(f)};this.pendingRequests.set(e.id,{resolve:d,reject:p,timer:u,resetTimer:l}),this.state="busy",this.clearIdleTimer(),n&&(i=()=>{let f=this.pendingRequests.get(e.id);f&&(this.pendingRequests.delete(e.id),clearTimeout(f.timer),this.pendingRequests.size===0&&this.state==="busy"&&(this.state="ready",this.resetIdleTimer()),a(),s(new Ot(n.reason)))},n.addEventListener("abort",i));try{this.process.stdin.write(JSON.stringify(e)+`
|
|
36
|
+
`)}catch(f){clearTimeout(u),this.pendingRequests.delete(e.id),a(),this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.state="error",s(new Error(`Failed to write to app server: ${f.message}`))}})}handleProcessClose(e,r){for(let[,n]of this.pendingRequests)clearTimeout(n.timer),n.reject(new Error(`App server process exited (code=${e}, signal=${r})`));this.pendingRequests.clear(),this.startupReject&&(this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.startupReject(new Error(`App server process exited during startup (code=${e})`)),this.startupResolve=null,this.startupReject=null),this.process=null,this.clearIdleTimer(),this.state!=="shutdown"&&(this.state=this.state==="starting"?"error":"idle")}handleProcessError(e){this.consecutiveFailures++,this.lastFailureTime=Date.now(),this.startupReject&&(this.startupReject(new Error(`App server spawn error: ${e.message}`)),this.startupResolve=null,this.startupReject=null),this.state="error",this.process=null,this.clearIdleTimer()}resetIdleTimer(){this.clearIdleTimer(),this.idleTimer=setTimeout(()=>{this.state==="ready"&&this.pendingRequests.size===0&&this.shutdown().catch(()=>{})},this.idleTimeoutMs),this.idleTimer&&typeof this.idleTimer.unref=="function"&&this.idleTimer.unref()}clearIdleTimer(){this.idleTimer!==null&&(clearTimeout(this.idleTimer),this.idleTimer=null)}};function N(t){return t instanceof Error?t.message:String(t)}function Lo(t,e,r="... [truncated]"){return t.length<=e?t:t.slice(0,e)+r}Gs();async function qo(t,e){try{if((await vt({command:t,args:["--version"],timeout:1e4})).exitCode===0)return{available:!0,cliPath:t}}catch{}try{if((await vt({command:"npx",args:[e,"--version"],timeout:3e4})).exitCode===0)return{available:!0,cliPath:"npx"}}catch{}return{available:!1,cliPath:null}}async function Fo(t,e,r,n){if(!t)return{status:"error",message:`${n} CLI not installed`};try{let i=await vt({command:t==="npx"?"npx":e,args:t==="npx"?[r,"--version"]:["--version"],timeout:1e4});return i.exitCode===0?{status:"ok",message:`${n} CLI available`}:{status:"error",message:`Exit code: ${i.exitCode}`}}catch(o){return{status:"error",message:o.message}}}function ai(t){let e=t.trim();try{return JSON.parse(e)}catch{}let r=t.split(`
|
|
37
|
+
`);for(let n=r.length-1;n>=0;n--){let o=r[n].trim();if(o.startsWith("{"))try{return JSON.parse(o)}catch{}}return null}function Uo(t,e,r){let n=e.trim()||`Exit code ${t}`,o=n.toLowerCase();if(o.includes("429")||o.includes("rate limit")||o.includes("quota")){let s=new Se(r,`Rate limited: ${n}`);throw s.markUnavailable=!0,s}throw o.includes("auth")||o.includes("credential")||o.includes("login")||o.includes("api key")?new Se(r,`Authentication issue: ${n}`):new dt(r,n)}function r_(t){let e="",r=!1;return{feed(n){if(r)return null;e+=n;let o=n.toLowerCase();if(o.includes("429")||o.includes("rate limit")||o.includes("rate-limit")||o.includes("resource_exhausted")||o.includes("quota")){r=!0;let s=new Se(t,`Rate limited (detected in stream): ${n.trim().slice(0,200)}`);return s.markUnavailable=!0,s}return o.includes("authentication")||o.includes("credential")||o.includes("api key")?(r=!0,new Se(t,`Authentication issue (detected in stream): ${n.trim().slice(0,200)}`)):null},drain(){return e}}}function Bn(t){let e=t.prompt;if(t.system&&(e=`${t.system}
|
|
30
38
|
|
|
31
39
|
${e}`),t.files?.length)for(let r of t.files)r.content&&(e+=`
|
|
32
40
|
|
|
33
41
|
### File: ${r.path}
|
|
34
42
|
\`\`\`
|
|
35
43
|
${r.content}
|
|
36
|
-
\`\`\``);return e}function
|
|
44
|
+
\`\`\``);return e}function kc(t,e){return!!t.files?.length||e.length>4e3}function Jd(t){let e=0;return t.replace(/^### File: .+$/gm,()=>(e+=1,`### File ${e}`))}function Zo(t,e,r,n){return t==="npx"?{command:"npx",cliArgs:[r,...n]}:{command:e,cliArgs:n}}function Vo(t,e,r){if(t instanceof Se||t instanceof dt||t instanceof Ot)throw t;let n=t?.message??"";throw n.startsWith("CLI timeout after ")?new $o(e,r):new dt(e,n)}function YC(t){let e=t.prompt;if(t.system&&(e=`${t.system}
|
|
37
45
|
|
|
38
46
|
${e}`),t.files?.length)for(let r of t.files)r.content&&(e+=`
|
|
39
47
|
|
|
40
48
|
### File: ${r.path}
|
|
41
49
|
\`\`\`
|
|
42
50
|
${r.content}
|
|
43
|
-
\`\`\``);return e}function tP(t,e){let r=e?.model;return typeof r=="string"&&r.length>0?r:t}var hr=class{id;type;bridge;modelName;displayName;capabilities;constructor(e){this.id=e.id??e.bridge.providerId,this.type=e.type,this.bridge=e.bridge,this.modelName=e.modelName??e.type,this.displayName=e.displayName,this.capabilities=e.capabilities}async initialize(){}async healthCheck(){return this.bridge.healthCheck?this.bridge.healthCheck():this.bridge.isAvailable()?{status:"ok",message:`${this.displayName} host bridge available`}:{status:"error",message:`${this.displayName} host bridge unavailable`}}getCapabilities(){return{...this.capabilities,models:this.capabilities.models.map((e,r)=>r===0?{...e,name:this.modelName}:{...e})}}getDescriptor(){return cr(this,this.getCapabilities())}isAvailable(){return this.bridge.isAvailable()}async chat(e){if(!this.isAvailable())throw new pe(this.id,`${this.displayName} host bridge is not available`);try{let r=eP(e),n={...e.extra??{}};e.model&&(n.model=e.model),typeof e.temperature=="number"&&(n.temperature=e.temperature),typeof e.maxTokens=="number"&&(n.maxTokens=e.maxTokens);let o=await this.bridge.runTurn({prompt:r,system:e.system,metadata:n});return{text:o.text,model:tP(this.modelName,o.metadata),provider:this.id,metadata:o.metadata}}catch(r){let n=r instanceof Error?r.message:String(r);throw/sampling|host bridge unavailable|does not support/i.test(n)?new pe(this.id,n):new He(this.id,n)}}};var rP={maxContext:2e5,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!1,supportsToolUse:!1,strengths:["reasoning","review","synthesis","moderation"],models:[{name:"claude-host",description:"Claude host model via MCP sampling bridge",strengths:["reasoning","review","synthesis"]}]},Si=class extends hr{constructor(e){super({...e,type:"claude-host",displayName:"Claude",capabilities:rP,modelName:e.modelName??"claude-host"})}};var nP={maxContext:2e5,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!1,supportsToolUse:!1,strengths:["coding","reasoning","review","implementation"],models:[{name:"codex-host",description:"Codex host model via MCP sampling bridge",strengths:["coding","implementation","review"]}]},$i=class extends hr{constructor(e){super({...e,type:"codex-host",displayName:"Codex",capabilities:nP,modelName:e.modelName??"codex-host"})}};var oP={maxContext:1e6,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!1,supportsToolUse:!1,strengths:["analysis","reasoning","research","review"],models:[{name:"gemini-host",description:"Gemini host model via MCP sampling bridge",strengths:["analysis","research","review"]}]},ki=class extends hr{constructor(e){super({...e,type:"gemini-host",displayName:"Gemini",capabilities:oP,modelName:e.modelName??"gemini-host"})}};Wt();var Om={"report.header.topic":"Topic","report.header.participants":"Participants","report.header.individualDocs":"Individual documents","report.table.proposer":"Proposer","report.table.opinion":"Opinion","report.table.severity":"Severity","report.table.agreement":"Agreement","report.section.mainTable":"Proposal ledger","report.section.dissentDetail":"Dissenting items","report.section.contributionSummary":"AI contribution summary","report.contribution.ai":"AI","report.contribution.proposed":"Proposed","report.contribution.accepted":"Accepted","report.contribution.revises":"Revises issued","report.contribution.abstains":"Abstains","report.footer.synthesisPath":"Final synthesis document","report.footer.debatePath":"Debate transcript","report.footer.pendingSynthesis":"(pending leader approval)","report.status.running":"running","report.status.readyForApproval":"ready for approval","report.status.consensus":"consensus","report.status.escalated":"escalated","report.status.approved":"approved","report.status.rejected":"rejected","report.status.leaderTimeout":"leader timeout","report.status.error":"error","synthesis.status.consensus":"Consensus reached","synthesis.status.escalated":"Partial / escalated","synthesis.section.acceptedItems":"Accepted Items","synthesis.section.rejectedItems":"Rejected / Withdrawn Items","synthesis.section.openItems":"Open Items","synthesis.section.sources":"Sources","synthesis.narration.consensusIn":"Consensus reached in round {round} of {max}.","synthesis.narration.escalated":"Session escalated by user after {round} rounds without consensus.","synthesis.narration.leaderNote":"Leader note","approval.pending":"Awaiting leader approval. Call `agent_debate_approve`, `agent_debate_continue`, or `agent_debate_reject`.","approval.timeout":"Session timed out waiting for leader decision ({hours}h).","moderator.narration.roundHeader":"Round {round} of {max}","moderator.narration.consensusInRound":"Consensus reached after {round} round(s).","moderator.narration.dissentDetailHeader":"Unresolved items","moderator.narration.noInterest":"No interest from participants","moderator.narration.participantDropout":"Participant `{participantId}` marked unavailable after repeated failures.","moderator.narration.participantTimeout":"Participant `{participantId}` did not respond in this round.","moderator.narration.leaderTimeoutFooter":"Leader Timeout","moderator.narration.rejected":"Session rejected by leader.","moderator.narration.approved":"Session approved by leader.","moderator.narration.aliasClarification":"Alias clarification phase","prompt.system.moderator":"You are the moderator of a structured multi-AI debate. You do not author proposals; you aggregate structured votes and produce a neutral synthesis. Respond only in the channels the protocol defines.","error.participantTimeout":"Participant `{participantId}` timed out after {seconds}s.","error.parseFailure":"Could not parse `<{tag}>` block from `{participantId}`.","error.sessionNotFound":"Debate session `{sessionId}` was not found.","error.invalidState":"Operation `{operation}` is not allowed in state `{state}`.","error.unknownLocaleFallback":"Unknown locale `{locale}`; falling back to `{fallback}`.","askUser.escalation.header":"Maximum rounds reached without consensus","askUser.escalation.question":"How would you like to proceed?","askUser.escalation.continue":"Continue +{rounds} rounds","askUser.escalation.escalate":"Escalate without consensus","askUser.escalation.stop":"Stop the debate"};var Mm={"report.header.topic":"\uC8FC\uC81C","report.header.participants":"\uCC38\uAC00\uC790","report.header.individualDocs":"\uAC1C\uBCC4 \uAC80\uD1A0 \uBB38\uC11C","report.table.proposer":"\uC81C\uC548\uC790","report.table.opinion":"\uC758\uACAC","report.table.severity":"\uC911\uC694\uB3C4","report.table.agreement":"\uB3D9\uC758\uC728","report.section.mainTable":"\uC81C\uC548 \uC6D0\uC7A5","report.section.dissentDetail":"\uBBF8\uD569\uC758 \uD56D\uBAA9 \uC0C1\uC138","report.section.contributionSummary":"AI \uAE30\uC5EC\uB3C4 \uC694\uC57D","report.contribution.ai":"AI","report.contribution.proposed":"\uC81C\uC548","report.contribution.accepted":"\uCC44\uD0DD","report.contribution.revises":"\uC218\uC815 \uC694\uCCAD","report.contribution.abstains":"\uAE30\uAD8C","report.footer.synthesisPath":"\uCD5C\uC885 \uD569\uC758 \uBB38\uC11C","report.footer.debatePath":"\uD1A0\uB860 \uAE30\uB85D","report.footer.pendingSynthesis":"(\uB9AC\uB354 \uC2B9\uC778 \uB300\uAE30 \uC911)","report.status.running":"\uC9C4\uD589 \uC911","report.status.readyForApproval":"\uC2B9\uC778 \uB300\uAE30","report.status.consensus":"\uD569\uC758 \uB3C4\uB2EC","report.status.escalated":"\uC5D0\uC2A4\uCEEC\uB808\uC774\uC158","report.status.approved":"\uC2B9\uC778\uB428","report.status.rejected":"\uAE30\uAC01\uB428","report.status.leaderTimeout":"\uB9AC\uB354 \uC751\uB2F5 \uC2DC\uAC04 \uCD08\uACFC","report.status.error":"\uC624\uB958","synthesis.status.consensus":"\uD569\uC758 \uB3C4\uB2EC","synthesis.status.escalated":"\uBD80\uBD84 \uD569\uC758 / \uC5D0\uC2A4\uCEEC\uB808\uC774\uC158","synthesis.section.acceptedItems":"\uCC44\uD0DD \uD56D\uBAA9","synthesis.section.rejectedItems":"\uAE30\uAC01 / \uCCA0\uD68C \uD56D\uBAA9","synthesis.section.openItems":"\uBBF8\uACB0 \uD56D\uBAA9","synthesis.section.sources":"\uADFC\uAC70","synthesis.narration.consensusIn":"\uC804\uCCB4 {max}\uB77C\uC6B4\uB4DC \uC911 {round}\uB77C\uC6B4\uB4DC\uC5D0\uC11C \uD569\uC758\uC5D0 \uB3C4\uB2EC\uD558\uC600\uC2B5\uB2C8\uB2E4.","synthesis.narration.escalated":"{round}\uB77C\uC6B4\uB4DC \uB3D9\uC548 \uD569\uC758\uC5D0 \uC774\uB974\uC9C0 \uBABB\uD558\uC5EC \uC0AC\uC6A9\uC790 \uD310\uB2E8\uC73C\uB85C \uC5D0\uC2A4\uCEEC\uB808\uC774\uC158\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","synthesis.narration.leaderNote":"\uB9AC\uB354 \uBA54\uBAA8","approval.pending":"\uB9AC\uB354 \uC2B9\uC778\uC744 \uAE30\uB2E4\uB9AC\uACE0 \uC788\uC2B5\uB2C8\uB2E4. `agent_debate_approve`, `agent_debate_continue`, `agent_debate_reject` \uC911 \uD558\uB098\uB97C \uD638\uCD9C\uD574 \uC8FC\uC2ED\uC2DC\uC624.","approval.timeout":"\uB9AC\uB354 \uACB0\uC815\uC744 \uAE30\uB2E4\uB9AC\uB2E4 \uC138\uC158\uC774 \uC2DC\uAC04 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4({hours}\uC2DC\uAC04).","moderator.narration.roundHeader":"{round}/{max} \uB77C\uC6B4\uB4DC","moderator.narration.consensusInRound":"{round}\uB77C\uC6B4\uB4DC \uB9CC\uC5D0 \uD569\uC758\uC5D0 \uB3C4\uB2EC\uD558\uC600\uC2B5\uB2C8\uB2E4.","moderator.narration.dissentDetailHeader":"\uBBF8\uD574\uACB0 \uD56D\uBAA9","moderator.narration.noInterest":"\uCC38\uAC00\uC790 \uAD00\uC2EC \uC5C6\uC74C","moderator.narration.participantDropout":"\uCC38\uAC00\uC790 `{participantId}`\uAC00 \uBC18\uBCF5\uC801 \uC2E4\uD328\uB85C \uC778\uD574 \uC0AC\uC6A9 \uBD88\uAC00 \uC0C1\uD0DC\uB85C \uD45C\uC2DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","moderator.narration.participantTimeout":"\uCC38\uAC00\uC790 `{participantId}`\uAC00 \uC774\uBC88 \uB77C\uC6B4\uB4DC\uC5D0 \uC751\uB2F5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.","moderator.narration.leaderTimeoutFooter":"\uB9AC\uB354 \uC751\uB2F5 \uC2DC\uAC04 \uCD08\uACFC","moderator.narration.rejected":"\uB9AC\uB354\uC5D0 \uC758\uD574 \uC138\uC158\uC774 \uAE30\uAC01\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","moderator.narration.approved":"\uB9AC\uB354\uC5D0 \uC758\uD574 \uC138\uC158\uC774 \uC2B9\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","moderator.narration.aliasClarification":"\uBCC4\uCE6D \uD655\uC778 \uB2E8\uACC4","prompt.system.moderator":"\uB2F9\uC2E0\uC740 \uAD6C\uC870\uD654\uB41C \uB2E4\uC911 AI \uD1A0\uB860\uC758 \uC911\uC7AC\uC790\uC785\uB2C8\uB2E4. \uC81C\uC548\uC744 \uC9C1\uC811 \uC791\uC131\uD558\uC9C0 \uC54A\uC73C\uBA70, \uAD6C\uC870\uD654\uB41C \uD22C\uD45C\uB97C \uC9D1\uACC4\uD558\uACE0 \uC911\uB9BD\uC801\uC778 \uD569\uC758\uC548\uC744 \uC0B0\uCD9C\uD569\uB2C8\uB2E4. \uD504\uB85C\uD1A0\uCF5C\uC774 \uC815\uC758\uD55C \uCC44\uB110 \uC548\uC5D0\uC11C\uB9CC \uC751\uB2F5\uD558\uC2ED\uC2DC\uC624.","error.participantTimeout":"\uCC38\uAC00\uC790 `{participantId}`\uAC00 {seconds}\uCD08 \uB0B4\uC5D0 \uC751\uB2F5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.","error.parseFailure":"\uCC38\uAC00\uC790 `{participantId}`\uC758 `<{tag}>` \uBE14\uB85D\uC744 \uD574\uC11D\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.","error.sessionNotFound":"\uD1A0\uB860 \uC138\uC158 `{sessionId}`\uC744(\uB97C) \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","error.invalidState":"\uC0C1\uD0DC `{state}`\uC5D0\uC11C\uB294 `{operation}` \uC791\uC5C5\uC744 \uC218\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","error.unknownLocaleFallback":"\uC54C \uC218 \uC5C6\uB294 \uB85C\uCF00\uC77C `{locale}`; \uAE30\uBCF8\uAC12 `{fallback}`(\uC73C)\uB85C \uB300\uCCB4\uD569\uB2C8\uB2E4.","askUser.escalation.header":"\uCD5C\uB300 \uB77C\uC6B4\uB4DC\uC5D0 \uB3C4\uB2EC\uD558\uC600\uC73C\uB098 \uD569\uC758\uC5D0 \uC774\uB974\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4","askUser.escalation.question":"\uC5B4\uB5BB\uAC8C \uC9C4\uD589\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","askUser.escalation.continue":"{rounds}\uB77C\uC6B4\uB4DC \uCD94\uAC00 \uC9C4\uD589","askUser.escalation.escalate":"\uD569\uC758 \uC5C6\uC774 \uC5D0\uC2A4\uCEEC\uB808\uC774\uC158","askUser.escalation.stop":"\uD1A0\uB860 \uC885\uB8CC"};var Nm={"report.header.topic":"\u30C6\u30FC\u30DE","report.header.participants":"\u53C2\u52A0\u8005","report.header.individualDocs":"\u500B\u5225\u30EC\u30D3\u30E5\u30FC\u6587\u66F8","report.table.proposer":"\u63D0\u6848\u8005","report.table.opinion":"\u610F\u898B","report.table.severity":"\u91CD\u5927\u5EA6","report.table.agreement":"\u5408\u610F\u7387","report.section.mainTable":"\u63D0\u6848\u53F0\u5E33","report.section.dissentDetail":"\u672A\u5408\u610F\u9805\u76EE\u306E\u8A73\u7D30","report.section.contributionSummary":"AI \u8CA2\u732E\u5EA6\u30B5\u30DE\u30EA\u30FC","report.contribution.ai":"AI","report.contribution.proposed":"\u63D0\u6848","report.contribution.accepted":"\u63A1\u629E","report.contribution.revises":"\u4FEE\u6B63\u8981\u8ACB","report.contribution.abstains":"\u68C4\u6A29","report.footer.synthesisPath":"\u6700\u7D42\u5408\u610F\u6587\u66F8","report.footer.debatePath":"\u8A0E\u8B70\u8A18\u9332","report.footer.pendingSynthesis":"(\u30EA\u30FC\u30C0\u30FC\u627F\u8A8D\u5F85\u3061)","report.status.running":"\u9032\u884C\u4E2D","report.status.readyForApproval":"\u627F\u8A8D\u5F85\u3061","report.status.consensus":"\u5408\u610F\u5F62\u6210","report.status.escalated":"\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3","report.status.approved":"\u627F\u8A8D\u6E08\u307F","report.status.rejected":"\u5374\u4E0B","report.status.leaderTimeout":"\u30EA\u30FC\u30C0\u30FC\u5FDC\u7B54\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8","report.status.error":"\u30A8\u30E9\u30FC","synthesis.status.consensus":"\u5408\u610F\u306B\u9054\u3057\u307E\u3057\u305F","synthesis.status.escalated":"\u90E8\u5206\u5408\u610F / \u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3","synthesis.section.acceptedItems":"\u63A1\u629E\u9805\u76EE","synthesis.section.rejectedItems":"\u5374\u4E0B / \u53D6\u308A\u4E0B\u3052\u9805\u76EE","synthesis.section.openItems":"\u672A\u6C7A\u9805\u76EE","synthesis.section.sources":"\u6839\u62E0","synthesis.narration.consensusIn":"\u5168 {max} \u30E9\u30A6\u30F3\u30C9\u4E2D {round} \u30E9\u30A6\u30F3\u30C9\u76EE\u3067\u5408\u610F\u306B\u9054\u3057\u307E\u3057\u305F\u3002","synthesis.narration.escalated":"{round} \u30E9\u30A6\u30F3\u30C9\u7D4C\u904E\u3057\u3066\u3082\u5408\u610F\u306B\u81F3\u3089\u305A\u3001\u30E6\u30FC\u30B6\u30FC\u5224\u65AD\u3067\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3\u3055\u308C\u307E\u3057\u305F\u3002","synthesis.narration.leaderNote":"\u30EA\u30FC\u30C0\u30FC\u30E1\u30E2","approval.pending":"\u30EA\u30FC\u30C0\u30FC\u627F\u8A8D\u3092\u5F85\u6A5F\u3057\u3066\u3044\u307E\u3059\u3002`agent_debate_approve`\u3001`agent_debate_continue`\u3001`agent_debate_reject` \u306E\u3044\u305A\u308C\u304B\u3092\u547C\u3073\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002","approval.timeout":"\u30EA\u30FC\u30C0\u30FC\u5224\u65AD\u3092\u5F85\u6A5F\u4E2D\u306B\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F({hours} \u6642\u9593)\u3002","moderator.narration.roundHeader":"\u30E9\u30A6\u30F3\u30C9 {round}/{max}","moderator.narration.consensusInRound":"{round} \u30E9\u30A6\u30F3\u30C9\u76EE\u3067\u5408\u610F\u306B\u9054\u3057\u307E\u3057\u305F\u3002","moderator.narration.dissentDetailHeader":"\u672A\u89E3\u6C7A\u9805\u76EE","moderator.narration.noInterest":"\u53C2\u52A0\u8005\u306E\u95A2\u5FC3\u306A\u3057","moderator.narration.participantDropout":"\u53C2\u52A0\u8005 `{participantId}` \u306F\u7E70\u308A\u8FD4\u3057\u306E\u5931\u6557\u306B\u3088\u308A\u5229\u7528\u4E0D\u53EF\u3068\u3057\u3066\u30DE\u30FC\u30AF\u3055\u308C\u307E\u3057\u305F\u3002","moderator.narration.participantTimeout":"\u53C2\u52A0\u8005 `{participantId}` \u306F\u4ECA\u56DE\u306E\u30E9\u30A6\u30F3\u30C9\u3067\u5FDC\u7B54\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002","moderator.narration.leaderTimeoutFooter":"\u30EA\u30FC\u30C0\u30FC\u5FDC\u7B54\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8","moderator.narration.rejected":"\u30EA\u30FC\u30C0\u30FC\u306B\u3088\u308A\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u5374\u4E0B\u3055\u308C\u307E\u3057\u305F\u3002","moderator.narration.approved":"\u30EA\u30FC\u30C0\u30FC\u306B\u3088\u308A\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u627F\u8A8D\u3055\u308C\u307E\u3057\u305F\u3002","moderator.narration.aliasClarification":"\u5225\u540D\u78BA\u8A8D\u30D5\u30A7\u30FC\u30BA","prompt.system.moderator":"\u3042\u306A\u305F\u306F\u69CB\u9020\u5316\u30DE\u30EB\u30C1 AI \u8A0E\u8B70\u306E\u30E2\u30C7\u30EC\u30FC\u30BF\u30FC\u3067\u3059\u3002\u63D0\u6848\u3092\u81EA\u3089\u8D77\u6848\u305B\u305A\u3001\u69CB\u9020\u5316\u6295\u7968\u3092\u96C6\u8A08\u3057\u3066\u4E2D\u7ACB\u7684\u306A\u5408\u610F\u6848\u3092\u63D0\u793A\u3057\u307E\u3059\u3002\u30D7\u30ED\u30C8\u30B3\u30EB\u304C\u5B9A\u7FA9\u3059\u308B\u30C1\u30E3\u30CD\u30EB\u306E\u7BC4\u56F2\u5185\u3067\u306E\u307F\u5FDC\u7B54\u3057\u3066\u304F\u3060\u3055\u3044\u3002","error.participantTimeout":"\u53C2\u52A0\u8005 `{participantId}` \u306F {seconds} \u79D2\u4EE5\u5185\u306B\u5FDC\u7B54\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002","error.parseFailure":"\u53C2\u52A0\u8005 `{participantId}` \u306E `<{tag}>` \u30D6\u30ED\u30C3\u30AF\u3092\u89E3\u6790\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002","error.sessionNotFound":"\u8A0E\u8B70\u30BB\u30C3\u30B7\u30E7\u30F3 `{sessionId}` \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002","error.invalidState":"\u72B6\u614B `{state}` \u3067\u306F\u64CD\u4F5C `{operation}` \u3092\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\u3002","error.unknownLocaleFallback":"\u672A\u77E5\u306E\u30ED\u30B1\u30FC\u30EB `{locale}`\u3002\u65E2\u5B9A\u5024 `{fallback}` \u306B\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u3057\u307E\u3059\u3002","askUser.escalation.header":"\u6700\u5927\u30E9\u30A6\u30F3\u30C9\u306B\u9054\u3057\u307E\u3057\u305F\u304C\u5408\u610F\u306B\u81F3\u308A\u307E\u305B\u3093\u3067\u3057\u305F","askUser.escalation.question":"\u3069\u306E\u3088\u3046\u306B\u9032\u3081\u307E\u3059\u304B?","askUser.escalation.continue":"{rounds} \u30E9\u30A6\u30F3\u30C9\u8FFD\u52A0\u3057\u3066\u7D9A\u884C","askUser.escalation.escalate":"\u5408\u610F\u306A\u3057\u3067\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3","askUser.escalation.stop":"\u8A0E\u8B70\u3092\u7D42\u4E86"};var jm={"report.header.topic":"\u4E3B\u9898","report.header.participants":"\u53C2\u4E0E\u8005","report.header.individualDocs":"\u4E2A\u4EBA\u8BC4\u5BA1\u6587\u6863","report.table.proposer":"\u63D0\u8BAE\u8005","report.table.opinion":"\u610F\u89C1","report.table.severity":"\u4E25\u91CD\u7A0B\u5EA6","report.table.agreement":"\u540C\u610F\u7387","report.section.mainTable":"\u63D0\u6848\u53F0\u8D26","report.section.dissentDetail":"\u672A\u8FBE\u6210\u4E00\u81F4\u9879\u8BE6\u60C5","report.section.contributionSummary":"AI \u8D21\u732E\u6C47\u603B","report.contribution.ai":"AI","report.contribution.proposed":"\u63D0\u51FA","report.contribution.accepted":"\u91C7\u7EB3","report.contribution.revises":"\u4FEE\u8BA2\u8BF7\u6C42","report.contribution.abstains":"\u5F03\u6743","report.footer.synthesisPath":"\u6700\u7EC8\u5171\u8BC6\u6587\u6863","report.footer.debatePath":"\u8FA9\u8BBA\u8BB0\u5F55","report.footer.pendingSynthesis":"(\u7B49\u5F85\u8D1F\u8D23\u4EBA\u6279\u51C6)","report.status.running":"\u8FDB\u884C\u4E2D","report.status.readyForApproval":"\u5F85\u6279\u51C6","report.status.consensus":"\u5DF2\u8FBE\u6210\u5171\u8BC6","report.status.escalated":"\u5DF2\u5347\u7EA7","report.status.approved":"\u5DF2\u6279\u51C6","report.status.rejected":"\u5DF2\u62D2\u7EDD","report.status.leaderTimeout":"\u8D1F\u8D23\u4EBA\u54CD\u5E94\u8D85\u65F6","report.status.error":"\u9519\u8BEF","synthesis.status.consensus":"\u5DF2\u8FBE\u6210\u5171\u8BC6","synthesis.status.escalated":"\u90E8\u5206\u5171\u8BC6 / \u5DF2\u5347\u7EA7","synthesis.section.acceptedItems":"\u91C7\u7EB3\u9879","synthesis.section.rejectedItems":"\u62D2\u7EDD / \u64A4\u56DE\u9879","synthesis.section.openItems":"\u672A\u51B3\u9879","synthesis.section.sources":"\u4F9D\u636E","synthesis.narration.consensusIn":"\u5728\u5168\u90E8 {max} \u8F6E\u4E2D\u7684\u7B2C {round} \u8F6E\u8FBE\u6210\u5171\u8BC6\u3002","synthesis.narration.escalated":"\u7ECF\u8FC7 {round} \u8F6E\u4ECD\u672A\u8FBE\u6210\u5171\u8BC6,\u7531\u7528\u6237\u51B3\u5B9A\u5347\u7EA7\u5904\u7406\u3002","synthesis.narration.leaderNote":"\u8D1F\u8D23\u4EBA\u5907\u6CE8","approval.pending":"\u7B49\u5F85\u8D1F\u8D23\u4EBA\u6279\u51C6\u3002\u8BF7\u8C03\u7528 `agent_debate_approve`\u3001`agent_debate_continue` \u6216 `agent_debate_reject`\u3002","approval.timeout":"\u7B49\u5F85\u8D1F\u8D23\u4EBA\u51B3\u7B56\u671F\u95F4\u4F1A\u8BDD\u5DF2\u8D85\u65F6({hours} \u5C0F\u65F6)\u3002","moderator.narration.roundHeader":"\u7B2C {round}/{max} \u8F6E","moderator.narration.consensusInRound":"\u5728\u7B2C {round} \u8F6E\u8FBE\u6210\u5171\u8BC6\u3002","moderator.narration.dissentDetailHeader":"\u672A\u89E3\u51B3\u9879","moderator.narration.noInterest":"\u53C2\u4E0E\u8005\u65E0\u5174\u8DA3","moderator.narration.participantDropout":"\u53C2\u4E0E\u8005 `{participantId}` \u56E0\u591A\u6B21\u5931\u8D25\u88AB\u6807\u8BB0\u4E3A\u4E0D\u53EF\u7528\u3002","moderator.narration.participantTimeout":"\u53C2\u4E0E\u8005 `{participantId}` \u5728\u672C\u8F6E\u672A\u4F5C\u51FA\u54CD\u5E94\u3002","moderator.narration.leaderTimeoutFooter":"\u8D1F\u8D23\u4EBA\u54CD\u5E94\u8D85\u65F6","moderator.narration.rejected":"\u8D1F\u8D23\u4EBA\u5DF2\u62D2\u7EDD\u8BE5\u4F1A\u8BDD\u3002","moderator.narration.approved":"\u8D1F\u8D23\u4EBA\u5DF2\u6279\u51C6\u8BE5\u4F1A\u8BDD\u3002","moderator.narration.aliasClarification":"\u522B\u540D\u6F84\u6E05\u9636\u6BB5","prompt.system.moderator":"\u4F60\u662F\u7ED3\u6784\u5316\u591A AI \u8FA9\u8BBA\u7684\u4E3B\u6301\u4EBA\u3002\u4F60\u4E0D\u64B0\u5199\u63D0\u6848,\u800C\u662F\u6C47\u603B\u7ED3\u6784\u5316\u6295\u7968\u5E76\u4EA7\u51FA\u4E2D\u7ACB\u7684\u5171\u8BC6\u65B9\u6848\u3002\u4EC5\u5728\u534F\u8BAE\u5B9A\u4E49\u7684\u901A\u9053\u8303\u56F4\u5185\u4F5C\u51FA\u54CD\u5E94\u3002","error.participantTimeout":"\u53C2\u4E0E\u8005 `{participantId}` \u5728 {seconds} \u79D2\u5185\u672A\u54CD\u5E94\u3002","error.parseFailure":"\u65E0\u6CD5\u89E3\u6790\u53C2\u4E0E\u8005 `{participantId}` \u7684 `<{tag}>` \u5757\u3002","error.sessionNotFound":"\u672A\u627E\u5230\u8FA9\u8BBA\u4F1A\u8BDD `{sessionId}`\u3002","error.invalidState":"\u5728\u72B6\u6001 `{state}` \u4E0B\u4E0D\u5141\u8BB8\u6267\u884C\u64CD\u4F5C `{operation}`\u3002","error.unknownLocaleFallback":"\u672A\u77E5\u533A\u57DF `{locale}`,\u56DE\u9000\u5230 `{fallback}`\u3002","askUser.escalation.header":"\u5DF2\u8FBE\u6700\u5927\u8F6E\u6B21\u4F46\u4ECD\u672A\u8FBE\u6210\u5171\u8BC6","askUser.escalation.question":"\u60A8\u5E0C\u671B\u5982\u4F55\u7EE7\u7EED?","askUser.escalation.continue":"\u518D\u8FDB\u884C {rounds} \u8F6E","askUser.escalation.escalate":"\u4E0D\u8FBE\u6210\u5171\u8BC6\u5373\u5347\u7EA7","askUser.escalation.stop":"\u7ED3\u675F\u8FA9\u8BBA"};var Lm=Object.freeze({en:Om,ko:Mm,ja:Nm,zh:jm});function uP(t){return typeof t=="string"&&Qs.includes(t)}function mu(t,e){return e===void 0?t:t.replace(/\{(\w+)\}/g,(r,n)=>{if(Object.prototype.hasOwnProperty.call(e,n)){let o=e[n];return typeof o=="number"?String(o):o}return r})}function gu(t){return t===void 0?hu(Ir):uP(t)?hu(t):(console.warn(`[i18n] unknown locale '${t}', falling back to ${Ir}`),hu(Ir))}function lP(t,e,r){let n=new Set;return{locale:t,t(o,s){let i=e[o];if(i!==void 0)return mu(i,s);let a=r[o];return a!==void 0?(n.has(o)||(n.add(o),console.warn(`[i18n] missing key '${o}' in locale '${t}', falling back to ${Wc}`)),mu(a,s)):(n.has(o)||(n.add(o),console.warn(`[i18n] missing key '${o}' in all bundles; returning raw key`)),mu(o,s))}}}function hu(t){return lP(t,Lm[t],Lm[Wc])}async function Fm(t){let e=await fetch(`${t}/api/tags`);if(!e.ok)throw new Error(`Ollama API error: ${e.status}`);return((await e.json()).models||[]).map(n=>({name:n.name||"unknown",size:n.size||0,strengths:dP(n.name||"")}))}function dP(t){let e=["chat"],r=t.toLowerCase();return(r.includes("coder")||r.includes("code"))&&e.push("code_review","code_generation"),r.includes("instruct")&&e.push("instruction_following"),r.includes("embed")&&e.push("embedding"),e}var Yr=class t{id;type="ollama";host;defaultModel;maxContext;available=!1;unavailableUntil=0;models=[];timeouts;static RATE_LIMIT_BACKOFF_MS=6e4;constructor(e){this.id=e.id,this.host=e.host,this.defaultModel=e.defaultModel||"auto",this.maxContext=e.maxContext??32768,this.timeouts={default:e.timeouts?.default??3e4,generate:e.timeouts?.generate??3e5,chat:e.timeouts?.chat??3e5}}async initialize(){try{this.models=await Fm(this.host),this.available=this.models.length>0,this.available&&(this.unavailableUntil=0)}catch{this.available=!1}}async healthCheck(){try{let e=await fetch(`${this.host}/api/tags`);if(!e.ok)return{status:"error",message:`HTTP ${e.status}`};let r=await e.json(),n=r.models?.length??0;return{status:n>0?"ok":"degraded",message:`${n} models available`,details:{models:r.models?.map(o=>o.name)}}}catch(e){return{status:"error",message:e.message}}}getCapabilities(){return{maxContext:this.maxContext,supportsSystemPrompt:!0,supportsFiles:!1,supportsStreaming:!0,supportsJsonOutput:!1,supportsToolUse:!0,strengths:[...new Set(this.models.flatMap(e=>e.strengths))],models:this.models.map(e=>({name:e.name,description:`Ollama model (${Math.round(e.size/1e9)}GB)`,strengths:e.strengths,sizeGb:e.size/1e9}))}}isAvailable(){return this.unavailableUntil>0&&Date.now()<this.unavailableUntil?!1:(this.unavailableUntil>0&&Date.now()>=this.unavailableUntil&&(this.unavailableUntil=0),this.available)}async chat(e){if(!this.available)throw new pe(this.id,"Ollama not running or no models installed");let r=e.model||this.selectModel(),n={model:r,prompt:e.prompt,system:e.system||"You are a helpful assistant.",stream:!1,...e.extra||{}},o=new AbortController,s=setTimeout(()=>o.abort(),this.timeouts.generate),i=()=>o.abort(e.signal.reason);e.signal&&(e.signal.aborted?o.abort(e.signal.reason):e.signal.addEventListener("abort",i));try{let a=await fetch(`${this.host}/api/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),signal:o.signal});if(a.status===429)throw this.unavailableUntil=Date.now()+t.RATE_LIMIT_BACKOFF_MS,new pe(this.id,`Rate limited (429) \u2014 temporarily deactivated for ${t.RATE_LIMIT_BACKOFF_MS/1e3}s`);if(!a.ok)throw new He(this.id,`HTTP ${a.status}: ${a.statusText}`);let c=await a.json();return{text:c.response||"",model:c.model||r,provider:this.id}}catch(a){throw a.name==="AbortError"?new vn(this.id,this.timeouts.generate):a instanceof He||a instanceof pe?a:new He(this.id,a.message)}finally{clearTimeout(s),e.signal&&e.signal.removeEventListener("abort",i)}}selectModel(){if(this.defaultModel!=="auto")return this.defaultModel;if(this.models.length===0)throw new pe(this.id,`No models detected. Install a model first (ollama pull ${wf})`);return this.models[0].name}getModels(){return[...this.models]}getConnectionInfo(){return{host:this.host,model:this.selectModel()}}};var fP=[/^Loaded cached credentials/i,/^\[debug\]/i,/^\[info\]/i,/^\[warn\]/i,/^Using /i,/^Model:/i];function Zm(t){return t.split(`
|
|
44
|
-
`).filter(n=>{let o=n.trim();return o?!
|
|
45
|
-
`).trim()}function
|
|
46
|
-
`);for(let r=e.length-1;r>=0;r--){let n=e[r].trim();if(n.startsWith("{"))try{let o=JSON.parse(n);if(o&&typeof o.response=="string")return o.response}catch{}}}return null}var yu="gemini",vu="@google/gemini-cli",Xr=class{id;type="gemini-cli";timeout;available=!1;cliPath=null;limiter=new Dn(Af);constructor(e){this.id=e.id,this.timeout=e.timeout??12e4}async initialize(){let e=await On(yu,vu);this.available=e.available,this.cliPath=e.cliPath}async healthCheck(){if(!this.available)return{status:"error",message:"Gemini CLI not installed"};try{let{command:e,cliArgs:r}=mr(this.cliPath,yu,vu,["--version"]),n=await je({command:e,args:r,timeout:1e4});return n.exitCode===0?{status:"ok",message:"Gemini CLI available"}:{status:"error",message:`Exit code: ${n.exitCode}`}}catch(e){return{status:"error",message:e.message}}}getCapabilities(){return{maxContext:1e6,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!0,supportsToolUse:!1,strengths:["long_context","file_analysis","translation","summarization"],models:[{name:"gemini-2.5-pro",description:"Google Gemini 2.5 Pro via CLI",strengths:["long_context","reasoning"]}]}}isAvailable(){return this.available}async chat(e){return this.limiter.run(()=>this.chatInternal(e))}async chatInternal(e){if(!this.available)throw new pe(this.id,"Gemini CLI not installed");let r=Gr(e),n=xi(e,r),s=["-p",n?"Use the full instructions and file contents provided on stdin.":r,"-o","json"],{command:i,cliArgs:a}=mr(this.cliPath,yu,vu,s),c=zm(this.id);try{let u=await je({command:i,args:a,stdin:n?r:void 0,timeout:this.timeout,onStderrChunk:p=>c.feed(p),signal:e.signal});if(u.exitCode!==0)try{Mn(u.exitCode,u.stderr,this.id)}catch(p){throw p.markUnavailable&&(this.available=!1),p}let l=Um(u.stdout);if(l!==null){let p=mP(u.stdout);return{text:l,model:p,provider:this.id}}return{text:Zm(u.stdout),model:"gemini",provider:this.id}}catch(u){if(u instanceof pe)throw u.markUnavailable&&(this.available=!1),u;Nn(u,this.id,this.timeout)}}};function mP(t){try{let e=JSON.parse(t.trim());if(e?.stats?.models){for(let[n,o]of Object.entries(e.stats.models))if(o?.roles?.main)return n;let r=Object.keys(e.stats.models);if(r.length>0)return r[0]}}catch{}return"gemini"}import{randomUUID as hP}from"crypto";function _u(t){let e=t.trim().split(`
|
|
51
|
+
\`\`\``);return e}function QC(t,e){let r=e?.model;return typeof r=="string"&&r.length>0?r:t}var rn=class{id;type;bridge;modelName;displayName;capabilities;constructor(e){this.id=e.id??e.bridge.providerId,this.type=e.type,this.bridge=e.bridge,this.modelName=e.modelName??e.type,this.displayName=e.displayName,this.capabilities=e.capabilities}async initialize(){}async healthCheck(){return this.bridge.healthCheck?this.bridge.healthCheck():this.bridge.isAvailable()?{status:"ok",message:`${this.displayName} host bridge available`}:{status:"error",message:`${this.displayName} host bridge unavailable`}}getCapabilities(){return{...this.capabilities,models:this.capabilities.models.map((e,r)=>r===0?{...e,name:this.modelName}:{...e})}}getDescriptor(){return Gr(this,this.getCapabilities())}isAvailable(){return this.bridge.isAvailable()}async chat(e){if(!this.isAvailable())throw new Se(this.id,`${this.displayName} host bridge is not available`);try{let r=YC(e),n={...e.extra??{}};e.model&&(n.model=e.model),typeof e.temperature=="number"&&(n.temperature=e.temperature),typeof e.maxTokens=="number"&&(n.maxTokens=e.maxTokens);let o=await this.bridge.runTurn({prompt:r,system:e.system,metadata:n});return{text:o.text,model:QC(this.modelName,o.metadata),provider:this.id,metadata:o.metadata}}catch(r){let n=r instanceof Error?r.message:String(r);throw/sampling|host bridge unavailable|does not support/i.test(n)?new Se(this.id,n):new dt(this.id,n)}}};var XC={maxContext:2e5,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!1,supportsToolUse:!1,strengths:["reasoning","review","synthesis","moderation"],models:[{name:"claude-host",description:"Claude host model via MCP sampling bridge",strengths:["reasoning","review","synthesis"]}]},Pc=class extends rn{constructor(e){super({...e,type:"claude-host",displayName:"Claude",capabilities:XC,modelName:e.modelName??"claude-host"})}};var eD={maxContext:2e5,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!1,supportsToolUse:!1,strengths:["coding","reasoning","review","implementation"],models:[{name:"codex-host",description:"Codex host model via MCP sampling bridge",strengths:["coding","implementation","review"]}]},Ec=class extends rn{constructor(e){super({...e,type:"codex-host",displayName:"Codex",capabilities:eD,modelName:e.modelName??"codex-host"})}};var tD={maxContext:1e6,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!1,supportsToolUse:!1,strengths:["analysis","reasoning","research","review"],models:[{name:"gemini-host",description:"Gemini host model via MCP sampling bridge",strengths:["analysis","research","review"]}]},Tc=class extends rn{constructor(e){super({...e,type:"gemini-host",displayName:"Gemini",capabilities:tD,modelName:e.modelName??"gemini-host"})}};Tr();var n_={"report.header.topic":"Topic","report.header.participants":"Participants","report.header.individualDocs":"Individual documents","report.table.proposer":"Proposer","report.table.opinion":"Opinion","report.table.severity":"Severity","report.table.agreement":"Agreement","report.section.mainTable":"Proposal ledger","report.section.dissentDetail":"Dissenting items","report.section.contributionSummary":"AI contribution summary","report.contribution.ai":"AI","report.contribution.proposed":"Proposed","report.contribution.accepted":"Accepted","report.contribution.revises":"Revises issued","report.contribution.abstains":"Abstains","report.footer.synthesisPath":"Final synthesis document","report.footer.debatePath":"Debate transcript","report.footer.pendingSynthesis":"(pending leader approval)","report.status.running":"running","report.status.readyForApproval":"ready for approval","report.status.consensus":"consensus","report.status.escalated":"escalated","report.status.approved":"approved","report.status.rejected":"rejected","report.status.leaderTimeout":"leader timeout","report.status.error":"error","synthesis.status.consensus":"Consensus reached","synthesis.status.escalated":"Partial / escalated","synthesis.section.acceptedItems":"Accepted Items","synthesis.section.rejectedItems":"Rejected / Withdrawn Items","synthesis.section.openItems":"Open Items","synthesis.section.sources":"Sources","synthesis.narration.consensusIn":"Consensus reached in round {round} of {max}.","synthesis.narration.escalated":"Session escalated by user after {round} rounds without consensus.","synthesis.narration.leaderNote":"Leader note","approval.pending":"Awaiting leader approval. Call `agent_debate_approve`, `agent_debate_continue`, or `agent_debate_reject`.","approval.timeout":"Session timed out waiting for leader decision ({hours}h).","moderator.narration.roundHeader":"Round {round} of {max}","moderator.narration.consensusInRound":"Consensus reached after {round} round(s).","moderator.narration.dissentDetailHeader":"Unresolved items","moderator.narration.noInterest":"No interest from participants","moderator.narration.participantDropout":"Participant `{participantId}` marked unavailable after repeated failures.","moderator.narration.participantTimeout":"Participant `{participantId}` did not respond in this round.","moderator.narration.leaderTimeoutFooter":"Leader Timeout","moderator.narration.rejected":"Session rejected by leader.","moderator.narration.approved":"Session approved by leader.","moderator.narration.aliasClarification":"Alias clarification phase","prompt.system.moderator":"You are the moderator of a structured multi-AI debate. You do not author proposals; you aggregate structured votes and produce a neutral synthesis. Respond only in the channels the protocol defines.","error.participantTimeout":"Participant `{participantId}` timed out after {seconds}s.","error.parseFailure":"Could not parse `<{tag}>` block from `{participantId}`.","error.sessionNotFound":"Debate session `{sessionId}` was not found.","error.invalidState":"Operation `{operation}` is not allowed in state `{state}`.","error.unknownLocaleFallback":"Unknown locale `{locale}`; falling back to `{fallback}`.","askUser.escalation.header":"Maximum rounds reached without consensus","askUser.escalation.question":"How would you like to proceed?","askUser.escalation.continue":"Continue +{rounds} rounds","askUser.escalation.escalate":"Escalate without consensus","askUser.escalation.stop":"Stop the debate"};var o_={"report.header.topic":"\uC8FC\uC81C","report.header.participants":"\uCC38\uAC00\uC790","report.header.individualDocs":"\uAC1C\uBCC4 \uAC80\uD1A0 \uBB38\uC11C","report.table.proposer":"\uC81C\uC548\uC790","report.table.opinion":"\uC758\uACAC","report.table.severity":"\uC911\uC694\uB3C4","report.table.agreement":"\uB3D9\uC758\uC728","report.section.mainTable":"\uC81C\uC548 \uC6D0\uC7A5","report.section.dissentDetail":"\uBBF8\uD569\uC758 \uD56D\uBAA9 \uC0C1\uC138","report.section.contributionSummary":"AI \uAE30\uC5EC\uB3C4 \uC694\uC57D","report.contribution.ai":"AI","report.contribution.proposed":"\uC81C\uC548","report.contribution.accepted":"\uCC44\uD0DD","report.contribution.revises":"\uC218\uC815 \uC694\uCCAD","report.contribution.abstains":"\uAE30\uAD8C","report.footer.synthesisPath":"\uCD5C\uC885 \uD569\uC758 \uBB38\uC11C","report.footer.debatePath":"\uD1A0\uB860 \uAE30\uB85D","report.footer.pendingSynthesis":"(\uB9AC\uB354 \uC2B9\uC778 \uB300\uAE30 \uC911)","report.status.running":"\uC9C4\uD589 \uC911","report.status.readyForApproval":"\uC2B9\uC778 \uB300\uAE30","report.status.consensus":"\uD569\uC758 \uB3C4\uB2EC","report.status.escalated":"\uC5D0\uC2A4\uCEEC\uB808\uC774\uC158","report.status.approved":"\uC2B9\uC778\uB428","report.status.rejected":"\uAE30\uAC01\uB428","report.status.leaderTimeout":"\uB9AC\uB354 \uC751\uB2F5 \uC2DC\uAC04 \uCD08\uACFC","report.status.error":"\uC624\uB958","synthesis.status.consensus":"\uD569\uC758 \uB3C4\uB2EC","synthesis.status.escalated":"\uBD80\uBD84 \uD569\uC758 / \uC5D0\uC2A4\uCEEC\uB808\uC774\uC158","synthesis.section.acceptedItems":"\uCC44\uD0DD \uD56D\uBAA9","synthesis.section.rejectedItems":"\uAE30\uAC01 / \uCCA0\uD68C \uD56D\uBAA9","synthesis.section.openItems":"\uBBF8\uACB0 \uD56D\uBAA9","synthesis.section.sources":"\uADFC\uAC70","synthesis.narration.consensusIn":"\uC804\uCCB4 {max}\uB77C\uC6B4\uB4DC \uC911 {round}\uB77C\uC6B4\uB4DC\uC5D0\uC11C \uD569\uC758\uC5D0 \uB3C4\uB2EC\uD558\uC600\uC2B5\uB2C8\uB2E4.","synthesis.narration.escalated":"{round}\uB77C\uC6B4\uB4DC \uB3D9\uC548 \uD569\uC758\uC5D0 \uC774\uB974\uC9C0 \uBABB\uD558\uC5EC \uC0AC\uC6A9\uC790 \uD310\uB2E8\uC73C\uB85C \uC5D0\uC2A4\uCEEC\uB808\uC774\uC158\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","synthesis.narration.leaderNote":"\uB9AC\uB354 \uBA54\uBAA8","approval.pending":"\uB9AC\uB354 \uC2B9\uC778\uC744 \uAE30\uB2E4\uB9AC\uACE0 \uC788\uC2B5\uB2C8\uB2E4. `agent_debate_approve`, `agent_debate_continue`, `agent_debate_reject` \uC911 \uD558\uB098\uB97C \uD638\uCD9C\uD574 \uC8FC\uC2ED\uC2DC\uC624.","approval.timeout":"\uB9AC\uB354 \uACB0\uC815\uC744 \uAE30\uB2E4\uB9AC\uB2E4 \uC138\uC158\uC774 \uC2DC\uAC04 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4({hours}\uC2DC\uAC04).","moderator.narration.roundHeader":"{round}/{max} \uB77C\uC6B4\uB4DC","moderator.narration.consensusInRound":"{round}\uB77C\uC6B4\uB4DC \uB9CC\uC5D0 \uD569\uC758\uC5D0 \uB3C4\uB2EC\uD558\uC600\uC2B5\uB2C8\uB2E4.","moderator.narration.dissentDetailHeader":"\uBBF8\uD574\uACB0 \uD56D\uBAA9","moderator.narration.noInterest":"\uCC38\uAC00\uC790 \uAD00\uC2EC \uC5C6\uC74C","moderator.narration.participantDropout":"\uCC38\uAC00\uC790 `{participantId}`\uAC00 \uBC18\uBCF5\uC801 \uC2E4\uD328\uB85C \uC778\uD574 \uC0AC\uC6A9 \uBD88\uAC00 \uC0C1\uD0DC\uB85C \uD45C\uC2DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","moderator.narration.participantTimeout":"\uCC38\uAC00\uC790 `{participantId}`\uAC00 \uC774\uBC88 \uB77C\uC6B4\uB4DC\uC5D0 \uC751\uB2F5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.","moderator.narration.leaderTimeoutFooter":"\uB9AC\uB354 \uC751\uB2F5 \uC2DC\uAC04 \uCD08\uACFC","moderator.narration.rejected":"\uB9AC\uB354\uC5D0 \uC758\uD574 \uC138\uC158\uC774 \uAE30\uAC01\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","moderator.narration.approved":"\uB9AC\uB354\uC5D0 \uC758\uD574 \uC138\uC158\uC774 \uC2B9\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.","moderator.narration.aliasClarification":"\uBCC4\uCE6D \uD655\uC778 \uB2E8\uACC4","prompt.system.moderator":"\uB2F9\uC2E0\uC740 \uAD6C\uC870\uD654\uB41C \uB2E4\uC911 AI \uD1A0\uB860\uC758 \uC911\uC7AC\uC790\uC785\uB2C8\uB2E4. \uC81C\uC548\uC744 \uC9C1\uC811 \uC791\uC131\uD558\uC9C0 \uC54A\uC73C\uBA70, \uAD6C\uC870\uD654\uB41C \uD22C\uD45C\uB97C \uC9D1\uACC4\uD558\uACE0 \uC911\uB9BD\uC801\uC778 \uD569\uC758\uC548\uC744 \uC0B0\uCD9C\uD569\uB2C8\uB2E4. \uD504\uB85C\uD1A0\uCF5C\uC774 \uC815\uC758\uD55C \uCC44\uB110 \uC548\uC5D0\uC11C\uB9CC \uC751\uB2F5\uD558\uC2ED\uC2DC\uC624.","error.participantTimeout":"\uCC38\uAC00\uC790 `{participantId}`\uAC00 {seconds}\uCD08 \uB0B4\uC5D0 \uC751\uB2F5\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.","error.parseFailure":"\uCC38\uAC00\uC790 `{participantId}`\uC758 `<{tag}>` \uBE14\uB85D\uC744 \uD574\uC11D\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.","error.sessionNotFound":"\uD1A0\uB860 \uC138\uC158 `{sessionId}`\uC744(\uB97C) \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","error.invalidState":"\uC0C1\uD0DC `{state}`\uC5D0\uC11C\uB294 `{operation}` \uC791\uC5C5\uC744 \uC218\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.","error.unknownLocaleFallback":"\uC54C \uC218 \uC5C6\uB294 \uB85C\uCF00\uC77C `{locale}`; \uAE30\uBCF8\uAC12 `{fallback}`(\uC73C)\uB85C \uB300\uCCB4\uD569\uB2C8\uB2E4.","askUser.escalation.header":"\uCD5C\uB300 \uB77C\uC6B4\uB4DC\uC5D0 \uB3C4\uB2EC\uD558\uC600\uC73C\uB098 \uD569\uC758\uC5D0 \uC774\uB974\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4","askUser.escalation.question":"\uC5B4\uB5BB\uAC8C \uC9C4\uD589\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?","askUser.escalation.continue":"{rounds}\uB77C\uC6B4\uB4DC \uCD94\uAC00 \uC9C4\uD589","askUser.escalation.escalate":"\uD569\uC758 \uC5C6\uC774 \uC5D0\uC2A4\uCEEC\uB808\uC774\uC158","askUser.escalation.stop":"\uD1A0\uB860 \uC885\uB8CC"};var s_={"report.header.topic":"\u30C6\u30FC\u30DE","report.header.participants":"\u53C2\u52A0\u8005","report.header.individualDocs":"\u500B\u5225\u30EC\u30D3\u30E5\u30FC\u6587\u66F8","report.table.proposer":"\u63D0\u6848\u8005","report.table.opinion":"\u610F\u898B","report.table.severity":"\u91CD\u5927\u5EA6","report.table.agreement":"\u5408\u610F\u7387","report.section.mainTable":"\u63D0\u6848\u53F0\u5E33","report.section.dissentDetail":"\u672A\u5408\u610F\u9805\u76EE\u306E\u8A73\u7D30","report.section.contributionSummary":"AI \u8CA2\u732E\u5EA6\u30B5\u30DE\u30EA\u30FC","report.contribution.ai":"AI","report.contribution.proposed":"\u63D0\u6848","report.contribution.accepted":"\u63A1\u629E","report.contribution.revises":"\u4FEE\u6B63\u8981\u8ACB","report.contribution.abstains":"\u68C4\u6A29","report.footer.synthesisPath":"\u6700\u7D42\u5408\u610F\u6587\u66F8","report.footer.debatePath":"\u8A0E\u8B70\u8A18\u9332","report.footer.pendingSynthesis":"(\u30EA\u30FC\u30C0\u30FC\u627F\u8A8D\u5F85\u3061)","report.status.running":"\u9032\u884C\u4E2D","report.status.readyForApproval":"\u627F\u8A8D\u5F85\u3061","report.status.consensus":"\u5408\u610F\u5F62\u6210","report.status.escalated":"\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3","report.status.approved":"\u627F\u8A8D\u6E08\u307F","report.status.rejected":"\u5374\u4E0B","report.status.leaderTimeout":"\u30EA\u30FC\u30C0\u30FC\u5FDC\u7B54\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8","report.status.error":"\u30A8\u30E9\u30FC","synthesis.status.consensus":"\u5408\u610F\u306B\u9054\u3057\u307E\u3057\u305F","synthesis.status.escalated":"\u90E8\u5206\u5408\u610F / \u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3","synthesis.section.acceptedItems":"\u63A1\u629E\u9805\u76EE","synthesis.section.rejectedItems":"\u5374\u4E0B / \u53D6\u308A\u4E0B\u3052\u9805\u76EE","synthesis.section.openItems":"\u672A\u6C7A\u9805\u76EE","synthesis.section.sources":"\u6839\u62E0","synthesis.narration.consensusIn":"\u5168 {max} \u30E9\u30A6\u30F3\u30C9\u4E2D {round} \u30E9\u30A6\u30F3\u30C9\u76EE\u3067\u5408\u610F\u306B\u9054\u3057\u307E\u3057\u305F\u3002","synthesis.narration.escalated":"{round} \u30E9\u30A6\u30F3\u30C9\u7D4C\u904E\u3057\u3066\u3082\u5408\u610F\u306B\u81F3\u3089\u305A\u3001\u30E6\u30FC\u30B6\u30FC\u5224\u65AD\u3067\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3\u3055\u308C\u307E\u3057\u305F\u3002","synthesis.narration.leaderNote":"\u30EA\u30FC\u30C0\u30FC\u30E1\u30E2","approval.pending":"\u30EA\u30FC\u30C0\u30FC\u627F\u8A8D\u3092\u5F85\u6A5F\u3057\u3066\u3044\u307E\u3059\u3002`agent_debate_approve`\u3001`agent_debate_continue`\u3001`agent_debate_reject` \u306E\u3044\u305A\u308C\u304B\u3092\u547C\u3073\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002","approval.timeout":"\u30EA\u30FC\u30C0\u30FC\u5224\u65AD\u3092\u5F85\u6A5F\u4E2D\u306B\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F({hours} \u6642\u9593)\u3002","moderator.narration.roundHeader":"\u30E9\u30A6\u30F3\u30C9 {round}/{max}","moderator.narration.consensusInRound":"{round} \u30E9\u30A6\u30F3\u30C9\u76EE\u3067\u5408\u610F\u306B\u9054\u3057\u307E\u3057\u305F\u3002","moderator.narration.dissentDetailHeader":"\u672A\u89E3\u6C7A\u9805\u76EE","moderator.narration.noInterest":"\u53C2\u52A0\u8005\u306E\u95A2\u5FC3\u306A\u3057","moderator.narration.participantDropout":"\u53C2\u52A0\u8005 `{participantId}` \u306F\u7E70\u308A\u8FD4\u3057\u306E\u5931\u6557\u306B\u3088\u308A\u5229\u7528\u4E0D\u53EF\u3068\u3057\u3066\u30DE\u30FC\u30AF\u3055\u308C\u307E\u3057\u305F\u3002","moderator.narration.participantTimeout":"\u53C2\u52A0\u8005 `{participantId}` \u306F\u4ECA\u56DE\u306E\u30E9\u30A6\u30F3\u30C9\u3067\u5FDC\u7B54\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002","moderator.narration.leaderTimeoutFooter":"\u30EA\u30FC\u30C0\u30FC\u5FDC\u7B54\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8","moderator.narration.rejected":"\u30EA\u30FC\u30C0\u30FC\u306B\u3088\u308A\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u5374\u4E0B\u3055\u308C\u307E\u3057\u305F\u3002","moderator.narration.approved":"\u30EA\u30FC\u30C0\u30FC\u306B\u3088\u308A\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u627F\u8A8D\u3055\u308C\u307E\u3057\u305F\u3002","moderator.narration.aliasClarification":"\u5225\u540D\u78BA\u8A8D\u30D5\u30A7\u30FC\u30BA","prompt.system.moderator":"\u3042\u306A\u305F\u306F\u69CB\u9020\u5316\u30DE\u30EB\u30C1 AI \u8A0E\u8B70\u306E\u30E2\u30C7\u30EC\u30FC\u30BF\u30FC\u3067\u3059\u3002\u63D0\u6848\u3092\u81EA\u3089\u8D77\u6848\u305B\u305A\u3001\u69CB\u9020\u5316\u6295\u7968\u3092\u96C6\u8A08\u3057\u3066\u4E2D\u7ACB\u7684\u306A\u5408\u610F\u6848\u3092\u63D0\u793A\u3057\u307E\u3059\u3002\u30D7\u30ED\u30C8\u30B3\u30EB\u304C\u5B9A\u7FA9\u3059\u308B\u30C1\u30E3\u30CD\u30EB\u306E\u7BC4\u56F2\u5185\u3067\u306E\u307F\u5FDC\u7B54\u3057\u3066\u304F\u3060\u3055\u3044\u3002","error.participantTimeout":"\u53C2\u52A0\u8005 `{participantId}` \u306F {seconds} \u79D2\u4EE5\u5185\u306B\u5FDC\u7B54\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002","error.parseFailure":"\u53C2\u52A0\u8005 `{participantId}` \u306E `<{tag}>` \u30D6\u30ED\u30C3\u30AF\u3092\u89E3\u6790\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002","error.sessionNotFound":"\u8A0E\u8B70\u30BB\u30C3\u30B7\u30E7\u30F3 `{sessionId}` \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002","error.invalidState":"\u72B6\u614B `{state}` \u3067\u306F\u64CD\u4F5C `{operation}` \u3092\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\u3002","error.unknownLocaleFallback":"\u672A\u77E5\u306E\u30ED\u30B1\u30FC\u30EB `{locale}`\u3002\u65E2\u5B9A\u5024 `{fallback}` \u306B\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u3057\u307E\u3059\u3002","askUser.escalation.header":"\u6700\u5927\u30E9\u30A6\u30F3\u30C9\u306B\u9054\u3057\u307E\u3057\u305F\u304C\u5408\u610F\u306B\u81F3\u308A\u307E\u305B\u3093\u3067\u3057\u305F","askUser.escalation.question":"\u3069\u306E\u3088\u3046\u306B\u9032\u3081\u307E\u3059\u304B?","askUser.escalation.continue":"{rounds} \u30E9\u30A6\u30F3\u30C9\u8FFD\u52A0\u3057\u3066\u7D9A\u884C","askUser.escalation.escalate":"\u5408\u610F\u306A\u3057\u3067\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3","askUser.escalation.stop":"\u8A0E\u8B70\u3092\u7D42\u4E86"};var i_={"report.header.topic":"\u4E3B\u9898","report.header.participants":"\u53C2\u4E0E\u8005","report.header.individualDocs":"\u4E2A\u4EBA\u8BC4\u5BA1\u6587\u6863","report.table.proposer":"\u63D0\u8BAE\u8005","report.table.opinion":"\u610F\u89C1","report.table.severity":"\u4E25\u91CD\u7A0B\u5EA6","report.table.agreement":"\u540C\u610F\u7387","report.section.mainTable":"\u63D0\u6848\u53F0\u8D26","report.section.dissentDetail":"\u672A\u8FBE\u6210\u4E00\u81F4\u9879\u8BE6\u60C5","report.section.contributionSummary":"AI \u8D21\u732E\u6C47\u603B","report.contribution.ai":"AI","report.contribution.proposed":"\u63D0\u51FA","report.contribution.accepted":"\u91C7\u7EB3","report.contribution.revises":"\u4FEE\u8BA2\u8BF7\u6C42","report.contribution.abstains":"\u5F03\u6743","report.footer.synthesisPath":"\u6700\u7EC8\u5171\u8BC6\u6587\u6863","report.footer.debatePath":"\u8FA9\u8BBA\u8BB0\u5F55","report.footer.pendingSynthesis":"(\u7B49\u5F85\u8D1F\u8D23\u4EBA\u6279\u51C6)","report.status.running":"\u8FDB\u884C\u4E2D","report.status.readyForApproval":"\u5F85\u6279\u51C6","report.status.consensus":"\u5DF2\u8FBE\u6210\u5171\u8BC6","report.status.escalated":"\u5DF2\u5347\u7EA7","report.status.approved":"\u5DF2\u6279\u51C6","report.status.rejected":"\u5DF2\u62D2\u7EDD","report.status.leaderTimeout":"\u8D1F\u8D23\u4EBA\u54CD\u5E94\u8D85\u65F6","report.status.error":"\u9519\u8BEF","synthesis.status.consensus":"\u5DF2\u8FBE\u6210\u5171\u8BC6","synthesis.status.escalated":"\u90E8\u5206\u5171\u8BC6 / \u5DF2\u5347\u7EA7","synthesis.section.acceptedItems":"\u91C7\u7EB3\u9879","synthesis.section.rejectedItems":"\u62D2\u7EDD / \u64A4\u56DE\u9879","synthesis.section.openItems":"\u672A\u51B3\u9879","synthesis.section.sources":"\u4F9D\u636E","synthesis.narration.consensusIn":"\u5728\u5168\u90E8 {max} \u8F6E\u4E2D\u7684\u7B2C {round} \u8F6E\u8FBE\u6210\u5171\u8BC6\u3002","synthesis.narration.escalated":"\u7ECF\u8FC7 {round} \u8F6E\u4ECD\u672A\u8FBE\u6210\u5171\u8BC6,\u7531\u7528\u6237\u51B3\u5B9A\u5347\u7EA7\u5904\u7406\u3002","synthesis.narration.leaderNote":"\u8D1F\u8D23\u4EBA\u5907\u6CE8","approval.pending":"\u7B49\u5F85\u8D1F\u8D23\u4EBA\u6279\u51C6\u3002\u8BF7\u8C03\u7528 `agent_debate_approve`\u3001`agent_debate_continue` \u6216 `agent_debate_reject`\u3002","approval.timeout":"\u7B49\u5F85\u8D1F\u8D23\u4EBA\u51B3\u7B56\u671F\u95F4\u4F1A\u8BDD\u5DF2\u8D85\u65F6({hours} \u5C0F\u65F6)\u3002","moderator.narration.roundHeader":"\u7B2C {round}/{max} \u8F6E","moderator.narration.consensusInRound":"\u5728\u7B2C {round} \u8F6E\u8FBE\u6210\u5171\u8BC6\u3002","moderator.narration.dissentDetailHeader":"\u672A\u89E3\u51B3\u9879","moderator.narration.noInterest":"\u53C2\u4E0E\u8005\u65E0\u5174\u8DA3","moderator.narration.participantDropout":"\u53C2\u4E0E\u8005 `{participantId}` \u56E0\u591A\u6B21\u5931\u8D25\u88AB\u6807\u8BB0\u4E3A\u4E0D\u53EF\u7528\u3002","moderator.narration.participantTimeout":"\u53C2\u4E0E\u8005 `{participantId}` \u5728\u672C\u8F6E\u672A\u4F5C\u51FA\u54CD\u5E94\u3002","moderator.narration.leaderTimeoutFooter":"\u8D1F\u8D23\u4EBA\u54CD\u5E94\u8D85\u65F6","moderator.narration.rejected":"\u8D1F\u8D23\u4EBA\u5DF2\u62D2\u7EDD\u8BE5\u4F1A\u8BDD\u3002","moderator.narration.approved":"\u8D1F\u8D23\u4EBA\u5DF2\u6279\u51C6\u8BE5\u4F1A\u8BDD\u3002","moderator.narration.aliasClarification":"\u522B\u540D\u6F84\u6E05\u9636\u6BB5","prompt.system.moderator":"\u4F60\u662F\u7ED3\u6784\u5316\u591A AI \u8FA9\u8BBA\u7684\u4E3B\u6301\u4EBA\u3002\u4F60\u4E0D\u64B0\u5199\u63D0\u6848,\u800C\u662F\u6C47\u603B\u7ED3\u6784\u5316\u6295\u7968\u5E76\u4EA7\u51FA\u4E2D\u7ACB\u7684\u5171\u8BC6\u65B9\u6848\u3002\u4EC5\u5728\u534F\u8BAE\u5B9A\u4E49\u7684\u901A\u9053\u8303\u56F4\u5185\u4F5C\u51FA\u54CD\u5E94\u3002","error.participantTimeout":"\u53C2\u4E0E\u8005 `{participantId}` \u5728 {seconds} \u79D2\u5185\u672A\u54CD\u5E94\u3002","error.parseFailure":"\u65E0\u6CD5\u89E3\u6790\u53C2\u4E0E\u8005 `{participantId}` \u7684 `<{tag}>` \u5757\u3002","error.sessionNotFound":"\u672A\u627E\u5230\u8FA9\u8BBA\u4F1A\u8BDD `{sessionId}`\u3002","error.invalidState":"\u5728\u72B6\u6001 `{state}` \u4E0B\u4E0D\u5141\u8BB8\u6267\u884C\u64CD\u4F5C `{operation}`\u3002","error.unknownLocaleFallback":"\u672A\u77E5\u533A\u57DF `{locale}`,\u56DE\u9000\u5230 `{fallback}`\u3002","askUser.escalation.header":"\u5DF2\u8FBE\u6700\u5927\u8F6E\u6B21\u4F46\u4ECD\u672A\u8FBE\u6210\u5171\u8BC6","askUser.escalation.question":"\u60A8\u5E0C\u671B\u5982\u4F55\u7EE7\u7EED?","askUser.escalation.continue":"\u518D\u8FDB\u884C {rounds} \u8F6E","askUser.escalation.escalate":"\u4E0D\u8FBE\u6210\u5171\u8BC6\u5373\u5347\u7EA7","askUser.escalation.stop":"\u7ED3\u675F\u8FA9\u8BBA"};var a_=Object.freeze({en:n_,ko:o_,ja:s_,zh:i_});function iD(t){return typeof t=="string"&&Ya.includes(t)}function Gd(t,e){return e===void 0?t:t.replace(/\{(\w+)\}/g,(r,n)=>{if(Object.prototype.hasOwnProperty.call(e,n)){let o=e[n];return typeof o=="number"?String(o):o}return r})}function Qd(t){return t===void 0?Yd(kn):iD(t)?Yd(t):(console.warn(`[i18n] unknown locale '${t}', falling back to ${kn}`),Yd(kn))}function aD(t,e,r){let n=new Set;return{locale:t,t(o,s){let i=e[o];if(i!==void 0)return Gd(i,s);let a=r[o];return a!==void 0?(n.has(o)||(n.add(o),console.warn(`[i18n] missing key '${o}' in locale '${t}', falling back to ${kd}`)),Gd(a,s)):(n.has(o)||(n.add(o),console.warn(`[i18n] missing key '${o}' in all bundles; returning raw key`)),Gd(o,s))}}}function Yd(t){return aD(t,a_[t],a_[kd])}async function c_(t){let e=await fetch(`${t}/api/tags`);if(!e.ok)throw new Error(`Ollama API error: ${e.status}`);return((await e.json()).models||[]).map(n=>({name:n.name||"unknown",size:n.size||0,strengths:cD(n.name||"")}))}function cD(t){let e=["chat"],r=t.toLowerCase();return(r.includes("coder")||r.includes("code"))&&e.push("code_review","code_generation"),r.includes("instruct")&&e.push("instruction_following"),r.includes("embed")&&e.push("embedding"),e}var lD=new Set(["http:","https:"]);function dD(t){let e;try{e=new URL(t)}catch{throw new Error(`Invalid Ollama host: not a valid URL (${t})`)}if(!lD.has(e.protocol))throw new Error(`Invalid Ollama host: scheme "${e.protocol}" not allowed (use http:// or https://)`);if(e.username||e.password)throw new Error("Invalid Ollama host: embedded credentials are not allowed");return t.replace(/\/+$/,"")}var Wn=class t{id;type="ollama";host;defaultModel;maxContext;available=!1;unavailableUntil=0;models=[];timeouts;static RATE_LIMIT_BACKOFF_MS=6e4;constructor(e){this.id=e.id,this.host=dD(e.host),this.defaultModel=e.defaultModel||"auto",this.maxContext=e.maxContext??32768,this.timeouts={default:e.timeouts?.default??3e4,generate:e.timeouts?.generate??3e5,chat:e.timeouts?.chat??3e5}}async initialize(){try{this.models=await c_(this.host),this.available=this.models.length>0,this.available&&(this.unavailableUntil=0)}catch{this.available=!1}}async healthCheck(){try{let e=await fetch(`${this.host}/api/tags`);if(!e.ok)return{status:"error",message:`HTTP ${e.status}`};let r=await e.json(),n=r.models?.length??0;return{status:n>0?"ok":"degraded",message:`${n} models available`,details:{models:r.models?.map(o=>o.name)}}}catch(e){return{status:"error",message:e.message}}}getCapabilities(){return{maxContext:this.maxContext,supportsSystemPrompt:!0,supportsFiles:!1,supportsStreaming:!0,supportsJsonOutput:!1,supportsToolUse:!0,strengths:[...new Set(this.models.flatMap(e=>e.strengths))],models:this.models.map(e=>({name:e.name,description:`Ollama model (${Math.round(e.size/1e9)}GB)`,strengths:e.strengths,sizeGb:e.size/1e9}))}}isAvailable(){return this.unavailableUntil>0&&Date.now()<this.unavailableUntil?!1:(this.unavailableUntil>0&&Date.now()>=this.unavailableUntil&&(this.unavailableUntil=0),this.available)}async chat(e){if(!this.available)throw new Se(this.id,"Ollama not running or no models installed");let r=e.model||this.selectModel(),n={model:r,prompt:e.prompt,system:e.system||"You are a helpful assistant.",stream:!1,...e.extra||{}},o=new AbortController,s=setTimeout(()=>o.abort(),this.timeouts.generate),i=()=>o.abort(e.signal.reason);e.signal&&(e.signal.aborted?o.abort(e.signal.reason):e.signal.addEventListener("abort",i));try{let a=await fetch(`${this.host}/api/generate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),signal:o.signal});if(a.status===429)throw this.unavailableUntil=Date.now()+t.RATE_LIMIT_BACKOFF_MS,new Se(this.id,`Rate limited (429) \u2014 temporarily deactivated for ${t.RATE_LIMIT_BACKOFF_MS/1e3}s`);if(!a.ok)throw new dt(this.id,`HTTP ${a.status}: ${a.statusText}`);let c=await a.json();return{text:c.response||"",model:c.model||r,provider:this.id}}catch(a){throw a.name==="AbortError"?new $o(this.id,this.timeouts.generate):a instanceof dt||a instanceof Se?a:new dt(this.id,a.message)}finally{clearTimeout(s),e.signal&&e.signal.removeEventListener("abort",i)}}selectModel(){if(this.defaultModel!=="auto")return this.defaultModel;if(this.models.length===0)throw new Se(this.id,`No models detected. Install a model first (ollama pull ${zy})`);return this.models[0].name}getModels(){return[...this.models]}getConnectionInfo(){return{host:this.host,model:this.selectModel()}}};var pD=[/^Loaded cached credentials/i,/^\[debug\]/i,/^\[info\]/i,/^\[warn\]/i,/^Using /i,/^Model:/i];function u_(t){return t.split(`
|
|
52
|
+
`).filter(n=>{let o=n.trim();return o?!pD.some(s=>s.test(o)):!1}).join(`
|
|
53
|
+
`).trim()}function l_(t){let e=ai(t);return e&&typeof e.response=="string"?e.response:null}var Xd="gemini",ep="@google/gemini-cli",Hn=class{id;type="gemini-cli";timeout;available=!1;cliPath=null;defaultCwd;limiter=new Mo(By);constructor(e){this.id=e.id,this.timeout=e.timeout??12e4,this.defaultCwd=e.workspaceBaseDir??process.cwd()}async initialize(){let e=await qo(Xd,ep);this.available=e.available,this.cliPath=e.cliPath}async healthCheck(){return Fo(this.cliPath,Xd,ep,"Gemini")}getCapabilities(){return{maxContext:1e6,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!0,supportsToolUse:!1,strengths:["long_context","file_analysis","translation","summarization"],models:[{name:"gemini-2.5-pro",description:"Google Gemini 2.5 Pro via CLI",strengths:["long_context","reasoning"]}]}}isAvailable(){return this.available}async chat(e){return this.limiter.run(()=>this.chatInternal(e))}async chatInternal(e){if(!this.available)throw new Se(this.id,"Gemini CLI not installed");let r=Bn(e),n=kc(e,r),s=["-p",n?"Use the full instructions and file contents provided on stdin.":r,"-o","json"],{command:i,cliArgs:a}=Zo(this.cliPath,Xd,ep,s),c=r_(this.id);try{let u=await vt({command:i,args:a,cwd:e.workspaceBaseDir??this.defaultCwd,stdin:n?r:void 0,timeout:this.timeout,onStderrChunk:p=>c.feed(p),signal:e.signal});if(u.exitCode!==0)try{Uo(u.exitCode,u.stderr,this.id)}catch(p){throw p.markUnavailable&&(this.available=!1),p}let l=l_(u.stdout);if(l!==null){let p=fD(u.stdout);return{text:l,model:p,provider:this.id}}return{text:u_(u.stdout),model:"gemini",provider:this.id}}catch(u){if(u instanceof Se)throw u.markUnavailable&&(this.available=!1),u;Vo(u,this.id,this.timeout)}}};function fD(t){try{let e=JSON.parse(t.trim());if(e?.stats?.models){for(let[n,o]of Object.entries(e.stats.models))if(o?.roles?.main)return n;let r=Object.keys(e.stats.models);if(r.length>0)return r[0]}}catch{}return"gemini"}import{randomUUID as mD}from"crypto";function tp(t){let e=t.trim().split(`
|
|
47
54
|
`),r=[];for(let n of e)try{let o=JSON.parse(n);o.type==="item.completed"&&o.item?.type==="agent_message"&&o.item.text&&r.push(o.item.text)}catch{n.trim()&&r.push(n.trim())}return r.join(`
|
|
48
|
-
`)||t.trim()}var
|
|
49
|
-
`)
|
|
50
|
-
`).trim();try{Mn(i.exitCode,c,this.id)}catch(u){throw(u.markUnavailable||/auth|credential|login|api key|oauth|token|401/i.test(c))&&(this.available=!1),u}}return{text:Bm(i.stdout)??i.stdout.trim(),model:Wm(i.stdout),provider:this.id}}catch(i){Nn(i,this.id,this.timeout)}}};import{randomUUID as _P}from"crypto";var bP=7200*1e3,jo=class{debates=new Map;create(e){this.purgeStaleDebates();let r=_P(),n=new Date().toISOString(),o={id:r,topic:e.topic,goal:e.goal,providerIds:e.providerIds,turns:[],status:"active",documentId:e.documentId,createdAt:n};return this.debates.set(r,o),o}addTurn(e,r,n){let o=this.getState(e);if(!o)throw new Error(`Debate not found: ${e}`);if(o.status==="concluded")throw new Error(`Debate already concluded: ${e}`);let s={turnNumber:o.turns.length+1,speaker:r,content:n,timestamp:new Date().toISOString()};return o.turns.push(s),o}buildPromptForProvider(e,r){let n=this.getState(e);if(!n)throw new Error(`Debate not found: ${e}`);let o=`Topic: ${n.topic}
|
|
55
|
+
`)||t.trim()}var Rc="codex",Ic="@openai/codex";function hD(t){return["-C",t]}function gD(t,e,r){return["exec","--skip-git-repo-check","-C",r,"--full-auto","--ephemeral","--json","--",e?"-":t]}var Kn=class{id;type="codex-cli";timeout;available=!1;cliPath=null;appServer=null;defaultCwd;constructor(e){this.id=e.id,this.timeout=e.timeout??6e5,this.defaultCwd=e.workspaceBaseDir??process.cwd()}async initialize(){let e=await qo(Rc,Ic);this.available=e.available,this.cliPath=e.cliPath,this.available&&this.cliPath&&(this.appServer=new xc({command:this.cliPath==="npx"?"npx":Rc,commandPrefix:this.cliPath==="npx"?[Ic]:void 0,commandArgs:hD(this.defaultCwd)}))}async healthCheck(){return Fo(this.cliPath,Rc,Ic,"Codex")}getCapabilities(){return{maxContext:128e3,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!0,supportsToolUse:!0,strengths:["code_generation","code_review","autonomous_execution"],models:[{name:"codex",description:"OpenAI Codex CLI",strengths:["code_generation"]}]}}isAvailable(){return this.available}async chat(e){if(!this.available)throw new Se(this.id,"Codex CLI not installed");let r=e.workspaceBaseDir,n=typeof r=="string"&&r.length>0&&r!==this.defaultCwd;if(this.appServer&&!this.appServer.shouldFallback()&&!n)try{return await this.chatViaAppServer(e)}catch(o){if(!this.shouldFallbackFrom(o))throw o}return this.chatViaCli(e)}shouldFallbackFrom(e){return!(e instanceof Ot||e instanceof Se||e instanceof dt)}async shutdown(){this.appServer&&await this.appServer.shutdown()}async chatViaAppServer(e){let r={method:"exec",params:{prompt:Jd(Bn(e)),fullAuto:!0,ephemeral:!0},id:mD()},n=await this.appServer.request(r,this.timeout,e.signal);if(n.error)throw new dt(this.id,n.error.message);return{text:tp(JSON.stringify(n.result)),model:"codex",provider:this.id}}async chatViaCli(e){let r=Jd(Bn(e)),n=process.platform==="win32"||kc(e,r),o=e.workspaceBaseDir??this.defaultCwd,s=gD(r,n,o),{command:i,cliArgs:a}=Zo(this.cliPath,Rc,Ic,s);try{let c=await vt({command:i,args:a,stdin:n?r:void 0,timeout:this.timeout,signal:e.signal});if(c.exitCode!==0)try{Uo(c.exitCode,c.stderr,this.id)}catch(l){throw l.markUnavailable&&(this.available=!1),l}return{text:tp(c.stdout),model:"codex",provider:this.id}}catch(c){Vo(c,this.id,this.timeout)}}};function d_(t){let e=ai(t);return e?typeof e.result=="string"?e.result:typeof e.response=="string"?e.response:null:null}function p_(t){let e=ai(t);return typeof e?.model=="string"?e.model:"claude"}var yD=1,rp="claude",np="@anthropic-ai/claude-code",Jn=class{id;type="claude-cli";timeout;available=!1;cliPath=null;defaultCwd;limiter=new Mo(yD);constructor(e){this.id=e.id,this.timeout=e.timeout??12e4,this.defaultCwd=e.workspaceBaseDir??process.cwd()}async initialize(){let e=await qo(rp,np);this.available=e.available,this.cliPath=e.cliPath}async healthCheck(){return Fo(this.cliPath,rp,np,"Claude")}getCapabilities(){return{maxContext:2e5,supportsSystemPrompt:!0,supportsFiles:!0,supportsStreaming:!1,supportsJsonOutput:!0,supportsToolUse:!1,strengths:["reasoning","review","synthesis","moderation"],models:[{name:"claude",description:"Anthropic Claude Code CLI",strengths:["reasoning","review","synthesis"]}]}}isAvailable(){return this.available}async chat(e){return this.limiter.run(()=>this.chatInternal(e))}async chatInternal(e){if(!this.available||!this.cliPath)throw new Se(this.id,"Claude CLI not installed");let r=Bn(e),n=["-p","--output-format","json"];e.model&&n.push("--model",e.model),n.push(r);let{command:o,cliArgs:s}=Zo(this.cliPath,rp,np,n);try{let i=await vt({command:o,args:s,cwd:e.workspaceBaseDir??this.defaultCwd,timeout:this.timeout,signal:e.signal});if(i.exitCode!==0){let c=[i.stderr,i.stdout].filter(Boolean).join(`
|
|
56
|
+
`).trim();try{Uo(i.exitCode,c,this.id)}catch(u){throw(u.markUnavailable||/auth|credential|login|api key|oauth|token|401/i.test(c))&&(this.available=!1),u}}return{text:d_(i.stdout)??i.stdout.trim(),model:p_(i.stdout),provider:this.id}}catch(i){Vo(i,this.id,this.timeout)}}};import{randomUUID as vD}from"crypto";var _D=7200*1e3,ci=class{debates=new Map;create(e){this.purgeStaleDebates();let r=vD(),n=new Date().toISOString(),o={id:r,topic:e.topic,goal:e.goal,providerIds:e.providerIds,turns:[],status:"active",documentId:e.documentId,createdAt:n};return this.debates.set(r,o),o}addTurn(e,r,n){let o=this.getState(e);if(!o)throw new Error(`Debate not found: ${e}`);if(o.status==="concluded")throw new Error(`Debate already concluded: ${e}`);let s={turnNumber:o.turns.length+1,speaker:r,content:n,timestamp:new Date().toISOString()};return o.turns.push(s),o}buildPromptForProvider(e,r){let n=this.getState(e);if(!n)throw new Error(`Debate not found: ${e}`);let o=`Topic: ${n.topic}
|
|
51
57
|
`;if(n.goal&&(o+=`Goal: ${n.goal}
|
|
52
58
|
`),n.turns.length>0){o+=`
|
|
53
59
|
=== Conversation History ===
|
|
54
60
|
|
|
55
|
-
`;let i=n.turns.length;if(i>
|
|
61
|
+
`;let i=n.turns.length;if(i>xn){let u=i-xn,l=[...new Set(n.turns.slice(0,u).map(d=>d.speaker))];o+=`[${u} earlier turn(s) omitted \u2014 participants: ${l.join(", ")}]
|
|
56
62
|
|
|
57
|
-
`}let a=n.turns.slice(-
|
|
63
|
+
`}let a=n.turns.slice(-xn),c="";for(let u of a){let l=`[Turn ${u.turnNumber}] ${u.speaker}:
|
|
58
64
|
${u.content}
|
|
59
65
|
|
|
60
|
-
`;if(c.length+l.length
|
|
66
|
+
`;if(c.length+l.length>$d){c+=`[... history truncated at ${$d} characters]
|
|
61
67
|
|
|
62
68
|
`;break}c+=l}o+=c,o+=`===
|
|
63
69
|
|
|
@@ -93,31 +99,32 @@ Evaluation goal: ${n.goal}
|
|
|
93
99
|
|
|
94
100
|
${o.content}
|
|
95
101
|
|
|
96
|
-
`;return n}purgeStaleDebates(){let e=Date.now();for(let[r,n]of this.debates){if(n.status!=="active")continue;let o=new Date(n.createdAt).getTime();e-o>
|
|
102
|
+
`;return n}purgeStaleDebates(){let e=Date.now();for(let[r,n]of this.debates){if(n.status!=="active")continue;let o=new Date(n.createdAt).getTime();e-o>_D&&this.debates.delete(r)}}};import{mkdirSync as bD,readFileSync as f_,readdirSync as op,existsSync as Ac,renameSync as wD,rmdirSync as $D}from"fs";import{join as SD}from"path";import{randomUUID as xD}from"crypto";function sp(t){if(t.providers<=0)throw new Error(`deriveTerminalStatus: providers must be positive, got ${t.providers}`);if(t.failed<0||t.failed>t.providers)throw new Error(`deriveTerminalStatus: failed (${t.failed}) out of range [0, ${t.providers}]`);return t.failed===0?"completed":t.failed===t.providers?"failed":"completed_with_errors"}var m_=new Set(["completed","completed_with_errors","failed"]);function h_(t,e){return m_.has(t)?!1:!!(t==="pending"&&e==="in_progress"||t==="in_progress"&&m_.has(e)||t==="in_progress"&&e==="in_progress")}function g_(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.id=="string"&&typeof e.type=="string"&&typeof e.status=="string"&&typeof e.createdAt=="string"&&typeof e.updatedAt=="string"}var ui=class{sessionDir;sessions;fullyLoaded=!1;constructor(e){this.sessionDir=e,bD(this.sessionDir,{recursive:!0}),this.migrateLegacyNestedSessions(),this.sessions=new Map}migrateLegacyNestedSessions(){let e=SD(this.sessionDir,"sessions");if(!Ac(e))return;let r;try{r=op(e)}catch(o){console.warn(`[SessionManager] failed to read legacy nested dir ${e}: ${String(o)}`);return}let n=r.filter(o=>o.endsWith(".json"));for(let o of n){let s,i;try{s=rt(o,e),i=rt(o,this.sessionDir)}catch(a){console.warn(`[SessionManager] skipped legacy file ${JSON.stringify(o)}: ${String(a)}`);continue}if(Ac(i)){console.warn(`[SessionManager] migration skipped ${o}: destination already exists at ${i}`);continue}try{wD(s,i)}catch(a){console.warn(`[SessionManager] migration failed for ${o}: ${String(a)}`)}}try{op(e).length===0&&$D(e)}catch(o){console.warn(`[SessionManager] could not remove legacy nested dir ${e}: ${String(o)}`)}}createSession(e,r){let n=new Date().toISOString(),o={id:xD(),type:e,status:"pending",config:r,createdAt:n,updatedAt:n};return this.sessions.set(o.id,o),this.persist(o),o}getSession(e){let r=this.sessions.get(e);if(r)return r;if(!this.fullyLoaded){let n;try{n=rt(`${e}.json`,this.sessionDir)}catch{return}if(Ac(n))try{let o=f_(n,"utf-8"),s=JSON.parse(o);return g_(s)?(this.sessions.set(s.id,s),s):void 0}catch{}}}listSessions(){return this.ensureFullyLoaded(),[...this.sessions.values()]}updateSessionStatus(e,r){let n=this.getSession(e);if(!n)throw new Error(`Session not found: ${e}`);if(!h_(n.status,r))throw new Error(`Illegal session transition: ${n.id} ${n.status} -> ${r}`);n.status=r,n.updatedAt=new Date().toISOString(),this.persist(n)}transitionSession(e,r,n){let o=this.getSession(e);if(!o)throw new Error(`Session not found: ${e}`);if(!h_(o.status,r))throw new Error(`Illegal session transition: ${o.id} ${o.status} -> ${r}`);o.status=r,n!==void 0&&(o.result=n),o.updatedAt=new Date().toISOString(),this.persist(o)}completeSession(e,r){this.transitionSession(e,"completed",r)}persist(e){let r=rt(`${e.id}.json`,this.sessionDir);Ve(r,e)}ensureFullyLoaded(){if(this.fullyLoaded)return;if(!Ac(this.sessionDir)){this.fullyLoaded=!0;return}let e=op(this.sessionDir).filter(r=>r.endsWith(".json"));for(let r of e){let n=r.replace(/\.json$/,"");if(!this.sessions.has(n))try{let o=rt(r,this.sessionDir),s=f_(o,"utf-8"),i=JSON.parse(s);if(!g_(i))continue;this.sessions.set(i.id,i)}catch{}}this.fullyLoaded=!0}};function Bo(t){if(!t||!t.trim())return null;try{return JSON.parse(t.trim())}catch{}let e=[],r=0,n=-1;for(let o=0;o<t.length;o++){let s=t[o];s==="{"?(r===0&&(n=o),r++):s==="}"&&(r--,r===0&&n>=0&&(e.push(t.slice(n,o+1)),n=-1),r<0&&(r=0))}if(e.length===0)return null;for(let o=e.length-1;o>=0;o--)try{return JSON.parse(e[o])}catch{continue}return null}function y_(t,e,r){try{let n=Bo(t);if(n&&typeof n=="object")return e(n)}catch{}return r(t)}var li=class{registry;chatAdapter;constructor(e,r){this.registry=e,this.chatAdapter=r}async chatWith(e,r){return this.chatAdapter?this.chatAdapter.chat(e,r):e.chat(r)}canValidate(e){if(this.chatAdapter){let r=this.registry.getCapability(e);return r.tier==="agent"||r.tier==="tool"}return this.isAgentTier(e)}async validate(e){let{items:r,criteria:n}=e,o=this.resolveValidators(e),s=[];for(let l of r)for(let d of o)d.id!==l.providerId&&s.push(this.reviewItem(l,d,n));let i=await Promise.all(s),a=this.detectConflicts(i),c=i.length>0&&i.every(l=>l.passed),u=i.length===0?this.chatAdapter?"No validators available for cross-validation.":"No agent-tier validators available for cross-validation.":void 0;return{reviews:i,overallPass:c,conflicts:a,message:u}}resolveValidators(e){if(e.validators)return e.validators.filter(o=>this.canValidate(o.id));let r=new Set,n=[];for(let o of e.items)r.has(o.providerId)||(r.add(o.providerId),this.canValidate(o.providerId)&&n.push(this.registry.get(o.providerId)));return n}isAgentTier(e){return this.registry.getCapability(e).tier==="agent"}async reviewItem(e,r,n){let o=n?`
|
|
97
103
|
Additional criteria: ${n}`:"",s=[`You are a cross-validator reviewing work from provider "${e.providerId}".`,`Task: ${e.task}`,`Content to review:
|
|
98
104
|
${e.content}`,o,"",'Respond with JSON only: { "passed": boolean, "feedback": "string", "suggestedFixes": "string or omit" }'].join(`
|
|
99
|
-
`),i=await this.chatWith(r,{prompt:s});return this.parseReview(e.providerId,r.id,i.text)}parseReview(e,r,n){return
|
|
105
|
+
`),i=await this.chatWith(r,{prompt:s});return this.parseReview(e.providerId,r.id,i.text)}parseReview(e,r,n){return y_(n,o=>({targetProvider:e,reviewerProvider:r,passed:!!o.passed,feedback:String(o.feedback??""),suggestedFixes:o.suggestedFixes?String(o.suggestedFixes):void 0}),o=>({targetProvider:e,reviewerProvider:r,passed:!1,feedback:o}))}detectConflicts(e){let r=[],n=new Map;for(let o of e){let s=o.targetProvider;n.has(s)||n.set(s,[]),n.get(s).push(o)}for(let[o,s]of n){if(s.length<2)continue;let i=s.filter(c=>c.passed),a=s.filter(c=>!c.passed);if(i.length>0&&a.length>0){let c=i.map(l=>l.reviewerProvider).join(", "),u=a.map(l=>l.reviewerProvider).join(", ");r.push(`Conflict on "${o}": passed by [${c}], failed by [${u}]`)}}return r}};import{readFileSync as b_,readdirSync as w_,statSync as Dc}from"fs";import{join as $_,relative as ED}from"path";var v_=50*1024,Cc=500,__=100;function TD(t){let r=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`)}function RD(t,e){let r=[],n=o=>{let s=Dc(o);if(s.isFile()){r.push(o);return}if(s.isDirectory())for(let i of w_(o)){let a=$_(o,i),c=Dc(a);c.isFile()?r.push(a):e&&c.isDirectory()&&n(a)}};return n(t),r}function ID(t,e){if(process.platform!=="win32")return{command:t,args:e};let r=n=>`'${n.replace(/'/g,"''")}'`;switch(t){case"ls":{let n=e.length>0?r(e[0]):".",o=e.slice(1).map(r);return{command:"powershell.exe",args:["-NoProfile","-NonInteractive","-Command",`Get-ChildItem -Name -LiteralPath ${n}${o.length?" "+o.join(" "):""}`]}}case"cat":return e.length===0?{command:t,args:e}:{command:"powershell.exe",args:["-NoProfile","-NonInteractive","-Command",`Get-Content -LiteralPath ${e.map(r).join(",")}`]};default:return{command:t,args:e}}}var S_={name:"file_read",description:"Read the contents of a file. Returns the text content.",parameters:{path:{type:"string",description:"File path relative to workspace",required:!0},offset:{type:"number",description:"Line offset to start reading from (0-based)"},limit:{type:"number",description:"Maximum number of lines to read"}},async execute(t,e){let r=Or(String(t.path??""),e),n=b_(r,"utf-8");if(t.offset!==void 0||t.limit!==void 0){let o=n.split(`
|
|
100
106
|
`),s=Number(t.offset??0),i=Number(t.limit??o.length);n=o.slice(s,s+i).join(`
|
|
101
|
-
`)}return Buffer.byteLength(n,"utf-8")>
|
|
102
|
-
... [truncated]`)),n}},
|
|
103
|
-
... [truncated at ${
|
|
104
|
-
`)+i}},
|
|
107
|
+
`)}return Buffer.byteLength(n,"utf-8")>v_&&(n=Lo(n,v_,`
|
|
108
|
+
... [truncated]`)),n}},AD={name:"file_write",description:"Write content to a file. Creates parent directories if needed. Overwrites existing files.",parameters:{path:{type:"string",description:"File path relative to workspace",required:!0},content:{type:"string",description:"Content to write",required:!0}},async execute(t,e){let r=Mt(String(t.path??""),e),n=String(t.content??"");return ye(r,n),`File written: ${t.path} (${Buffer.byteLength(n,"utf-8")} bytes)`}},x_={name:"file_list",description:"List files and directories at the given path.",parameters:{path:{type:"string",description:"Directory path relative to workspace (default: '.')"},recursive:{type:"boolean",description:"List recursively (default: false)"}},async execute(t,e){let r=Or(String(t.path??"."),e),n=!!t.recursive,o=[];function s(a,c){if(o.length>=Cc)return;let u=w_(a);for(let l of u){if(o.length>=Cc)break;let d=$_(a,l),p=c?`${c}/${l}`:l;try{let f=Dc(d);o.push(f.isDirectory()?`${p}/`:p),n&&f.isDirectory()&&s(d,p)}catch{}}}s(r,"");let i=o.length>=Cc?`
|
|
109
|
+
... [truncated at ${Cc} entries]`:"";return o.join(`
|
|
110
|
+
`)+i}},k_={name:"grep_search",description:"Search file contents with a regex pattern. Returns matching lines with file paths and line numbers.",parameters:{pattern:{type:"string",description:"Regular expression pattern to search for",required:!0},path:{type:"string",description:"Directory or file path to search in (default: '.')"},glob:{type:"string",description:"Glob pattern to filter files (e.g., '*.ts')"}},async execute(t,e){let r=String(t.pattern??""),n=Or(String(t.path??"."),e),o=t.glob?TD(String(t.glob)):null,s=Dc(n).isDirectory(),i=RD(n,s);try{let a=new RegExp(r),c=[];for(let u of i){let l=ED(e,u).replace(/\\/g,"/");if(o&&!o.test(l.split("/").pop()??l))continue;let d;try{d=b_(u,"utf-8")}catch{continue}let p=d.split(/\r?\n/);for(let f=0;f<p.length;f++)if(a.test(p[f])&&(c.push(`${l}:${f+1}:${p[f]}`),c.length>=__))return c.join(`
|
|
105
111
|
`)+`
|
|
106
|
-
... [truncated at ${
|
|
107
|
-
`)||"No matches found."}catch{return"No matches found."}}},
|
|
112
|
+
... [truncated at ${__} matches]`}return c.join(`
|
|
113
|
+
`)||"No matches found."}catch{return"No matches found."}}},CD={name:"shell_exec",description:`Execute a shell command. Only safe, read-oriented commands are allowed (${[..._c].join(", ")}). Shell operators (pipes, chaining, subshells) are blocked.`,parameters:{command:{type:"string",description:"Shell command to execute",required:!0}},async execute(t,e){let r=String(t.command??"").trim();if(!r)return"Error: empty command";let n=qv(r);if(!n.valid)return`Error: ${n.error}`;let o=r.split(/\s+/).filter(Boolean),s=o[0],i=o.slice(1),a=ID(s,i);try{let c=await vt({command:a.command,args:a.args,timeout:3e4,cwd:e,maxBuffer:102400}),u=c.stdout;return c.stderr&&(u+=(u?`
|
|
108
114
|
`:"")+`[stderr] ${c.stderr}`),c.exitCode!==0&&(u+=`
|
|
109
115
|
[exit code: ${c.exitCode}]`),c.truncated&&(u+=`
|
|
110
|
-
... [output truncated]`),u||"(no output)"}catch(c){return`Error: ${
|
|
116
|
+
... [output truncated]`),u||"(no output)"}catch(c){return`Error: ${N(c)}`}}};function ip(){return[S_,AD,x_,k_,CD]}function Oc(){return[S_,x_,k_]}function ap(t){return t.map(e=>({type:"function",function:{name:e.name,description:e.description,parameters:{type:"object",properties:e.parameters,required:Object.entries(e.parameters).filter(([,r])=>r.required===!0).map(([r])=>r)}}}))}var DD=15,OD=30,zD=3e5,ND=2e3,jD=`You are a coding assistant with access to tools for reading, writing, and searching files in a workspace. Use the provided tools when you need to inspect or modify code. When your task is complete, respond with your final answer without making any tool calls.
|
|
111
117
|
|
|
112
118
|
Guidelines:
|
|
113
119
|
- Read files before modifying them to understand the existing code.
|
|
114
120
|
- Use grep_search to find relevant code across the workspace.
|
|
115
121
|
- Write complete file contents when using file_write (not just diffs).
|
|
116
|
-
- Provide a clear summary of what you did when finished.`,
|
|
122
|
+
- Provide a clear summary of what you did when finished.`,zc=class{host;model;baseDir;maxIterations;timeoutMs;systemPrompt;tools;toolDefs;toolMap;constructor(e){this.host=e.providerHost.replace(/\/$/,""),this.model=e.model,this.baseDir=e.baseDir,this.maxIterations=Math.min(e.maxIterations??DD,OD),this.timeoutMs=e.timeoutMs??zD,this.systemPrompt=e.systemPrompt??jD,this.tools=e.tools??ip(),this.toolDefs=ap(this.tools),this.toolMap=new Map(this.tools.map(r=>[r.name,r]))}async run(e){let r=Date.now(),n=[],o="",s=[{role:"system",content:this.systemPrompt},{role:"user",content:e}];for(let i=0;i<this.maxIterations;i++){if(Date.now()-r>this.timeoutMs)return{success:!1,output:o||"Agent loop timed out before completion.",iterations:i,toolCalls:n,error:`Timed out after ${this.timeoutMs}ms`};this.pruneHistory(s);let a;try{a=await this.callOllama(s)}catch(u){let l=N(u);return{success:!1,output:o||"",iterations:i,toolCalls:n,error:`Ollama API error: ${l}`}}let c=a.message;if(c.content&&(o=o?`${o}
|
|
123
|
+
${c.content}`:c.content),!c.tool_calls||c.tool_calls.length===0)return{success:!0,output:o,iterations:i+1,toolCalls:n};s.push(c);for(let u of c.tool_calls){let l=u.function.name,d=u.function.arguments,p;if(typeof d=="string"){let y=Bo(d);p=y&&typeof y=="object"&&!Array.isArray(y)?y:{}}else p=d??{};let f=this.toolMap.get(l),m=Date.now(),h;if(!f)h=`Error: unknown tool '${l}'. Available tools: ${[...this.toolMap.keys()].join(", ")}`;else try{h=await f.execute(p,this.baseDir)}catch(y){h=`Error: ${N(y)}`}n.push({iteration:i,toolName:l,arguments:p,result:Lo(h,ND,"... [truncated in log]"),durationMs:Date.now()-m}),s.push({role:"tool",content:h})}}return{success:!1,output:o||"Agent loop reached max iterations without completing.",iterations:this.maxIterations,toolCalls:n,error:`Max iterations (${this.maxIterations}) reached`}}pruneHistory(e){let r=[];for(let n=2;n<e.length;n++)e[n].role==="assistant"&&r.push(n);if(r.length>xn){let n=r[r.length-xn];e.splice(2,n-2)}}async callOllama(e){let r=`${this.host}/api/chat`,n={model:this.model,messages:e,tools:this.toolDefs,stream:!1},o=new AbortController,s=setTimeout(()=>o.abort(),this.timeoutMs);try{let i=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),signal:o.signal});if(!i.ok){let a=await i.text().catch(()=>"");throw new Error(`HTTP ${i.status}: ${a.slice(0,200)}`)}return await i.json()}finally{clearTimeout(s)}}};function P_(t){if(t.type!=="ollama")return null;let e=t;return typeof e.getConnectionInfo=="function"?e.getConnectionInfo():null}var Wo=class{tools;baseDir;constructor(e){this.tools=e.tools,this.baseDir=e.baseDir}async chat(e,r){if(Xa(e.id,e.getCapabilities(),void 0,e.type).tier!=="tool")return e.chat(r);let o=P_(e);return o?{text:(await new zc({providerHost:o.host,model:o.model,baseDir:this.baseDir,tools:this.tools}).run(r.prompt)).output,model:o.model,provider:e.id}:e.chat(r)}};import{existsSync as di,readFileSync as qD,readdirSync as FD}from"fs";import{join as Ho}from"path";var pi=class{baseDir;constructor(e){this.baseDir=e}async run(e={}){let r=e.timeoutMs??12e4,n=e.buildProfile??"auto",o=this.resolveProfile(n),s=e.designDoc??this.detectDesignDoc(),i=o?await this.runProfile(o,r):{exitCode:0,output:"(no build profile resolved)"},a=i.exitCode===0,c=i.output,u=[];o?u.push(`${o.name}: ${a?"PASS":"FAIL"}`):u.push("No profile resolved"),s&&u.push(`Design doc: ${s}`);let d=`**AutoQA: ${a?"PASS":"FAIL"}**
|
|
117
124
|
${u.join(`
|
|
118
|
-
`)}`;return{buildPassed:a,buildOutput:c,testsPassed:a,testOutput:c,designDoc:s??void 0,summary:d}}resolveProfile(e){if(e==="auto"){let n=this.detectBuildProfile();return n?{name:n.name,command:n.command,args:n.args}:null}let r=
|
|
119
|
-
${n.stderr}`.trim(),s=
|
|
120
|
-
... [truncated]`);return{exitCode:n.exitCode,output:s}}catch(n){return{exitCode:1,output:n.message??"AutoQA run failed"}}}};var
|
|
125
|
+
`)}`;return{buildPassed:a,buildOutput:c,testsPassed:a,testOutput:c,designDoc:s??void 0,summary:d}}resolveProfile(e){if(e==="auto"){let n=this.detectBuildProfile();return n?{name:n.name,command:n.command,args:n.args}:null}let r=ko[e];return r?{name:r.name,command:r.command,args:r.args}:null}detectBuildProfile(){if(di(Ho(this.baseDir,"tsconfig.json")))return ko.tsc;if(di(Ho(this.baseDir,"vitest.config.ts"))||di(Ho(this.baseDir,"vitest.config.js")))return ko.vitest;let e=this.getPackageScripts();return e?.build?ko["npm-build"]:e?.test&&e.test!=='echo "Error: no test specified" && exit 1'?ko["npm-test"]:null}detectDesignDoc(){let e=Ho(this.baseDir,"docs","plans");if(!di(e))return null;try{let r=FD(e).filter(n=>n.endsWith(".md")).sort().reverse();if(r.length>0)return Ho("docs","plans",r[0])}catch{}return null}getPackageScripts(){let e=Ho(this.baseDir,"package.json");if(!di(e))return null;try{return JSON.parse(qD(e,"utf-8")).scripts??null}catch{return null}}async runProfile(e,r){try{pc(e.command,e.args)}catch(n){return{exitCode:1,output:n instanceof At?n.message:`Profile ${e.name} rejected: ${n.message}`}}try{let n=await vt({command:e.command,args:[...e.args],cwd:this.baseDir,timeout:r,maxBuffer:10485760}),o=n.exitCode===0?n.stdout:`${n.stdout}
|
|
126
|
+
${n.stderr}`.trim(),s=Lo(o,1e4,`
|
|
127
|
+
... [truncated]`);return{exitCode:n.exitCode,output:s}}catch(n){return{exitCode:1,output:n.message??"AutoQA run failed"}}}};var UD=new Set(["","hello","hi","thanks","thank you","sure","okay","i agree","great question"]),ZD=/[\w./\\]+\.[a-z]{1,4}/gi,VD=/\b\d+\.?\d*\b/g,BD=/`[^`\n]+`/g,WD=/https?:\/\/\S+/g,HD=/\b[a-z][a-zA-Z]*[A-Z][a-zA-Z]*\b|\b[a-z]+(?:_[a-z]+)+\b/g;function Nc(t){return Math.max(0,Math.min(1,t))}function Nr(t,e){return t.match(e)?.length??0}function KD(t){let r=t.split(/[.!?]+|\n+(?=\S)/g).map(n=>n.trim()).filter(n=>n.length>0);return r.length>0?r:t.trim().length>0?[t.trim()]:[]}function JD(t){let e=t.toLowerCase().replace(/[^a-z0-9\s]/g,"").replace(/\s+/g," ").trim();return UD.has(e)?!0:e.replace(/\s+/g,"").length<5}function GD(t){let e=KD(t);if(e.length===0)return .1;let r=e.filter(JD).length,n=(e.length-r)/e.length;return Math.max(.1,Nc(n))}function YD(t){let e=Nr(t,/^\s*#\s+/gm),r=Nr(t,/^\s*(?:[-*]|\d+\.)\s+/gm),n=Math.ceil(Nr(t,/^\s*```/gm)/2),o=Nr(t,/^\s*.*\|.*\s*$/gm),s=e+r+n+o;return Nc(s/3)}function QD(t){let e=Nr(t,ZD)+Nr(t,VD)+Nr(t,BD)+Nr(t,WD)+Nr(t,HD);return Nc(e/3)}function E_(t){let e=t.toLowerCase().match(/\b[\w-]+\b/g)??[];return new Set(e.filter(r=>r.length>=4))}function XD(t,e){if(e.length===0)return .5;let r=new Set;for(let i of e)for(let a of E_(i.content))r.add(a);if(r.size===0)return 0;let n=E_(t),o=0;for(let i of r)n.has(i)&&(o+=1);let s=Math.max(1,r.size*.3);return Nc(o/s)}function fi(t,e,r){let n={substanceRatio:GD(t),structureScore:YD(t),specificityScore:QD(t),engagementScore:XD(t,e)};return{score:(n.substanceRatio+n.structureScore+n.specificityScore+n.engagementScore)/4,breakdown:n}}import{mkdirSync as jc,readFileSync as T_,readdirSync as cp,existsSync as mi,statSync as tO,unlinkSync as rO}from"fs";import{basename as R_,join as hi,relative as I_,sep as A_}from"path";import{randomUUID as nO}from"crypto";var oO="reviews";function Ko(t){return t.toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,40)||"untitled"}function sO(t){return t.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||"anonymous"}function Jo(){let t=new Date,e=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0");return`${e}${r}${n}`}function C_(t){return A_==="/"?t:t.split(A_).join("/")}var gi=class{reviewDir;individualDir;debateDir;synthesisDir;constructor(e){this.reviewDir=hi(e,oO),this.individualDir=hi(e,qy),this.debateDir=hi(e,So),this.synthesisDir=hi(e,Fy),jc(this.reviewDir,{recursive:!0}),jc(this.individualDir,{recursive:!0}),jc(this.debateDir,{recursive:!0}),jc(this.synthesisDir,{recursive:!0})}get allDirs(){return[this.individualDir,this.debateDir,this.synthesisDir,this.reviewDir]}nextSequenceGlobal(e){let r=0,n=new RegExp(`_${e}_(\\d{3})\\.md$`);for(let o of this.allDirs){if(!mi(o))continue;let s;try{s=cp(o)}catch{continue}for(let i of s){let a=i.match(n);if(a){let c=parseInt(a[1],10);c>r&&(r=c)}}}return String(r+1).padStart(3,"0")}resolveDocPath(e){let r;for(let n of this.allDirs)try{let o=rt(`${e}.md`,n);if(mi(o))return o}catch(o){r===void 0&&(r=o)}throw r!==void 0?r:new Error(`Document not found: ${e}`)}async createReview(e){let r=Jo(),n=e.topic?Ko(e.topic):nO().slice(0,8),o=this.nextSequenceGlobal(r),s=e.provider?`${e.provider}_${n}_${r}_${o}`:`${n}_${r}_${o}`,i=rt(`${s}.md`,this.reviewDir),a=`# Review: ${e.topic??s}
|
|
121
128
|
|
|
122
129
|
`;a+=`**Date:** ${new Date().toISOString().slice(0,10)}
|
|
123
130
|
`,e.provider&&(a+=`**Provider:** ${e.provider}
|
|
@@ -132,7 +139,7 @@ ${n.stderr}`.trim(),s=zn(o,1e4,`
|
|
|
132
139
|
`}return a+=`
|
|
133
140
|
---
|
|
134
141
|
|
|
135
|
-
`,
|
|
142
|
+
`,ye(i,a),{id:s,content:a,path:i}}async createDebateDocument(e){let r=Jo(),n=Ko(e.topic),o=this.nextSequenceGlobal(r),s=`${n}_${r}_${o}`,i=rt(`${s}.md`,this.debateDir),a=`# Debate: ${e.topic}
|
|
136
143
|
|
|
137
144
|
`;return a+=`**Date:** ${new Date().toISOString().slice(0,10)}
|
|
138
145
|
`,a+=`**Participants:** ${e.providers.join(", ")}
|
|
@@ -140,7 +147,7 @@ ${n.stderr}`.trim(),s=zn(o,1e4,`
|
|
|
140
147
|
`),a+=`
|
|
141
148
|
---
|
|
142
149
|
|
|
143
|
-
`,
|
|
150
|
+
`,ye(i,a),{id:s,content:a,path:i}}async createIndividualReview(e){let r=Jo(),n=sO(e.participantId),o=Ko(e.topic),s=this.nextSequenceGlobal(r),i=`${n}_${o}_${r}_${s}`,a=rt(`${i}.md`,this.individualDir),c=`# ${e.topic} \u2014 ${e.participantId}
|
|
144
151
|
|
|
145
152
|
`;if(c+=`**Date:** ${new Date().toISOString().slice(0,10)}
|
|
146
153
|
`,c+=`**Participant:** ${e.participantId}
|
|
@@ -155,7 +162,7 @@ ${n.stderr}`.trim(),s=zn(o,1e4,`
|
|
|
155
162
|
`,c+=e.content,c+=`
|
|
156
163
|
|
|
157
164
|
---
|
|
158
|
-
`,
|
|
165
|
+
`,ye(a,c),{id:i,content:c,path:a}}async createIssueDocument(e){let r=Jo(),n=e.sessionId.slice(0,8),o=this.nextSequenceGlobal(r),s=`${Uy}_${n}_${r}_${o}`,i=rt(`${s}.md`,this.individualDir),a=`# Rejection Issue Report \u2014 ${e.topic}
|
|
159
166
|
|
|
160
167
|
`;if(a+=`**Session:** ${e.sessionId}
|
|
161
168
|
`,a+=`**Rejected at:** ${new Date().toISOString()}
|
|
@@ -174,7 +181,7 @@ ${n.stderr}`.trim(),s=zn(o,1e4,`
|
|
|
174
181
|
`}a+=`
|
|
175
182
|
`}return a+=`
|
|
176
183
|
---
|
|
177
|
-
`,
|
|
184
|
+
`,ye(i,a),{id:s,content:a,path:i}}async createSynthesis(e){let r=Jo(),n=Ko(e.topic),o=this.nextSequenceGlobal(r),s=`${n}_${r}_${o}`,i=rt(`${s}.md`,this.synthesisDir),a=C_(I_(this.synthesisDir,e.debatePath)),c=e.individualPaths.map(l=>C_(I_(this.synthesisDir,l))),u=`# Synthesis: ${e.topic}
|
|
178
185
|
|
|
179
186
|
`;if(u+=`**Date:** ${new Date().toISOString().slice(0,10)}
|
|
180
187
|
`,u+=`**Status:** ${e.status}
|
|
@@ -185,16 +192,16 @@ ${n.stderr}`.trim(),s=zn(o,1e4,`
|
|
|
185
192
|
`;if(u+=`
|
|
186
193
|
## Sources
|
|
187
194
|
|
|
188
|
-
`,u+=`- Debate transcript: [${
|
|
195
|
+
`,u+=`- Debate transcript: [${R_(e.debatePath)}](${a})
|
|
189
196
|
`,e.individualPaths.length>0){u+=`- Individual reviews:
|
|
190
|
-
`;for(let l=0;l<e.individualPaths.length;l++){let d=e.individualPaths[l];u+=` - [${
|
|
197
|
+
`;for(let l=0;l<e.individualPaths.length;l++){let d=e.individualPaths[l];u+=` - [${R_(d)}](${c[l]})
|
|
191
198
|
`}}return u+=`
|
|
192
199
|
---
|
|
193
200
|
|
|
194
201
|
`,u+=e.body,u+=`
|
|
195
202
|
|
|
196
203
|
---
|
|
197
|
-
`,
|
|
204
|
+
`,ye(i,u),{id:s,content:u,path:i}}async appendToSynthesis(e,r){let n=rt(`${e}.md`,this.synthesisDir);if(!mi(n))throw new Error(`Synthesis document not found: ${e}`);lc(n,`
|
|
198
205
|
${r}
|
|
199
206
|
`)}async addComment(e,r){let n=this.resolveDocPath(e),o=`
|
|
200
207
|
## Comment by ${r.author}
|
|
@@ -202,78 +209,78 @@ ${r}
|
|
|
202
209
|
${r.content}
|
|
203
210
|
|
|
204
211
|
---
|
|
205
|
-
`;
|
|
212
|
+
`;lc(n,o)}async replaceDocumentContent(e,r){let n=this.resolveDocPath(e);ye(n,r)}async read(e){let r=this.resolveDocPath(e),n=T_(r,"utf-8");return{id:e,content:n,path:r}}resolveKindDir(e){switch(e){case"individual":return this.individualDir;case"debate":return this.debateDir;case"synthesis":return this.synthesisDir;case"general":return this.reviewDir}}async createDocument(e){let r=e.kind??"general",n=this.resolveKindDir(r),o=Jo(),s=e.topic?Ko(e.topic):Ko(e.title),i=this.nextSequenceGlobal(o),a=`${s}_${o}_${i}`,c=rt(`${a}.md`,n),u=`# ${e.title}
|
|
206
213
|
|
|
207
214
|
`;if(e.metadata){for(let[l,d]of Object.entries(e.metadata))u+=`**${l}:** ${d}
|
|
208
215
|
`;u+=`
|
|
209
216
|
`}return u+=e.content,u+=`
|
|
210
217
|
|
|
211
218
|
---
|
|
212
|
-
`,oe(c,u),{id:a,content:u,path:c}}async list(){let e=[];for(let r of this.allDirs){if(!Vo(r))continue;let n=Pu(r).filter(o=>o.endsWith(".md"));for(let o of n){let s=o.replace(".md",""),i=Fe(o,r),a=ch(i,"utf-8");e.push({id:s,content:a,path:i})}}return e}cleanup(e={}){let r=e.maxAgeDays??30,n=e.maxFilesPerDir??e.maxFiles??100,o=Date.now(),s=r*24*60*60*1e3,i=0;for(let a of this.allDirs){if(!Vo(a))continue;let c=Pu(a).filter(u=>u.endsWith(".md")).map(u=>{let l=Bo(a,u),d=rT(l);return{path:l,mtime:d.mtimeMs}}).sort((u,l)=>l.mtime-u.mtime);for(let u=0;u<c.length;u++){let l=o-c[u].mtime;if(u>=n||l>s)try{nT(c[u].path),i++}catch{}}}return{removed:i}}};var BU=Object.freeze({status:"aborted"});function w(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var tr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Oi={};function ft(t){return t&&Object.assign(Oi,t),Oi}var ce={};We(ce,{BIGINT_FORMAT_RANGES:()=>mh,Class:()=>Eu,NUMBER_FORMAT_RANGES:()=>Mu,aborted:()=>rn,allowsEval:()=>Du,assert:()=>dT,assertEqual:()=>aT,assertIs:()=>uT,assertNever:()=>lT,assertNotEqual:()=>cT,assignProp:()=>Cu,cached:()=>Ko,captureStackTrace:()=>Ni,cleanEnum:()=>$T,cleanRegex:()=>Go,clone:()=>Nt,createTransparentProxy:()=>yT,defineLazy:()=>fe,esc:()=>tn,escapeRegex:()=>gr,extend:()=>bT,finalizeIssue:()=>wt,floatSafeRemainder:()=>Au,getElementAtPath:()=>pT,getEnumValues:()=>Ru,getLengthableOrigin:()=>Yo,getParsedType:()=>gT,getSizableOrigin:()=>hh,isObject:()=>qn,isPlainObject:()=>Vn,issue:()=>Nu,joinValues:()=>Mi,jsonStringifyReplacer:()=>Iu,merge:()=>wT,normalizeParams:()=>N,nullish:()=>Jo,numKeys:()=>hT,omit:()=>_T,optionalKeys:()=>Ou,partial:()=>xT,pick:()=>vT,prefixIssues:()=>jt,primitiveTypes:()=>fh,promiseAllObject:()=>fT,propertyKeyTypes:()=>zu,randomString:()=>mT,required:()=>ST,stringifyPrimitive:()=>ji,unwrapMessage:()=>Ho});function aT(t){return t}function cT(t){return t}function uT(t){}function lT(t){throw new Error}function dT(t){}function Ru(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function Mi(t,e="|"){return t.map(r=>ji(r)).join(e)}function Iu(t,e){return typeof e=="bigint"?e.toString():e}function Ko(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Jo(t){return t==null}function Go(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Au(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function fe(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Cu(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function pT(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function fT(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function mT(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function tn(t){return JSON.stringify(t)}var Ni=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function qn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Du=Ko(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Vn(t){if(qn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(qn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function hT(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var gT=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},zu=new Set(["string","number","symbol"]),fh=new Set(["string","number","bigint","boolean","symbol","undefined"]);function gr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Nt(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function N(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function yT(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function ji(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ou(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Mu={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]},mh={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function vT(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return Nt(t,{...t._zod.def,shape:r,checks:[]})}function _T(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return Nt(t,{...t._zod.def,shape:r,checks:[]})}function bT(t,e){if(!Vn(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return Cu(this,"shape",n),n},checks:[]};return Nt(t,r)}function wT(t,e){return Nt(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Cu(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function xT(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return Nt(e,{...e._zod.def,shape:o,checks:[]})}function ST(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return Nt(e,{...e._zod.def,shape:o,checks:[]})}function rn(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function jt(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function Ho(t){return typeof t=="string"?t:t?.message}function wt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=Ho(t.inst?._zod.def?.error?.(t))??Ho(e?.error?.(t))??Ho(r.customError?.(t))??Ho(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function hh(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Yo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Nu(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function $T(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Eu=class{constructor(...e){}};var gh=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,Iu,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Li=w("$ZodError",gh),ju=w("$ZodError",gh,{Parent:Error});function yh(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function vh(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var _h=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new tr;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>wt(c,s,ft())));throw Ni(a,o?.callee),a}return i.value};var bh=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>wt(c,s,ft())));throw Ni(a,o?.callee),a}return i.value};var Lu=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new tr;return s.issues.length?{success:!1,error:new(t??Li)(s.issues.map(i=>wt(i,o,ft())))}:{success:!0,data:s.value}},Xo=Lu(ju),Fu=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>wt(i,o,ft())))}:{success:!0,data:s.value}},Fi=Fu(ju);var wh=/^[cC][^\s-]{8,}$/,xh=/^[0-9a-z]+$/,Sh=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,$h=/^[0-9a-vA-V]{20}$/,kh=/^[A-Za-z0-9]{27}$/,Ph=/^[a-zA-Z0-9_-]{21}$/,Th=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Eh=/^([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})$/,Zu=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[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 Rh=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var PT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Ih(){return new RegExp(PT,"u")}var Ah=/^(?:(?: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])$/,Ch=/^(([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})$/,Dh=/^((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])$/,zh=/^(([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])$/,Oh=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Uu=/^[A-Za-z0-9_-]*$/,Mh=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Nh=/^\+(?:[0-9]){6,14}[0-9]$/,jh="(?:(?:\\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])))",Lh=new RegExp(`^${jh}$`);function Fh(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Zh(t){return new RegExp(`^${Fh(t)}$`)}function Uh(t){let e=Fh({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${jh}T(?:${n})$`)}var qh=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Vh=/^\d+$/,Bh=/^-?\d+(?:\.\d+)?/i,Wh=/true|false/i,Hh=/null/i;var Kh=/^[^A-Z]*$/,Jh=/^[^a-z]*$/;var Ue=w("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Gh={number:"number",bigint:"bigint",object:"date"},Vu=w("$ZodCheckLessThan",(t,e)=>{Ue.init(t,e);let r=Gh[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Bu=w("$ZodCheckGreaterThan",(t,e)=>{Ue.init(t,e);let r=Gh[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Yh=w("$ZodCheckMultipleOf",(t,e)=>{Ue.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Au(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Xh=w("$ZodCheckNumberFormat",(t,e)=>{Ue.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Mu[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Vh)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var Qh=w("$ZodCheckMaxLength",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Jo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=Yo(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),eg=w("$ZodCheckMinLength",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Jo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=Yo(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),tg=w("$ZodCheckLengthEquals",(t,e)=>{var r;Ue.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Jo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=Yo(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Qo=w("$ZodCheckStringFormat",(t,e)=>{var r,n;Ue.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),rg=w("$ZodCheckRegex",(t,e)=>{Qo.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),ng=w("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Kh),Qo.init(t,e)}),og=w("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Jh),Qo.init(t,e)}),sg=w("$ZodCheckIncludes",(t,e)=>{Ue.init(t,e);let r=gr(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),ig=w("$ZodCheckStartsWith",(t,e)=>{Ue.init(t,e);let r=new RegExp(`^${gr(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),ag=w("$ZodCheckEndsWith",(t,e)=>{Ue.init(t,e);let r=new RegExp(`.*${gr(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var cg=w("$ZodCheckOverwrite",(t,e)=>{Ue.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Zi=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
219
|
+
`,ye(c,u),{id:a,content:u,path:c}}async list(){let e=[];for(let r of this.allDirs){if(!mi(r))continue;let n=cp(r).filter(o=>o.endsWith(".md"));for(let o of n){let s=o.replace(".md",""),i=rt(o,r),a=T_(i,"utf-8");e.push({id:s,content:a,path:i})}}return e}cleanup(e={}){let r=e.maxAgeDays??30,n=e.maxFilesPerDir??e.maxFiles??100,o=Date.now(),s=r*24*60*60*1e3,i=0;for(let a of this.allDirs){if(!mi(a))continue;let c=cp(a).filter(u=>u.endsWith(".md")).map(u=>{let l=hi(a,u),d=tO(l);return{path:l,mtime:d.mtimeMs}}).sort((u,l)=>l.mtime-u.mtime);for(let u=0;u<c.length;u++){let l=o-c[u].mtime;if(u>=n||l>s)try{rO(c[u].path),i++}catch{}}}return{removed:i}}};var c3=Object.freeze({status:"aborted"});function S(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var jr=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Mc={};function Lt(t){return t&&Object.assign(Mc,t),Mc}var ge={};lt(ge,{BIGINT_FORMAT_RANGES:()=>O_,Class:()=>lp,NUMBER_FORMAT_RANGES:()=>vp,aborted:()=>Yn,allowsEval:()=>hp,assert:()=>lO,assertEqual:()=>iO,assertIs:()=>cO,assertNever:()=>uO,assertNotEqual:()=>aO,assignProp:()=>mp,cached:()=>vi,captureStackTrace:()=>qc,cleanEnum:()=>SO,cleanRegex:()=>bi,clone:()=>gr,createTransparentProxy:()=>gO,defineLazy:()=>xe,esc:()=>Gn,escapeRegex:()=>nn,extend:()=>_O,finalizeIssue:()=>Yt,floatSafeRemainder:()=>fp,getElementAtPath:()=>dO,getEnumValues:()=>dp,getLengthableOrigin:()=>wi,getParsedType:()=>hO,getSizableOrigin:()=>z_,isObject:()=>Go,isPlainObject:()=>Yo,issue:()=>_p,joinValues:()=>Lc,jsonStringifyReplacer:()=>pp,merge:()=>bO,normalizeParams:()=>U,nullish:()=>_i,numKeys:()=>mO,omit:()=>vO,optionalKeys:()=>yp,partial:()=>wO,pick:()=>yO,prefixIssues:()=>yr,primitiveTypes:()=>D_,promiseAllObject:()=>pO,propertyKeyTypes:()=>gp,randomString:()=>fO,required:()=>$O,stringifyPrimitive:()=>Fc,unwrapMessage:()=>yi});function iO(t){return t}function aO(t){return t}function cO(t){}function uO(t){throw new Error}function lO(t){}function dp(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function Lc(t,e="|"){return t.map(r=>Fc(r)).join(e)}function pp(t,e){return typeof e=="bigint"?e.toString():e}function vi(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function _i(t){return t==null}function bi(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function fp(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function xe(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function mp(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function dO(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function pO(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function fO(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Gn(t){return JSON.stringify(t)}var qc=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function Go(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var hp=vi(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Yo(t){if(Go(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(Go(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function mO(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var hO=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},gp=new Set(["string","number","symbol"]),D_=new Set(["string","number","bigint","boolean","symbol","undefined"]);function nn(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function gr(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function U(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function gO(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function Fc(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function yp(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var vp={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]},O_={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function yO(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return gr(t,{...t._zod.def,shape:r,checks:[]})}function vO(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return gr(t,{...t._zod.def,shape:r,checks:[]})}function _O(t,e){if(!Yo(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return mp(this,"shape",n),n},checks:[]};return gr(t,r)}function bO(t,e){return gr(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return mp(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function wO(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return gr(e,{...e._zod.def,shape:o,checks:[]})}function $O(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return gr(e,{...e._zod.def,shape:o,checks:[]})}function Yn(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function yr(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function yi(t){return typeof t=="string"?t:t?.message}function Yt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=yi(t.inst?._zod.def?.error?.(t))??yi(e?.error?.(t))??yi(r.customError?.(t))??yi(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function z_(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function wi(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function _p(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function SO(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var lp=class{constructor(...e){}};var N_=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,pp,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Uc=S("$ZodError",N_),bp=S("$ZodError",N_,{Parent:Error});function j_(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function M_(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var L_=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new jr;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>Yt(c,s,Lt())));throw qc(a,o?.callee),a}return i.value};var q_=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>Yt(c,s,Lt())));throw qc(a,o?.callee),a}return i.value};var wp=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new jr;return s.issues.length?{success:!1,error:new(t??Uc)(s.issues.map(i=>Yt(i,o,Lt())))}:{success:!0,data:s.value}},$i=wp(bp),$p=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>Yt(i,o,Lt())))}:{success:!0,data:s.value}},Zc=$p(bp);var F_=/^[cC][^\s-]{8,}$/,U_=/^[0-9a-z]+$/,Z_=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,V_=/^[0-9a-vA-V]{20}$/,B_=/^[A-Za-z0-9]{27}$/,W_=/^[a-zA-Z0-9_-]{21}$/,H_=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var K_=/^([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})$/,Sp=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[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 J_=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var kO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function G_(){return new RegExp(kO,"u")}var Y_=/^(?:(?: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])$/,Q_=/^(([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})$/,X_=/^((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])$/,eb=/^(([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])$/,tb=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,xp=/^[A-Za-z0-9_-]*$/,rb=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var nb=/^\+(?:[0-9]){6,14}[0-9]$/,ob="(?:(?:\\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])))",sb=new RegExp(`^${ob}$`);function ib(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ab(t){return new RegExp(`^${ib(t)}$`)}function cb(t){let e=ib({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${ob}T(?:${n})$`)}var ub=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var lb=/^\d+$/,db=/^-?\d+(?:\.\d+)?/i,pb=/true|false/i,fb=/null/i;var mb=/^[^A-Z]*$/,hb=/^[^a-z]*$/;var nt=S("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),gb={number:"number",bigint:"bigint",object:"date"},Pp=S("$ZodCheckLessThan",(t,e)=>{nt.init(t,e);let r=gb[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ep=S("$ZodCheckGreaterThan",(t,e)=>{nt.init(t,e);let r=gb[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),yb=S("$ZodCheckMultipleOf",(t,e)=>{nt.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):fp(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),vb=S("$ZodCheckNumberFormat",(t,e)=>{nt.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=vp[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=lb)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var _b=S("$ZodCheckMaxLength",(t,e)=>{var r;nt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!_i(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=wi(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),bb=S("$ZodCheckMinLength",(t,e)=>{var r;nt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!_i(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=wi(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),wb=S("$ZodCheckLengthEquals",(t,e)=>{var r;nt.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!_i(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=wi(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Si=S("$ZodCheckStringFormat",(t,e)=>{var r,n;nt.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),$b=S("$ZodCheckRegex",(t,e)=>{Si.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Sb=S("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=mb),Si.init(t,e)}),xb=S("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=hb),Si.init(t,e)}),kb=S("$ZodCheckIncludes",(t,e)=>{nt.init(t,e);let r=nn(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Pb=S("$ZodCheckStartsWith",(t,e)=>{nt.init(t,e);let r=new RegExp(`^${nn(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Eb=S("$ZodCheckEndsWith",(t,e)=>{nt.init(t,e);let r=new RegExp(`.*${nn(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var Tb=S("$ZodCheckOverwrite",(t,e)=>{nt.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Vc=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
213
220
|
`).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new e(...r,o.join(`
|
|
214
|
-
`))}};var
|
|
215
|
-
if (${
|
|
216
|
-
if (input[${
|
|
217
|
-
if (${
|
|
218
|
-
newResult[${
|
|
221
|
+
`))}};var Ib={major:4,minor:0,patch:0};var ke=S("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Ib;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Yn(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,p=l._zod.check(s);if(p instanceof Promise&&a?.async===!1)throw new jr;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,s.issues.length!==d&&(c||(c=Yn(s,d)))});else{if(s.issues.length===d)continue;c||(c=Yn(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new jr;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=$i(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Zc(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Wc=S("$ZodString",(t,e)=>{ke.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??ub(t._zod.bag),t._zod.parse=(r,n)=>{if(e.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:t}),r}}),Ee=S("$ZodStringFormat",(t,e)=>{Si.init(t,e),Wc.init(t,e)}),qb=S("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=K_),Ee.init(t,e)}),Fb=S("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Sp(n))}else e.pattern??(e.pattern=Sp());Ee.init(t,e)}),Ub=S("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=J_),Ee.init(t,e)}),Zb=S("$ZodURL",(t,e)=>{Ee.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:rb.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Vb=S("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=G_()),Ee.init(t,e)}),Bb=S("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=W_),Ee.init(t,e)}),Wb=S("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=F_),Ee.init(t,e)}),Hb=S("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=U_),Ee.init(t,e)}),Kb=S("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Z_),Ee.init(t,e)}),Jb=S("$ZodXID",(t,e)=>{e.pattern??(e.pattern=V_),Ee.init(t,e)}),Gb=S("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=B_),Ee.init(t,e)}),Yb=S("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=cb(e)),Ee.init(t,e)}),Qb=S("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=sb),Ee.init(t,e)}),Xb=S("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=ab(e)),Ee.init(t,e)}),ew=S("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=H_),Ee.init(t,e)}),tw=S("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Y_),Ee.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),rw=S("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Q_),Ee.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),nw=S("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=X_),Ee.init(t,e)}),ow=S("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=eb),Ee.init(t,e),t._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function sw(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var iw=S("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=tb),Ee.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{sw(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function PO(t){if(!xp.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return sw(r)}var aw=S("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=xp),Ee.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{PO(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),cw=S("$ZodE164",(t,e)=>{e.pattern??(e.pattern=nb),Ee.init(t,e)});function EO(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var uw=S("$ZodJWT",(t,e)=>{Ee.init(t,e),t._zod.check=r=>{EO(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Rp=S("$ZodNumber",(t,e)=>{ke.init(t,e),t._zod.pattern=t._zod.bag.pattern??db,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...s?{received:s}:{}}),r}}),lw=S("$ZodNumber",(t,e)=>{vb.init(t,e),Rp.init(t,e)}),dw=S("$ZodBoolean",(t,e)=>{ke.init(t,e),t._zod.pattern=pb,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}});var pw=S("$ZodNull",(t,e)=>{ke.init(t,e),t._zod.pattern=fb,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var fw=S("$ZodUnknown",(t,e)=>{ke.init(t,e),t._zod.parse=r=>r}),mw=S("$ZodNever",(t,e)=>{ke.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Ab(t,e,r){t.issues.length&&e.issues.push(...yr(r,t.issues)),e.value[r]=t.value}var hw=S("$ZodArray",(t,e)=>{ke.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Ab(u,r,i))):Ab(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Bc(t,e,r){t.issues.length&&e.issues.push(...yr(r,t.issues)),e.value[r]=t.value}function Cb(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...yr(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var gw=S("$ZodObject",(t,e)=>{ke.init(t,e);let r=vi(()=>{let d=Object.keys(e.shape);for(let f of d)if(!(e.shape[f]instanceof ke))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=yp(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});xe(t._zod,"propValues",()=>{let d=e.shape,p={};for(let f in d){let m=d[f]._zod;if(m.values){p[f]??(p[f]=new Set);for(let h of m.values)p[f].add(h)}}return p});let n=d=>{let p=new Vc(["shape","payload","ctx"]),f=r.value,m=b=>{let _=Gn(b);return`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`};p.write("const input = payload.value;");let h=Object.create(null),y=0;for(let b of f.keys)h[b]=`key_${y++}`;p.write("const newResult = {}");for(let b of f.keys)if(f.optionalKeys.has(b)){let _=h[b];p.write(`const ${_} = ${m(b)};`);let k=Gn(b);p.write(`
|
|
222
|
+
if (${_}.issues.length) {
|
|
223
|
+
if (input[${k}] === undefined) {
|
|
224
|
+
if (${k} in input) {
|
|
225
|
+
newResult[${k}] = undefined;
|
|
219
226
|
}
|
|
220
227
|
} else {
|
|
221
228
|
payload.issues = payload.issues.concat(
|
|
222
|
-
${
|
|
229
|
+
${_}.issues.map((iss) => ({
|
|
223
230
|
...iss,
|
|
224
|
-
path: iss.path ? [${
|
|
231
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}],
|
|
225
232
|
}))
|
|
226
233
|
);
|
|
227
234
|
}
|
|
228
|
-
} else if (${
|
|
229
|
-
if (${
|
|
235
|
+
} else if (${_}.value === undefined) {
|
|
236
|
+
if (${k} in input) newResult[${k}] = undefined;
|
|
230
237
|
} else {
|
|
231
|
-
newResult[${
|
|
238
|
+
newResult[${k}] = ${_}.value;
|
|
232
239
|
}
|
|
233
|
-
`)}else{let
|
|
234
|
-
if (${
|
|
240
|
+
`)}else{let _=h[b];p.write(`const ${_} = ${m(b)};`),p.write(`
|
|
241
|
+
if (${_}.issues.length) payload.issues = payload.issues.concat(${_}.issues.map(iss => ({
|
|
235
242
|
...iss,
|
|
236
|
-
path: iss.path ? [${
|
|
237
|
-
})));`),p.write(`newResult[${tn(x)}] = ${b}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let v=p.compile();return(x,b)=>v(d,x,b)},o,s=qn,i=!Oi.jitless,c=i&&Du.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let f=d.value;if(!s(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:t}),d;let m=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(e.shape)),d=o(d,p);else{d.value={};let b=l.shape;for(let P of l.keys){let T=b[P],W=T._zod.run({value:f[P],issues:[]},p),$=T._zod.optin==="optional"&&T._zod.optout==="optional";W instanceof Promise?m.push(W.then(j=>$?pg(j,d,P,f):Ui(j,d,P))):$?pg(W,d,P,f):Ui(W,d,P)}}if(!u)return m.length?Promise.all(m).then(()=>d):d;let g=[],y=l.keySet,v=u._zod,x=v.def.type;for(let b of Object.keys(f)){if(y.has(b))continue;if(x==="never"){g.push(b);continue}let P=v.run({value:f[b],issues:[]},p);P instanceof Promise?m.push(P.then(T=>Ui(T,d,b))):Ui(P,d,b)}return g.length&&d.issues.push({code:"unrecognized_keys",keys:g,input:f,inst:t}),m.length?Promise.all(m).then(()=>d):d}});function fg(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>wt(s,n,ft())))}),e}var Ku=w("$ZodUnion",(t,e)=>{me.init(t,e),fe(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),fe(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),fe(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),fe(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Go(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>fg(i,r,t,n)):fg(s,r,t,n)}}),Yg=w("$ZodDiscriminatedUnion",(t,e)=>{Ku.init(t,e);let r=t._zod.parse;fe(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=Ko(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(o,s)=>{let i=o.value;if(!qn(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Xg=w("$ZodIntersection",(t,e)=>{me.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>mg(r,c,u)):mg(r,s,i)}});function Wu(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Vn(t)&&Vn(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=Wu(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=Wu(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function mg(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),rn(t))return t;let n=Wu(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var Qg=w("$ZodRecord",(t,e)=>{me.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Vn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...jt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...jt(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>wt(u,n,ft())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...jt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...jt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var ey=w("$ZodEnum",(t,e)=>{me.init(t,e);let r=Ru(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>zu.has(typeof n)).map(n=>typeof n=="string"?gr(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),ty=w("$ZodLiteral",(t,e)=>{me.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?gr(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var ry=w("$ZodTransform",(t,e)=>{me.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new tr;return r.value=o,r}}),ny=w("$ZodOptional",(t,e)=>{me.init(t,e),t._zod.optin="optional",t._zod.optout="optional",fe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),fe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Go(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),oy=w("$ZodNullable",(t,e)=>{me.init(t,e),fe(t._zod,"optin",()=>e.innerType._zod.optin),fe(t._zod,"optout",()=>e.innerType._zod.optout),fe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Go(r.source)}|null)$`):void 0}),fe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),sy=w("$ZodDefault",(t,e)=>{me.init(t,e),t._zod.optin="optional",fe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>hg(s,e)):hg(o,e)}});function hg(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var iy=w("$ZodPrefault",(t,e)=>{me.init(t,e),t._zod.optin="optional",fe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),ay=w("$ZodNonOptional",(t,e)=>{me.init(t,e),fe(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>gg(s,t)):gg(o,t)}});function gg(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var cy=w("$ZodCatch",(t,e)=>{me.init(t,e),t._zod.optin="optional",fe(t._zod,"optout",()=>e.innerType._zod.optout),fe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>wt(i,n,ft()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>wt(s,n,ft()))},input:r.value}),r.issues=[]),r)}});var uy=w("$ZodPipe",(t,e)=>{me.init(t,e),fe(t._zod,"values",()=>e.in._zod.values),fe(t._zod,"optin",()=>e.in._zod.optin),fe(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>yg(s,e,n)):yg(o,e,n)}});function yg(t,e,r){return rn(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var ly=w("$ZodReadonly",(t,e)=>{me.init(t,e),fe(t._zod,"propValues",()=>e.innerType._zod.propValues),fe(t._zod,"values",()=>e.innerType._zod.values),fe(t._zod,"optin",()=>e.innerType._zod.optin),fe(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(vg):vg(o)}});function vg(t){return t.value=Object.freeze(t.value),t}var dy=w("$ZodCustom",(t,e)=>{Ue.init(t,e),me.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>_g(s,r,n,t));_g(o,r,n,t)}});function _g(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(Nu(o))}}var RT=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},IT=()=>{let t={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 e(n){return t[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 ${RT(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${ji(n.values[0])}`:`Invalid option: expected one of ${Mi(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.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":""}: ${Mi(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 py(){return{localeError:IT()}}var Ju=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,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,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function AT(){return new Ju}var es=AT();function fy(t,e){return new t({type:"string",...N(e)})}function my(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...N(e)})}function Gu(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...N(e)})}function hy(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...N(e)})}function gy(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...N(e)})}function yy(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...N(e)})}function vy(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...N(e)})}function _y(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...N(e)})}function by(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...N(e)})}function wy(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...N(e)})}function xy(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...N(e)})}function Sy(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...N(e)})}function $y(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...N(e)})}function ky(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...N(e)})}function Py(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...N(e)})}function Ty(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...N(e)})}function Ey(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...N(e)})}function Ry(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...N(e)})}function Iy(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...N(e)})}function Ay(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...N(e)})}function Cy(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...N(e)})}function Dy(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...N(e)})}function zy(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...N(e)})}function Oy(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...N(e)})}function My(t,e){return new t({type:"string",format:"date",check:"string_format",...N(e)})}function Ny(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...N(e)})}function jy(t,e){return new t({type:"string",format:"duration",check:"string_format",...N(e)})}function Ly(t,e){return new t({type:"number",checks:[],...N(e)})}function Fy(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...N(e)})}function Zy(t,e){return new t({type:"boolean",...N(e)})}function Uy(t,e){return new t({type:"null",...N(e)})}function qy(t){return new t({type:"unknown"})}function Vy(t,e){return new t({type:"never",...N(e)})}function Vi(t,e){return new Vu({check:"less_than",...N(e),value:t,inclusive:!1})}function ts(t,e){return new Vu({check:"less_than",...N(e),value:t,inclusive:!0})}function Bi(t,e){return new Bu({check:"greater_than",...N(e),value:t,inclusive:!1})}function rs(t,e){return new Bu({check:"greater_than",...N(e),value:t,inclusive:!0})}function Wi(t,e){return new Yh({check:"multiple_of",...N(e),value:t})}function Hi(t,e){return new Qh({check:"max_length",...N(e),maximum:t})}function Bn(t,e){return new eg({check:"min_length",...N(e),minimum:t})}function Ki(t,e){return new tg({check:"length_equals",...N(e),length:t})}function Yu(t,e){return new rg({check:"string_format",format:"regex",...N(e),pattern:t})}function Xu(t){return new ng({check:"string_format",format:"lowercase",...N(t)})}function Qu(t){return new og({check:"string_format",format:"uppercase",...N(t)})}function el(t,e){return new sg({check:"string_format",format:"includes",...N(e),includes:t})}function tl(t,e){return new ig({check:"string_format",format:"starts_with",...N(e),prefix:t})}function rl(t,e){return new ag({check:"string_format",format:"ends_with",...N(e),suffix:t})}function nn(t){return new cg({check:"overwrite",tx:t})}function nl(t){return nn(e=>e.normalize(t))}function ol(){return nn(t=>t.trim())}function sl(){return nn(t=>t.toLowerCase())}function il(){return nn(t=>t.toUpperCase())}function By(t,e,r){return new t({type:"array",element:e,...N(r)})}function Wy(t,e,r){let n=N(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Hy(t,e,r){return new t({type:"custom",check:"custom",fn:e,...N(r)})}function Wn(t){return!!t._zod}function yr(t,e){return Wn(t)?Xo(t,e):t.safeParse(e)}function Ji(t){if(!t)return;let e;if(Wn(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function Ky(t){if(Wn(t)){let s=t._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=t._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=t.value;if(n!==void 0)return n}var os={};We(os,{ZodISODate:()=>Gy,ZodISODateTime:()=>Jy,ZodISODuration:()=>Xy,ZodISOTime:()=>Yy,date:()=>cl,datetime:()=>al,duration:()=>ll,time:()=>ul});var Jy=w("ZodISODateTime",(t,e)=>{Ag.init(t,e),_e.init(t,e)});function al(t){return Oy(Jy,t)}var Gy=w("ZodISODate",(t,e)=>{Cg.init(t,e),_e.init(t,e)});function cl(t){return My(Gy,t)}var Yy=w("ZodISOTime",(t,e)=>{Dg.init(t,e),_e.init(t,e)});function ul(t){return Ny(Yy,t)}var Xy=w("ZodISODuration",(t,e)=>{zg.init(t,e),_e.init(t,e)});function ll(t){return jy(Xy,t)}var Qy=(t,e)=>{Li.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>vh(t,r)},flatten:{value:r=>yh(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},jq=w("ZodError",Qy),ss=w("ZodError",Qy,{Parent:Error});var ev=_h(ss),tv=bh(ss),rv=Lu(ss),nv=Fu(ss);var $e=w("ZodType",(t,e)=>(me.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>Nt(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>ev(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>rv(t,r,n),t.parseAsync=async(r,n)=>tv(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>nv(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(EE(r,n)),t.superRefine=r=>t.check(RE(r)),t.overwrite=r=>t.check(nn(r)),t.optional=()=>Se(t),t.nullable=()=>iv(t),t.nullish=()=>Se(iv(t)),t.nonoptional=r=>wE(t,r),t.array=()=>ee(t),t.or=r=>he([t,r]),t.and=r=>Yi(t,r),t.transform=r=>pl(t,dv(r)),t.default=r=>vE(t,r),t.prefault=r=>bE(t,r),t.catch=r=>SE(t,r),t.pipe=r=>pl(t,r),t.readonly=()=>PE(t),t.describe=r=>{let n=t.clone();return es.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return es.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return es.get(t);let n=t.clone();return es.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),av=w("_ZodString",(t,e)=>{qi.init(t,e),$e.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Yu(...n)),t.includes=(...n)=>t.check(el(...n)),t.startsWith=(...n)=>t.check(tl(...n)),t.endsWith=(...n)=>t.check(rl(...n)),t.min=(...n)=>t.check(Bn(...n)),t.max=(...n)=>t.check(Hi(...n)),t.length=(...n)=>t.check(Ki(...n)),t.nonempty=(...n)=>t.check(Bn(1,...n)),t.lowercase=n=>t.check(Xu(n)),t.uppercase=n=>t.check(Qu(n)),t.trim=()=>t.check(ol()),t.normalize=(...n)=>t.check(nl(...n)),t.toLowerCase=()=>t.check(sl()),t.toUpperCase=()=>t.check(il())}),FT=w("ZodString",(t,e)=>{qi.init(t,e),av.init(t,e),t.email=r=>t.check(my(ZT,r)),t.url=r=>t.check(_y(UT,r)),t.jwt=r=>t.check(zy(nE,r)),t.emoji=r=>t.check(by(qT,r)),t.guid=r=>t.check(Gu(ov,r)),t.uuid=r=>t.check(hy(Gi,r)),t.uuidv4=r=>t.check(gy(Gi,r)),t.uuidv6=r=>t.check(yy(Gi,r)),t.uuidv7=r=>t.check(vy(Gi,r)),t.nanoid=r=>t.check(wy(VT,r)),t.guid=r=>t.check(Gu(ov,r)),t.cuid=r=>t.check(xy(BT,r)),t.cuid2=r=>t.check(Sy(WT,r)),t.ulid=r=>t.check($y(HT,r)),t.base64=r=>t.check(Ay(eE,r)),t.base64url=r=>t.check(Cy(tE,r)),t.xid=r=>t.check(ky(KT,r)),t.ksuid=r=>t.check(Py(JT,r)),t.ipv4=r=>t.check(Ty(GT,r)),t.ipv6=r=>t.check(Ey(YT,r)),t.cidrv4=r=>t.check(Ry(XT,r)),t.cidrv6=r=>t.check(Iy(QT,r)),t.e164=r=>t.check(Dy(rE,r)),t.datetime=r=>t.check(al(r)),t.date=r=>t.check(cl(r)),t.time=r=>t.check(ul(r)),t.duration=r=>t.check(ll(r))});function _(t){return fy(FT,t)}var _e=w("ZodStringFormat",(t,e)=>{ge.init(t,e),av.init(t,e)}),ZT=w("ZodEmail",(t,e)=>{xg.init(t,e),_e.init(t,e)});var ov=w("ZodGUID",(t,e)=>{bg.init(t,e),_e.init(t,e)});var Gi=w("ZodUUID",(t,e)=>{wg.init(t,e),_e.init(t,e)});var UT=w("ZodURL",(t,e)=>{Sg.init(t,e),_e.init(t,e)});var qT=w("ZodEmoji",(t,e)=>{$g.init(t,e),_e.init(t,e)});var VT=w("ZodNanoID",(t,e)=>{kg.init(t,e),_e.init(t,e)});var BT=w("ZodCUID",(t,e)=>{Pg.init(t,e),_e.init(t,e)});var WT=w("ZodCUID2",(t,e)=>{Tg.init(t,e),_e.init(t,e)});var HT=w("ZodULID",(t,e)=>{Eg.init(t,e),_e.init(t,e)});var KT=w("ZodXID",(t,e)=>{Rg.init(t,e),_e.init(t,e)});var JT=w("ZodKSUID",(t,e)=>{Ig.init(t,e),_e.init(t,e)});var GT=w("ZodIPv4",(t,e)=>{Og.init(t,e),_e.init(t,e)});var YT=w("ZodIPv6",(t,e)=>{Mg.init(t,e),_e.init(t,e)});var XT=w("ZodCIDRv4",(t,e)=>{Ng.init(t,e),_e.init(t,e)});var QT=w("ZodCIDRv6",(t,e)=>{jg.init(t,e),_e.init(t,e)});var eE=w("ZodBase64",(t,e)=>{Fg.init(t,e),_e.init(t,e)});var tE=w("ZodBase64URL",(t,e)=>{Zg.init(t,e),_e.init(t,e)});var rE=w("ZodE164",(t,e)=>{Ug.init(t,e),_e.init(t,e)});var nE=w("ZodJWT",(t,e)=>{qg.init(t,e),_e.init(t,e)});var cv=w("ZodNumber",(t,e)=>{Hu.init(t,e),$e.init(t,e),t.gt=(n,o)=>t.check(Bi(n,o)),t.gte=(n,o)=>t.check(rs(n,o)),t.min=(n,o)=>t.check(rs(n,o)),t.lt=(n,o)=>t.check(Vi(n,o)),t.lte=(n,o)=>t.check(ts(n,o)),t.max=(n,o)=>t.check(ts(n,o)),t.int=n=>t.check(sv(n)),t.safe=n=>t.check(sv(n)),t.positive=n=>t.check(Bi(0,n)),t.nonnegative=n=>t.check(rs(0,n)),t.negative=n=>t.check(Vi(0,n)),t.nonpositive=n=>t.check(ts(0,n)),t.multipleOf=(n,o)=>t.check(Wi(n,o)),t.step=(n,o)=>t.check(Wi(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ue(t){return Ly(cv,t)}var oE=w("ZodNumberFormat",(t,e)=>{Vg.init(t,e),cv.init(t,e)});function sv(t){return Fy(oE,t)}var sE=w("ZodBoolean",(t,e)=>{Bg.init(t,e),$e.init(t,e)});function Ae(t){return Zy(sE,t)}var iE=w("ZodNull",(t,e)=>{Wg.init(t,e),$e.init(t,e)});function fl(t){return Uy(iE,t)}var aE=w("ZodUnknown",(t,e)=>{Hg.init(t,e),$e.init(t,e)});function be(){return qy(aE)}var cE=w("ZodNever",(t,e)=>{Kg.init(t,e),$e.init(t,e)});function uE(t){return Vy(cE,t)}var lE=w("ZodArray",(t,e)=>{Jg.init(t,e),$e.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Bn(r,n)),t.nonempty=r=>t.check(Bn(1,r)),t.max=(r,n)=>t.check(Hi(r,n)),t.length=(r,n)=>t.check(Ki(r,n)),t.unwrap=()=>t.element});function ee(t,e){return By(lE,t,e)}var uv=w("ZodObject",(t,e)=>{Gg.init(t,e),$e.init(t,e),ce.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>et(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:be()}),t.loose=()=>t.clone({...t._zod.def,catchall:be()}),t.strict=()=>t.clone({...t._zod.def,catchall:uE()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ce.extend(t,r),t.merge=r=>ce.merge(t,r),t.pick=r=>ce.pick(t,r),t.omit=r=>ce.omit(t,r),t.partial=(...r)=>ce.partial(pv,t,r[0]),t.required=(...r)=>ce.required(fv,t,r[0])});function A(t,e){let r={type:"object",get shape(){return ce.assignProp(this,"shape",{...t}),this.shape},...ce.normalizeParams(e)};return new uv(r)}function Ke(t,e){return new uv({type:"object",get shape(){return ce.assignProp(this,"shape",{...t}),this.shape},catchall:be(),...ce.normalizeParams(e)})}var lv=w("ZodUnion",(t,e)=>{Ku.init(t,e),$e.init(t,e),t.options=e.options});function he(t,e){return new lv({type:"union",options:t,...ce.normalizeParams(e)})}var dE=w("ZodDiscriminatedUnion",(t,e)=>{lv.init(t,e),Yg.init(t,e)});function ml(t,e,r){return new dE({type:"union",options:e,discriminator:t,...ce.normalizeParams(r)})}var pE=w("ZodIntersection",(t,e)=>{Xg.init(t,e),$e.init(t,e)});function Yi(t,e){return new pE({type:"intersection",left:t,right:e})}var fE=w("ZodRecord",(t,e)=>{Qg.init(t,e),$e.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function we(t,e,r){return new fE({type:"record",keyType:t,valueType:e,...ce.normalizeParams(r)})}var dl=w("ZodEnum",(t,e)=>{ey.init(t,e),$e.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new dl({...e,checks:[],...ce.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new dl({...e,checks:[],...ce.normalizeParams(o),entries:s})}});function et(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new dl({type:"enum",entries:r,...ce.normalizeParams(e)})}var mE=w("ZodLiteral",(t,e)=>{ty.init(t,e),$e.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function D(t,e){return new mE({type:"literal",values:Array.isArray(t)?t:[t],...ce.normalizeParams(e)})}var hE=w("ZodTransform",(t,e)=>{ry.init(t,e),$e.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ce.issue(s,r.value,e));else{let i=s;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=!0),r.issues.push(ce.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function dv(t){return new hE({type:"transform",transform:t})}var pv=w("ZodOptional",(t,e)=>{ny.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Se(t){return new pv({type:"optional",innerType:t})}var gE=w("ZodNullable",(t,e)=>{oy.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function iv(t){return new gE({type:"nullable",innerType:t})}var yE=w("ZodDefault",(t,e)=>{sy.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function vE(t,e){return new yE({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var _E=w("ZodPrefault",(t,e)=>{iy.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function bE(t,e){return new _E({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var fv=w("ZodNonOptional",(t,e)=>{ay.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function wE(t,e){return new fv({type:"nonoptional",innerType:t,...ce.normalizeParams(e)})}var xE=w("ZodCatch",(t,e)=>{cy.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function SE(t,e){return new xE({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var $E=w("ZodPipe",(t,e)=>{uy.init(t,e),$e.init(t,e),t.in=e.in,t.out=e.out});function pl(t,e){return new $E({type:"pipe",in:t,out:e})}var kE=w("ZodReadonly",(t,e)=>{ly.init(t,e),$e.init(t,e)});function PE(t){return new kE({type:"readonly",innerType:t})}var mv=w("ZodCustom",(t,e)=>{dy.init(t,e),$e.init(t,e)});function TE(t){let e=new Ue({check:"custom"});return e._zod.check=t,e}function hv(t,e){return Wy(mv,t??(()=>!0),e)}function EE(t,e={}){return Hy(mv,t,e)}function RE(t){let e=TE(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(ce.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(ce.issue(o))}},t(r.value,r)));return e}function hl(t,e){return pl(dv(t),e)}ft(py());var yl="2025-11-25";var gv=[yl,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],vr="io.modelcontextprotocol/related-task",Qi="2.0",De=hv(t=>t!==null&&(typeof t=="object"||typeof t=="function")),yv=he([_(),ue().int()]),vv=_(),AV=Ke({ttl:he([ue(),fl()]).optional(),pollInterval:ue().optional()}),IE=A({ttl:ue().optional()}),AE=A({taskId:_()}),vl=Ke({progressToken:yv.optional(),[vr]:AE.optional()}),at=A({_meta:vl.optional()}),is=at.extend({task:IE.optional()}),_v=t=>is.safeParse(t).success,ze=A({method:_(),params:at.loose().optional()}),mt=A({_meta:vl.optional()}),ht=A({method:_(),params:mt.loose().optional()}),Oe=Ke({_meta:vl.optional()}),ea=he([_(),ue().int()]),bv=A({jsonrpc:D(Qi),id:ea,...ze.shape}).strict(),_l=t=>bv.safeParse(t).success,wv=A({jsonrpc:D(Qi),...ht.shape}).strict(),xv=t=>wv.safeParse(t).success,bl=A({jsonrpc:D(Qi),id:ea,result:Oe}).strict(),as=t=>bl.safeParse(t).success;var te;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(te||(te={}));var wl=A({jsonrpc:D(Qi),id:ea.optional(),error:A({code:ue().int(),message:_(),data:be().optional()})}).strict();var Sv=t=>wl.safeParse(t).success;var $v=he([bv,wv,bl,wl]),CV=he([bl,wl]),ta=Oe.strict(),CE=mt.extend({requestId:ea.optional(),reason:_().optional()}),ra=ht.extend({method:D("notifications/cancelled"),params:CE}),DE=A({src:_(),mimeType:_().optional(),sizes:ee(_()).optional(),theme:et(["light","dark"]).optional()}),cs=A({icons:ee(DE).optional()}),Hn=A({name:_(),title:_().optional()}),kv=Hn.extend({...Hn.shape,...cs.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),zE=Yi(A({applyDefaults:Ae().optional()}),we(_(),be())),OE=hl(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Yi(A({form:zE.optional(),url:De.optional()}),we(_(),be()).optional())),ME=Ke({list:De.optional(),cancel:De.optional(),requests:Ke({sampling:Ke({createMessage:De.optional()}).optional(),elicitation:Ke({create:De.optional()}).optional()}).optional()}),NE=Ke({list:De.optional(),cancel:De.optional(),requests:Ke({tools:Ke({call:De.optional()}).optional()}).optional()}),jE=A({experimental:we(_(),De).optional(),sampling:A({context:De.optional(),tools:De.optional()}).optional(),elicitation:OE.optional(),roots:A({listChanged:Ae().optional()}).optional(),tasks:ME.optional()}),LE=at.extend({protocolVersion:_(),capabilities:jE,clientInfo:kv}),xl=ze.extend({method:D("initialize"),params:LE});var FE=A({experimental:we(_(),De).optional(),logging:De.optional(),completions:De.optional(),prompts:A({listChanged:Ae().optional()}).optional(),resources:A({subscribe:Ae().optional(),listChanged:Ae().optional()}).optional(),tools:A({listChanged:Ae().optional()}).optional(),tasks:NE.optional()}),ZE=Oe.extend({protocolVersion:_(),capabilities:FE,serverInfo:kv,instructions:_().optional()}),Sl=ht.extend({method:D("notifications/initialized"),params:mt.optional()});var na=ze.extend({method:D("ping"),params:at.optional()}),UE=A({progress:ue(),total:Se(ue()),message:Se(_())}),qE=A({...mt.shape,...UE.shape,progressToken:yv}),oa=ht.extend({method:D("notifications/progress"),params:qE}),VE=at.extend({cursor:vv.optional()}),us=ze.extend({params:VE.optional()}),ls=Oe.extend({nextCursor:vv.optional()}),BE=et(["working","input_required","completed","failed","cancelled"]),ds=A({taskId:_(),status:BE,ttl:he([ue(),fl()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:Se(ue()),statusMessage:Se(_())}),Kn=Oe.extend({task:ds}),WE=mt.merge(ds),ps=ht.extend({method:D("notifications/tasks/status"),params:WE}),sa=ze.extend({method:D("tasks/get"),params:at.extend({taskId:_()})}),ia=Oe.merge(ds),aa=ze.extend({method:D("tasks/result"),params:at.extend({taskId:_()})}),DV=Oe.loose(),ca=us.extend({method:D("tasks/list")}),ua=ls.extend({tasks:ee(ds)}),la=ze.extend({method:D("tasks/cancel"),params:at.extend({taskId:_()})}),Pv=Oe.merge(ds),Tv=A({uri:_(),mimeType:Se(_()),_meta:we(_(),be()).optional()}),Ev=Tv.extend({text:_()}),$l=_().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Rv=Tv.extend({blob:$l}),fs=et(["user","assistant"]),Jn=A({audience:ee(fs).optional(),priority:ue().min(0).max(1).optional(),lastModified:os.datetime({offset:!0}).optional()}),Iv=A({...Hn.shape,...cs.shape,uri:_(),description:Se(_()),mimeType:Se(_()),annotations:Jn.optional(),_meta:Se(Ke({}))}),HE=A({...Hn.shape,...cs.shape,uriTemplate:_(),description:Se(_()),mimeType:Se(_()),annotations:Jn.optional(),_meta:Se(Ke({}))}),KE=us.extend({method:D("resources/list")}),JE=ls.extend({resources:ee(Iv)}),GE=us.extend({method:D("resources/templates/list")}),YE=ls.extend({resourceTemplates:ee(HE)}),kl=at.extend({uri:_()}),XE=kl,QE=ze.extend({method:D("resources/read"),params:XE}),eR=Oe.extend({contents:ee(he([Ev,Rv]))}),tR=ht.extend({method:D("notifications/resources/list_changed"),params:mt.optional()}),rR=kl,nR=ze.extend({method:D("resources/subscribe"),params:rR}),oR=kl,sR=ze.extend({method:D("resources/unsubscribe"),params:oR}),iR=mt.extend({uri:_()}),aR=ht.extend({method:D("notifications/resources/updated"),params:iR}),cR=A({name:_(),description:Se(_()),required:Se(Ae())}),uR=A({...Hn.shape,...cs.shape,description:Se(_()),arguments:Se(ee(cR)),_meta:Se(Ke({}))}),lR=us.extend({method:D("prompts/list")}),dR=ls.extend({prompts:ee(uR)}),pR=at.extend({name:_(),arguments:we(_(),_()).optional()}),fR=ze.extend({method:D("prompts/get"),params:pR}),Pl=A({type:D("text"),text:_(),annotations:Jn.optional(),_meta:we(_(),be()).optional()}),Tl=A({type:D("image"),data:$l,mimeType:_(),annotations:Jn.optional(),_meta:we(_(),be()).optional()}),El=A({type:D("audio"),data:$l,mimeType:_(),annotations:Jn.optional(),_meta:we(_(),be()).optional()}),mR=A({type:D("tool_use"),name:_(),id:_(),input:we(_(),be()),_meta:we(_(),be()).optional()}),hR=A({type:D("resource"),resource:he([Ev,Rv]),annotations:Jn.optional(),_meta:we(_(),be()).optional()}),gR=Iv.extend({type:D("resource_link")}),Rl=he([Pl,Tl,El,gR,hR]),yR=A({role:fs,content:Rl}),vR=Oe.extend({description:_().optional(),messages:ee(yR)}),_R=ht.extend({method:D("notifications/prompts/list_changed"),params:mt.optional()}),bR=A({title:_().optional(),readOnlyHint:Ae().optional(),destructiveHint:Ae().optional(),idempotentHint:Ae().optional(),openWorldHint:Ae().optional()}),wR=A({taskSupport:et(["required","optional","forbidden"]).optional()}),Av=A({...Hn.shape,...cs.shape,description:_().optional(),inputSchema:A({type:D("object"),properties:we(_(),De).optional(),required:ee(_()).optional()}).catchall(be()),outputSchema:A({type:D("object"),properties:we(_(),De).optional(),required:ee(_()).optional()}).catchall(be()).optional(),annotations:bR.optional(),execution:wR.optional(),_meta:we(_(),be()).optional()}),Il=us.extend({method:D("tools/list")}),xR=ls.extend({tools:ee(Av)}),da=Oe.extend({content:ee(Rl).default([]),structuredContent:we(_(),be()).optional(),isError:Ae().optional()}),zV=da.or(Oe.extend({toolResult:be()})),SR=is.extend({name:_(),arguments:we(_(),be()).optional()}),ms=ze.extend({method:D("tools/call"),params:SR}),$R=ht.extend({method:D("notifications/tools/list_changed"),params:mt.optional()}),OV=A({autoRefresh:Ae().default(!0),debounceMs:ue().int().nonnegative().default(300)}),hs=et(["debug","info","notice","warning","error","critical","alert","emergency"]),kR=at.extend({level:hs}),Al=ze.extend({method:D("logging/setLevel"),params:kR}),PR=mt.extend({level:hs,logger:_().optional(),data:be()}),TR=ht.extend({method:D("notifications/message"),params:PR}),ER=A({name:_().optional()}),RR=A({hints:ee(ER).optional(),costPriority:ue().min(0).max(1).optional(),speedPriority:ue().min(0).max(1).optional(),intelligencePriority:ue().min(0).max(1).optional()}),IR=A({mode:et(["auto","required","none"]).optional()}),AR=A({type:D("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:ee(Rl).default([]),structuredContent:A({}).loose().optional(),isError:Ae().optional(),_meta:we(_(),be()).optional()}),CR=ml("type",[Pl,Tl,El]),Xi=ml("type",[Pl,Tl,El,mR,AR]),DR=A({role:fs,content:he([Xi,ee(Xi)]),_meta:we(_(),be()).optional()}),zR=is.extend({messages:ee(DR),modelPreferences:RR.optional(),systemPrompt:_().optional(),includeContext:et(["none","thisServer","allServers"]).optional(),temperature:ue().optional(),maxTokens:ue().int(),stopSequences:ee(_()).optional(),metadata:De.optional(),tools:ee(Av).optional(),toolChoice:IR.optional()}),OR=ze.extend({method:D("sampling/createMessage"),params:zR}),Cl=Oe.extend({model:_(),stopReason:Se(et(["endTurn","stopSequence","maxTokens"]).or(_())),role:fs,content:CR}),Dl=Oe.extend({model:_(),stopReason:Se(et(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:fs,content:he([Xi,ee(Xi)])}),MR=A({type:D("boolean"),title:_().optional(),description:_().optional(),default:Ae().optional()}),NR=A({type:D("string"),title:_().optional(),description:_().optional(),minLength:ue().optional(),maxLength:ue().optional(),format:et(["email","uri","date","date-time"]).optional(),default:_().optional()}),jR=A({type:et(["number","integer"]),title:_().optional(),description:_().optional(),minimum:ue().optional(),maximum:ue().optional(),default:ue().optional()}),LR=A({type:D("string"),title:_().optional(),description:_().optional(),enum:ee(_()),default:_().optional()}),FR=A({type:D("string"),title:_().optional(),description:_().optional(),oneOf:ee(A({const:_(),title:_()})),default:_().optional()}),ZR=A({type:D("string"),title:_().optional(),description:_().optional(),enum:ee(_()),enumNames:ee(_()).optional(),default:_().optional()}),UR=he([LR,FR]),qR=A({type:D("array"),title:_().optional(),description:_().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:A({type:D("string"),enum:ee(_())}),default:ee(_()).optional()}),VR=A({type:D("array"),title:_().optional(),description:_().optional(),minItems:ue().optional(),maxItems:ue().optional(),items:A({anyOf:ee(A({const:_(),title:_()}))}),default:ee(_()).optional()}),BR=he([qR,VR]),WR=he([ZR,UR,BR]),HR=he([WR,MR,NR,jR]),KR=is.extend({mode:D("form").optional(),message:_(),requestedSchema:A({type:D("object"),properties:we(_(),HR),required:ee(_()).optional()})}),JR=is.extend({mode:D("url"),message:_(),elicitationId:_(),url:_().url()}),GR=he([KR,JR]),YR=ze.extend({method:D("elicitation/create"),params:GR}),XR=mt.extend({elicitationId:_()}),QR=ht.extend({method:D("notifications/elicitation/complete"),params:XR}),pa=Oe.extend({action:et(["accept","decline","cancel"]),content:hl(t=>t===null?void 0:t,we(_(),he([_(),ue(),Ae(),ee(_())])).optional())}),eI=A({type:D("ref/resource"),uri:_()});var tI=A({type:D("ref/prompt"),name:_()}),rI=at.extend({ref:he([tI,eI]),argument:A({name:_(),value:_()}),context:A({arguments:we(_(),_()).optional()}).optional()}),nI=ze.extend({method:D("completion/complete"),params:rI});var oI=Oe.extend({completion:Ke({values:ee(_()).max(100),total:Se(ue().int()),hasMore:Se(Ae())})}),sI=A({uri:_().startsWith("file://"),name:_().optional(),_meta:we(_(),be()).optional()}),iI=ze.extend({method:D("roots/list"),params:at.optional()}),zl=Oe.extend({roots:ee(sI)}),aI=ht.extend({method:D("notifications/roots/list_changed"),params:mt.optional()}),MV=he([na,xl,nI,Al,fR,lR,KE,GE,QE,nR,sR,ms,Il,sa,aa,ca,la]),NV=he([ra,oa,Sl,aI,ps]),jV=he([ta,Cl,Dl,pa,zl,ia,ua,Kn]),LV=he([na,OR,YR,iI,sa,aa,ca,la]),FV=he([ra,oa,TR,aR,tR,$R,_R,ps,QR]),ZV=he([ta,ZE,oI,vR,dR,JE,YE,eR,da,xR,ia,ua,Kn]),K=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===te.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new gl(o.elicitations,r)}return new t(e,r,n)}},gl=class extends K{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(te.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function _r(t){return t==="completed"||t==="failed"||t==="cancelled"}var Dv=Symbol("Let zodToJsonSchema decide on which parser to use");var Cv={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"},zv=t=>typeof t=="string"?{...Cv,name:t}:{...Cv,...t};var Ov=t=>{let e=zv(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Ol(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function re(t,e,r,n,o){t[e]=r,Ol(t,e,n,o)}var fa=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function xe(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?fa(e,t.currentPath):e.join("/")}}function Mv(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==k.ZodAny&&(r.items=F(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&re(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&re(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(re(r,"minItems",t.exactLength.value,t.exactLength.message,e),re(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function Nv(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?re(r,"minimum",n.value,n.message,e):re(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),re(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?re(r,"maximum",n.value,n.message,e):re(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),re(r,"maximum",n.value,n.message,e));break;case"multipleOf":re(r,"multipleOf",n.value,n.message,e);break}return r}function jv(){return{type:"boolean"}}function ma(t,e){return F(t.type._def,e)}var Lv=(t,e)=>F(t.innerType._def,e);function Ml(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Ml(t,e,o))};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 cI(t,e)}}var cI=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":re(r,"minimum",n.value,n.message,e);break;case"max":re(r,"maximum",n.value,n.message,e);break}return r};function Fv(t,e){return{...F(t.innerType._def,e),default:t.defaultValue()}}function Zv(t,e){return e.effectStrategy==="input"?F(t.schema._def,e):xe(e)}function Uv(t){return{type:"string",enum:Array.from(t.values)}}var uI=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function qv(t,e){let r=[F(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),F(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(uI(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function Vv(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var Nl,xt={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:()=>(Nl===void 0&&(Nl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Nl),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 ha(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":re(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":re(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":St(r,"email",n.message,e);break;case"format:idn-email":St(r,"idn-email",n.message,e);break;case"pattern:zod":Je(r,xt.email,n.message,e);break}break;case"url":St(r,"uri",n.message,e);break;case"uuid":St(r,"uuid",n.message,e);break;case"regex":Je(r,n.regex,n.message,e);break;case"cuid":Je(r,xt.cuid,n.message,e);break;case"cuid2":Je(r,xt.cuid2,n.message,e);break;case"startsWith":Je(r,RegExp(`^${jl(n.value,e)}`),n.message,e);break;case"endsWith":Je(r,RegExp(`${jl(n.value,e)}$`),n.message,e);break;case"datetime":St(r,"date-time",n.message,e);break;case"date":St(r,"date",n.message,e);break;case"time":St(r,"time",n.message,e);break;case"duration":St(r,"duration",n.message,e);break;case"length":re(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),re(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Je(r,RegExp(jl(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&St(r,"ipv4",n.message,e),n.version!=="v4"&&St(r,"ipv6",n.message,e);break}case"base64url":Je(r,xt.base64url,n.message,e);break;case"jwt":Je(r,xt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Je(r,xt.ipv4Cidr,n.message,e),n.version!=="v4"&&Je(r,xt.ipv6Cidr,n.message,e);break}case"emoji":Je(r,xt.emoji(),n.message,e);break;case"ulid":{Je(r,xt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{St(r,"binary",n.message,e);break}case"contentEncoding:base64":{re(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Je(r,xt.base64,n.message,e);break}}break}case"nanoid":Je(r,xt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function jl(t,e){return e.patternStrategy==="escape"?dI(t):t}var lI=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function dI(t){let e="";for(let r=0;r<t.length;r++)lI.has(t[r])||(e+="\\"),e+=t[r];return e}function St(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):re(t,"format",e,r,n)}function Je(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:Bv(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):re(t,"pattern",Bv(e,n),r,n)}function Bv(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
|
|
243
|
+
path: iss.path ? [${Gn(b)}, ...iss.path] : [${Gn(b)}]
|
|
244
|
+
})));`),p.write(`newResult[${Gn(b)}] = ${_}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let v=p.compile();return(b,_)=>v(d,b,_)},o,s=Go,i=!Mc.jitless,c=i&&hp.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let f=d.value;if(!s(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:t}),d;let m=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(e.shape)),d=o(d,p);else{d.value={};let _=l.shape;for(let k of l.keys){let x=_[k],L=x._zod.run({value:f[k],issues:[]},p),P=x._zod.optin==="optional"&&x._zod.optout==="optional";L instanceof Promise?m.push(L.then(M=>P?Cb(M,d,k,f):Bc(M,d,k))):P?Cb(L,d,k,f):Bc(L,d,k)}}if(!u)return m.length?Promise.all(m).then(()=>d):d;let h=[],y=l.keySet,v=u._zod,b=v.def.type;for(let _ of Object.keys(f)){if(y.has(_))continue;if(b==="never"){h.push(_);continue}let k=v.run({value:f[_],issues:[]},p);k instanceof Promise?m.push(k.then(x=>Bc(x,d,_))):Bc(k,d,_)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:f,inst:t}),m.length?Promise.all(m).then(()=>d):d}});function Db(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>Yt(s,n,Lt())))}),e}var Ip=S("$ZodUnion",(t,e)=>{ke.init(t,e),xe(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),xe(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),xe(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),xe(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>bi(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>Db(i,r,t,n)):Db(s,r,t,n)}}),yw=S("$ZodDiscriminatedUnion",(t,e)=>{Ip.init(t,e);let r=t._zod.parse;xe(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=vi(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(o,s)=>{let i=o.value;if(!Go(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),vw=S("$ZodIntersection",(t,e)=>{ke.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Ob(r,c,u)):Ob(r,s,i)}});function Tp(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Yo(t)&&Yo(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=Tp(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=Tp(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Ob(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Yn(t))return t;let n=Tp(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var _w=S("$ZodRecord",(t,e)=>{ke.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Yo(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...yr(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...yr(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>Yt(u,n,Lt())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...yr(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...yr(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var bw=S("$ZodEnum",(t,e)=>{ke.init(t,e);let r=dp(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>gp.has(typeof n)).map(n=>typeof n=="string"?nn(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),ww=S("$ZodLiteral",(t,e)=>{ke.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?nn(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var $w=S("$ZodTransform",(t,e)=>{ke.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new jr;return r.value=o,r}}),Sw=S("$ZodOptional",(t,e)=>{ke.init(t,e),t._zod.optin="optional",t._zod.optout="optional",xe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),xe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${bi(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),xw=S("$ZodNullable",(t,e)=>{ke.init(t,e),xe(t._zod,"optin",()=>e.innerType._zod.optin),xe(t._zod,"optout",()=>e.innerType._zod.optout),xe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${bi(r.source)}|null)$`):void 0}),xe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),kw=S("$ZodDefault",(t,e)=>{ke.init(t,e),t._zod.optin="optional",xe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>zb(s,e)):zb(o,e)}});function zb(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Pw=S("$ZodPrefault",(t,e)=>{ke.init(t,e),t._zod.optin="optional",xe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Ew=S("$ZodNonOptional",(t,e)=>{ke.init(t,e),xe(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Nb(s,t)):Nb(o,t)}});function Nb(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Tw=S("$ZodCatch",(t,e)=>{ke.init(t,e),t._zod.optin="optional",xe(t._zod,"optout",()=>e.innerType._zod.optout),xe(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>Yt(i,n,Lt()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>Yt(s,n,Lt()))},input:r.value}),r.issues=[]),r)}});var Rw=S("$ZodPipe",(t,e)=>{ke.init(t,e),xe(t._zod,"values",()=>e.in._zod.values),xe(t._zod,"optin",()=>e.in._zod.optin),xe(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>jb(s,e,n)):jb(o,e,n)}});function jb(t,e,r){return Yn(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Iw=S("$ZodReadonly",(t,e)=>{ke.init(t,e),xe(t._zod,"propValues",()=>e.innerType._zod.propValues),xe(t._zod,"values",()=>e.innerType._zod.values),xe(t._zod,"optin",()=>e.innerType._zod.optin),xe(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Mb):Mb(o)}});function Mb(t){return t.value=Object.freeze(t.value),t}var Aw=S("$ZodCustom",(t,e)=>{nt.init(t,e),ke.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>Lb(s,r,n,t));Lb(o,r,n,t)}});function Lb(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(_p(o))}}var TO=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},RO=()=>{let t={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 e(n){return t[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 ${TO(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Fc(n.values[0])}`:`Invalid option: expected one of ${Lc(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.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":""}: ${Lc(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 Cw(){return{localeError:RO()}}var Ap=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,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,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function IO(){return new Ap}var xi=IO();function Dw(t,e){return new t({type:"string",...U(e)})}function Ow(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...U(e)})}function Cp(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...U(e)})}function zw(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...U(e)})}function Nw(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...U(e)})}function jw(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...U(e)})}function Mw(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...U(e)})}function Lw(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...U(e)})}function qw(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...U(e)})}function Fw(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...U(e)})}function Uw(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...U(e)})}function Zw(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...U(e)})}function Vw(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...U(e)})}function Bw(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...U(e)})}function Ww(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...U(e)})}function Hw(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...U(e)})}function Kw(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...U(e)})}function Jw(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...U(e)})}function Gw(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...U(e)})}function Yw(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...U(e)})}function Qw(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...U(e)})}function Xw(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...U(e)})}function e$(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...U(e)})}function t$(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...U(e)})}function r$(t,e){return new t({type:"string",format:"date",check:"string_format",...U(e)})}function n$(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...U(e)})}function o$(t,e){return new t({type:"string",format:"duration",check:"string_format",...U(e)})}function s$(t,e){return new t({type:"number",checks:[],...U(e)})}function i$(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...U(e)})}function a$(t,e){return new t({type:"boolean",...U(e)})}function c$(t,e){return new t({type:"null",...U(e)})}function u$(t){return new t({type:"unknown"})}function l$(t,e){return new t({type:"never",...U(e)})}function Hc(t,e){return new Pp({check:"less_than",...U(e),value:t,inclusive:!1})}function ki(t,e){return new Pp({check:"less_than",...U(e),value:t,inclusive:!0})}function Kc(t,e){return new Ep({check:"greater_than",...U(e),value:t,inclusive:!1})}function Pi(t,e){return new Ep({check:"greater_than",...U(e),value:t,inclusive:!0})}function Jc(t,e){return new yb({check:"multiple_of",...U(e),value:t})}function Gc(t,e){return new _b({check:"max_length",...U(e),maximum:t})}function Qo(t,e){return new bb({check:"min_length",...U(e),minimum:t})}function Yc(t,e){return new wb({check:"length_equals",...U(e),length:t})}function Dp(t,e){return new $b({check:"string_format",format:"regex",...U(e),pattern:t})}function Op(t){return new Sb({check:"string_format",format:"lowercase",...U(t)})}function zp(t){return new xb({check:"string_format",format:"uppercase",...U(t)})}function Np(t,e){return new kb({check:"string_format",format:"includes",...U(e),includes:t})}function jp(t,e){return new Pb({check:"string_format",format:"starts_with",...U(e),prefix:t})}function Mp(t,e){return new Eb({check:"string_format",format:"ends_with",...U(e),suffix:t})}function Qn(t){return new Tb({check:"overwrite",tx:t})}function Lp(t){return Qn(e=>e.normalize(t))}function qp(){return Qn(t=>t.trim())}function Fp(){return Qn(t=>t.toLowerCase())}function Up(){return Qn(t=>t.toUpperCase())}function d$(t,e,r){return new t({type:"array",element:e,...U(r)})}function p$(t,e,r){let n=U(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function f$(t,e,r){return new t({type:"custom",check:"custom",fn:e,...U(r)})}function Xo(t){return!!t._zod}function on(t,e){return Xo(t)?$i(t,e):t.safeParse(e)}function Qc(t){if(!t)return;let e;if(Xo(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function m$(t){if(Xo(t)){let s=t._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=t._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=t.value;if(n!==void 0)return n}var Ti={};lt(Ti,{ZodISODate:()=>g$,ZodISODateTime:()=>h$,ZodISODuration:()=>v$,ZodISOTime:()=>y$,date:()=>Vp,datetime:()=>Zp,duration:()=>Wp,time:()=>Bp});var h$=S("ZodISODateTime",(t,e)=>{Yb.init(t,e),Oe.init(t,e)});function Zp(t){return t$(h$,t)}var g$=S("ZodISODate",(t,e)=>{Qb.init(t,e),Oe.init(t,e)});function Vp(t){return r$(g$,t)}var y$=S("ZodISOTime",(t,e)=>{Xb.init(t,e),Oe.init(t,e)});function Bp(t){return n$(y$,t)}var v$=S("ZodISODuration",(t,e)=>{ew.init(t,e),Oe.init(t,e)});function Wp(t){return o$(v$,t)}var _$=(t,e)=>{Uc.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>M_(t,r)},flatten:{value:r=>j_(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},t5=S("ZodError",_$),Ri=S("ZodError",_$,{Parent:Error});var b$=L_(Ri),w$=q_(Ri),$$=wp(Ri),S$=$p(Ri);var Me=S("ZodType",(t,e)=>(ke.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>gr(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>b$(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>$$(t,r,n),t.parseAsync=async(r,n)=>w$(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>S$(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Ez(r,n)),t.superRefine=r=>t.check(Tz(r)),t.overwrite=r=>t.check(Qn(r)),t.optional=()=>Ne(t),t.nullable=()=>P$(t),t.nullish=()=>Ne(P$(t)),t.nonoptional=r=>bz(t,r),t.array=()=>ie(t),t.or=r=>Te([t,r]),t.and=r=>eu(t,r),t.transform=r=>Kp(t,C$(r)),t.default=r=>yz(t,r),t.prefault=r=>_z(t,r),t.catch=r=>$z(t,r),t.pipe=r=>Kp(t,r),t.readonly=()=>kz(t),t.describe=r=>{let n=t.clone();return xi.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return xi.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return xi.get(t);let n=t.clone();return xi.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),E$=S("_ZodString",(t,e)=>{Wc.init(t,e),Me.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Dp(...n)),t.includes=(...n)=>t.check(Np(...n)),t.startsWith=(...n)=>t.check(jp(...n)),t.endsWith=(...n)=>t.check(Mp(...n)),t.min=(...n)=>t.check(Qo(...n)),t.max=(...n)=>t.check(Gc(...n)),t.length=(...n)=>t.check(Yc(...n)),t.nonempty=(...n)=>t.check(Qo(1,...n)),t.lowercase=n=>t.check(Op(n)),t.uppercase=n=>t.check(zp(n)),t.trim=()=>t.check(qp()),t.normalize=(...n)=>t.check(Lp(...n)),t.toLowerCase=()=>t.check(Fp()),t.toUpperCase=()=>t.check(Up())}),LO=S("ZodString",(t,e)=>{Wc.init(t,e),E$.init(t,e),t.email=r=>t.check(Ow(qO,r)),t.url=r=>t.check(Lw(FO,r)),t.jwt=r=>t.check(e$(rz,r)),t.emoji=r=>t.check(qw(UO,r)),t.guid=r=>t.check(Cp(x$,r)),t.uuid=r=>t.check(zw(Xc,r)),t.uuidv4=r=>t.check(Nw(Xc,r)),t.uuidv6=r=>t.check(jw(Xc,r)),t.uuidv7=r=>t.check(Mw(Xc,r)),t.nanoid=r=>t.check(Fw(ZO,r)),t.guid=r=>t.check(Cp(x$,r)),t.cuid=r=>t.check(Uw(VO,r)),t.cuid2=r=>t.check(Zw(BO,r)),t.ulid=r=>t.check(Vw(WO,r)),t.base64=r=>t.check(Yw(XO,r)),t.base64url=r=>t.check(Qw(ez,r)),t.xid=r=>t.check(Bw(HO,r)),t.ksuid=r=>t.check(Ww(KO,r)),t.ipv4=r=>t.check(Hw(JO,r)),t.ipv6=r=>t.check(Kw(GO,r)),t.cidrv4=r=>t.check(Jw(YO,r)),t.cidrv6=r=>t.check(Gw(QO,r)),t.e164=r=>t.check(Xw(tz,r)),t.datetime=r=>t.check(Zp(r)),t.date=r=>t.check(Vp(r)),t.time=r=>t.check(Bp(r)),t.duration=r=>t.check(Wp(r))});function w(t){return Dw(LO,t)}var Oe=S("ZodStringFormat",(t,e)=>{Ee.init(t,e),E$.init(t,e)}),qO=S("ZodEmail",(t,e)=>{Ub.init(t,e),Oe.init(t,e)});var x$=S("ZodGUID",(t,e)=>{qb.init(t,e),Oe.init(t,e)});var Xc=S("ZodUUID",(t,e)=>{Fb.init(t,e),Oe.init(t,e)});var FO=S("ZodURL",(t,e)=>{Zb.init(t,e),Oe.init(t,e)});var UO=S("ZodEmoji",(t,e)=>{Vb.init(t,e),Oe.init(t,e)});var ZO=S("ZodNanoID",(t,e)=>{Bb.init(t,e),Oe.init(t,e)});var VO=S("ZodCUID",(t,e)=>{Wb.init(t,e),Oe.init(t,e)});var BO=S("ZodCUID2",(t,e)=>{Hb.init(t,e),Oe.init(t,e)});var WO=S("ZodULID",(t,e)=>{Kb.init(t,e),Oe.init(t,e)});var HO=S("ZodXID",(t,e)=>{Jb.init(t,e),Oe.init(t,e)});var KO=S("ZodKSUID",(t,e)=>{Gb.init(t,e),Oe.init(t,e)});var JO=S("ZodIPv4",(t,e)=>{tw.init(t,e),Oe.init(t,e)});var GO=S("ZodIPv6",(t,e)=>{rw.init(t,e),Oe.init(t,e)});var YO=S("ZodCIDRv4",(t,e)=>{nw.init(t,e),Oe.init(t,e)});var QO=S("ZodCIDRv6",(t,e)=>{ow.init(t,e),Oe.init(t,e)});var XO=S("ZodBase64",(t,e)=>{iw.init(t,e),Oe.init(t,e)});var ez=S("ZodBase64URL",(t,e)=>{aw.init(t,e),Oe.init(t,e)});var tz=S("ZodE164",(t,e)=>{cw.init(t,e),Oe.init(t,e)});var rz=S("ZodJWT",(t,e)=>{uw.init(t,e),Oe.init(t,e)});var T$=S("ZodNumber",(t,e)=>{Rp.init(t,e),Me.init(t,e),t.gt=(n,o)=>t.check(Kc(n,o)),t.gte=(n,o)=>t.check(Pi(n,o)),t.min=(n,o)=>t.check(Pi(n,o)),t.lt=(n,o)=>t.check(Hc(n,o)),t.lte=(n,o)=>t.check(ki(n,o)),t.max=(n,o)=>t.check(ki(n,o)),t.int=n=>t.check(k$(n)),t.safe=n=>t.check(k$(n)),t.positive=n=>t.check(Kc(0,n)),t.nonnegative=n=>t.check(Pi(0,n)),t.negative=n=>t.check(Hc(0,n)),t.nonpositive=n=>t.check(ki(0,n)),t.multipleOf=(n,o)=>t.check(Jc(n,o)),t.step=(n,o)=>t.check(Jc(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ve(t){return s$(T$,t)}var nz=S("ZodNumberFormat",(t,e)=>{lw.init(t,e),T$.init(t,e)});function k$(t){return i$(nz,t)}var oz=S("ZodBoolean",(t,e)=>{dw.init(t,e),Me.init(t,e)});function He(t){return a$(oz,t)}var sz=S("ZodNull",(t,e)=>{pw.init(t,e),Me.init(t,e)});function R$(t){return c$(sz,t)}var iz=S("ZodUnknown",(t,e)=>{fw.init(t,e),Me.init(t,e)});function ze(){return u$(iz)}var az=S("ZodNever",(t,e)=>{mw.init(t,e),Me.init(t,e)});function cz(t){return l$(az,t)}var uz=S("ZodArray",(t,e)=>{hw.init(t,e),Me.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(Qo(r,n)),t.nonempty=r=>t.check(Qo(1,r)),t.max=(r,n)=>t.check(Gc(r,n)),t.length=(r,n)=>t.check(Yc(r,n)),t.unwrap=()=>t.element});function ie(t,e){return d$(uz,t,e)}var I$=S("ZodObject",(t,e)=>{gw.init(t,e),Me.init(t,e),ge.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>wt(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ze()}),t.loose=()=>t.clone({...t._zod.def,catchall:ze()}),t.strict=()=>t.clone({...t._zod.def,catchall:cz()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ge.extend(t,r),t.merge=r=>ge.merge(t,r),t.pick=r=>ge.pick(t,r),t.omit=r=>ge.omit(t,r),t.partial=(...r)=>ge.partial(D$,t,r[0]),t.required=(...r)=>ge.required(O$,t,r[0])});function A(t,e){let r={type:"object",get shape(){return ge.assignProp(this,"shape",{...t}),this.shape},...ge.normalizeParams(e)};return new I$(r)}function pt(t,e){return new I$({type:"object",get shape(){return ge.assignProp(this,"shape",{...t}),this.shape},catchall:ze(),...ge.normalizeParams(e)})}var A$=S("ZodUnion",(t,e)=>{Ip.init(t,e),Me.init(t,e),t.options=e.options});function Te(t,e){return new A$({type:"union",options:t,...ge.normalizeParams(e)})}var lz=S("ZodDiscriminatedUnion",(t,e)=>{A$.init(t,e),yw.init(t,e)});function Jp(t,e,r){return new lz({type:"union",options:e,discriminator:t,...ge.normalizeParams(r)})}var dz=S("ZodIntersection",(t,e)=>{vw.init(t,e),Me.init(t,e)});function eu(t,e){return new dz({type:"intersection",left:t,right:e})}var pz=S("ZodRecord",(t,e)=>{_w.init(t,e),Me.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function Pe(t,e,r){return new pz({type:"record",keyType:t,valueType:e,...ge.normalizeParams(r)})}var Hp=S("ZodEnum",(t,e)=>{bw.init(t,e),Me.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Hp({...e,checks:[],...ge.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Hp({...e,checks:[],...ge.normalizeParams(o),entries:s})}});function wt(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Hp({type:"enum",entries:r,...ge.normalizeParams(e)})}var fz=S("ZodLiteral",(t,e)=>{ww.init(t,e),Me.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function D(t,e){return new fz({type:"literal",values:Array.isArray(t)?t:[t],...ge.normalizeParams(e)})}var mz=S("ZodTransform",(t,e)=>{$w.init(t,e),Me.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ge.issue(s,r.value,e));else{let i=s;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=!0),r.issues.push(ge.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function C$(t){return new mz({type:"transform",transform:t})}var D$=S("ZodOptional",(t,e)=>{Sw.init(t,e),Me.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Ne(t){return new D$({type:"optional",innerType:t})}var hz=S("ZodNullable",(t,e)=>{xw.init(t,e),Me.init(t,e),t.unwrap=()=>t._zod.def.innerType});function P$(t){return new hz({type:"nullable",innerType:t})}var gz=S("ZodDefault",(t,e)=>{kw.init(t,e),Me.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function yz(t,e){return new gz({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var vz=S("ZodPrefault",(t,e)=>{Pw.init(t,e),Me.init(t,e),t.unwrap=()=>t._zod.def.innerType});function _z(t,e){return new vz({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var O$=S("ZodNonOptional",(t,e)=>{Ew.init(t,e),Me.init(t,e),t.unwrap=()=>t._zod.def.innerType});function bz(t,e){return new O$({type:"nonoptional",innerType:t,...ge.normalizeParams(e)})}var wz=S("ZodCatch",(t,e)=>{Tw.init(t,e),Me.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function $z(t,e){return new wz({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Sz=S("ZodPipe",(t,e)=>{Rw.init(t,e),Me.init(t,e),t.in=e.in,t.out=e.out});function Kp(t,e){return new Sz({type:"pipe",in:t,out:e})}var xz=S("ZodReadonly",(t,e)=>{Iw.init(t,e),Me.init(t,e)});function kz(t){return new xz({type:"readonly",innerType:t})}var z$=S("ZodCustom",(t,e)=>{Aw.init(t,e),Me.init(t,e)});function Pz(t){let e=new nt({check:"custom"});return e._zod.check=t,e}function N$(t,e){return p$(z$,t??(()=>!0),e)}function Ez(t,e={}){return f$(z$,t,e)}function Tz(t){let e=Pz(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(ge.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(ge.issue(o))}},t(r.value,r)));return e}function Gp(t,e){return Kp(C$(t),e)}Lt(Cw());var Qp="2025-11-25";var j$=[Qp,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],sn="io.modelcontextprotocol/related-task",ru="2.0",Be=N$(t=>t!==null&&(typeof t=="object"||typeof t=="function")),M$=Te([w(),ve().int()]),L$=w(),K5=pt({ttl:ve().optional(),pollInterval:ve().optional()}),Rz=A({ttl:ve().optional()}),Iz=A({taskId:w()}),Xp=pt({progressToken:M$.optional(),[sn]:Iz.optional()}),Dt=A({_meta:Xp.optional()}),Ii=Dt.extend({task:Rz.optional()}),q$=t=>Ii.safeParse(t).success,Je=A({method:w(),params:Dt.loose().optional()}),qt=A({_meta:Xp.optional()}),Ft=A({method:w(),params:qt.loose().optional()}),Ge=pt({_meta:Xp.optional()}),nu=Te([w(),ve().int()]),F$=A({jsonrpc:D(ru),id:nu,...Je.shape}).strict(),ef=t=>F$.safeParse(t).success,U$=A({jsonrpc:D(ru),...Ft.shape}).strict(),Z$=t=>U$.safeParse(t).success,tf=A({jsonrpc:D(ru),id:nu,result:Ge}).strict(),Ai=t=>tf.safeParse(t).success;var se;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(se||(se={}));var rf=A({jsonrpc:D(ru),id:nu.optional(),error:A({code:ve().int(),message:w(),data:ze().optional()})}).strict();var V$=t=>rf.safeParse(t).success;var B$=Te([F$,U$,tf,rf]),J5=Te([tf,rf]),ou=Ge.strict(),Az=qt.extend({requestId:nu.optional(),reason:w().optional()}),su=Ft.extend({method:D("notifications/cancelled"),params:Az}),Cz=A({src:w(),mimeType:w().optional(),sizes:ie(w()).optional(),theme:wt(["light","dark"]).optional()}),Ci=A({icons:ie(Cz).optional()}),es=A({name:w(),title:w().optional()}),W$=es.extend({...es.shape,...Ci.shape,version:w(),websiteUrl:w().optional(),description:w().optional()}),Dz=eu(A({applyDefaults:He().optional()}),Pe(w(),ze())),Oz=Gp(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,eu(A({form:Dz.optional(),url:Be.optional()}),Pe(w(),ze()).optional())),zz=pt({list:Be.optional(),cancel:Be.optional(),requests:pt({sampling:pt({createMessage:Be.optional()}).optional(),elicitation:pt({create:Be.optional()}).optional()}).optional()}),Nz=pt({list:Be.optional(),cancel:Be.optional(),requests:pt({tools:pt({call:Be.optional()}).optional()}).optional()}),jz=A({experimental:Pe(w(),Be).optional(),sampling:A({context:Be.optional(),tools:Be.optional()}).optional(),elicitation:Oz.optional(),roots:A({listChanged:He().optional()}).optional(),tasks:zz.optional(),extensions:Pe(w(),Be).optional()}),Mz=Dt.extend({protocolVersion:w(),capabilities:jz,clientInfo:W$}),nf=Je.extend({method:D("initialize"),params:Mz});var Lz=A({experimental:Pe(w(),Be).optional(),logging:Be.optional(),completions:Be.optional(),prompts:A({listChanged:He().optional()}).optional(),resources:A({subscribe:He().optional(),listChanged:He().optional()}).optional(),tools:A({listChanged:He().optional()}).optional(),tasks:Nz.optional(),extensions:Pe(w(),Be).optional()}),qz=Ge.extend({protocolVersion:w(),capabilities:Lz,serverInfo:W$,instructions:w().optional()}),of=Ft.extend({method:D("notifications/initialized"),params:qt.optional()});var iu=Je.extend({method:D("ping"),params:Dt.optional()}),Fz=A({progress:ve(),total:Ne(ve()),message:Ne(w())}),Uz=A({...qt.shape,...Fz.shape,progressToken:M$}),au=Ft.extend({method:D("notifications/progress"),params:Uz}),Zz=Dt.extend({cursor:L$.optional()}),Di=Je.extend({params:Zz.optional()}),Oi=Ge.extend({nextCursor:L$.optional()}),Vz=wt(["working","input_required","completed","failed","cancelled"]),zi=A({taskId:w(),status:Vz,ttl:Te([ve(),R$()]),createdAt:w(),lastUpdatedAt:w(),pollInterval:Ne(ve()),statusMessage:Ne(w())}),ts=Ge.extend({task:zi}),Bz=qt.merge(zi),Ni=Ft.extend({method:D("notifications/tasks/status"),params:Bz}),cu=Je.extend({method:D("tasks/get"),params:Dt.extend({taskId:w()})}),uu=Ge.merge(zi),lu=Je.extend({method:D("tasks/result"),params:Dt.extend({taskId:w()})}),G5=Ge.loose(),du=Di.extend({method:D("tasks/list")}),pu=Oi.extend({tasks:ie(zi)}),fu=Je.extend({method:D("tasks/cancel"),params:Dt.extend({taskId:w()})}),H$=Ge.merge(zi),K$=A({uri:w(),mimeType:Ne(w()),_meta:Pe(w(),ze()).optional()}),J$=K$.extend({text:w()}),sf=w().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),G$=K$.extend({blob:sf}),ji=wt(["user","assistant"]),rs=A({audience:ie(ji).optional(),priority:ve().min(0).max(1).optional(),lastModified:Ti.datetime({offset:!0}).optional()}),Y$=A({...es.shape,...Ci.shape,uri:w(),description:Ne(w()),mimeType:Ne(w()),size:Ne(ve()),annotations:rs.optional(),_meta:Ne(pt({}))}),Wz=A({...es.shape,...Ci.shape,uriTemplate:w(),description:Ne(w()),mimeType:Ne(w()),annotations:rs.optional(),_meta:Ne(pt({}))}),Hz=Di.extend({method:D("resources/list")}),Kz=Oi.extend({resources:ie(Y$)}),Jz=Di.extend({method:D("resources/templates/list")}),Gz=Oi.extend({resourceTemplates:ie(Wz)}),af=Dt.extend({uri:w()}),Yz=af,Qz=Je.extend({method:D("resources/read"),params:Yz}),Xz=Ge.extend({contents:ie(Te([J$,G$]))}),eN=Ft.extend({method:D("notifications/resources/list_changed"),params:qt.optional()}),tN=af,rN=Je.extend({method:D("resources/subscribe"),params:tN}),nN=af,oN=Je.extend({method:D("resources/unsubscribe"),params:nN}),sN=qt.extend({uri:w()}),iN=Ft.extend({method:D("notifications/resources/updated"),params:sN}),aN=A({name:w(),description:Ne(w()),required:Ne(He())}),cN=A({...es.shape,...Ci.shape,description:Ne(w()),arguments:Ne(ie(aN)),_meta:Ne(pt({}))}),uN=Di.extend({method:D("prompts/list")}),lN=Oi.extend({prompts:ie(cN)}),dN=Dt.extend({name:w(),arguments:Pe(w(),w()).optional()}),pN=Je.extend({method:D("prompts/get"),params:dN}),cf=A({type:D("text"),text:w(),annotations:rs.optional(),_meta:Pe(w(),ze()).optional()}),uf=A({type:D("image"),data:sf,mimeType:w(),annotations:rs.optional(),_meta:Pe(w(),ze()).optional()}),lf=A({type:D("audio"),data:sf,mimeType:w(),annotations:rs.optional(),_meta:Pe(w(),ze()).optional()}),fN=A({type:D("tool_use"),name:w(),id:w(),input:Pe(w(),ze()),_meta:Pe(w(),ze()).optional()}),mN=A({type:D("resource"),resource:Te([J$,G$]),annotations:rs.optional(),_meta:Pe(w(),ze()).optional()}),hN=Y$.extend({type:D("resource_link")}),df=Te([cf,uf,lf,hN,mN]),gN=A({role:ji,content:df}),yN=Ge.extend({description:w().optional(),messages:ie(gN)}),vN=Ft.extend({method:D("notifications/prompts/list_changed"),params:qt.optional()}),_N=A({title:w().optional(),readOnlyHint:He().optional(),destructiveHint:He().optional(),idempotentHint:He().optional(),openWorldHint:He().optional()}),bN=A({taskSupport:wt(["required","optional","forbidden"]).optional()}),Q$=A({...es.shape,...Ci.shape,description:w().optional(),inputSchema:A({type:D("object"),properties:Pe(w(),Be).optional(),required:ie(w()).optional()}).catchall(ze()),outputSchema:A({type:D("object"),properties:Pe(w(),Be).optional(),required:ie(w()).optional()}).catchall(ze()).optional(),annotations:_N.optional(),execution:bN.optional(),_meta:Pe(w(),ze()).optional()}),pf=Di.extend({method:D("tools/list")}),wN=Oi.extend({tools:ie(Q$)}),mu=Ge.extend({content:ie(df).default([]),structuredContent:Pe(w(),ze()).optional(),isError:He().optional()}),Y5=mu.or(Ge.extend({toolResult:ze()})),$N=Ii.extend({name:w(),arguments:Pe(w(),ze()).optional()}),Mi=Je.extend({method:D("tools/call"),params:$N}),SN=Ft.extend({method:D("notifications/tools/list_changed"),params:qt.optional()}),Q5=A({autoRefresh:He().default(!0),debounceMs:ve().int().nonnegative().default(300)}),Li=wt(["debug","info","notice","warning","error","critical","alert","emergency"]),xN=Dt.extend({level:Li}),ff=Je.extend({method:D("logging/setLevel"),params:xN}),kN=qt.extend({level:Li,logger:w().optional(),data:ze()}),PN=Ft.extend({method:D("notifications/message"),params:kN}),EN=A({name:w().optional()}),TN=A({hints:ie(EN).optional(),costPriority:ve().min(0).max(1).optional(),speedPriority:ve().min(0).max(1).optional(),intelligencePriority:ve().min(0).max(1).optional()}),RN=A({mode:wt(["auto","required","none"]).optional()}),IN=A({type:D("tool_result"),toolUseId:w().describe("The unique identifier for the corresponding tool call."),content:ie(df).default([]),structuredContent:A({}).loose().optional(),isError:He().optional(),_meta:Pe(w(),ze()).optional()}),AN=Jp("type",[cf,uf,lf]),tu=Jp("type",[cf,uf,lf,fN,IN]),CN=A({role:ji,content:Te([tu,ie(tu)]),_meta:Pe(w(),ze()).optional()}),DN=Ii.extend({messages:ie(CN),modelPreferences:TN.optional(),systemPrompt:w().optional(),includeContext:wt(["none","thisServer","allServers"]).optional(),temperature:ve().optional(),maxTokens:ve().int(),stopSequences:ie(w()).optional(),metadata:Be.optional(),tools:ie(Q$).optional(),toolChoice:RN.optional()}),ON=Je.extend({method:D("sampling/createMessage"),params:DN}),qi=Ge.extend({model:w(),stopReason:Ne(wt(["endTurn","stopSequence","maxTokens"]).or(w())),role:ji,content:AN}),mf=Ge.extend({model:w(),stopReason:Ne(wt(["endTurn","stopSequence","maxTokens","toolUse"]).or(w())),role:ji,content:Te([tu,ie(tu)])}),zN=A({type:D("boolean"),title:w().optional(),description:w().optional(),default:He().optional()}),NN=A({type:D("string"),title:w().optional(),description:w().optional(),minLength:ve().optional(),maxLength:ve().optional(),format:wt(["email","uri","date","date-time"]).optional(),default:w().optional()}),jN=A({type:wt(["number","integer"]),title:w().optional(),description:w().optional(),minimum:ve().optional(),maximum:ve().optional(),default:ve().optional()}),MN=A({type:D("string"),title:w().optional(),description:w().optional(),enum:ie(w()),default:w().optional()}),LN=A({type:D("string"),title:w().optional(),description:w().optional(),oneOf:ie(A({const:w(),title:w()})),default:w().optional()}),qN=A({type:D("string"),title:w().optional(),description:w().optional(),enum:ie(w()),enumNames:ie(w()).optional(),default:w().optional()}),FN=Te([MN,LN]),UN=A({type:D("array"),title:w().optional(),description:w().optional(),minItems:ve().optional(),maxItems:ve().optional(),items:A({type:D("string"),enum:ie(w())}),default:ie(w()).optional()}),ZN=A({type:D("array"),title:w().optional(),description:w().optional(),minItems:ve().optional(),maxItems:ve().optional(),items:A({anyOf:ie(A({const:w(),title:w()}))}),default:ie(w()).optional()}),VN=Te([UN,ZN]),BN=Te([qN,FN,VN]),WN=Te([BN,zN,NN,jN]),HN=Ii.extend({mode:D("form").optional(),message:w(),requestedSchema:A({type:D("object"),properties:Pe(w(),WN),required:ie(w()).optional()})}),KN=Ii.extend({mode:D("url"),message:w(),elicitationId:w(),url:w().url()}),JN=Te([HN,KN]),GN=Je.extend({method:D("elicitation/create"),params:JN}),YN=qt.extend({elicitationId:w()}),QN=Ft.extend({method:D("notifications/elicitation/complete"),params:YN}),ns=Ge.extend({action:wt(["accept","decline","cancel"]),content:Gp(t=>t===null?void 0:t,Pe(w(),Te([w(),ve(),He(),ie(w())])).optional())}),XN=A({type:D("ref/resource"),uri:w()});var ej=A({type:D("ref/prompt"),name:w()}),tj=Dt.extend({ref:Te([ej,XN]),argument:A({name:w(),value:w()}),context:A({arguments:Pe(w(),w()).optional()}).optional()}),rj=Je.extend({method:D("completion/complete"),params:tj});var nj=Ge.extend({completion:pt({values:ie(w()).max(100),total:Ne(ve().int()),hasMore:Ne(He())})}),oj=A({uri:w().startsWith("file://"),name:w().optional(),_meta:Pe(w(),ze()).optional()}),sj=Je.extend({method:D("roots/list"),params:Dt.optional()}),hf=Ge.extend({roots:ie(oj)}),ij=Ft.extend({method:D("notifications/roots/list_changed"),params:qt.optional()}),X5=Te([iu,nf,rj,ff,pN,uN,Hz,Jz,Qz,rN,oN,Mi,pf,cu,lu,du,fu]),e8=Te([su,au,of,ij,Ni]),t8=Te([ou,qi,mf,ns,hf,uu,pu,ts]),r8=Te([iu,ON,GN,sj,cu,lu,du,fu]),n8=Te([su,au,PN,iN,eN,SN,vN,Ni,QN]),o8=Te([ou,qz,nj,yN,lN,Kz,Gz,Xz,mu,wN,uu,pu,ts]),H=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===se.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Yp(o.elicitations,r)}return new t(e,r,n)}},Yp=class extends H{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(se.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function an(t){return t==="completed"||t==="failed"||t==="cancelled"}var eS=Symbol("Let zodToJsonSchema decide on which parser to use");var X$={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"},tS=t=>typeof t=="string"?{...X$,name:t}:{...X$,...t};var rS=t=>{let e=tS(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function gf(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function ae(t,e,r,n,o){t[e]=r,gf(t,e,n,o)}var hu=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function je(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?hu(e,t.currentPath):e.join("/")}}function nS(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==T.ZodAny&&(r.items=Z(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&ae(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&ae(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(ae(r,"minItems",t.exactLength.value,t.exactLength.message,e),ae(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function oS(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?ae(r,"minimum",n.value,n.message,e):ae(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),ae(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?ae(r,"maximum",n.value,n.message,e):ae(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),ae(r,"maximum",n.value,n.message,e));break;case"multipleOf":ae(r,"multipleOf",n.value,n.message,e);break}return r}function sS(){return{type:"boolean"}}function gu(t,e){return Z(t.type._def,e)}var iS=(t,e)=>Z(t.innerType._def,e);function yf(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>yf(t,e,o))};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 aj(t,e)}}var aj=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":ae(r,"minimum",n.value,n.message,e);break;case"max":ae(r,"maximum",n.value,n.message,e);break}return r};function aS(t,e){return{...Z(t.innerType._def,e),default:t.defaultValue()}}function cS(t,e){return e.effectStrategy==="input"?Z(t.schema._def,e):je(e)}function uS(t){return{type:"string",enum:Array.from(t.values)}}var cj=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function lS(t,e){let r=[Z(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),Z(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(cj(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function dS(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var vf,Qt={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:()=>(vf===void 0&&(vf=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),vf),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 yu(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":ae(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":ae(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":Xt(r,"email",n.message,e);break;case"format:idn-email":Xt(r,"idn-email",n.message,e);break;case"pattern:zod":ft(r,Qt.email,n.message,e);break}break;case"url":Xt(r,"uri",n.message,e);break;case"uuid":Xt(r,"uuid",n.message,e);break;case"regex":ft(r,n.regex,n.message,e);break;case"cuid":ft(r,Qt.cuid,n.message,e);break;case"cuid2":ft(r,Qt.cuid2,n.message,e);break;case"startsWith":ft(r,RegExp(`^${_f(n.value,e)}`),n.message,e);break;case"endsWith":ft(r,RegExp(`${_f(n.value,e)}$`),n.message,e);break;case"datetime":Xt(r,"date-time",n.message,e);break;case"date":Xt(r,"date",n.message,e);break;case"time":Xt(r,"time",n.message,e);break;case"duration":Xt(r,"duration",n.message,e);break;case"length":ae(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),ae(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{ft(r,RegExp(_f(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&Xt(r,"ipv4",n.message,e),n.version!=="v4"&&Xt(r,"ipv6",n.message,e);break}case"base64url":ft(r,Qt.base64url,n.message,e);break;case"jwt":ft(r,Qt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&ft(r,Qt.ipv4Cidr,n.message,e),n.version!=="v4"&&ft(r,Qt.ipv6Cidr,n.message,e);break}case"emoji":ft(r,Qt.emoji(),n.message,e);break;case"ulid":{ft(r,Qt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{Xt(r,"binary",n.message,e);break}case"contentEncoding:base64":{ae(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{ft(r,Qt.base64,n.message,e);break}}break}case"nanoid":ft(r,Qt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function _f(t,e){return e.patternStrategy==="escape"?lj(t):t}var uj=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function lj(t){let e="";for(let r=0;r<t.length;r++)uj.has(t[r])||(e+="\\"),e+=t[r];return e}function Xt(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):ae(t,"format",e,r,n)}function ft(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:pS(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):ae(t,"pattern",pS(e,n),r,n)}function pS(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
|
|
238
245
|
]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
|
|
239
246
|
]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
|
|
240
247
|
`:`[${n[c]}\r
|
|
241
|
-
]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function ga(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===k.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:F(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??xe(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:F(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===k.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=ha(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===k.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===k.ZodBranded&&t.keyType._def.type._def.typeName===k.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=ma(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function Wv(t,e){if(e.mapStrategy==="record")return ga(t,e);let r=F(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||xe(e),n=F(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||xe(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Hv(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Kv(t){return t.target==="openAi"?void 0:{not:xe({...t,currentPath:[...t.currentPath,"not"]})}}function Jv(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var gs={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Yv(t,e){if(e.target==="openApi3")return Gv(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in gs&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=gs[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return Gv(t,e)}var Gv=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>F(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Xv(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:gs[t.innerType._def.typeName],nullable:!0}:{type:[gs[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=F(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=F(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Qv(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",Ol(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?re(r,"minimum",n.value,n.message,e):re(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),re(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?re(r,"maximum",n.value,n.message,e):re(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),re(r,"maximum",n.value,n.message,e));break;case"multipleOf":re(r,"multipleOf",n.value,n.message,e);break}return r}function e_(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=fI(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=F(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=pI(t,e);return i!==void 0&&(n.additionalProperties=i),n}function pI(t,e){if(t.catchall._def.typeName!=="ZodNever")return F(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function fI(t){try{return t.isOptional()}catch{return!0}}var t_=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return F(t.innerType._def,e);let r=F(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:xe(e)},r]}:xe(e)};var r_=(t,e)=>{if(e.pipeStrategy==="input")return F(t.in._def,e);if(e.pipeStrategy==="output")return F(t.out._def,e);let r=F(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=F(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function n_(t,e){return F(t.type._def,e)}function o_(t,e){let n={type:"array",uniqueItems:!0,items:F(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&re(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&re(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function s_(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>F(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:F(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>F(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function i_(t){return{not:xe(t)}}function a_(t){return xe(t)}var c_=(t,e)=>F(t.innerType._def,e);var u_=(t,e,r)=>{switch(e){case k.ZodString:return ha(t,r);case k.ZodNumber:return Qv(t,r);case k.ZodObject:return e_(t,r);case k.ZodBigInt:return Nv(t,r);case k.ZodBoolean:return jv();case k.ZodDate:return Ml(t,r);case k.ZodUndefined:return i_(r);case k.ZodNull:return Jv(r);case k.ZodArray:return Mv(t,r);case k.ZodUnion:case k.ZodDiscriminatedUnion:return Yv(t,r);case k.ZodIntersection:return qv(t,r);case k.ZodTuple:return s_(t,r);case k.ZodRecord:return ga(t,r);case k.ZodLiteral:return Vv(t,r);case k.ZodEnum:return Uv(t);case k.ZodNativeEnum:return Hv(t);case k.ZodNullable:return Xv(t,r);case k.ZodOptional:return t_(t,r);case k.ZodMap:return Wv(t,r);case k.ZodSet:return o_(t,r);case k.ZodLazy:return()=>t.getter()._def;case k.ZodPromise:return n_(t,r);case k.ZodNaN:case k.ZodNever:return Kv(r);case k.ZodEffects:return Zv(t,r);case k.ZodAny:return xe(r);case k.ZodUnknown:return a_(r);case k.ZodDefault:return Fv(t,r);case k.ZodBranded:return ma(t,r);case k.ZodReadonly:return c_(t,r);case k.ZodCatch:return Lv(t,r);case k.ZodPipeline:return r_(t,r);case k.ZodFunction:case k.ZodVoid:case k.ZodSymbol:return;default:return(n=>{})(e)}};function F(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==Dv)return a}if(n&&!r){let a=mI(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=u_(t,t.typeName,e),i=typeof s=="function"?F(s(),e):s;if(i&&hI(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var mI=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:fa(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),xe(e)):e.$refStrategy==="seen"?xe(e):void 0}},hI=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var ya=(t,e)=>{let r=Ov(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:F(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??xe(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=F(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??xe(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function Ll(t){let r=Ji(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Ky(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Fl(t,e){let r=yr(t,e);if(!r.success)throw r.error;return r.data}var gI=6e4,va=class{constructor(e){this._options=e,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(ra,r=>{this._oncancel(r)}),this.setNotificationHandler(oa,r=>{this._onprogress(r)}),this.setRequestHandler(na,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(sa,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new K(te.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(aa,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,p=new K(d.error.code,d.error.message,d.error.data);l(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new K(te.InvalidParams,`Task not found: ${s}`);if(!_r(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(_r(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[vr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(ca,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new K(te.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(la,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new K(te.InvalidParams,`Task not found: ${r.params.taskId}`);if(_r(o.status))throw new K(te.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new K(te.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof K?o:new K(te.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),K.fromError(te.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),as(s)||Sv(s)?this._onresponse(s):_l(s)?this._onrequest(s,i):xv(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let r=K.fromError(te.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[vr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:te.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=_v(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{let f={...p,relatedRequestId:e.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let m=f.relatedTask?.taskId??s;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:te.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),as(e))n(e);else{let i=new K(e.error.code,e.error.message,e.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(as(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),as(e))o(e);else{let i=K.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof K?i:new K(te.InternalError,String(i))}}return}let s;try{let i=await this.request(e,Kn,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new K(te.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},_r(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new K(te.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new K(te.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof K?i:new K(te.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=x=>{l(x)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(x){d(x);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[vr]:c}});let m=x=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(x)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(P=>this._onerror(new Error(`Failed to send cancellation: ${P}`)));let b=x instanceof K?x:new K(te.RequestTimeout,String(x));l(b)};this._responseHandlers.set(p,x=>{if(!n?.signal?.aborted){if(x instanceof Error)return l(x);try{let b=yr(r,x.result);b.success?u(b.data):l(b.error)}catch(b){l(b)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let g=n?.timeout??gI,y=()=>m(K.fromError(te.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,y,n?.resetTimeoutOnProgress??!1);let v=c?.taskId;if(v){let x=b=>{let P=this._responseHandlers.get(p);P?P(b):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,x),this._enqueueTaskMessage(v,{type:"request",message:f,timestamp:Date.now()}).catch(b=>{this._cleanupTimeout(p),l(b)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(x=>{this._cleanupTimeout(p),l(x)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},ia,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},ua,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Pv,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[vr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[vr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[vr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=Ll(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=Fl(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=Ll(e);this._notificationHandlers.set(n,o=>{let s=Fl(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&_l(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new K(te.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new K(te.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new K(te.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new K(te.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=ps.parse({method:"notifications/tasks/status",params:a});await this.notification(c),_r(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new K(te.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(_r(a.status))throw new K(te.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=ps.parse({method:"notifications/tasks/status",params:c});await this.notification(u),_r(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function l_(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function d_(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];l_(i)&&l_(s)?r[o]={...i,...s}:r[o]=s}return r}var Yw=_f(kp(),1),Xw=_f(Gw(),1);function iM(){let t=new Yw.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Xw.default)(t),t}var tc=class{constructor(e){this._ajv=e??iM()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var rc=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function Qw(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function ex(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var nc=class extends va{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(hs.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new tc,this.setRequestHandler(xl,n=>this._oninitialize(n)),this.setNotificationHandler(Sl,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Al,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=hs.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new rc(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=d_(this._capabilities,e)}setRequestHandler(e,r){let o=Ji(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Wn(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=yr(ms,c);if(!l.success){let m=l.error instanceof Error?l.error.message:String(l.error);throw new K(te.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let m=yr(Kn,p);if(!m.success){let g=m.error instanceof Error?m.error.message:String(m.error);throw new K(te.InvalidParams,`Invalid task creation result: ${g}`)}return m.data}let f=yr(da,p);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new K(te.InvalidParams,`Invalid tools/call result: ${m}`)}return f.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);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 ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);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 ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);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 ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){ex(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&Qw(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:gv.includes(r)?r:yl,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"},ta)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},Dl,r):this.request({method:"sampling/createMessage",params:e},Cl,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},pa,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},pa,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new K(te.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof K?i:new K(te.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,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:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},zl,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}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"})}};import rx from"node:process";var oc=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
242
|
-
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),
|
|
243
|
-
`}var
|
|
244
|
-
`);return
|
|
245
|
-
`+e.text),o}function
|
|
248
|
+
]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function vu(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===T.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??je(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===T.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=yu(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===T.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===T.ZodBranded&&t.keyType._def.type._def.typeName===T.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=gu(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function fS(t,e){if(e.mapStrategy==="record")return vu(t,e);let r=Z(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||je(e),n=Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||je(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function mS(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function hS(t){return t.target==="openAi"?void 0:{not:je({...t,currentPath:[...t.currentPath,"not"]})}}function gS(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Fi={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function vS(t,e){if(e.target==="openApi3")return yS(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Fi&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Fi[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return yS(t,e)}var yS=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>Z(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function _S(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:Fi[t.innerType._def.typeName],nullable:!0}:{type:[Fi[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=Z(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=Z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function bS(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",gf(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?ae(r,"minimum",n.value,n.message,e):ae(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),ae(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?ae(r,"maximum",n.value,n.message,e):ae(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),ae(r,"maximum",n.value,n.message,e));break;case"multipleOf":ae(r,"multipleOf",n.value,n.message,e);break}return r}function wS(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=pj(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=Z(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=dj(t,e);return i!==void 0&&(n.additionalProperties=i),n}function dj(t,e){if(t.catchall._def.typeName!=="ZodNever")return Z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function pj(t){try{return t.isOptional()}catch{return!0}}var $S=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return Z(t.innerType._def,e);let r=Z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:je(e)},r]}:je(e)};var SS=(t,e)=>{if(e.pipeStrategy==="input")return Z(t.in._def,e);if(e.pipeStrategy==="output")return Z(t.out._def,e);let r=Z(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=Z(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function xS(t,e){return Z(t.type._def,e)}function kS(t,e){let n={type:"array",uniqueItems:!0,items:Z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&ae(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&ae(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function PS(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>Z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:Z(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>Z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ES(t){return{not:je(t)}}function TS(t){return je(t)}var RS=(t,e)=>Z(t.innerType._def,e);var IS=(t,e,r)=>{switch(e){case T.ZodString:return yu(t,r);case T.ZodNumber:return bS(t,r);case T.ZodObject:return wS(t,r);case T.ZodBigInt:return oS(t,r);case T.ZodBoolean:return sS();case T.ZodDate:return yf(t,r);case T.ZodUndefined:return ES(r);case T.ZodNull:return gS(r);case T.ZodArray:return nS(t,r);case T.ZodUnion:case T.ZodDiscriminatedUnion:return vS(t,r);case T.ZodIntersection:return lS(t,r);case T.ZodTuple:return PS(t,r);case T.ZodRecord:return vu(t,r);case T.ZodLiteral:return dS(t,r);case T.ZodEnum:return uS(t);case T.ZodNativeEnum:return mS(t);case T.ZodNullable:return _S(t,r);case T.ZodOptional:return $S(t,r);case T.ZodMap:return fS(t,r);case T.ZodSet:return kS(t,r);case T.ZodLazy:return()=>t.getter()._def;case T.ZodPromise:return xS(t,r);case T.ZodNaN:case T.ZodNever:return hS(r);case T.ZodEffects:return cS(t,r);case T.ZodAny:return je(r);case T.ZodUnknown:return TS(r);case T.ZodDefault:return aS(t,r);case T.ZodBranded:return gu(t,r);case T.ZodReadonly:return RS(t,r);case T.ZodCatch:return iS(t,r);case T.ZodPipeline:return SS(t,r);case T.ZodFunction:case T.ZodVoid:case T.ZodSymbol:return;default:return(n=>{})(e)}};function Z(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==eS)return a}if(n&&!r){let a=fj(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=IS(t,t.typeName,e),i=typeof s=="function"?Z(s(),e):s;if(i&&mj(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var fj=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:hu(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),je(e)):e.$refStrategy==="seen"?je(e):void 0}},mj=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var _u=(t,e)=>{let r=rS(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:Z(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??je(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=Z(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??je(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function bf(t){let r=Qc(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=m$(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function wf(t,e){let r=on(t,e);if(!r.success)throw r.error;return r.data}var hj=6e4,bu=class{constructor(e){this._options=e,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(su,r=>{this._oncancel(r)}),this.setNotificationHandler(au,r=>{this._onprogress(r)}),this.setRequestHandler(iu,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(cu,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new H(se.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(lu,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,p=new H(d.error.code,d.error.message,d.error.data);l(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new H(se.InvalidParams,`Task not found: ${s}`);if(!an(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(an(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[sn]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(du,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new H(se.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(fu,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new H(se.InvalidParams,`Task not found: ${r.params.taskId}`);if(an(o.status))throw new H(se.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new H(se.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof H?o:new H(se.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),H.fromError(se.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){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=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Ai(s)||V$(s)?this._onresponse(s):ef(s)?this._onrequest(s,i):Z$(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=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=H.fromError(se.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[sn]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:se.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=q$(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{if(i.signal.aborted)throw new H(se.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:e.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let m=f.relatedTask?.taskId??s;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:se.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Ai(e))n(e);else{let i=new H(e.error.code,e.error.message,e.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Ai(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),Ai(e))o(e);else{let i=H.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof H?i:new H(se.InternalError,String(i))}}return}let s;try{let i=await this.request(e,ts,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new H(se.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},an(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new H(se.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new H(se.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof H?i:new H(se.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=b=>{l(b)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(b){d(b);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[sn]:c}});let m=b=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(b)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(k=>this._onerror(new Error(`Failed to send cancellation: ${k}`)));let _=b instanceof H?b:new H(se.RequestTimeout,String(b));l(_)};this._responseHandlers.set(p,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return l(b);try{let _=on(r,b.result);_.success?u(_.data):l(_.error)}catch(_){l(_)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let h=n?.timeout??hj,y=()=>m(H.fromError(se.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(p,h,n?.maxTotalTimeout,y,n?.resetTimeoutOnProgress??!1);let v=c?.taskId;if(v){let b=_=>{let k=this._responseHandlers.get(p);k?k(_):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,b),this._enqueueTaskMessage(v,{type:"request",message:f,timestamp:Date.now()}).catch(_=>{this._cleanupTimeout(p),l(_)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(b=>{this._cleanupTimeout(p),l(b)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},uu,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},pu,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},H$,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[sn]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[sn]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[sn]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=bf(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=wf(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=bf(e);this._notificationHandlers.set(n,o=>{let s=wf(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&ef(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new H(se.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new H(se.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new H(se.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new H(se.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Ni.parse({method:"notifications/tasks/status",params:a});await this.notification(c),an(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new H(se.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(an(a.status))throw new H(se.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=Ni.parse({method:"notifications/tasks/status",params:c});await this.notification(u),an(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function AS(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function CS(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];AS(i)&&AS(s)?r[o]={...i,...s}:r[o]=s}return r}var CE=Dy(ok(),1),DE=Dy(AE(),1);function t2(){let t=new CE.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,DE.default)(t),t}var Cl=class{constructor(e){this._ajv=e??t2()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Dl=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(p=>p.type==="tool_use").map(p=>p.id)),d=new Set(s.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(l.size!==d.size||![...l].every(p=>d.has(p)))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:e},qi,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){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 s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},ns,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function OE(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function zE(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var Ol=class extends bu{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Li.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Cl,this.setRequestHandler(nf,n=>this._oninitialize(n)),this.setNotificationHandler(of,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(ff,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Li.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Dl(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=CS(this._capabilities,e)}setRequestHandler(e,r){let o=Qc(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Xo(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=on(Mi,c);if(!l.success){let m=l.error instanceof Error?l.error.message:String(l.error);throw new H(se.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let m=on(ts,p);if(!m.success){let h=m.error instanceof Error?m.error.message:String(m.error);throw new H(se.InvalidParams,`Invalid task creation result: ${h}`)}return m.data}let f=on(mu,p);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new H(se.InvalidParams,`Invalid tools/call result: ${m}`)}return f.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);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 ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);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 ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);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 ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){zE(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&OE(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:j$.includes(r)?r:Qp,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"},ou)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},mf,r):this.request({method:"sampling/createMessage",params:e},qi,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},ns,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},ns,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new H(se.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof H?i:new H(se.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,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:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},hf,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}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"})}};import jE from"node:process";var zl=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
249
|
+
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),r2(r)}clear(){this._buffer=void 0}};function r2(t){return B$.parse(JSON.parse(t))}function NE(t){return JSON.stringify(t)+`
|
|
250
|
+
`}var Nl=class{constructor(e=jE.stdin,r=jE.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new zl,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 e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}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(e){return new Promise(r=>{let n=NE(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{fileURLToPath as QW}from"url";var Bg={};lt(Bg,{AI_CHAT_TIMEOUT_MS:()=>ZE,getTools:()=>s2,handleTool:()=>u2});import{readFileSync as ME}from"fs";import{join as n2}from"path";import{randomUUID as LE}from"crypto";function G(t){let e=_u(t,{target:"jsonSchema7"});return delete e.$schema,delete e.additionalProperties,e.type==="object"&&!e.required&&(e.required=[]),e}var o2=g.object({title:g.string().describe("Document title"),metadata:g.record(g.string()).optional().describe("Optional key-value metadata"),kind:g.enum(["individual","debate","synthesis","general"]).optional().describe("Semantic placement: 'individual' (per-provider initial analysis) \u2192 individual/, 'debate' (round-by-round working docs) \u2192 debates/, 'synthesis' (final consensus) \u2192 synthesis/, 'general' (default, legacy) \u2192 reviews/.")}).optional(),qE=g.object({provider:g.string().describe("Provider ID (e.g. 'ollama', 'gemini', 'codex', 'claude')"),prompt:g.string().describe("Chat prompt to send"),model:g.string().optional().describe("Model override"),system:g.string().optional().describe("System prompt"),files:g.array(g.string()).optional().describe("File paths to include as context"),allow_external_paths:g.boolean().optional().describe("Opt-in: allow absolute file paths outside the workspace base directory. Default false. Relative paths remain sandboxed either way. Audit trail is the call log \u2014 use sparingly."),save_as_document:o2.describe("If provided, automatically save the response as a workspace document with the given title and metadata. Returns document ID in the result.")}),FE=g.object({provider:g.string().describe("Provider ID"),file_paths:g.array(g.string()).min(1).describe("File paths to analyze"),question:g.string().describe("Question to ask about the files"),save_to_file:g.string().optional().describe("Path to save the analysis result"),allow_external_paths:g.boolean().optional().describe("Opt-in: allow absolute file paths outside the workspace base directory. Default false.")}),UE=g.object({providers:g.array(g.string()).min(1).describe("List of provider IDs to compare"),prompt:g.string().describe("Prompt to send to all providers"),aggregate_provider:g.string().optional().describe("Provider ID to synthesize all responses into a unified document. If omitted, returns raw comparisons only."),aggregate_prompt:g.string().optional().describe("Custom synthesis prompt. Default: synthesize and identify agreements/disagreements.")}),ZE=9e4;function VE(t,e,r,n){if(t)try{t.write({traceId:LE(),action:"chat",providerId:e,task:`${n.tool}:allow_external_paths`,request:{promptSummary:(n.promptSummary?n.promptSummary+" | ":"")+`external_files=${r.length}: ${r.join(", ")}`,fileCount:r.length},response:{success:!0,charLength:0},latencyMs:0})}catch{}}function BE(t,e,r){let n=`${r.tool}-${Date.now()}-${LE().slice(0,8)}`,o=n2(t,".agestra","pending-saves",`${n}.md`),s=[["id",n],["tool",r.tool],["provider",e.provider],["model",e.model],["created_at",new Date().toISOString()]];if(r.title&&s.push(["title",r.title]),r.originalTarget&&s.push(["original_target",r.originalTarget]),r.extraMetadata)for(let[a,c]of Object.entries(r.extraMetadata))c!=null&&c!==""&&s.push([a,c]);let i=["---",...s.map(([a,c])=>`${a}: ${JSON.stringify(c)}`),"---",""].join(`
|
|
251
|
+
`);return ye(o,i+`
|
|
252
|
+
`+e.text),o}function s2(){return[{name:"ai_chat",title:"AI Chat",description:"Chat with a specific AI provider. Sends a prompt and returns the response. Optionally saves the response as a workspace document.",inputSchema:G(qE)},{name:"ai_analyze_files",title:"Analyze Files with AI",description:"Analyze files with an AI provider. Reads files from disk, sends contents with a question, and optionally saves the result.",inputSchema:G(FE)},{name:"ai_compare",title:"Compare AI Providers",description:"Send the same prompt to multiple providers and return a comparison. Optionally aggregate results into a unified synthesis using a designated provider.",inputSchema:G(UE)}]}async function i2(t,e){let r=qE.parse(t),n=e.workspaceBaseDir??process.cwd(),o=e.qualityStatsProvider??e.traceWriter,s=r.provider==="auto"?e.registry.getBestForTask("chat",o)??e.registry.getAvailable()[0]:e.registry.get(r.provider);if(!s)throw new Error("No providers available for auto-routing");let i=r.allow_external_paths?Md:Or;r.allow_external_paths&&r.files&&r.files.length>0&&VE(e.traceWriter,s.id,r.files,{tool:"ai_chat",promptSummary:r.prompt.slice(0,80)});let a=e.aiChatTimeoutMs??ZE,c=new AbortController,u=!1,l,d=s.chat({prompt:r.prompt,model:r.model,system:r.system,workspaceBaseDir:n,signal:c.signal,files:r.files?.map(h=>{let y=i(h,n);return{path:y,content:ME(y,"utf-8")}})});d.catch(()=>{});let p;try{p=await Promise.race([d,new Promise((h,y)=>{l=setTimeout(()=>{u=!0,c.abort(new Error("__AI_CHAT_TIMEOUT__")),y(new Error("__AI_CHAT_TIMEOUT__"))},a)})])}catch(h){if(u&&e.jobManager){let y=e.jobManager.submit({provider:r.provider,prompt:r.prompt,timeout:3e5,saveAsDocument:r.save_as_document}),v=r.save_as_document?`
|
|
246
253
|
**Save on complete:** ${r.save_as_document.title}`:"";return{content:[{type:"text",text:`\u23F1 Provider "${r.provider}" timed out after ${a/1e3}s. Auto-submitted as background job.
|
|
247
254
|
|
|
248
255
|
**Job ID:** ${y}${v}
|
|
249
256
|
|
|
250
|
-
Use \`cli_job_status\` to check progress.`}]}}throw
|
|
251
|
-
**Document ID:** ${(await e.documentManager.createDocument({title:r.save_as_document.title,content:p.text,metadata:{...r.save_as_document.metadata,Provider:p.provider,Model:p.model},kind:r.save_as_document.kind})).id}`}catch(
|
|
257
|
+
Use \`cli_job_status\` to check progress.`}]}}throw h}finally{l!==void 0&&clearTimeout(l)}r.allow_external_paths&&(p={...p,text:jo(p.text)});let f="",m=!1;if(r.save_as_document&&e.documentManager)try{f=`
|
|
258
|
+
**Document ID:** ${(await e.documentManager.createDocument({title:r.save_as_document.title,content:p.text,metadata:{...r.save_as_document.metadata,Provider:p.provider,Model:p.model},kind:r.save_as_document.kind})).id}`}catch(h){m=!0;let y=N(h);try{let v=BE(n,p,{tool:"ai_chat",title:r.save_as_document.title,extraMetadata:{kind:r.save_as_document.kind,...r.save_as_document.metadata}});f=`
|
|
252
259
|
\u26A0 Document save failed: ${y}
|
|
253
260
|
**Pending save:** ${v}`}catch(v){f=`
|
|
254
261
|
\u26A0 Document save failed: ${y}
|
|
255
|
-
\u26A0 Pending-save dump also failed: ${
|
|
262
|
+
\u26A0 Pending-save dump also failed: ${N(v)}`}}return{content:[{type:"text",text:`**Provider:** ${p.provider}
|
|
256
263
|
**Model:** ${p.model}${f}
|
|
257
264
|
|
|
258
|
-
${p.text}`}],...m?{isError:!0}:{}}}async function
|
|
265
|
+
${p.text}`}],...m?{isError:!0}:{}}}async function a2(t,e){let r=FE.parse(t),n=e.workspaceBaseDir??process.cwd(),o=e.qualityStatsProvider??e.traceWriter,s=r.provider==="auto"?e.registry.getBestForTask("analysis",o)??e.registry.getAvailable()[0]:e.registry.get(r.provider);if(!s)throw new Error("No providers available for auto-routing");let i=r.allow_external_paths?Md:Or;r.allow_external_paths&&VE(e.traceWriter,s.id,r.file_paths,{tool:"ai_analyze_files",promptSummary:r.question.slice(0,80)});let c=`${r.file_paths.map(p=>{let f=i(p,n),m=ME(f,"utf-8");return`--- ${f} ---
|
|
259
266
|
${m}`}).join(`
|
|
260
267
|
|
|
261
268
|
`)}
|
|
262
269
|
|
|
263
270
|
---
|
|
264
271
|
|
|
265
|
-
Question: ${r.question}`,u=await s.chat({prompt:c,workspaceBaseDir:n}),l="",d=!1;if(r.save_to_file)try{let p=
|
|
272
|
+
Question: ${r.question}`,u=await s.chat({prompt:c,workspaceBaseDir:n});r.allow_external_paths&&(u={...u,text:jo(u.text)});let l="",d=!1;if(r.save_to_file)try{let p=Mt(r.save_to_file,n);ye(p,u.text),l=`
|
|
266
273
|
|
|
267
|
-
_Result saved to: ${r.save_to_file}_`}catch(p){d=!0;let f=
|
|
274
|
+
_Result saved to: ${r.save_to_file}_`}catch(p){d=!0;let f=N(p);try{let m=BE(n,u,{tool:"ai_analyze_files",originalTarget:r.save_to_file,extraMetadata:{question:r.question,file_paths:r.file_paths.join(", ")}});l=`
|
|
268
275
|
|
|
269
276
|
\u26A0 Save to ${r.save_to_file} failed: ${f}
|
|
270
277
|
**Pending save:** ${m}`}catch(m){l=`
|
|
271
278
|
|
|
272
279
|
\u26A0 Save to ${r.save_to_file} failed: ${f}
|
|
273
|
-
\u26A0 Pending-save dump also failed: ${
|
|
280
|
+
\u26A0 Pending-save dump also failed: ${N(m)}`}}return{content:[{type:"text",text:`**Provider:** ${u.provider}
|
|
274
281
|
**Files analyzed:** ${r.file_paths.join(", ")}
|
|
275
282
|
|
|
276
|
-
${u.text}${l}`}],...d?{isError:!0}:{}}}async function
|
|
283
|
+
${u.text}${l}`}],...d?{isError:!0}:{}}}async function c2(t,e){let r=UE.parse(t),n=r.providers.map(c=>e.registry.get(c)),o=await Promise.all(n.map(async c=>{try{let u=await c.chat({prompt:r.prompt});return{provider:c.id,text:u.text,error:null}}catch(u){return{provider:c.id,text:null,error:N(u)}}})),s=`# Comparison
|
|
277
284
|
|
|
278
285
|
**Prompt:** ${r.prompt}
|
|
279
286
|
|
|
@@ -288,52 +295,46 @@ ${u.text}${l}`}],...d?{isError:!0}:{}}}async function mM(t,e){let r=ix.parse(t),
|
|
|
288
295
|
|
|
289
296
|
---
|
|
290
297
|
|
|
291
|
-
${s}`;try{i=(await c.chat({prompt:d})).text}catch(p){i=`[Aggregation failed: ${
|
|
298
|
+
${s}`;try{i=(await c.chat({prompt:d})).text}catch(p){i=`[Aggregation failed: ${N(p)}]`}}}let a=s;return i&&(a+=`---
|
|
292
299
|
|
|
293
300
|
# Synthesis
|
|
294
301
|
|
|
295
|
-
${i}`),{content:[{type:"text",text:a}]}}async function
|
|
302
|
+
${i}`),{content:[{type:"text",text:a}]}}async function u2(t,e,r){switch(t){case"ai_chat":return i2(e,r);case"ai_analyze_files":return a2(e,r);case"ai_compare":return c2(e,r);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}var py={};lt(py,{getTools:()=>Wg,handleTool:()=>mR});var jl=g.object({topic:g.string().describe("Topic for the debate"),providers:g.array(g.string()).min(1).describe("Provider IDs to participate"),max_rounds:g.number().int().positive().optional().default(3).describe("Maximum debate rounds"),goal:g.string().optional().describe("Quality goal for enhanced debate mode (enables quality validation loop)"),validator:g.string().optional().describe("Provider ID for quality validation (agent-tier recommended)"),min_rounds:g.number().int().positive().optional().default(2).describe("Minimum rounds before validation (default: 2)")}),Ml=g.object({items:g.array(g.object({provider:g.string().describe("Provider that produced the content"),content:g.string().describe("Content to validate"),task:g.string().describe("Original task description")})).min(1).describe("Items to cross-validate"),validators:g.array(g.string()).optional().describe("Provider IDs to use as validators (agent-tier only)"),criteria:g.string().optional().describe("Custom validation criteria")}),Ll=g.object({session_id:g.string().describe("Session ID to check")}),ql=g.object({topic:g.string().describe("Topic for the debate"),providers:g.array(g.string()).min(1).describe("Provider IDs to participate"),goal:g.string().optional().describe("Quality goal for the debate"),save_document:g.boolean().optional().default(!0).describe("Save debate as a workspace document (default: true)")}),Fl=g.object({debate_id:g.string().describe("Debate session ID"),provider:g.string().describe(`Provider ID to take this turn. Use "claude" to record Claude's own opinion as an independent turn (requires claude_comment).`),claude_comment:g.string().optional().describe(`Claude's opinion. When provider is "claude", this becomes the turn content. Otherwise, injected before the provider responds.`),auto_specialist:g.boolean().optional().default(!1).describe("When true with provider 'claude', automatically select and record a specialist agent recommendation based on the debate topic.")}),Ul=g.object({debate_id:g.string().describe("Debate session ID to conclude"),summary:g.string().optional().describe("Claude's final summary of the debate"),quality_scores:g.array(g.object({provider:g.string(),score:g.number().min(0).max(1),feedback:g.string()})).optional().describe("Quality assessment of each provider's contribution")}),Zl=g.object({document:g.string().describe("Document content to review"),providers:g.array(g.string()).min(1).describe("Provider IDs to review the document"),review_prompt:g.string().optional().describe("Custom review instructions (default: agree/disagree with feedback)"),debate_id:g.string().optional().describe("Link reviews to an existing debate session's workspace document")}),Vl=g.object({task_id:g.string().describe("Task ID to review changes for")}),Bl=g.object({task_id:g.string().describe("Task ID whose changes to accept"),message:g.string().optional().describe("Commit message for the merge")}),Wl=g.object({task_id:g.string().describe("Task ID whose changes to reject"),reason:g.string().optional().describe("Reason for rejection")}),WE=g.object({agrees:g.union([g.boolean(),g.enum(["true","false"])]).transform(t=>typeof t=="boolean"?t:t==="true"),feedback:g.string().optional().default(""),suggestions:g.string().optional()}),Hl=g.object({topic:g.string().min(1).describe("Topic for the structured debate"),scope:g.string().optional().describe("What the leader wants debated (file list or task framing). Defaults to topic when omitted."),goal:g.string().optional().describe("Optional quality goal for the debate"),leader:g.string().optional().describe("Participant ID authorized to approve the final synthesis. Defaults to the session-context leader or the first participant."),participants:g.array(g.string()).min(1).describe("Participant IDs. When `auto_inject_specialists` is true (default), `claude-reviewer` and/or `claude-qa` may be added based on the topic."),exclude_participants:g.array(g.string()).optional().describe("Participant IDs to never inject/include. Applied regardless of `auto_inject_specialists`."),auto_inject_specialists:g.boolean().optional().default(!0).describe("When true (default), topic-matching Claude specialists are added to `participants` honoring `exclude_participants`. When false, `participants` is used verbatim."),max_rounds:g.number().int().positive().max(50).optional().describe("Maximum number of rounds. Default: STRUCTURED_DEBATE_DEFAULT_MAX_ROUNDS."),individual_review_prompt:g.string().optional().describe("Override the system prompt used for individual-review fan-out."),files:g.array(g.string()).optional().describe("Optional list of files to pass to participants as context."),locale:g.enum(["ko","zh","ja","en"]).optional().describe("Override config locale for moderator text in this debate only.")}),Kl=g.object({session_id:g.string().min(1).describe("Structured-debate session ID returned from agent_debate_structured"),leader_note:g.string().optional().describe("Optional note appended to the synthesis footer under 'Leader approval notes'.")}),Jl=g.object({session_id:g.string().min(1).describe("Structured-debate session ID returned from agent_debate_structured"),additional_rounds:g.union([g.literal(3),g.literal(5),g.literal(10)]).describe("How many extra rounds to run beyond the current round count. Choose one of 3, 5, or 10.")}),Gl=g.object({session_id:g.string().min(1).describe("Structured-debate session ID returned from agent_debate_structured"),reason:g.string().optional().describe("Optional rejection reason, captured in the debate transcript footer."),spawn_issue:g.boolean().optional().default(!1).describe("If true, write an issue_{sessionIdShort}_{YYYYMMDD}_{seq}.md under individual/ listing all non-accepted proposals (rejected/withdrawn/open/inconclusive/superseded). Default false.")});var Yl="agent_debate_structured",Ns="agent_debate_approve",js="agent_debate_continue",Ms="agent_debate_reject";function Ql(t){return t.moderatorEngine?t.structuredSessionRegistry?null:{content:[{type:"text",text:"Structured session registry is not initialized for this workspace."}],isError:!0}:{content:[{type:"text",text:"Structured debate engine is not initialized for this workspace. Check MCP server wiring."}],isError:!0}}async function HE(t,e){let r=Ql(e);if(r)return r;let n;try{n=Hl.parse(t)}catch(s){return Hr(`Invalid arguments: ${N(s)}`)}let o=l2(n.leader,n.participants,e);if(!o)return Hr("Cannot resolve a leader. Provide `leader` explicitly or ensure the session context exposes one.");try{let s=await e.moderatorEngine.startDebate({topic:n.topic,...n.scope!==void 0?{scope:n.scope}:{},...n.goal!==void 0?{goal:n.goal}:{},leader:o,participants:n.participants,...n.exclude_participants!==void 0?{excludeParticipants:n.exclude_participants}:{},...n.auto_inject_specialists!==void 0?{autoInjectSpecialists:n.auto_inject_specialists}:{},...n.max_rounds!==void 0?{maxRounds:n.max_rounds}:{},...n.locale!==void 0?{locale:n.locale}:{},...n.individual_review_prompt!==void 0?{individualReviewPrompt:n.individual_review_prompt}:{},...n.files!==void 0?{files:n.files}:{}}),i=[s.terminalReport];return i.push(YE(s.sessionId,s.snapshot.status)),s.snapshot.status==="escalated"?i.push(XE(s.sessionId)):s.snapshot.status==="ready-for-approval"?i.push(QE(s.sessionId)):s.snapshot.status==="error"&&i.push(`Engine reported an error: ${s.errorMessage??"(no message)"}.`),{content:[{type:"text",text:i.filter(Boolean).join(`
|
|
296
303
|
|
|
297
|
-
`)}],...s.snapshot.status==="error"?{isError:!0}:{}}}catch(s){return
|
|
304
|
+
`)}],...s.snapshot.status==="error"?{isError:!0}:{}}}catch(s){return Hr(`Failed to start structured debate: ${N(s)}`)}}async function KE(t,e){let r=Ql(e);if(r)return r;let n;try{n=Kl.parse(t)}catch(o){return Hr(`Invalid arguments: ${N(o)}`)}try{let o=await e.moderatorEngine.approve({sessionId:n.session_id,...n.leader_note!==void 0?{leaderNote:n.leader_note}:{}}),s=[o.terminalReport];return s.push(`Synthesis document: ${o.synthesisPath}`),s.push(`Status: ${o.snapshot.status} (session ${n.session_id})`),o.idempotentReplay&&s.push("(idempotent replay of existing approved state \u2014 no new synthesis written)"),{content:[{type:"text",text:s.join(`
|
|
298
305
|
|
|
299
|
-
`)}]}}catch(o){return
|
|
306
|
+
`)}]}}catch(o){return Hr(`Approve failed: ${N(o)}`)}}async function JE(t,e){let r=Ql(e);if(r)return r;let n;try{n=Jl.parse(t)}catch(o){return Hr(`Invalid arguments: ${N(o)}`)}try{let o=await e.moderatorEngine.continueDebate({sessionId:n.session_id,additionalRounds:n.additional_rounds}),s=[o.terminalReport];return s.push(YE(n.session_id,o.snapshot.status)),o.snapshot.status==="escalated"?s.push(XE(n.session_id)):o.snapshot.status==="ready-for-approval"&&s.push(QE(n.session_id)),{content:[{type:"text",text:s.join(`
|
|
300
307
|
|
|
301
|
-
`)}]}}catch(o){return
|
|
302
|
-
`)}]}}catch(o){return
|
|
303
|
-
`)}function
|
|
304
|
-
`)}function
|
|
308
|
+
`)}]}}catch(o){return Hr(`Continue failed: ${N(o)}`)}}async function GE(t,e){let r=Ql(e);if(r)return r;let n;try{n=Gl.parse(t)}catch(o){return Hr(`Invalid arguments: ${N(o)}`)}try{let o=await e.moderatorEngine.reject({sessionId:n.session_id,...n.reason!==void 0?{reason:n.reason}:{},...n.spawn_issue!==void 0?{spawnIssue:n.spawn_issue}:{}}),s=o.snapshot.documentPaths.debate,i=[`Structured debate session ${n.session_id} rejected.`];return n.reason&&i.push(`Reason: ${n.reason}`),i.push(`Transcript: ${s}`),o.issuePath&&i.push(`Issue document: ${o.issuePath}`),o.idempotentReplay&&i.push("(idempotent replay of existing rejected state \u2014 no new artifacts written)"),{content:[{type:"text",text:i.join(`
|
|
309
|
+
`)}]}}catch(o){return Hr(`Reject failed: ${N(o)}`)}}function l2(t,e,r){if(t&&t.length>0)return t;let n=r.sessionContext?.leaderProviderId;return n&&e.includes(n)||n?n:e[0]}function YE(t,e){return`Session ID: ${t} \u2014 status: ${e}`}function QE(t){return["Next step \u2014 choose one:",`- Approve synthesis: call \`${Ns}\` with { session_id: "${t}" }`,`- Extend debate: call \`${js}\` with { session_id: "${t}", additional_rounds: 3 | 5 | 10 }`,`- Abandon session: call \`${Ms}\` with { session_id: "${t}" }`].join(`
|
|
310
|
+
`)}function XE(t){return["Debate escalated \u2014 max rounds exhausted with open proposals.","The leader should choose one of:",`- \`${js}\` with additional_rounds = 3 | 5 | 10 to run more rounds.`,`- \`${Ns}\` to accept the current synthesis with open items captured.`,`- \`${Ms}\` to abandon the session.`,`Session ID: ${t}`].join(`
|
|
311
|
+
`)}function Hr(t){return{content:[{type:"text",text:t}],isError:!0}}function Wg(){return[{name:"agent_debate_start",title:"Start AI Debate",description:"Start a multi-provider debate on a topic. Optionally enable enhanced mode with goal-based quality validation.",inputSchema:G(jl)},{name:"agent_debate_status",title:"Check Debate Status",description:"Check the status and result of a debate session.",inputSchema:G(Ll)},{name:"agent_cross_validate",title:"Cross-Validate Outputs",description:"Cross-validate work outputs. Each item is reviewed by agent-tier providers. Tool-tier providers cannot be validators.",inputSchema:G(Ml)},{name:"agent_debate_create",title:"Create Turn-Based Debate",description:"Create a turn-based debate session. Returns a debate ID for use with agent_debate_turn and agent_debate_conclude.",inputSchema:G(ql)},{name:"agent_debate_turn",title:"Execute Debate Turn",description:`Execute one provider's turn in a debate. Optionally inject Claude's comment before the provider responds. Returns the provider's response. Use provider: "claude" with claude_comment to record Claude's own independent opinion as a debate turn.`,inputSchema:G(Fl)},{name:"agent_debate_conclude",title:"Conclude Debate",description:"End a debate session and generate the final transcript. Optionally add Claude's summary and quality scores for each provider.",inputSchema:G(Ul)},{name:"agent_debate_review",title:"Review Document with Providers",description:"Send a document to multiple providers for structured review. Each provider responds with agree/disagree and feedback. Use iteratively: review \u2192 revise document based on feedback \u2192 review again until all agree.",inputSchema:G(Zl)},{name:"agent_changes_review",title:"Review File Changes",description:"Review file changes made by an external AI in an isolated worktree. Shows diff stat and full diff.",inputSchema:G(Vl)},{name:"agent_changes_accept",title:"Accept File Changes",description:"Accept and merge file changes from an isolated worktree back to the main branch.",inputSchema:G(Bl)},{name:"agent_changes_reject",title:"Reject File Changes",description:"Reject file changes and clean up the isolated worktree.",inputSchema:G(Wl)},{name:Yl,title:"Start Structured Debate",description:"Start a structured, approval-gated debate. Each participant submits an individual review, then rounds run until consensus or max rounds. Output is a ready-for-approval session \u2014 call agent_debate_approve/continue/reject to finalize. No synthesis is written until approved.",inputSchema:G(Hl)},{name:Ns,title:"Approve Structured Debate",description:"Leader-approve a ready-for-approval structured-debate session. Writes the synthesis document and marks the session approved.",inputSchema:G(Kl)},{name:js,title:"Continue Structured Debate",description:"Run additional rounds on a ready-for-approval (or escalated) structured-debate session. Choose 3, 5, or 10 extra rounds.",inputSchema:G(Jl)},{name:Ms,title:"Reject Structured Debate",description:"Reject a ready-for-approval (or escalated/leader-timeout) structured-debate session. Transcript is marked rejected; no synthesis is written.",inputSchema:G(Gl)}]}import{join as j4}from"path";import{readFileSync as p2}from"fs";import{join as sT}from"path";function eT(t,e){let r=`${t} ${e??""}`.toLowerCase(),n=[{patterns:[/\breview\b/,/\bcode\s*quality\b/,/\bsecurity\b/,/\baudit\b/,/리뷰/,/보안/,/코드\s*품질/],agent:"agestra-reviewer"},{patterns:[/\bdesign\b/,/\barchitect/,/\bstructur/,/설계/,/아키텍처/,/구조/],agent:"agestra-designer"},{patterns:[/\bidea\b/,/\bimprov/,/\bcompare\b/,/\balternativ/,/\bbrainstorm/,/개선/,/아이디어/,/비교/,/대안/],agent:"agestra-ideator"},{patterns:[/\bverif/,/\bvalidat/,/\bqa\b/,/\btest\b/,/\bcheck\b/,/검증/,/테스트/,/확인/],agent:"agestra-qa"}];for(let o of n)if(o.patterns.some(s=>s.test(r)))return o.agent;return null}var Xl="claude-reviewer",ed="claude-qa",d2={"agestra-reviewer":Xl,"agestra-qa":ed};function tT(t){let{topic:e,goal:r,participants:n,excludeParticipants:o,autoInjectSpecialists:s}=t,i=new Set(o),a=n.filter(d=>!i.has(d)),c=eT(e,r),u=c!==null?d2[c]??null:null,l=[];return u===null?{participants:a,skipped:l}:s?i.has(u)?(l.push({participantId:u,reason:"explicitly-excluded"}),{participants:a,skipped:l}):a.includes(u)?(l.push({participantId:u,reason:"already-listed"}),{participants:a,skipped:l}):{participants:[...a,u],skipped:l}:(l.push({participantId:u,reason:"auto-disabled"}),{participants:a,skipped:l})}var Kg="claude",Jg="claude-cli",f2=new Set([Xl,ed]),Gg=Object.freeze({[Xl]:"agestra-reviewer",[ed]:"agestra-qa"});function m2(t){if(!t.startsWith("---"))return t;let e=t.indexOf(`
|
|
305
312
|
`,3);if(e<0)return t;let r=t.indexOf(`
|
|
306
313
|
---`,e);if(r<0)return t;let n=t.indexOf(`
|
|
307
|
-
`,r+4);return n<0?"":t.slice(n+1)}function wM(t,e){return _M.has(t)?e==="claude-code"?{transport:"task-subagent",agentName:jp[t]}:{transport:"cli-bridge",providerId:Np,agentName:jp[t]}:t===Mp?e==="claude-code"?{transport:"read-only-chat",providerId:Mp}:{transport:"cli-bridge",providerId:Np}:{transport:"read-only-chat",providerId:t}}function _x(t){if(!(!t||t.length===0))return t.map(e=>({path:e}))}var bx=18e4;function Op(t,e){return Promise.race([t,new Promise((r,n)=>setTimeout(()=>n(new Error(`Participant "${e}" stalled (no response after ${bx/1e3}s)`)),bx))])}function wx(t,e,r,n,o){if(e.system!==void 0)return e.system;let s=jp[t];if(s===void 0)return;if(o.has(s))return o.get(s)??void 0;let i=xx(r,`${s}.md`);try{let a=bM(n(i)).trim(),c=a.length>0?a:null;return o.set(s,c),c??void 0}catch{o.set(s,null);return}}var Lp=class{registry;readOnlyAdapter;hostKind;agentsDir;readFile;subagentSpawner;sysPromptCache=new Map;constructor(e){this.registry=e.registry,this.readOnlyAdapter=e.readOnlyAdapter,this.hostKind=e.hostKind,this.agentsDir=e.agentsDir??xx(process.cwd(),"agents"),this.readFile=e.agentsFileReader??(r=>vM(r,"utf-8")),this.subagentSpawner=e.subagentSpawner}describe(e){return this.resolveDescriptor(e)}async requestTurn(e,r){let n=this.resolveDescriptor(e),o=performance.now();try{switch(n.transport){case"task-subagent":{if(!this.subagentSpawner)return this.buildFailure(e,o,"subagent spawner not wired (integration pending \u2014 T10/T12)");let s=await Op(this.subagentSpawner({agentName:n.agentName??e,prompt:r.prompt,system:r.system}),e);return this.buildSuccess(e,o,s.text)}case"cli-bridge":{let s=n.providerId??Np,i=this.lookupProviderOrNull(s);if(!i)return this.buildFailure(e,o,`CLI provider "${s}" not registered`);let a=wx(e,r,this.agentsDir,this.readFile,this.sysPromptCache),c=await Op(this.readOnlyAdapter.chat(i,{prompt:r.prompt,system:a,...r.files!==void 0?{files:_x(r.files)}:{}}),e);return this.buildSuccess(e,o,c.text)}case"read-only-chat":{let s=n.providerId??e,i=this.lookupProviderOrNull(s);if(!i)return this.buildFailure(e,o,`provider "${s}" not registered`);let a=n.agentName!==void 0?wx(e,r,this.agentsDir,this.readFile,this.sysPromptCache):r.system,c=await Op(this.readOnlyAdapter.chat(i,{prompt:r.prompt,system:a,...r.files!==void 0?{files:_x(r.files)}:{}}),e);return this.buildSuccess(e,o,c.text)}default:{let s=n.transport;return this.buildFailure(e,o,`unknown transport: ${String(s)}`)}}}catch(s){return this.buildFailure(e,o,O(s))}}lookupProviderOrNull(e){try{return this.registry.get(e)}catch{return null}}resolveDescriptor(e){let r=wM(e,this.hostKind);return r.transport==="task-subagent"&&!this.subagentSpawner&&this.hostKind==="claude-code"?{transport:"read-only-chat",providerId:Mp,agentName:r.agentName}:r}buildSuccess(e,r,n){return{participantId:e,text:n,latencyMs:Math.round(performance.now()-r),failed:!1}}buildFailure(e,r,n){return{participantId:e,text:"",latencyMs:Math.round(performance.now()-r),failed:!0,failureReason:n}}};function Sx(t){return new Lp(t)}function $x(t,e){return e(t)}var xM=/[.,!?;:]/g,SM=/\s+/g;function kx(t){return t.toLowerCase().replace(xM," ").replace(SM," ").trim()}function Px(t){return typeof t.location=="string"&&t.location.length>0}function Tx(t,e){if(e.length===0)return t;let r=new Set(t),n=t.slice();for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}function $M(t){let e={id:t.id,proposerIds:t.proposerIds.slice(),title:t.title,severity:t.severity,roundOpened:t.roundOpened,status:t.status,votes:new Map};t.location!==void 0&&(e.location=t.location),t.description!==void 0&&(e.description=t.description),t.supersededBy!==void 0&&(e.supersededBy=t.supersededBy),t.mergedInto!==void 0&&(e.mergedInto=t.mergedInto);for(let[r,n]of t.votes)e.votes.set(r,{...n});return e}function kM(t,e){let r=t.proposerIds[0],n=e.proposerIds[0];if(r===n)return{kind:"unrelated"};let o=kx(t.title)===kx(e.title),s=t.severity===e.severity,a=Px(t)&&Px(e)&&t.location===e.location,c=[];if(o&&c.push("title"),s&&c.push("severity"),a&&c.push("location"),c.length===0)return{kind:"unrelated"};if(o&&s&&a)return{kind:"hard-merge"};let l;return o?s?l="location":l="severity":l="title",{kind:"alias",pair:{proposalA:t.id,proposalB:e.id,matchedFields:c,missingField:l}}}var Er=class t{_proposals=new Map;_aliasCandidates=[];get proposals(){return this._proposals}get aliasCandidates(){return this._aliasCandidates.slice()}addProposal(e){if(this._proposals.has(e.id))throw new Error(`ProposalLedger.addProposal: duplicate id "${e.id}"`);let r={id:e.id,proposerIds:e.proposerIds.slice(),title:e.title,severity:e.severity,roundOpened:e.roundOpened,status:e.status??"open",votes:new Map};e.location!==void 0&&(r.location=e.location),e.description!==void 0&&(r.description=e.description),this._proposals.set(r.id,r)}recordVote(e,r,n){let o=this._proposals.get(e);if(!o)throw new Error(`ProposalLedger.recordVote: unknown proposal id "${e}"`);o.votes.set(r,{...n}),o.proposerIds.includes(r)&&n.vote==="revise"&&o.status==="open"&&(o.status="withdrawn-by-author")}countRevisesThisRound(e,r){let n=this._proposals.get(e);if(!n)return 0;let o=0;for(let[s,i]of n.votes)i.vote==="revise"&&i.roundRecorded===r&&(n.proposerIds.includes(s)||(o+=1));return o}markSuperseded(e,r,n){let o=this._proposals.get(e);if(!o)throw new Error(`ProposalLedger.markSuperseded: unknown old id "${e}"`);if(!this._proposals.has(r))throw new Error(`ProposalLedger.markSuperseded: successor id "${r}" not registered`);o.status="superseded",o.supersededBy=r;for(let s of o.votes.values())s.supersededAt===void 0&&(s.supersededAt=n)}applyAliasMerge(e,r){if(e===r)throw new Error(`ProposalLedger.applyAliasMerge: cannot merge id "${e}" into itself`);let n=this._proposals.get(e),o=this._proposals.get(r);if(!n)throw new Error(`ProposalLedger.applyAliasMerge: unknown primary id "${e}"`);if(!o)throw new Error(`ProposalLedger.applyAliasMerge: unknown alias id "${r}"`);n.proposerIds=Tx(n.proposerIds,o.proposerIds);for(let[s,i]of o.votes){let a=n.votes.get(s);if(!a){n.votes.set(s,{...i});continue}i.roundRecorded>a.roundRecorded&&n.votes.set(s,{...i})}o.status="merged",o.mergedInto=e;for(let s=this._aliasCandidates.length-1;s>=0;s-=1){let i=this._aliasCandidates[s];(i.proposalA===r||i.proposalB===r||i.proposalA===e||i.proposalB===e)&&this._aliasCandidates.splice(s,1)}}setStatus(e,r){let n=this._proposals.get(e);if(!n)throw new Error(`ProposalLedger.setStatus: unknown proposal id "${e}"`);n.status=r}aggregateRound(e,r,n=[]){let o=new Set(n),s=[];for(let i of this._proposals.values()){if(i.status!=="open")continue;let a={agree:0,disagree:0,abstain:0,revise:0,missing:0};for(let u of r){if(i.proposerIds.includes(u))continue;let l=i.votes.get(u);if(l===void 0||l.roundRecorded!==e){o.has(u)?a.abstain+=1:a.missing+=1;continue}switch(l.vote){case"agree":a.agree+=1;break;case"disagree":a.disagree+=1;break;case"abstain":a.abstain+=1;break;case"revise":a.revise+=1;break;default:{let d=l.vote}}}let c=PM(a);s.push({proposalId:i.id,tally:a,verdict:c})}return s}getOpenProposals(){return this.selectByStatus("open")}getConsensusProposals(){return this.selectByStatus("consensus")}getUnresolved(){return this.selectByStatus("unresolved")}selectByStatus(e){let r=[];for(let n of this._proposals.values())n.status===e&&r.push($M(n));return r}toJSON(){let e=Array.from(this._proposals.values()).map(n=>{let o=[];for(let[i,a]of n.votes){let c={voter:i,vote:a.vote,roundRecorded:a.roundRecorded};a.reason!==void 0&&(c.reason=a.reason),a.supersededAt!==void 0&&(c.supersededAt=a.supersededAt),o.push(c)}let s={id:n.id,proposerIds:n.proposerIds.slice(),title:n.title,severity:n.severity,roundOpened:n.roundOpened,status:n.status,votes:o};return n.location!==void 0&&(s.location=n.location),n.description!==void 0&&(s.description=n.description),n.supersededBy!==void 0&&(s.supersededBy=n.supersededBy),n.mergedInto!==void 0&&(s.mergedInto=n.mergedInto),s}),r=this._aliasCandidates.map(n=>({proposalA:n.proposalA,proposalB:n.proposalB,matchedFields:n.matchedFields.slice(),missingField:n.missingField}));return{proposals:e,aliasCandidates:r}}static fromJSON(e){let r=new t,n=new Set;for(let o of e.proposals){if(n.has(o.id))throw new Error(`ProposalLedger.fromJSON: duplicate proposal id "${o.id}"`);n.add(o.id);let s={id:o.id,proposerIds:o.proposerIds.slice(),title:o.title,severity:o.severity,roundOpened:o.roundOpened,status:o.status,votes:new Map};o.location!==void 0&&(s.location=o.location),o.description!==void 0&&(s.description=o.description),o.supersededBy!==void 0&&(s.supersededBy=o.supersededBy),o.mergedInto!==void 0&&(s.mergedInto=o.mergedInto);for(let i of o.votes){let a={vote:i.vote,roundRecorded:i.roundRecorded};i.reason!==void 0&&(a.reason=i.reason),i.supersededAt!==void 0&&(a.supersededAt=i.supersededAt),s.votes.set(i.voter,a)}r._proposals.set(s.id,s)}for(let o of e.aliasCandidates)r._aliasCandidates.push({proposalA:o.proposalA,proposalB:o.proposalB,matchedFields:o.matchedFields.slice(),missingField:o.missingField});return r}_rawProposal(e){return this._proposals.get(e)}_pushAliasCandidate(e){this._aliasCandidates.push(e)}_extendProposers(e,r){let n=this._proposals.get(e);n&&(n.proposerIds=Tx(n.proposerIds,r))}_maybeReplaceDescription(e,r){let n=this._proposals.get(e);if(!n||r===void 0)return;let o=n.description??"";r.length>o.length&&(n.description=r)}};function PM(t){return t.disagree>0||t.revise>0?"dissent":t.missing>0?"pending":t.agree>0?"consensus":"pending"}function Ex(t){let e=new Er,r=new Set;for(let s of t){if(r.has(s.id))throw new Error(`buildInitialLedger: duplicate proposal id "${s.id}"`);r.add(s.id),e.addProposal({id:s.id,proposerIds:[s.proposerId],title:s.title,severity:s.severity,...s.location!==void 0?{location:s.location}:{},...s.description!==void 0?{description:s.description}:{},roundOpened:s.roundOpened??1,status:"open"})}let n=new Set,o=t.map(s=>s.id);for(let s=0;s<o.length;s+=1){let i=o[s];if(n.has(i))continue;let a=e._rawProposal(i);if(a)for(let c=s+1;c<o.length;c+=1){let u=o[c];if(n.has(u))continue;let l=e._rawProposal(u);if(!l)continue;let d=kM(a,l);if(d.kind==="hard-merge"){e._extendProposers(i,l.proposerIds),e._maybeReplaceDescription(i,l.description),e._proposals.delete(u),n.add(u);continue}d.kind==="alias"&&e._pushAliasCandidate(d.pair)}}return{ledger:e,aliasCandidates:e.aliasCandidates}}var TM=new Set(Df);function EM(t){return TM.has(t)}var RM=new Set(["disagree","revise"]);function IM(t){let e=`<${bn}>`,r=`</${bn}>`,n=t.lastIndexOf(r);if(n<0)return null;let o=t.lastIndexOf(e,n);return o<0?null:{inner:t.slice(o+e.length,n)}}function AM(t){let e=`<${bn}>`;return t.includes(e)}var CM=Object.freeze({lt:"<",gt:">",amp:"&",quot:'"',apos:"'"});function DM(t){return t.replace(/&(#x[0-9a-fA-F]+|#[0-9]+|[a-zA-Z]+);/g,(e,r)=>{if(r.startsWith("#x")||r.startsWith("#X")){let o=parseInt(r.slice(2),16);return Number.isFinite(o)?String.fromCodePoint(o):e}if(r.startsWith("#")){let o=parseInt(r.slice(1),10);return Number.isFinite(o)?String.fromCodePoint(o):e}return CM[r]??e})}function zM(t){let e={},r=/([A-Za-z_][A-Za-z0-9_-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/g,n=0,o;for(;(o=r.exec(t))!==null;){if(t.slice(n,o.index).trim().length>0)return null;let i=o[1],a=o[2],c=o[3],u=a!==void 0?a:c??"";if(Object.prototype.hasOwnProperty.call(e,i))return null;e[i]=DM(u),n=o.index+o[0].length}return t.slice(n).trim().length>0?null:e}function $c(t,e){let r=IM(t);if(!r)return AM(t)?{ok:!1,error:{kind:"malformed-xml",details:`opening <${bn}> without matching </${bn}>`}}:{ok:!1,error:{kind:"missing-block"}};let n=new Set(e),o=/<item\b([^>]*?)\/>/g,s=[],i;for(;(i=o.exec(r.inner))!==null;)s.push({raw:i[0],attrString:i[1],index:i.index,length:i[0].length});let a=0;for(let p of s){let f=r.inner.slice(a,p.index);if(!Rx(f))return{ok:!1,error:{kind:"malformed-xml",details:`unexpected content between <item> elements: ${JSON.stringify(f.slice(0,40))}`}};a=p.index+p.length}let c=r.inner.slice(a);if(!Rx(c))return{ok:!1,error:{kind:"malformed-xml",details:`unexpected trailing content: ${JSON.stringify(c.slice(0,40))}`}};let u=[],l=[],d=new Set;for(let p of s){let f=zM(p.attrString);if(f===null){l.push({reason:"malformed-entry",raw:p.raw});continue}let m=f.id,g=f.vote;if(typeof m!="string"||m.length===0||typeof g!="string"){l.push({proposalId:typeof m=="string"&&m.length>0?m:void 0,reason:"malformed-entry",raw:p.raw});continue}if(!EM(g)){l.push({proposalId:m,reason:"unknown-vote",raw:p.raw});continue}if(!n.has(m)){l.push({proposalId:m,reason:"unknown-id",raw:p.raw});continue}if(d.has(m)){l.push({proposalId:m,reason:"duplicate-id",raw:p.raw});continue}let y=f.reason,v=typeof y=="string"&&y.length>0?y:void 0;if(RM.has(g)&&v===void 0){d.add(m),l.push({proposalId:m,reason:"missing-reason",raw:p.raw});continue}d.add(m);let x={proposalId:m,vote:g};v!==void 0&&(x.reason=v),u.push(x)}return{ok:!0,entries:u,entryErrors:l}}function Rx(t){return t.trim().length===0?!0:t.replace(/<!--[\s\S]*?-->/g,"").trim().length===0}import{existsSync as OM,mkdirSync as MM,readFileSync as NM}from"fs";import{join as Ix}from"path";var Bt=class{debatesDir;constructor(e){this.debatesDir=Ix(e,_n)}pathForSession(e){return Ix(this.debatesDir,`${e}.consensus.json`)}async write(e){MM(this.debatesDir,{recursive:!0});let r=this.pathForSession(e.sessionId),n={...e,documents:{...e.documents,ledger:r}};return Re(r,n),r}async load(e){let r=this.pathForSession(e);return OM(r)?JSON.parse(NM(r,"utf-8")):null}};function kc(t){let e=t.now?t.now():new Date().toISOString();return{schemaVersion:1,sessionId:t.sessionId,topic:t.topic,mode:t.mode,participants:t.participants.slice(),activeParticipants:t.participants.slice(),leader:t.leader,round:0,maxRounds:t.maxRounds,documents:t.documents,items:t.items.map((r,n)=>{let o=`ITEM-${String(n+1).padStart(2,"0")}`;return jM(o,r,t.participants)}),turns:[],moderatorNotes:[],createdAt:e,updatedAt:e}}function jM(t,e,r){return{id:t,title:e.title,proposer:e.proposer,status:"unresolved",displayStatus:"\uBBF8\uD569\uC758",currentStances:r.map(n=>({provider:n,stance:n===e.proposer?"agree":"not_assigned",round:0,...n===e.proposer?{automatic:!0}:{}})),plainSummary:e.plainSummary,originalClaim:e.originalClaim,comments:[],sourceRefs:e.sourceRefs.slice()}}function Dx(t,e){let r=t.items.filter(n=>n.status==="unresolved"||n.status==="needs_opinion").slice(0,e.maxItems);return{sessionId:t.sessionId,round:e.round,provider:e.provider,topic:t.topic,itemIndex:t.items.map(n=>({id:n.id,title:n.title,status:n.status,displayStatus:n.displayStatus,proposer:n.proposer,stanceSummary:n.currentStances.map(o=>`${o.provider} ${o.stance}${o.automatic?"(auto)":""}`).join(", "),blockedReason:Cx(n)})),assignedItems:r.map(n=>({id:n.id,title:n.title,plainSummary:n.plainSummary,originalClaim:n.originalClaim,currentSummary:Cx(n),recentComments:n.comments.slice(-4)})),responseContract:{allowedStances:["agree","disagree","opinion","revise"],mustAnswerEveryAssignedItem:!0,jsonOnly:!0}}}function Pc(t,e){let r=e.now?e.now():new Date().toISOString(),n=LM(t);n.round=Math.max(n.round,e.round),n.updatedAt=r;let o=[],s=e.validationErrors!==void 0?e.validationErrors:[];if(s.length>0){for(let i of e.assignedItemIds)Ax(n,i,e.provider,"no_response",e.round);n.moderatorNotes.push({id:`NOTE-${n.moderatorNotes.length+1}`,kind:"missing_stance",round:e.round,provider:e.provider,message:s.join("; "),createdAt:r})}else for(let i of e.parsedItems){o.push(i.id);let a=`C-${n.turns.length+1}-${o.length}`,c={id:a,itemId:i.id,provider:e.provider,round:e.round,stance:i.stance,comment:i.comment,createdAt:r,rawResponse:e.rawResponse},u=zx(n,i.id);if(u.comments.push(c),Ax(n,i.id,e.provider,i.stance,e.round,a),i.stance==="revise"&&i.proposedItem){let l=FM(n,i.id);c.proposedItemId=l,u.status="superseded",u.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9",u.conclusion=`\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9. ${l} \uD56D\uBAA9\uC5D0\uC11C \uC218\uC815 \uC81C\uC548\uC744 \uAC80\uD1A0\uD55C\uB2E4.`,n.items.push({id:l,parentId:i.id,title:i.proposedItem.title,proposer:e.provider,status:"unresolved",displayStatus:"\uBBF8\uD569\uC758",currentStances:n.activeParticipants.map(d=>({provider:d,stance:d===e.provider?"agree":"not_assigned",round:e.round,...d===e.provider?{automatic:!0}:{}})),plainSummary:i.proposedItem.plainSummary,originalClaim:i.proposedItem.originalClaim,comments:[],sourceRefs:[i.id]})}}for(let i of n.items)ZM(i,n.activeParticipants);return n.turns.push({id:`TURN-${n.turns.length+1}`,round:e.round,provider:e.provider,assignedItemIds:e.assignedItemIds.slice(),responseItemIds:o,accepted:s.length===0,createdAt:r,rawResponse:e.rawResponse,validationErrors:s.slice()}),n}function LM(t){return JSON.parse(JSON.stringify(t))}function zx(t,e){let r=t.items.find(n=>n.id===e);if(!r)throw new Error(`Unknown consensus item: ${e}`);return r}function Ax(t,e,r,n,o,s){let i=zx(t,e),a=i.currentStances.find(u=>u.provider===r),c={provider:r,stance:n,round:o,...s?{commentId:s}:{}};if(a){a.stance=n,a.round=o,delete a.automatic,s?a.commentId=s:delete a.commentId;return}i.currentStances.push(c)}function FM(t,e){let r=new Set(t.items.map(n=>n.id));for(let n=65;n<=90;n+=1){let o=`${e}-${String.fromCharCode(n)}`;if(!r.has(o))return o}throw new Error(`Too many child items for ${e}`)}function ZM(t,e){if(t.status==="superseded"){t.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9";return}let r=e.map(n=>{let o=t.currentStances.find(s=>s.provider===n);return o?o.stance:"not_assigned"});if(r.every(n=>n==="agree")){t.status="accepted",t.displayStatus="\uD569\uC758\uB428",t.conclusion="\uD569\uC758\uB428. \uC804\uC6D0 \uB3D9\uC758\uB85C \uC774 \uD56D\uBAA9\uC744 \uD3EC\uD568\uD558\uAE30\uB85C \uD588\uB2E4.";return}if(r.every(n=>n==="disagree")){t.status="excluded",t.displayStatus="\uC81C\uC678 \uD569\uC758",t.conclusion="\uC81C\uC678 \uD569\uC758. \uC804\uC6D0 \uBC18\uB300\uB85C \uC774 \uD56D\uBAA9\uC744 \uD3EC\uD568\uD558\uC9C0 \uC54A\uAE30\uB85C \uD588\uB2E4.";return}if(r.some(n=>n==="opinion"||n==="no_response")){t.status="needs_opinion",t.displayStatus="\uC758\uACAC \uD544\uC694",delete t.conclusion;return}t.status="unresolved",t.displayStatus="\uBBF8\uD569\uC758",delete t.conclusion}function Cx(t){if(t.conclusion)return`\uACB0\uB860: ${t.conclusion}`;let e=t.currentStances.filter(r=>r.stance!=="agree"&&r.stance!=="not_assigned");return e.length===0?"\uC544\uC9C1 \uBAA8\uB4E0 \uCC38\uAC00\uC790\uC758 \uBA85\uC2DC \uB3D9\uC758\uAC00 \uBAA8\uC774\uC9C0 \uC54A\uC558\uB2E4.":e.map(r=>`${r.provider} ${r.stance}`).join(", ")}var hn={agree:"\uB3D9\uC758",disagree:"\uBC18\uB300",opinion:"\uC758\uACAC",revise:"\uC218\uC815 \uC81C\uC548",no_response:"\uC751\uB2F5 \uC5C6\uC74C",not_assigned:"\uC774\uBC88 \uD134 \uC81C\uC678"};function Zp(t){let e=[];e.push(`# \uD1A0\uB860 \uCDE8\uD569 \uBB38\uC11C: ${t.topic}`),e.push(""),e.push(`**Session:** ${t.sessionId}`),e.push(`**\uC0C1\uD0DC \uC6D0\uBCF8 JSON:** ${t.documents.ledger}`),e.push(`**\uCC38\uC5EC AI:** ${t.participants.join(", ")}`),e.push(`**\uD604\uC7AC \uB77C\uC6B4\uB4DC:** ${t.round}/${t.maxRounds}`),e.push(""),e.push("## \uD56D\uBAA9 \uD604\uD669\uD310"),e.push(""),e.push("| ID | \uD56D\uBAA9 | \uC0C1\uD0DC | \uC81C\uC2DC\uC790 | \uB3D9\uC758 \uD604\uD669 | \uD604\uC7AC \uACB0\uB860/\uB9C9\uD78C \uC774\uC720 |"),e.push("|---|---|---|---|---|---|");for(let r of t.items)e.push(`| ${r.id} | ${r.title} | ${r.displayStatus} | ${r.proposer} | ${jx(r)} | ${go(r)} |`);for(let r of t.items)e.push(""),e.push(...UM(r));if(t.moderatorNotes.length>0){e.push(""),e.push("## Moderator Notes");for(let r of t.moderatorNotes)e.push(""),e.push(`- ${r.kind}: ${r.message}`)}return e.join(`
|
|
308
|
-
`)}function
|
|
309
|
-
`)}function
|
|
310
|
-
`)}function
|
|
311
|
-
`),
|
|
312
|
-
`)}
|
|
313
|
-
`)}function
|
|
314
|
-
`)}function
|
|
315
|
-
`)}function Hx(){return{renderTerminal:xN,renderSynthesis:SN}}var $N=Object.freeze({running:"report.status.running","ready-for-approval":"report.status.readyForApproval",consensus:"report.status.consensus",escalated:"report.status.escalated",approved:"report.status.approved",rejected:"report.status.rejected","leader-timeout":"report.status.leaderTimeout",error:"report.status.error"});function kN(t,e){let r=e.t($N[t.status]),n=e.t("report.header.topic"),o=e.t("report.header.participants"),s=e.t("report.header.individualDocs"),i=[`## ${n}: ${t.topic} (${t.rounds}/${t.maxRounds} \u2014 ${r})`,`## ${o}: ${t.participantIds.join(", ")}`,`## ${s}:`],a=Math.min(t.participantIds.length,t.individualPaths.length);for(let c=0;c<a;c+=1)i.push(` - ${t.participantIds[c]}: ${t.individualPaths[c]}`);return i}function Kx(t,e){let r=[`## ${e.t("report.section.mainTable")}`,"",`| ${e.t("report.table.proposer")} | ${e.t("report.table.opinion")} | ${e.t("report.table.severity")} | ${e.t("report.table.agreement")} |`,"|---|---|---|---|"];for(let n of t.proposals){let o=n.proposerIds.join(", "),s=PN(n);r.push(`| ${o} | ${n.title} | ${n.severity} | ${s} |`)}return r}function PN(t){let e=`${t.agreeCount}/${t.totalVoters}`;return t.accepted||t.dissentSummary===void 0||t.dissentSummary.length===0?e:`${e} (${t.dissentSummary})`}function Jx(t,e){if(t.dissentDetails.length===0)return[];let r=[`## ${e.t("report.section.dissentDetail")}`];for(let n of t.dissentDetails){r.push(""),r.push(`### ${n.proposalTitle} (${n.severity})`);for(let o of n.perParticipant)r.push(Hp(o))}return r}function Hp(t){let e=`- **${t.participantId}:** ${t.vote}`;return t.reason===void 0||t.reason.length===0?e:`${e} \u2014 ${t.reason}`}function Gx(t,e){let r=`| ${e.t("report.contribution.ai")} | ${e.t("report.contribution.proposed")} | ${e.t("report.contribution.accepted")} | ${e.t("report.contribution.revises")} | ${e.t("report.contribution.abstains")} |`,n=[`## ${e.t("report.section.contributionSummary")}`,"",r,"|---|---|---|---|---|"];for(let o of t.contributionSummary){let s=o.proposed===0?"\u2014":String(o.consensusReceived);n.push(`| ${o.participantId} | ${o.proposed} | ${s} | ${o.revisesProposed} | ${o.abstains} |`)}return n}function TN(t,e){let r=e.t("report.footer.synthesisPath"),n=e.t("report.footer.debatePath"),o=t.synthesisPath??e.t("report.footer.pendingSynthesis"),s=[`## ${r}: ${o}`,`## ${n}: ${t.debatePath}`];return t.status==="ready-for-approval"&&(s.push(""),s.push(e.t("approval.pending"))),s}function EN(t,e){let r=t.acceptedItems??[];if(r.length===0)return[];let n=[`## ${e.t("synthesis.section.acceptedItems")}`];for(let o of r)n.push(""),n.push(`### ${o.id} \u2014 ${o.title}`),n.push(`**${e.t("report.table.severity")}:** ${o.severity}`),n.push(`**${e.t("report.table.proposer")}:** ${o.proposerIds.join(", ")}`),n.push(`**${e.t("report.table.agreement")}:** ${o.agreeCount}/${o.totalVoters}`),o.finalStatement.length>0&&(n.push(""),n.push(o.finalStatement));return n}function RN(t,e){let r=t.rejectedItems??[];if(r.length===0)return[];let n=[`## ${e.t("synthesis.section.rejectedItems")}`];for(let o of r){n.push(""),n.push(`### ${o.id} \u2014 ${o.title}`),n.push(`**${e.t("report.table.severity")}:** ${o.severity}`),o.rejectionReason.length>0&&(n.push(""),n.push(o.rejectionReason));for(let s of o.dissentVotes)n.push(Hp(s))}return n}function IN(t,e){let r=t.openItems??[];if(r.length===0)return[];let n=[`## ${e.t("synthesis.section.openItems")}`];for(let o of r){n.push(""),n.push(`### ${o.id} \u2014 ${o.title}`),n.push(`**${e.t("report.table.severity")}:** ${o.severity}`),n.push(`**${e.t("report.table.agreement")}:** ${o.agreeCount}/${o.totalVoters}`);for(let s of o.perParticipant)n.push(Hp(s))}return n}var vo=class{deps;sessions=new Map;formatter=Hx();constructor(e){this.deps=e}async startDebate(e){let r=(this.deps.generateSessionId??AN)(),n=this.nowIso(),o=vx({topic:e.topic,...e.goal!==void 0?{goal:e.goal}:{},participants:e.participants,excludeParticipants:e.excludeParticipants??[],autoInjectSpecialists:e.autoInjectSpecialists??!0}),s=o.participants,i={topic:e.topic,scope:e.scope??e.topic,participants:s,excludeParticipants:e.excludeParticipants??[],leader:e.leader,maxRounds:e.maxRounds??Vc,locale:e.locale??this.deps.i18n.locale,autoInjectSpecialists:e.autoInjectSpecialists??!0},a=await this.deps.documentManager.createDebateDocument({topic:e.topic,providers:s.slice(),...e.goal!==void 0?{goal:e.goal}:{}}),u=new Bt(this.deps.registry.getWorkspaceDir()).pathForSession(r),l=kc({sessionId:r,topic:e.topic,mode:"review",participants:s.slice(),leader:e.leader,maxRounds:i.maxRounds,documents:{individual:{},ledger:u,debate:a.path},items:[],now:()=>n}),d={sessionId:r,config:i,goal:e.goal,individualReviewPrompt:e.individualReviewPrompt,files:e.files??[],debateDocId:a.id,debateDocPath:a.path,individualPaths:{},createdAt:n,ledger:new Er,rounds:0,maxRounds:i.maxRounds,consecutiveFailures:new Map,unavailableParticipants:new Set,allAbstainCount:new Map,reviseSuccessors:new Map,pendingVoteWarnings:new Map,nextProposalIndex:1,consensusLedger:l,consensusLedgerPath:u,legacyProposalIdMap:new Map};this.sessions.set(r,d);try{let p=await this.runIndividualPhase(d,o);d.consensusLedger=kc({sessionId:r,topic:e.topic,mode:"review",participants:s.slice(),leader:e.leader,maxRounds:i.maxRounds,documents:{individual:{...d.individualPaths},ledger:d.consensusLedgerPath,debate:d.debateDocPath},items:p.map(g=>({title:g.title,proposer:g.proposerId,plainSummary:g.description??g.title,originalClaim:g.description??g.title,sourceRefs:[g.id,...d.individualPaths[g.proposerId]!==void 0?[d.individualPaths[g.proposerId]]:[],...g.location!==void 0?[g.location]:[]]}))}),d.legacyProposalIdMap=new Map(p.map((g,y)=>[g.id,d.consensusLedger.items[y]?.id??g.id])),await this.persistConsensusArtifacts(d);let{ledger:f}=Ex(p);d.ledger=f,d.nextProposalIndex=jN(p),this.syncConsensusMergesFromProposalLedger(d),f.aliasCandidates.length>0&&await this.runAliasClarificationPhase(d),await this.runRoundLoop(d);let m=this.buildSnapshot(d,Yx(d));return await this.deps.registry.persist(m),this.emitTrace(d,"debate_rfa",{status:m.status}),{sessionId:r,status:m.status,snapshot:m,terminalReport:this.renderTerminal(d,m)}}catch(p){let f=this.buildSnapshot(d,"error",Jp(p));try{await this.deps.registry.persist(f)}catch{}return this.emitTrace(d,"debate_error",{error:Jp(p)}),{sessionId:r,status:"error",snapshot:f,terminalReport:this.renderTerminal(d,f),errorMessage:Jp(p)}}}async approve(e){let r=await this.loadSnapshotOrThrow(e.sessionId);if(r.status==="approved"){if(!r.documentPaths.synthesis)throw new Error(`approve: session "${e.sessionId}" is marked approved but has no synthesis path recorded. Snapshot is inconsistent.`);let u=this.sessions.get(e.sessionId);return{snapshot:r,synthesisPath:r.documentPaths.synthesis,terminalReport:this.renderTerminal(u??null,r),idempotentReplay:!0}}Kp(r,["ready-for-approval","escalated"],"approve");let n=this.sessions.get(e.sessionId),o=n?.consensusLedger;!o&&r.documentPaths.consensusLedger&&(o=await new Bt(this.deps.registry.getWorkspaceDir()).load(r.sessionId)??void 0);let s=o?Mx({...o,documents:{...o.documents,...r.documentPaths.synthesis!==void 0?{synthesis:r.documentPaths.synthesis}:{}}}):this.formatter.renderSynthesis(n?this.buildReportData(n,r,e.leaderNote):Qx(r,e.leaderNote),this.deps.i18n),i=(r.status==="escalated"||r.status==="ready-for-approval")&&r.status==="escalated"?"escalated":"consensus",a=await this.deps.documentManager.createSynthesis({sessionId:r.sessionId,topic:r.config.topic,status:i,rounds:r.rounds,maxRounds:r.config.maxRounds,participantIds:r.config.participants,individualPaths:Object.values(r.documentPaths.individual),debatePath:r.documentPaths.debate,body:s,...e.leaderNote!==void 0?{metadata:{"Leader Note":e.leaderNote}}:{}}),c={...r,status:"approved",documentPaths:{...r.documentPaths,synthesis:a.path}};if(o){let u={...o,documents:{...o.documents,synthesis:a.path},moderatorNotes:e.leaderNote!==void 0?[...o.moderatorNotes,{id:`NOTE-${o.moderatorNotes.length+1}`,kind:"format_correction",round:o.round,provider:r.config.leader,message:`Leader note: ${e.leaderNote}`,createdAt:this.nowIso()}]:o.moderatorNotes};await new Bt(this.deps.registry.getWorkspaceDir()).write(u),n&&(n.consensusLedger=u,n.consensusLedgerPath=u.documents.ledger,await this.deps.documentManager.replaceDocumentContent(n.debateDocId,Zp(n.consensusLedger)))}else await this.deps.documentManager.addComment(n?.debateDocId??Ks(r),{author:"moderator",content:this.formatApprovalFooter(e.leaderNote)});return await this.deps.registry.persist(c),this.emitTrace(n??null,"debate_approved",{sessionId:r.sessionId,synthesisPath:a.path}),{snapshot:c,synthesisPath:a.path,terminalReport:this.renderTerminal(n??null,c)}}async continueDebate(e){if(!Number.isInteger(e.additionalRounds)||e.additionalRounds<=0)throw new Error(`continueDebate: additionalRounds must be a positive integer (got ${e.additionalRounds})`);let r=await this.loadSnapshotOrThrow(e.sessionId);Kp(r,["ready-for-approval","escalated"],"continue");let n=this.sessions.get(e.sessionId);if(!n)if(r.documentPaths.consensusLedger)n=await this.rehydrateConsensusSessionContext(r),this.sessions.set(e.sessionId,n);else if(r.ledgerState)n=this.rehydrateSessionContext(r),this.sessions.set(e.sessionId,n);else throw new Error(`continueDebate: snapshot for session "${e.sessionId}" is too old to resume after restart \u2014 missing ledgerState. Use approve or reject instead, or rerun the debate.`);n.maxRounds=r.config.maxRounds+e.additionalRounds,n.consensusLedger={...n.consensusLedger,maxRounds:n.maxRounds};for(let i of n.ledger.proposals.values())i.status;await this.runRoundLoop(n);let o=Yx(n),s=this.buildSnapshot(n,o);return await this.deps.registry.persist(s),this.emitTrace(n,"debate_continued",{additionalRounds:e.additionalRounds,status:s.status}),{snapshot:s,terminalReport:this.renderTerminal(n,s)}}async reject(e){let r=await this.loadSnapshotOrThrow(e.sessionId);if(r.status==="rejected")return{snapshot:r,idempotentReplay:!0,...r.documentPaths.issue!==void 0?{issuePath:r.documentPaths.issue}:{}};Kp(r,["ready-for-approval","escalated","leader-timeout"],"reject");let n=this.sessions.get(e.sessionId),o=n?.debateDocId??Ks(r);await this.deps.documentManager.addComment(o,{author:"moderator",content:this.formatRejectionFooter(e.reason)});let s;e.spawnIssue===!0&&(s=(await this.deps.documentManager.createIssueDocument({sessionId:r.sessionId,topic:r.config.topic,...e.reason!==void 0?{reason:e.reason}:{},items:NN(r)})).path);let i={...r,status:"rejected",terminalNote:e.reason??r.terminalNote,documentPaths:{...r.documentPaths,...s!==void 0?{issue:s}:{}}};return await this.deps.registry.persist(i),this.emitTrace(n??null,"debate_rejected",{sessionId:r.sessionId,...s!==void 0?{issuePath:s}:{}}),{snapshot:i,...s!==void 0?{issuePath:s}:{}}}async handleTimedOutSnapshots(e){for(let r of e){if(r.status!=="leader-timeout")continue;let n=Ks(r);try{await this.deps.documentManager.addComment(n,{author:"moderator",content:this.formatLeaderTimeoutFooter(r)})}catch{}this.emitTrace(this.sessions.get(r.sessionId)??null,"debate_leader_timeout",{sessionId:r.sessionId})}}async runIndividualPhase(e,r){let n=BN(),o=WN(e),s=await Promise.allSettled(e.config.participants.map(async a=>{let c=await this.deps.bridge.requestTurn(a,{prompt:o,system:e.individualReviewPrompt??n,round:0,...e.files.length>0?{files:e.files}:{}});return{participantId:a,resp:c}})),i=[];for(let a of s){if(a.status==="rejected")continue;let{participantId:c,resp:u}=a.value,l=u.failed?`(no response: ${u.failureReason??"unknown"})`:u.text,d=await this.deps.documentManager.createIndividualReview({participantId:c,topic:e.config.topic,content:l,...e.files.length>0?{files:e.files}:{}});if(e.individualPaths[c]=d.path,u.failed)continue;let p=VN(u.text);for(let f of p){let m=Xx(e,f.id);i.push({id:m,proposerId:c,title:f.title,severity:f.severity,...f.location!==void 0?{location:f.location}:{},...f.description!==void 0?{description:f.description}:{},roundOpened:1})}}return i}async runAliasClarificationPhase(e){let r=await Bx({ledger:e.ledger,participantIds:e.config.participants,askParticipant:async(o,s)=>{let i=await this.deps.bridge.requestTurn(o,{prompt:s,round:0,...e.files.length>0?{files:e.files}:{}});return i.failed?{text:"",failed:!0}:{text:i.text}}}),n=YN(r,this.deps.i18n);if(n.length>0){for(let o of r.mergesApplied){let s=e.legacyProposalIdMap.get(o.alias),i=e.legacyProposalIdMap.get(o.primary);if(!s||!i)continue;let a=e.consensusLedger.items.find(c=>c.id===s);a&&(a.status="superseded",a.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9",a.conclusion=`\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9. ${i} \uD56D\uBAA9\uACFC \uAC19\uC740 \uB0B4\uC6A9\uC73C\uB85C \uBCD1\uD569\uD588\uB2E4.`,a.sourceRefs=Array.from(new Set([...a.sourceRefs,i])))}this.syncConsensusMergesFromProposalLedger(e),e.consensusLedger={...e.consensusLedger,moderatorNotes:[...e.consensusLedger.moderatorNotes,{id:`NOTE-${e.consensusLedger.moderatorNotes.length+1}`,kind:"merge_candidate",round:e.rounds,message:n,createdAt:this.nowIso()}]},await this.deps.documentManager.addComment(e.debateDocId,{author:"moderator",content:n})}}async runRoundLoop(e){for(;e.rounds<e.maxRounds;){if(e.consensusLedger.items.filter(s=>s.status==="unresolved"||s.status==="needs_opinion").length===0)return;e.rounds+=1;let n=e.rounds,o=new Set;for(let s of e.config.participants){if(e.unavailableParticipants.has(s))continue;let i=Dx(e.consensusLedger,{provider:s,round:n,maxItems:10});if(i.assignedItems.length===0)continue;let a={prompt:HN(i,e.legacyProposalIdMap),round:n,...e.files.length>0?{files:e.files}:{}},c=await this.deps.bridge.requestTurn(s,a);if(c.failed){this.registerFailure(e,s),e.consensusLedger=Pc(e.consensusLedger,{provider:s,round:n,assignedItemIds:i.assignedItems.map(l=>l.id),rawResponse:"",parsedItems:[],validationErrors:[c.failureReason?c.failureReason:"provider failed"]}),await this.persistConsensusArtifacts(e);continue}o.add(s),this.clearFailure(e,s);let u=await this.parseConsensusTurnWithRetry(s,i,c.text,a,e.legacyProposalIdMap);u.ok?e.consensusLedger=Pc(e.consensusLedger,{provider:s,round:n,assignedItemIds:i.assignedItems.map(l=>l.id),rawResponse:u.rawResponse,parsedItems:u.items}):(this.registerFailure(e,s),e.consensusLedger=Pc(e.consensusLedger,{provider:s,round:n,assignedItemIds:i.assignedItems.map(l=>l.id),rawResponse:u.rawResponse,parsedItems:[],validationErrors:u.errors})),this.syncLegacyProposalAliases(e),await this.persistConsensusArtifacts(e)}if(o.size===0)return}}async parseConsensusTurnWithRetry(e,r,n,o,s){let i=r.assignedItems.map(p=>p.id),a=Up(n,{provider:e,round:r.round,assignedItemIds:i});if(a.ok)return{ok:!0,rawResponse:n,items:a.value.items};let c=eS(n,r,s);if(c.ok)return{ok:!0,rawResponse:n,items:c.items};let u=await this.deps.bridge.requestTurn(e,{prompt:KN(r,[...a.errors,...c.errors],s),round:r.round,...o.files!==void 0?{files:o.files}:{}});if(u.failed)return{ok:!1,rawResponse:n,errors:[...a.errors,...c.errors,`retry failed: ${u.failureReason??"unknown"}`]};let l=Up(u.text,{provider:e,round:r.round,assignedItemIds:i});if(l.ok)return{ok:!0,rawResponse:u.text,items:l.value.items};let d=eS(u.text,r,s);return d.ok?{ok:!0,rawResponse:u.text,items:d.items}:{ok:!1,rawResponse:u.text,errors:[...l.errors,...d.errors]}}async persistConsensusArtifacts(e){let r=new Bt(this.deps.registry.getWorkspaceDir());e.consensusLedgerPath=await r.write(e.consensusLedger),e.consensusLedger={...e.consensusLedger,documents:{...e.consensusLedger.documents,individual:{...e.individualPaths},ledger:e.consensusLedgerPath,debate:e.debateDocPath}},await this.deps.documentManager.replaceDocumentContent(e.debateDocId,Zp(e.consensusLedger))}syncLegacyProposalAliases(e){for(let r of e.consensusLedger.items){if(Array.from(e.legacyProposalIdMap.values()).includes(r.id))continue;let o=`P${e.legacyProposalIdMap.size+1}`;e.legacyProposalIdMap.set(o,r.id),r.sourceRefs.includes(o)||r.sourceRefs.unshift(o)}}syncConsensusMergesFromProposalLedger(e){for(let r of e.ledger.proposals.values()){if(r.status!=="merged"||!r.mergedInto)continue;let n=e.legacyProposalIdMap.get(r.id),o=e.legacyProposalIdMap.get(r.mergedInto);if(!n||!o)continue;let s=e.consensusLedger.items.find(i=>i.id===n);s&&(s.status="superseded",s.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9",s.conclusion=`\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9. ${o} \uD56D\uBAA9\uACFC \uAC19\uC740 \uB0B4\uC6A9\uC73C\uB85C \uBCD1\uD569\uD588\uB2E4.`,s.sourceRefs=Array.from(new Set([...s.sourceRefs,o])))}}async parseVotesWithRetry(e,r,n,o,s){let i=o.map(p=>p.id),a=$c(n,i);if(a.ok)return{ok:!0,parsed:a,displayText:n};let c={prompt:GN({openProposals:o,errorKind:a.error.kind,errorDetails:a.error.details}),round:s,...r.files!==void 0?{files:r.files}:{}},u=await this.deps.bridge.requestTurn(e,c);if(u.failed)return{ok:!1,displayText:`${n}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
[
|
|
320
|
-
${u.text}`;return l.ok?{ok:!0,parsed:l,displayText:d}:{ok:!1,displayText:d,warnings:[`Missing or malformed <votes> block (${l.error.kind}).${l.error.details?` ${l.error.details}`:""}`]}}registerFailure(e,r){let n=(e.consecutiveFailures.get(r)??0)+1;e.consecutiveFailures.set(r,n),n>=Bc&&(e.unavailableParticipants.add(r),e.consensusLedger={...e.consensusLedger,activeParticipants:e.consensusLedger.activeParticipants.filter(o=>o!==r),moderatorNotes:[...e.consensusLedger.moderatorNotes,{id:`NOTE-${e.consensusLedger.moderatorNotes.length+1}`,kind:"provider_unavailable",round:e.rounds,provider:r,message:`${r} marked unavailable after repeated failed turns.`,createdAt:this.nowIso()}]})}clearFailure(e,r){e.consecutiveFailures.delete(r)}synthesizeReviseSuccessor(e,r,n){let o=Xx(e),s=[];for(let[,a]of r.votes)a.vote==="revise"&&a.roundRecorded===n&&a.reason&&s.push(a.reason);let i=s.length>0?`Revised from ${r.id}: ${s.join(" / ")}`:`Revised from ${r.id}`;return e.ledger.addProposal({id:o,proposerIds:r.proposerIds,title:`${r.title} (revised)`,severity:r.severity,...r.location!==void 0?{location:r.location}:{},description:i,roundOpened:n+1}),e.ledger.markSuperseded(r.id,o,n),o}rehydrateSessionContext(e){if(!e.ledgerState)throw new Error(`rehydrateSessionContext: snapshot "${e.sessionId}" has no ledgerState`);let r=Er.fromJSON(e.ledgerState),n=new Map;if(e.consecutiveFailuresByParticipant)for(let[a,c]of Object.entries(e.consecutiveFailuresByParticipant))c>0&&n.set(a,c);let o=new Set(e.unavailableParticipants??[]),s=0;for(let a of e.ledgerState.proposals.map(c=>c.id)){let c=a.match(/^P(\d+)$/);if(c){let u=Number.parseInt(c[1],10);Number.isFinite(u)&&u>s&&(s=u)}}return{sessionId:e.sessionId,config:e.config,goal:void 0,individualReviewPrompt:void 0,files:[],debateDocId:Ks(e),debateDocPath:e.documentPaths.debate,individualPaths:{...e.documentPaths.individual},createdAt:e.createdAt,ledger:r,rounds:e.rounds,maxRounds:e.config.maxRounds,consecutiveFailures:n,unavailableParticipants:o,allAbstainCount:new Map,reviseSuccessors:new Map,pendingVoteWarnings:new Map,nextProposalIndex:s+1,consensusLedger:kc({sessionId:e.sessionId,topic:e.config.topic,mode:"review",participants:e.config.participants.slice(),leader:e.config.leader,maxRounds:e.config.maxRounds,documents:{individual:{...e.documentPaths.individual},ledger:e.documentPaths.consensusLedger??new Bt(this.deps.registry.getWorkspaceDir()).pathForSession(e.sessionId),debate:e.documentPaths.debate,...e.documentPaths.synthesis!==void 0?{synthesis:e.documentPaths.synthesis}:{}},items:e.aggregatedVotes.map(a=>({title:a.title,proposer:a.proposers[0]??e.config.leader,plainSummary:a.title,originalClaim:a.title,sourceRefs:a.location?[a.location]:[]}))}),consensusLedgerPath:e.documentPaths.consensusLedger??new Bt(this.deps.registry.getWorkspaceDir()).pathForSession(e.sessionId),legacyProposalIdMap:new Map(e.aggregatedVotes.map((a,c)=>[a.proposalId,`ITEM-${String(c+1).padStart(2,"0")}`]))}}async rehydrateConsensusSessionContext(e){let r=new Bt(this.deps.registry.getWorkspaceDir()),n=e.documentPaths.consensusLedger??r.pathForSession(e.sessionId),o=await r.load(e.sessionId);if(!o)throw new Error(`continueDebate: consensus ledger not found for session "${e.sessionId}" at ${n}`);let s=new Map;if(e.consecutiveFailuresByParticipant)for(let[i,a]of Object.entries(e.consecutiveFailuresByParticipant))a>0&&s.set(i,a);return{sessionId:e.sessionId,config:e.config,goal:void 0,individualReviewPrompt:void 0,files:[],debateDocId:Ks(e),debateDocPath:e.documentPaths.debate,individualPaths:{...e.documentPaths.individual},createdAt:e.createdAt,ledger:e.ledgerState?Er.fromJSON(e.ledgerState):new Er,rounds:e.rounds,maxRounds:e.config.maxRounds,consecutiveFailures:s,unavailableParticipants:new Set(e.unavailableParticipants??[]),allAbstainCount:new Map,reviseSuccessors:new Map,pendingVoteWarnings:new Map,nextProposalIndex:1,consensusLedger:o,consensusLedgerPath:n,legacyProposalIdMap:JN(o)}}buildSnapshot(e,r,n){let o=this.nowIso(),s=CN(r)?$x(o,Wx):o,i=this.snapshotAggregatedVotes(e),a={};for(let[u,l]of e.consecutiveFailures)l>0&&(a[u]=l);return{schemaVersion:1,sessionId:e.sessionId,status:r,createdAt:e.createdAt,readyAt:o,deadline:s,config:{...e.config,maxRounds:e.maxRounds},rounds:e.rounds,aggregatedVotes:i,documentPaths:{individual:{...e.individualPaths},debate:e.debateDocPath,consensusLedger:e.consensusLedgerPath},ledgerState:e.ledger.toJSON(),...Object.keys(a).length>0?{consecutiveFailuresByParticipant:a}:{},...e.unavailableParticipants.size>0?{unavailableParticipants:Array.from(e.unavailableParticipants)}:{},...n!==void 0?{terminalNote:n}:{}}}snapshotAggregatedVotes(e){if(e.consensusLedger.items.length>0)return e.consensusLedger.items.map(n=>{let o={};for(let s of n.currentStances){let i=s.commentId?n.comments.find(a=>a.id===s.commentId):void 0;o[s.provider]={vote:MN(s.stance),roundRecorded:s.round,...i?.comment?{reason:i.comment}:{}}}return{proposalId:ON(e,n.id),title:n.title,severity:"MEDIUM",proposers:[n.proposer],status:zN(n.status),votes:o,...n.parentId!==void 0?{supersededBy:n.parentId}:{}}});let r=[];for(let n of e.ledger.proposals.values()){if(n.status==="merged")continue;let o={};for(let[s,i]of n.votes)o[s]={vote:i.vote,roundRecorded:i.roundRecorded,...i.reason!==void 0?{reason:i.reason}:{}};r.push({proposalId:n.id,title:n.title,severity:n.severity,...n.location!==void 0?{location:n.location}:{},proposers:n.proposerIds,status:DN(n.status),votes:o,...n.supersededBy!==void 0?{supersededBy:n.supersededBy}:{}})}return r}renderTerminal(e,r){if(e?.consensusLedger)return[`Topic: ${e.consensusLedger.topic}`,`Status: ${r.status}`,`Readable status: ${r.status.replace(/-/g," ")}`,"",Nx({...e.consensusLedger,documents:{...e.consensusLedger.documents,...r.documentPaths.synthesis!==void 0?{synthesis:r.documentPaths.synthesis}:{}}})].join(`
|
|
321
|
-
`);let n=e?this.buildReportData(e,r):
|
|
314
|
+
`,r+4);return n<0?"":t.slice(n+1)}function h2(t,e){return f2.has(t)?e==="claude-code"?{transport:"task-subagent",agentName:Gg[t]}:{transport:"cli-bridge",providerId:Jg,agentName:Gg[t]}:t===Kg?e==="claude-code"?{transport:"read-only-chat",providerId:Kg}:{transport:"cli-bridge",providerId:Jg}:{transport:"read-only-chat",providerId:t}}function rT(t){if(!(!t||t.length===0))return t.map(e=>({path:e}))}var nT=18e4;function Hg(t,e){return Promise.race([t,new Promise((r,n)=>setTimeout(()=>n(new Error(`Participant "${e}" stalled (no response after ${nT/1e3}s)`)),nT))])}function oT(t,e,r,n,o){if(e.system!==void 0)return e.system;let s=Gg[t];if(s===void 0)return;if(o.has(s))return o.get(s)??void 0;let i=sT(r,`${s}.md`);try{let a=m2(n(i)).trim(),c=a.length>0?a:null;return o.set(s,c),c??void 0}catch{o.set(s,null);return}}var Yg=class{registry;readOnlyAdapter;hostKind;agentsDir;readFile;subagentSpawner;sysPromptCache=new Map;constructor(e){this.registry=e.registry,this.readOnlyAdapter=e.readOnlyAdapter,this.hostKind=e.hostKind,this.agentsDir=e.agentsDir??sT(process.cwd(),"agents"),this.readFile=e.agentsFileReader??(r=>p2(r,"utf-8")),this.subagentSpawner=e.subagentSpawner}describe(e){return this.resolveDescriptor(e)}async requestTurn(e,r){let n=this.resolveDescriptor(e),o=performance.now();try{switch(n.transport){case"task-subagent":{if(!this.subagentSpawner)return this.buildFailure(e,o,"subagent spawner not wired (integration pending \u2014 T10/T12)");let s=await Hg(this.subagentSpawner({agentName:n.agentName??e,prompt:r.prompt,system:r.system}),e);return this.buildSuccess(e,o,s.text)}case"cli-bridge":{let s=n.providerId??Jg,i=this.lookupProviderOrNull(s);if(!i)return this.buildFailure(e,o,`CLI provider "${s}" not registered`);let a=oT(e,r,this.agentsDir,this.readFile,this.sysPromptCache),c=await Hg(this.readOnlyAdapter.chat(i,{prompt:r.prompt,system:a,...r.files!==void 0?{files:rT(r.files)}:{}}),e);return this.buildSuccess(e,o,c.text)}case"read-only-chat":{let s=n.providerId??e,i=this.lookupProviderOrNull(s);if(!i)return this.buildFailure(e,o,`provider "${s}" not registered`);let a=n.agentName!==void 0?oT(e,r,this.agentsDir,this.readFile,this.sysPromptCache):r.system,c=await Hg(this.readOnlyAdapter.chat(i,{prompt:r.prompt,system:a,...r.files!==void 0?{files:rT(r.files)}:{}}),e);return this.buildSuccess(e,o,c.text)}default:{let s=n.transport;return this.buildFailure(e,o,`unknown transport: ${String(s)}`)}}}catch(s){return this.buildFailure(e,o,N(s))}}lookupProviderOrNull(e){try{return this.registry.get(e)}catch{return null}}resolveDescriptor(e){let r=h2(e,this.hostKind);return r.transport==="task-subagent"&&!this.subagentSpawner&&this.hostKind==="claude-code"?{transport:"read-only-chat",providerId:Kg,agentName:r.agentName}:r}buildSuccess(e,r,n){return{participantId:e,text:n,latencyMs:Math.round(performance.now()-r),failed:!1}}buildFailure(e,r,n){return{participantId:e,text:"",latencyMs:Math.round(performance.now()-r),failed:!0,failureReason:n}}};function iT(t){return new Yg(t)}function aT(t,e){return e(t)}var g2=/[.,!?;:]/g,y2=/\s+/g;function cT(t){return t.toLowerCase().replace(g2," ").replace(y2," ").trim()}function uT(t){return typeof t.location=="string"&&t.location.length>0}function lT(t,e){if(e.length===0)return t;let r=new Set(t),n=t.slice();for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}function v2(t){let e={id:t.id,proposerIds:t.proposerIds.slice(),title:t.title,severity:t.severity,roundOpened:t.roundOpened,status:t.status,votes:new Map};t.location!==void 0&&(e.location=t.location),t.description!==void 0&&(e.description=t.description),t.supersededBy!==void 0&&(e.supersededBy=t.supersededBy),t.mergedInto!==void 0&&(e.mergedInto=t.mergedInto);for(let[r,n]of t.votes)e.votes.set(r,{...n});return e}function _2(t,e){let r=t.proposerIds[0],n=e.proposerIds[0];if(r===n)return{kind:"unrelated"};let o=cT(t.title)===cT(e.title),s=t.severity===e.severity,a=uT(t)&&uT(e)&&t.location===e.location,c=[];if(o&&c.push("title"),s&&c.push("severity"),a&&c.push("location"),c.length===0)return{kind:"unrelated"};if(o&&s&&a)return{kind:"hard-merge"};let l;return o?s?l="location":l="severity":l="title",{kind:"alias",pair:{proposalA:t.id,proposalB:e.id,matchedFields:c,missingField:l}}}var Sn=class t{_proposals=new Map;_aliasCandidates=[];get proposals(){return this._proposals}get aliasCandidates(){return this._aliasCandidates.slice()}addProposal(e){if(this._proposals.has(e.id))throw new Error(`ProposalLedger.addProposal: duplicate id "${e.id}"`);let r={id:e.id,proposerIds:e.proposerIds.slice(),title:e.title,severity:e.severity,roundOpened:e.roundOpened,status:e.status??"open",votes:new Map};e.location!==void 0&&(r.location=e.location),e.description!==void 0&&(r.description=e.description),this._proposals.set(r.id,r)}recordVote(e,r,n){let o=this._proposals.get(e);if(!o)throw new Error(`ProposalLedger.recordVote: unknown proposal id "${e}"`);o.votes.set(r,{...n}),o.proposerIds.includes(r)&&n.vote==="revise"&&o.status==="open"&&(o.status="withdrawn-by-author")}countRevisesThisRound(e,r){let n=this._proposals.get(e);if(!n)return 0;let o=0;for(let[s,i]of n.votes)i.vote==="revise"&&i.roundRecorded===r&&(n.proposerIds.includes(s)||(o+=1));return o}markSuperseded(e,r,n){let o=this._proposals.get(e);if(!o)throw new Error(`ProposalLedger.markSuperseded: unknown old id "${e}"`);if(!this._proposals.has(r))throw new Error(`ProposalLedger.markSuperseded: successor id "${r}" not registered`);o.status="superseded",o.supersededBy=r;for(let s of o.votes.values())s.supersededAt===void 0&&(s.supersededAt=n)}applyAliasMerge(e,r){if(e===r)throw new Error(`ProposalLedger.applyAliasMerge: cannot merge id "${e}" into itself`);let n=this._proposals.get(e),o=this._proposals.get(r);if(!n)throw new Error(`ProposalLedger.applyAliasMerge: unknown primary id "${e}"`);if(!o)throw new Error(`ProposalLedger.applyAliasMerge: unknown alias id "${r}"`);n.proposerIds=lT(n.proposerIds,o.proposerIds);for(let[s,i]of o.votes){let a=n.votes.get(s);if(!a){n.votes.set(s,{...i});continue}i.roundRecorded>a.roundRecorded&&n.votes.set(s,{...i})}o.status="merged",o.mergedInto=e;for(let s=this._aliasCandidates.length-1;s>=0;s-=1){let i=this._aliasCandidates[s];(i.proposalA===r||i.proposalB===r||i.proposalA===e||i.proposalB===e)&&this._aliasCandidates.splice(s,1)}}setStatus(e,r){let n=this._proposals.get(e);if(!n)throw new Error(`ProposalLedger.setStatus: unknown proposal id "${e}"`);n.status=r}aggregateRound(e,r,n=[]){let o=new Set(n),s=[];for(let i of this._proposals.values()){if(i.status!=="open")continue;let a={agree:0,disagree:0,abstain:0,revise:0,missing:0};for(let u of r){if(i.proposerIds.includes(u))continue;let l=i.votes.get(u);if(l===void 0||l.roundRecorded!==e){o.has(u)?a.abstain+=1:a.missing+=1;continue}switch(l.vote){case"agree":a.agree+=1;break;case"disagree":a.disagree+=1;break;case"abstain":a.abstain+=1;break;case"revise":a.revise+=1;break;default:{let d=l.vote}}}let c=b2(a);s.push({proposalId:i.id,tally:a,verdict:c})}return s}getOpenProposals(){return this.selectByStatus("open")}getConsensusProposals(){return this.selectByStatus("consensus")}getUnresolved(){return this.selectByStatus("unresolved")}selectByStatus(e){let r=[];for(let n of this._proposals.values())n.status===e&&r.push(v2(n));return r}toJSON(){let e=Array.from(this._proposals.values()).map(n=>{let o=[];for(let[i,a]of n.votes){let c={voter:i,vote:a.vote,roundRecorded:a.roundRecorded};a.reason!==void 0&&(c.reason=a.reason),a.supersededAt!==void 0&&(c.supersededAt=a.supersededAt),o.push(c)}let s={id:n.id,proposerIds:n.proposerIds.slice(),title:n.title,severity:n.severity,roundOpened:n.roundOpened,status:n.status,votes:o};return n.location!==void 0&&(s.location=n.location),n.description!==void 0&&(s.description=n.description),n.supersededBy!==void 0&&(s.supersededBy=n.supersededBy),n.mergedInto!==void 0&&(s.mergedInto=n.mergedInto),s}),r=this._aliasCandidates.map(n=>({proposalA:n.proposalA,proposalB:n.proposalB,matchedFields:n.matchedFields.slice(),missingField:n.missingField}));return{proposals:e,aliasCandidates:r}}static fromJSON(e){let r=new t,n=new Set;for(let o of e.proposals){if(n.has(o.id))throw new Error(`ProposalLedger.fromJSON: duplicate proposal id "${o.id}"`);n.add(o.id);let s={id:o.id,proposerIds:o.proposerIds.slice(),title:o.title,severity:o.severity,roundOpened:o.roundOpened,status:o.status,votes:new Map};o.location!==void 0&&(s.location=o.location),o.description!==void 0&&(s.description=o.description),o.supersededBy!==void 0&&(s.supersededBy=o.supersededBy),o.mergedInto!==void 0&&(s.mergedInto=o.mergedInto);for(let i of o.votes){let a={vote:i.vote,roundRecorded:i.roundRecorded};i.reason!==void 0&&(a.reason=i.reason),i.supersededAt!==void 0&&(a.supersededAt=i.supersededAt),s.votes.set(i.voter,a)}r._proposals.set(s.id,s)}for(let o of e.aliasCandidates)r._aliasCandidates.push({proposalA:o.proposalA,proposalB:o.proposalB,matchedFields:o.matchedFields.slice(),missingField:o.missingField});return r}_rawProposal(e){return this._proposals.get(e)}_pushAliasCandidate(e){this._aliasCandidates.push(e)}_extendProposers(e,r){let n=this._proposals.get(e);n&&(n.proposerIds=lT(n.proposerIds,r))}_maybeReplaceDescription(e,r){let n=this._proposals.get(e);if(!n||r===void 0)return;let o=n.description??"";r.length>o.length&&(n.description=r)}};function b2(t){return t.disagree>0||t.revise>0?"dissent":t.missing>0?"pending":t.agree>0?"consensus":"pending"}function dT(t){let e=new Sn,r=new Set;for(let s of t){if(r.has(s.id))throw new Error(`buildInitialLedger: duplicate proposal id "${s.id}"`);r.add(s.id),e.addProposal({id:s.id,proposerIds:[s.proposerId],title:s.title,severity:s.severity,...s.location!==void 0?{location:s.location}:{},...s.description!==void 0?{description:s.description}:{},roundOpened:s.roundOpened??1,status:"open"})}let n=new Set,o=t.map(s=>s.id);for(let s=0;s<o.length;s+=1){let i=o[s];if(n.has(i))continue;let a=e._rawProposal(i);if(a)for(let c=s+1;c<o.length;c+=1){let u=o[c];if(n.has(u))continue;let l=e._rawProposal(u);if(!l)continue;let d=_2(a,l);if(d.kind==="hard-merge"){e._extendProposers(i,l.proposerIds),e._maybeReplaceDescription(i,l.description),e._proposals.delete(u),n.add(u);continue}d.kind==="alias"&&e._pushAliasCandidate(d.pair)}}return{ledger:e,aliasCandidates:e.aliasCandidates}}var w2=/<proposals>([\s\S]*?)<\/proposals>/i,$2=/<item\b([^>]*)>([\s\S]*?)<\/item>/g,S2=/([A-Za-z_][A-Za-z0-9_-]*)\s*=\s*"([^"]*)"/g;function pT(t){let e=w2.exec(t);if(!e)return[];let r=e[1],n=[],o,s=new RegExp($2.source,"g");for(;(o=s.exec(r))!==null;){let i=o[1],a=o[2].trim(),c={},u=new RegExp(S2.source,"g"),l;for(;(l=u.exec(i))!==null;)c[l[1]]=l[2];let d=c.id,p=c.title,f=c.severity;if(!d||!p||!f)continue;let m={id:d,title:p,severity:f,...c.location?{location:c.location}:{},...a.length>0?{description:a}:{}};n.push(m)}return n}function fT(){return["You are a participant in the individual-review phase of a structured multi-AI debate.","Produce a concise review of the stated topic and propose concrete findings.","Findings must be emitted inside a `<proposals>` XML block using the exact shape:","<proposals>",' <item id="P1" title="Short title" severity="CRITICAL|HIGH|MEDIUM|LOW" location="file:line or component">'," Multi-line description / evidence."," </item>","</proposals>","Rules:","- Do NOT emit `<votes>` in this phase.","- Use stable, unique `id` attributes (e.g. P1, P2).","- Severity labels are free-form but stick to the four levels above.","- Description text is AI-native; the moderator preserves it verbatim."].join(`
|
|
315
|
+
`)}function mT(t){let e=[];if(e.push(`Topic: ${t.topic}`),t.goal&&e.push(`Goal: ${t.goal}`),e.push(`Scope: ${t.scope}`),t.files.length>0){e.push("Files examined:");for(let r of t.files)e.push(` - ${r}`)}return t.individualReviewPrompt&&(e.push(""),e.push(t.individualReviewPrompt)),e.push(""),e.push("Return your review followed by the required `<proposals>` block."),e.join(`
|
|
316
|
+
`)}function hT(t,e=new Map){let r=yT(t,e);return["You are a participant in a structured consensus round.","Read the JSON packet and respond with JSON only.","Do not include Markdown fences in your response.","You must answer every assigned item exactly once.",...r.length>0?["","Legacy compatibility IDs:",...r]:[],"","```json",JSON.stringify(t,null,2),"```"].join(`
|
|
317
|
+
`)}function gT(t,e,r=new Map){let n=yT(t,r);return["Your previous response did not satisfy the JSON consensus contract.","Reply with JSON only. Do not include Markdown fences or prose.","You must answer every assigned item exactly once.",...n.length>0?["","Legacy compatibility IDs:",...n]:[],"","Validation errors:",...e.map(o=>`- ${o}`),"","```json",JSON.stringify(t,null,2),"```"].join(`
|
|
318
|
+
`)}function yT(t,e){let r=[];for(let[n,o]of e){let s=t.assignedItems.find(i=>i.id===o);s&&r.push(`- ${n} (${s.id}): ${s.title}`)}return r}var x2=new Set(Hy);function k2(t){return x2.has(t)}var P2=new Set(["disagree","revise"]);function E2(t){let e=`<${xo}>`,r=`</${xo}>`,n=t.lastIndexOf(r);if(n<0)return null;let o=t.lastIndexOf(e,n);return o<0?null:{inner:t.slice(o+e.length,n)}}function T2(t){let e=`<${xo}>`;return t.includes(e)}var R2=Object.freeze({lt:"<",gt:">",amp:"&",quot:'"',apos:"'"});function I2(t){return t.replace(/&(#x[0-9a-fA-F]+|#[0-9]+|[a-zA-Z]+);/g,(e,r)=>{if(r.startsWith("#x")||r.startsWith("#X")){let o=parseInt(r.slice(2),16);return Number.isFinite(o)?String.fromCodePoint(o):e}if(r.startsWith("#")){let o=parseInt(r.slice(1),10);return Number.isFinite(o)?String.fromCodePoint(o):e}return R2[r]??e})}function A2(t){let e={},r=/([A-Za-z_][A-Za-z0-9_-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/g,n=0,o;for(;(o=r.exec(t))!==null;){if(t.slice(n,o.index).trim().length>0)return null;let i=o[1],a=o[2],c=o[3],u=a!==void 0?a:c??"";if(Object.prototype.hasOwnProperty.call(e,i))return null;e[i]=I2(u),n=o.index+o[0].length}return t.slice(n).trim().length>0?null:e}function _T(t,e){let r=E2(t);if(!r)return T2(t)?{ok:!1,error:{kind:"malformed-xml",details:`opening <${xo}> without matching </${xo}>`}}:{ok:!1,error:{kind:"missing-block"}};let n=new Set(e),o=/<item\b([^>]*?)\/>/g,s=[],i;for(;(i=o.exec(r.inner))!==null;)s.push({raw:i[0],attrString:i[1],index:i.index,length:i[0].length});let a=0;for(let p of s){let f=r.inner.slice(a,p.index);if(!vT(f))return{ok:!1,error:{kind:"malformed-xml",details:`unexpected content between <item> elements: ${JSON.stringify(f.slice(0,40))}`}};a=p.index+p.length}let c=r.inner.slice(a);if(!vT(c))return{ok:!1,error:{kind:"malformed-xml",details:`unexpected trailing content: ${JSON.stringify(c.slice(0,40))}`}};let u=[],l=[],d=new Set;for(let p of s){let f=A2(p.attrString);if(f===null){l.push({reason:"malformed-entry",raw:p.raw});continue}let m=f.id,h=f.vote;if(typeof m!="string"||m.length===0||typeof h!="string"){l.push({proposalId:typeof m=="string"&&m.length>0?m:void 0,reason:"malformed-entry",raw:p.raw});continue}if(!k2(h)){l.push({proposalId:m,reason:"unknown-vote",raw:p.raw});continue}if(!n.has(m)){l.push({proposalId:m,reason:"unknown-id",raw:p.raw});continue}if(d.has(m)){l.push({proposalId:m,reason:"duplicate-id",raw:p.raw});continue}let y=f.reason,v=typeof y=="string"&&y.length>0?y:void 0;if(P2.has(h)&&v===void 0){d.add(m),l.push({proposalId:m,reason:"missing-reason",raw:p.raw});continue}d.add(m);let b={proposalId:m,vote:h};v!==void 0&&(b.reason=v),u.push(b)}return{ok:!0,entries:u,entryErrors:l}}function vT(t){return t.trim().length===0?!0:t.replace(/<!--[\s\S]*?-->/g,"").trim().length===0}function Qg(t,e,r){let n=e.assignedItems.map(u=>u.id),o=Array.from(r.entries()).filter(([,u])=>n.includes(u)).map(([u])=>u),s=_T(t,[...n,...o]);if(!s.ok)return{ok:!1,errors:[`legacy <votes>: ${s.error.kind}`]};let i=s.entryErrors.map(u=>`legacy <votes>: ${u.proposalId?`${u.proposalId}: `:""}${u.reason}`),a=new Set,c=s.entries.map(u=>{let l=r.get(u.proposalId)??u.proposalId;a.add(l);let d=e.assignedItems.find(f=>f.id===l),p=u.reason??"";switch(u.vote){case"agree":return{id:l,stance:"agree",comment:p};case"disagree":return{id:l,stance:"disagree",comment:p||"Legacy disagree vote."};case"abstain":return{id:l,stance:"opinion",comment:p||"Legacy abstain vote."};case"revise":{let f=p||"Legacy revise vote.";return{id:l,stance:"revise",comment:f,proposedItem:{title:`${d?.title??u.proposalId} (revised)`,plainSummary:f,originalClaim:f}}}}});for(let u of n)a.has(u)||i.push(`legacy <votes>: missing assigned item id: ${u}`);return i.length>0?{ok:!1,errors:i}:{ok:!0,items:c}}function bT(t){let e=new Map;for(let r of t.items)for(let n of r.sourceRefs)/^P\d+$/i.test(n)&&e.set(n,r.id);return e}function wT(t,e){let n=[`## ${e.t("moderator.narration.aliasClarification")}`];if(t.mergesApplied.length>0){n.push(""),n.push("Applied merges:");for(let o of t.mergesApplied)n.push(`- ${o.alias} \u2192 ${o.primary} (same=${o.voteBreakdown.same}, different=${o.voteBreakdown.different}, unsure=${o.voteBreakdown.unsure}, missing=${o.voteBreakdown.missing})`)}if(t.undecided.length>0){n.push(""),n.push("Undecided pairs (kept separate):");for(let o of t.undecided)n.push(`- ${o.pair.proposalA} \u2194 ${o.pair.proposalB} (${o.reason})`)}return n.join(`
|
|
319
|
+
`)}function td(t){let e=t.now?t.now():new Date().toISOString();return{schemaVersion:1,sessionId:t.sessionId,topic:t.topic,mode:t.mode,participants:t.participants.slice(),activeParticipants:t.participants.slice(),leader:t.leader,round:0,maxRounds:t.maxRounds,documents:t.documents,items:t.items.map((r,n)=>{let o=`ITEM-${String(n+1).padStart(2,"0")}`;return C2(o,r,t.participants)}),turns:[],moderatorNotes:[],createdAt:e,updatedAt:e}}function C2(t,e,r){return{id:t,title:e.title,proposer:e.proposer,status:"unresolved",displayStatus:"\uBBF8\uD569\uC758",currentStances:r.map(n=>({provider:n,stance:n===e.proposer?"agree":"not_assigned",round:0,...n===e.proposer?{automatic:!0}:{}})),plainSummary:e.plainSummary,originalClaim:e.originalClaim,comments:[],sourceRefs:e.sourceRefs.slice()}}function xT(t,e){let r=t.items.filter(n=>n.status==="unresolved"||n.status==="needs_opinion").slice(0,e.maxItems);return{sessionId:t.sessionId,round:e.round,provider:e.provider,topic:t.topic,itemIndex:t.items.map(n=>({id:n.id,title:n.title,status:n.status,displayStatus:n.displayStatus,proposer:n.proposer,stanceSummary:n.currentStances.map(o=>`${o.provider} ${o.stance}${o.automatic?"(auto)":""}`).join(", "),blockedReason:ST(n)})),assignedItems:r.map(n=>({id:n.id,title:n.title,plainSummary:n.plainSummary,originalClaim:n.originalClaim,currentSummary:ST(n),recentComments:n.comments.slice(-4)})),responseContract:{allowedStances:["agree","disagree","opinion","revise"],mustAnswerEveryAssignedItem:!0,jsonOnly:!0}}}function rd(t,e){let r=e.now?e.now():new Date().toISOString(),n=D2(t);n.round=Math.max(n.round,e.round),n.updatedAt=r;let o=[],s=e.validationErrors!==void 0?e.validationErrors:[];if(s.length>0){for(let i of e.assignedItemIds)$T(n,i,e.provider,"no_response",e.round);n.moderatorNotes.push({id:`NOTE-${n.moderatorNotes.length+1}`,kind:"missing_stance",round:e.round,provider:e.provider,message:s.join("; "),createdAt:r})}else for(let i of e.parsedItems){o.push(i.id);let a=`C-${n.turns.length+1}-${o.length}`,c={id:a,itemId:i.id,provider:e.provider,round:e.round,stance:i.stance,comment:i.comment,createdAt:r,rawResponse:e.rawResponse},u=kT(n,i.id);if(u.comments.push(c),$T(n,i.id,e.provider,i.stance,e.round,a),i.stance==="revise"&&i.proposedItem){let l=O2(n,i.id);c.proposedItemId=l,u.status="superseded",u.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9",u.conclusion=`\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9. ${l} \uD56D\uBAA9\uC5D0\uC11C \uC218\uC815 \uC81C\uC548\uC744 \uAC80\uD1A0\uD55C\uB2E4.`,n.items.push({id:l,parentId:i.id,title:i.proposedItem.title,proposer:e.provider,status:"unresolved",displayStatus:"\uBBF8\uD569\uC758",currentStances:n.activeParticipants.map(d=>({provider:d,stance:d===e.provider?"agree":"not_assigned",round:e.round,...d===e.provider?{automatic:!0}:{}})),plainSummary:i.proposedItem.plainSummary,originalClaim:i.proposedItem.originalClaim,comments:[],sourceRefs:[i.id]})}}for(let i of n.items)z2(i,n.activeParticipants);return n.turns.push({id:`TURN-${n.turns.length+1}`,round:e.round,provider:e.provider,assignedItemIds:e.assignedItemIds.slice(),responseItemIds:o,accepted:s.length===0,createdAt:r,rawResponse:e.rawResponse,validationErrors:s.slice()}),n}function D2(t){return JSON.parse(JSON.stringify(t))}function kT(t,e){let r=t.items.find(n=>n.id===e);if(!r)throw new Error(`Unknown consensus item: ${e}`);return r}function $T(t,e,r,n,o,s){let i=kT(t,e),a=i.currentStances.find(u=>u.provider===r),c={provider:r,stance:n,round:o,...s?{commentId:s}:{}};if(a){a.stance=n,a.round=o,delete a.automatic,s?a.commentId=s:delete a.commentId;return}i.currentStances.push(c)}function O2(t,e){let r=new Set(t.items.map(n=>n.id));for(let n=65;n<=90;n+=1){let o=`${e}-${String.fromCharCode(n)}`;if(!r.has(o))return o}throw new Error(`Too many child items for ${e}`)}function z2(t,e){if(t.status==="superseded"){t.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9";return}let r=e.map(n=>{let o=t.currentStances.find(s=>s.provider===n);return o?o.stance:"not_assigned"});if(r.every(n=>n==="agree")){t.status="accepted",t.displayStatus="\uD569\uC758\uB428",t.conclusion="\uD569\uC758\uB428. \uC804\uC6D0 \uB3D9\uC758\uB85C \uC774 \uD56D\uBAA9\uC744 \uD3EC\uD568\uD558\uAE30\uB85C \uD588\uB2E4.";return}if(r.every(n=>n==="disagree")){t.status="excluded",t.displayStatus="\uC81C\uC678 \uD569\uC758",t.conclusion="\uC81C\uC678 \uD569\uC758. \uC804\uC6D0 \uBC18\uB300\uB85C \uC774 \uD56D\uBAA9\uC744 \uD3EC\uD568\uD558\uC9C0 \uC54A\uAE30\uB85C \uD588\uB2E4.";return}if(r.some(n=>n==="opinion"||n==="no_response")){t.status="needs_opinion",t.displayStatus="\uC758\uACAC \uD544\uC694",delete t.conclusion;return}t.status="unresolved",t.displayStatus="\uBBF8\uD569\uC758",delete t.conclusion}function ST(t){if(t.conclusion)return`\uACB0\uB860: ${t.conclusion}`;let e=t.currentStances.filter(r=>r.stance!=="agree"&&r.stance!=="not_assigned");return e.length===0?"\uC544\uC9C1 \uBAA8\uB4E0 \uCC38\uAC00\uC790\uC758 \uBA85\uC2DC \uB3D9\uC758\uAC00 \uBAA8\uC774\uC9C0 \uC54A\uC558\uB2E4.":e.map(r=>`${r.provider} ${r.stance}`).join(", ")}var bo={agree:"\uB3D9\uC758",disagree:"\uBC18\uB300",opinion:"\uC758\uACAC",revise:"\uC218\uC815 \uC81C\uC548",no_response:"\uC751\uB2F5 \uC5C6\uC74C",not_assigned:"\uC774\uBC88 \uD134 \uC81C\uC678"};function nd(t){let e=[];e.push(`# \uD1A0\uB860 \uCDE8\uD569 \uBB38\uC11C: ${t.topic}`),e.push(""),e.push(`**Session:** ${t.sessionId}`),e.push(`**\uC0C1\uD0DC \uC6D0\uBCF8 JSON:** ${t.documents.ledger}`),e.push(`**\uCC38\uC5EC AI:** ${t.participants.join(", ")}`),e.push(`**\uD604\uC7AC \uB77C\uC6B4\uB4DC:** ${t.round}/${t.maxRounds}`),e.push(""),e.push("## \uD56D\uBAA9 \uD604\uD669\uD310"),e.push(""),e.push("| ID | \uD56D\uBAA9 | \uC0C1\uD0DC | \uC81C\uC2DC\uC790 | \uB3D9\uC758 \uD604\uD669 | \uD604\uC7AC \uACB0\uB860/\uB9C9\uD78C \uC774\uC720 |"),e.push("|---|---|---|---|---|---|");for(let r of t.items)e.push(`| ${r.id} | ${r.title} | ${r.displayStatus} | ${r.proposer} | ${RT(r)} | ${Ls(r)} |`);for(let r of t.items)e.push(""),e.push(...N2(r));if(t.moderatorNotes.length>0){e.push(""),e.push("## Moderator Notes");for(let r of t.moderatorNotes)e.push(""),e.push(`- ${r.kind}: ${r.message}`)}return e.join(`
|
|
320
|
+
`)}function N2(t){let e=[];e.push(`## ${t.id}: ${t.title}`),e.push(""),e.push(`**\uC81C\uC2DC\uC790:** ${t.proposer}`),e.push(`**\uD604\uC7AC \uC0C1\uD0DC:** ${t.displayStatus}`),e.push(`**\uD604\uC7AC \uB3D9\uC758 \uD604\uD669:** ${RT(t)}`),e.push(""),e.push("**\uBB34\uC5C7\uC744 \uC704\uD55C \uD56D\uBAA9\uC778\uAC00.**"),e.push(t.plainSummary),e.push(""),e.push("**\uC6D0 \uC8FC\uC7A5.**"),e.push(t.originalClaim),e.push(""),e.push("### \uD604\uC7AC \uC815\uB9AC"),e.push(Ls(t));let r=Array.from(new Set(t.comments.map(n=>n.round))).sort((n,o)=>n-o);for(let n of r){e.push(""),e.push(`### Round ${n}`);for(let o of t.comments.filter(s=>s.round===n))e.push(""),e.push(`#### ${o.provider} \uC758\uACAC`),e.push(""),e.push(`\uC785\uC7A5: ${bo[o.stance]}`),e.push(""),e.push(`\uB0B4\uC6A9: ${o.comment}`),o.proposedItemId&&(e.push(""),e.push(`\uC0C8 \uD56D\uBAA9 \uC81C\uC548: ${o.proposedItemId}`))}return t.conclusion&&(e.push(""),e.push("### \uACB0\uB860"),e.push(""),e.push(t.conclusion)),e}function ET(t){let e=t.items.filter(s=>s.status==="accepted"),r=t.items.filter(s=>s.status==="excluded"),n=t.items.filter(s=>s.status==="unresolved"||s.status==="needs_opinion"),o=[];o.push("## \uD55C\uB208\uC5D0 \uBCF4\uAE30"),o.push(""),o.push(`- \uC8FC\uC81C: ${t.topic}`),o.push(`- \uCC38\uC5EC AI: ${t.participants.join(", ")}`),o.push(`- \uD569\uC758\uAE4C\uC9C0 \uB3C4\uB2EC\uD55C \uB77C\uC6B4\uB4DC: ${t.round}/${t.maxRounds}`),o.push(`- \uD569\uC758\uB41C \uD56D\uBAA9: ${e.length}`),o.push(`- \uC81C\uC678 \uD569\uC758 \uD56D\uBAA9: ${r.length}`),o.push(`- \uBBF8\uD569\uC758 / \uC758\uACAC \uD544\uC694 \uD56D\uBAA9: ${n.length}`),o.push(`- JSON \uC7A5\uBD80: ${t.documents.ledger}`),o.push(`- \uCDE8\uD569\uBB38\uC11C: ${t.documents.debate}`),o.push(""),o.push("## \uCD5C\uC885 \uACB0\uB860\uD45C"),o.push(""),o.push("| ID | \uD56D\uBAA9 | \uCD5C\uC885 \uC0C1\uD0DC | \uACB0\uB860 | \uC81C\uC2DC\uC790 | \uB3D9\uC758\uD55C AI | \uBC18\uB300\uD55C AI | \uC758\uACAC/\uC218\uC815 \uC81C\uC548 |"),o.push("|---|---|---|---|---|---|---|---|");for(let s of t.items)o.push(IT(s));o.push(""),o.push("## \uD569\uC758\uB41C \uD56D\uBAA9"),Xg(o,e,t),o.push(""),o.push("## \uC81C\uC678 \uD569\uC758 \uD56D\uBAA9"),Xg(o,r,t),o.push(""),o.push("## \uBBF8\uD569\uC758 / \uC758\uACAC \uD544\uC694 \uD56D\uBAA9"),Xg(o,n,t),o.push(""),o.push("## \uD504\uB85C\uBC14\uC774\uB354\uBCC4 \uC131\uACFC"),o.push(""),o.push("| Provider | \uC81C\uC548 \uC218 | \uD569\uC758\uB41C \uC81C\uC548 | \uC81C\uC678 \uD569\uC758\uC5D0 \uAE30\uC5EC | \uBC18\uB300/\uC758\uACAC\uC73C\uB85C \uAE30\uC5EC\uD55C \uD56D\uBAA9 | \uD2B9\uC9D5 |"),o.push("|---|---|---|---|---|---|");for(let s of t.participants)o.push(U2(t,s));o.push(""),o.push("## \uCC38\uC870 \uBB38\uC11C"),o.push(""),o.push(`- JSON \uC7A5\uBD80: ${t.documents.ledger}`),o.push(`- \uCDE8\uD569\uBB38\uC11C: ${t.documents.debate}`),t.documents.synthesis&&o.push(`- \uACB0\uB860\uBB38\uC11C: ${t.documents.synthesis}`);for(let[s,i]of Object.entries(t.documents.individual))o.push(`- ${s} \uAC1C\uBCC4 \uBB38\uC11C: ${i}`);return o.join(`
|
|
321
|
+
`)}function TT(t){let e=[];e.push("## \uCD5C\uC885 \uACB0\uB860\uD45C"),e.push(""),e.push("| ID | \uD56D\uBAA9 | \uC0C1\uD0DC | \uACB0\uB860/\uB9C9\uD78C \uC774\uC720 | \uC81C\uC2DC\uC790 | \uB3D9\uC758\uD55C AI | \uBC18\uB300\uD55C AI | \uC758\uACAC/\uC218\uC815 \uC81C\uC548 |"),e.push("|---|---|---|---|---|---|---|---|");for(let n of t.items)e.push(IT(n));let r=t.items.filter(n=>n.status==="unresolved"||n.status==="needs_opinion");if(r.length>0){e.push(""),e.push("## \uBBF8\uD569\uC758 \uD56D\uBAA9 \uC124\uBA85");for(let n of r)e.push(""),e.push(`### ${n.id}: ${n.title}`),e.push(n.plainSummary),e.push(Ls(n))}return e.push(""),e.push("## \uBB38\uC11C \uACBD\uB85C"),e.push(`- JSON \uC7A5\uBD80: ${t.documents.ledger}`),e.push(`- \uCDE8\uD569\uBB38\uC11C: ${t.documents.debate}`),e.push(`- \uACB0\uB860\uBB38\uC11C: ${t.documents.synthesis?t.documents.synthesis:"(\uC544\uC9C1 \uC0DD\uC131\uB418\uC9C0 \uC54A\uC74C)"}`),e.join(`
|
|
322
|
+
`)}function RT(t){return t.currentStances.map(e=>`${e.provider} ${bo[e.stance]}${e.automatic?"(\uC790\uB3D9)":""}`).join(", ")}function Ls(t){if(t.conclusion)return`\uACB0\uB860: ${t.conclusion}`;let e=t.currentStances.filter(r=>r.stance!=="agree"&&r.stance!=="not_assigned");return e.length===0?"\uC544\uC9C1 \uBAA8\uB4E0 \uCC38\uAC00\uC790\uC758 \uBA85\uC2DC \uB3D9\uC758\uAC00 \uBAA8\uC774\uC9C0 \uC54A\uC558\uB2E4.":`\uB9C9\uD78C \uC774\uC720: ${e.map(r=>`${r.provider} ${bo[r.stance]}`).join(", ")}`}function IT(t){let e=t.currentStances.filter(s=>s.stance==="agree").map(s=>s.provider).join(", ")||"-",r=t.currentStances.filter(s=>s.stance==="disagree").map(s=>s.provider).join(", ")||"-",n=t.currentStances.filter(s=>s.stance==="opinion"||s.stance==="revise").map(s=>`${s.provider} ${bo[s.stance]}`).join(", ")||"-",o=t.conclusion?t.conclusion:Ls(t);return`| ${t.id} | ${t.title} | ${t.displayStatus} | ${o} | ${t.proposer} | ${e} | ${r} | ${n} |`}function Xg(t,e,r){if(e.length===0){t.push(""),t.push("(\uC5C6\uC74C)");return}for(let n of e)if(t.push(""),t.push(`### ${n.id}: ${n.title}`),t.push(""),t.push(`\uBB34\uC5C7\uC744 \uC704\uD55C \uD56D\uBAA9: ${n.plainSummary}`),t.push(""),t.push(`\uCD5C\uC885 \uACB0\uC815: ${j2(n)}`),t.push(`\uB3D9\uC758\uD55C AI: ${PT(n,"agree")}`),t.push(`\uBC18\uB300\uD55C AI: ${PT(n,"disagree")}`),t.push(`\uD604\uC7AC \uC785\uC7A5: ${M2(n)}`),t.push(`\uBCC0\uACBD \uC5EC\uBD80: ${L2(n)}`),t.push(`\uD1A0\uB860/\uADFC\uAC70 \uC704\uCE58: ${q2(n,r)}`),(n.status==="unresolved"||n.status==="needs_opinion")&&(t.push(`\uB9C9\uD78C \uACB0\uC815: ${n.plainSummary}`),t.push("\uD574\uACB0\uD558\uB824\uBA74: \uBC18\uB300/\uC758\uACAC\uC744 \uB0B8 AI\uAC00 \uC694\uAD6C\uD55C \uADFC\uAC70\uB97C \uBCF4\uAC15\uD558\uAC70\uB098 \uC0AC\uC6A9\uC790\uAC00 \uCD5C\uC885 \uBC29\uD5A5\uC744 \uC120\uD0DD\uD574\uC57C \uD55C\uB2E4.")),t.push(`\uACB0\uC815 \uC774\uC720: ${F2(n)}`),n.comments.length>0){t.push(""),t.push("\uC8FC\uC694 \uC758\uACAC:");for(let o of n.comments.slice(-3))t.push(`- ${o.provider}: ${bo[o.stance]} - ${o.comment}`)}}function j2(t){return t.conclusion?t.conclusion:Ls(t)}function PT(t,e){let r=t.currentStances.filter(n=>n.stance===e).map(n=>`${n.provider}${n.automatic?"(\uC790\uB3D9)":""}`);return r.length>0?r.join(", "):"-"}function M2(t){return t.currentStances.map(e=>`${e.provider} ${bo[e.stance]}${e.automatic?"(\uC790\uB3D9)":""}`).join(", ")}function L2(t){if(t.parentId)return`${t.parentId}\uC5D0\uC11C \uB098\uC628 \uC218\uC815\uC548\uC774 \uD604\uC7AC \uD56D\uBAA9\uC774\uB2E4.`;let e=t.comments.map(r=>r.proposedItemId).filter(r=>r!==void 0);return e.length>0?`\uC218\uC815 \uC81C\uC548\uC774 ${Array.from(new Set(e)).join(", ")} \uD56D\uBAA9\uC73C\uB85C \uC774\uC5B4\uC84C\uB2E4.`:t.status==="accepted"?"\uC6D0\uC548 \uADF8\uB300\uB85C \uD569\uC758\uB428.":t.status==="excluded"?"\uC6D0\uC548\uC774 \uC81C\uC678 \uD569\uC758\uB85C \uB05D\uB0AC\uB2E4.":"\uC544\uC9C1 \uD655\uC815\uB41C \uBCC0\uACBD\uC548 \uC5C6\uC74C."}function q2(t,e){return Array.from(new Set([e.documents.debate,...t.sourceRefs])).join(", ")}function F2(t){return t.comments.length>0?t.comments.slice(-3).map(e=>`${e.provider}: ${bo[e.stance]} - ${e.comment}`).join(" / "):t.status==="accepted"?"\uD65C\uC131 \uCC38\uAC00\uC790\uC758 \uC785\uC7A5\uC774 \uBAA8\uB450 \uB3D9\uC758\uB85C \uBAA8\uC600\uB2E4.":t.status==="excluded"?"\uD65C\uC131 \uCC38\uAC00\uC790\uC758 \uC785\uC7A5\uC774 \uBAA8\uB450 \uBC18\uB300\uB85C \uBAA8\uC5EC \uC81C\uC678\uD558\uAE30\uB85C \uD588\uB2E4.":Ls(t)}function U2(t,e){let r=t.items.filter(a=>a.proposer===e).length,n=t.items.filter(a=>a.proposer===e&&a.status==="accepted").length,o=t.items.filter(a=>a.status==="excluded"&&a.currentStances.some(c=>c.provider===e&&c.stance==="disagree")).length,s=t.items.filter(a=>a.currentStances.some(c=>c.provider===e&&(c.stance==="disagree"||c.stance==="opinion"||c.stance==="revise"))).length,i=r>0?"\uC81C\uC548 \uAE30\uC5EC":"\uAC80\uD1A0 \uAE30\uC5EC";return`| ${e} | ${r} | ${n} | ${o} | ${s} | ${i} |`}var Z2=g.object({title:g.string().min(1),plainSummary:g.string().min(1),originalClaim:g.string().min(1)}),V2=g.object({id:g.string().min(1),stance:g.enum(["agree","disagree","opinion","revise"]),comment:g.string(),proposedItem:Z2.optional()}),B2=g.object({provider:g.string().min(1),round:g.number().int().nonnegative(),items:g.array(V2)});function ey(t,e){let r;try{r=JSON.parse(t)}catch{return{ok:!1,errors:["Response must be valid JSON."]}}let n=B2.safeParse(r);if(!n.success)return{ok:!1,errors:n.error.issues.map(c=>c.message)};let o=[],s=n.data;s.provider!==e.provider&&o.push(`provider mismatch: expected ${e.provider}, got ${s.provider}`),s.round!==e.round&&o.push(`round mismatch: expected ${e.round}, got ${s.round}`);let i=new Set(e.assignedItemIds),a=new Set;for(let c of s.items)i.has(c.id)||o.push(`unassigned item id: ${c.id}`),a.has(c.id)&&o.push(`duplicate item id: ${c.id}`),a.add(c.id),(c.stance==="disagree"||c.stance==="opinion"||c.stance==="revise")&&c.comment.trim().length===0&&o.push(`comment is required for ${c.stance} on ${c.id}`),c.stance==="revise"&&c.proposedItem===void 0&&o.push(`proposedItem is required for revise on ${c.id}`);for(let c of i)a.has(c)||o.push(`missing assigned item id: ${c}`);return o.length>0?{ok:!1,errors:o}:{ok:!0,value:s}}import{existsSync as W2,mkdirSync as H2,readFileSync as K2}from"fs";import{join as AT}from"path";var ur=class{debatesDir;constructor(e){this.debatesDir=AT(e,So)}pathForSession(e){return AT(this.debatesDir,`${e}.consensus.json`)}async write(e){H2(this.debatesDir,{recursive:!0});let r=this.pathForSession(e.sessionId),n={...e,documents:{...e.documents,ledger:r}};return Ve(r,n),r}async load(e){let r=this.pathForSession(e);return W2(r)?JSON.parse(K2(r,"utf-8")):null}};async function ty(t,e){for(;t.rounds<t.maxRounds;){if(t.consensusLedger.items.filter(s=>s.status==="unresolved"||s.status==="needs_opinion").length===0)return;t.rounds+=1;let n=t.rounds,o=new Set;for(let s of t.config.participants){if(t.unavailableParticipants.has(s))continue;let i=xT(t.consensusLedger,{provider:s,round:n,maxItems:10});if(i.assignedItems.length===0)continue;let a={prompt:hT(i,t.legacyProposalIdMap),round:n,...t.files.length>0?{files:t.files}:{}},c=await e.bridge.requestTurn(s,a);if(c.failed){CT(t,s,e.nowIso),t.consensusLedger=rd(t.consensusLedger,{provider:s,round:n,assignedItemIds:i.assignedItems.map(l=>l.id),rawResponse:"",parsedItems:[],validationErrors:[c.failureReason?c.failureReason:"provider failed"]}),await od(t,e);continue}o.add(s),Y2(t,s);let u=await J2(s,i,c.text,a,t.legacyProposalIdMap,e);u.ok?t.consensusLedger=rd(t.consensusLedger,{provider:s,round:n,assignedItemIds:i.assignedItems.map(l=>l.id),rawResponse:u.rawResponse,parsedItems:u.items}):(CT(t,s,e.nowIso),t.consensusLedger=rd(t.consensusLedger,{provider:s,round:n,assignedItemIds:i.assignedItems.map(l=>l.id),rawResponse:u.rawResponse,parsedItems:[],validationErrors:u.errors})),G2(t),await od(t,e)}if(o.size===0)return}}async function J2(t,e,r,n,o,s){let i=e.assignedItems.map(p=>p.id),a=ey(r,{provider:t,round:e.round,assignedItemIds:i});if(a.ok)return{ok:!0,rawResponse:r,items:a.value.items};let c=Qg(r,e,o);if(c.ok)return{ok:!0,rawResponse:r,items:c.items};let u=await s.bridge.requestTurn(t,{prompt:gT(e,[...a.errors,...c.errors],o),round:e.round,...n.files!==void 0?{files:n.files}:{}});if(u.failed)return{ok:!1,rawResponse:r,errors:[...a.errors,...c.errors,`retry failed: ${u.failureReason??"unknown"}`]};let l=ey(u.text,{provider:t,round:e.round,assignedItemIds:i});if(l.ok)return{ok:!0,rawResponse:u.text,items:l.value.items};let d=Qg(u.text,e,o);return d.ok?{ok:!0,rawResponse:u.text,items:d.items}:{ok:!1,rawResponse:u.text,errors:[...l.errors,...d.errors]}}async function od(t,e){let r=new ur(e.registry.getWorkspaceDir());t.consensusLedgerPath=await r.write(t.consensusLedger),t.consensusLedger={...t.consensusLedger,documents:{...t.consensusLedger.documents,individual:{...t.individualPaths},ledger:t.consensusLedgerPath,debate:t.debateDocPath}},await e.documentManager.replaceDocumentContent(t.debateDocId,nd(t.consensusLedger))}function G2(t){for(let e of t.consensusLedger.items){if(Array.from(t.legacyProposalIdMap.values()).includes(e.id))continue;let n=`P${t.legacyProposalIdMap.size+1}`;t.legacyProposalIdMap.set(n,e.id),e.sourceRefs.includes(n)||e.sourceRefs.unshift(n)}}function ry(t){for(let e of t.ledger.proposals.values()){if(e.status!=="merged"||!e.mergedInto)continue;let r=t.legacyProposalIdMap.get(e.id),n=t.legacyProposalIdMap.get(e.mergedInto);if(!r||!n)continue;let o=t.consensusLedger.items.find(s=>s.id===r);o&&(o.status="superseded",o.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9",o.conclusion=`\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9. ${n} \uD56D\uBAA9\uACFC \uAC19\uC740 \uB0B4\uC6A9\uC73C\uB85C \uBCD1\uD569\uD588\uB2E4.`,o.sourceRefs=Array.from(new Set([...o.sourceRefs,n])))}}function CT(t,e,r){let n=(t.consecutiveFailures.get(e)??0)+1;t.consecutiveFailures.set(e,n),n>=xd&&(t.unavailableParticipants.add(e),t.consensusLedger={...t.consensusLedger,activeParticipants:t.consensusLedger.activeParticipants.filter(o=>o!==e),moderatorNotes:[...t.consensusLedger.moderatorNotes,{id:`NOTE-${t.consensusLedger.moderatorNotes.length+1}`,kind:"provider_unavailable",round:t.rounds,provider:e,message:`${e} marked unavailable after repeated failed turns.`,createdAt:r()}]})}function Y2(t,e){t.consecutiveFailures.delete(e)}function ny(t){if(t.consensusLedger.items.length>0)return t.consensusLedger.items.some(r=>r.status==="unresolved"||r.status==="needs_opinion")?"escalated":"ready-for-approval";for(let e of t.ledger.proposals.values())if(e.status==="open")return"escalated";return"ready-for-approval"}function DT(t){return t==="ready-for-approval"||t==="escalated"}function OT(t){switch(t){case"consensus":return"accepted";case"rejected":return"rejected";case"withdrawn-by-author":return"withdrawn-by-author";case"superseded":return"superseded";case"unresolved":return"inconclusive";default:return"open"}}function zT(t){switch(t){case"accepted":return"accepted";case"excluded":return"rejected";case"superseded":return"superseded";case"needs_opinion":return"inconclusive";case"unresolved":return"open"}}function NT(t,e){for(let[r,n]of t)if(n===e)return r;return e}function jT(t){switch(t){case"agree":return"agree";case"disagree":return"disagree";case"revise":return"revise";case"opinion":return"abstain";case"no_response":case"not_assigned":return"missing"}}function oy(t){switch(t){case"running":return"running";case"ready-for-approval":return"ready-for-approval";case"escalated":return"escalated";case"approved":return"approved";case"rejected":return"rejected";case"leader-timeout":return"leader-timeout";default:return"error"}}function sd(t){if(t instanceof Error)return t.message;try{return String(t)}catch{return"<unstringifiable error>"}}function qs(t){let e=t.documentPaths.debate;return(e.split(/[\\/]/).pop()??e).replace(/\.md$/,"")}var Q2=Object.freeze(["same","different","unsure"]),Ba="alias-votes",X2=new Set(Q2);function e4(t){return X2.has(t)}function t4(t){let e=`<${Ba}>`,r=`</${Ba}>`,n=t.lastIndexOf(r);if(n<0)return null;let o=t.lastIndexOf(e,n);return o<0?null:{inner:t.slice(o+e.length,n)}}function r4(t){let e=`<${Ba}>`;return t.includes(e)}var n4=Object.freeze({lt:"<",gt:">",amp:"&",quot:'"',apos:"'"});function o4(t){return t.replace(/&(#x[0-9a-fA-F]+|#[0-9]+|[a-zA-Z]+);/g,(e,r)=>{if(r.startsWith("#x")||r.startsWith("#X")){let o=parseInt(r.slice(2),16);return Number.isFinite(o)?String.fromCodePoint(o):e}if(r.startsWith("#")){let o=parseInt(r.slice(1),10);return Number.isFinite(o)?String.fromCodePoint(o):e}return n4[r]??e})}function s4(t){let e={},r=/([A-Za-z_][A-Za-z0-9_-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/g,n=0,o;for(;(o=r.exec(t))!==null;){if(t.slice(n,o.index).trim().length>0)return null;let i=o[1],a=o[2],c=o[3],u=a!==void 0?a:c??"";if(Object.prototype.hasOwnProperty.call(e,i))return null;e[i]=o4(u),n=o.index+o[0].length}return t.slice(n).trim().length>0?null:e}function MT(t){return t.trim().length===0?!0:t.replace(/<!--[\s\S]*?-->/g,"").trim().length===0}function sy(t,e){let r=t4(t);if(!r)return r4(t)?{ok:!1,error:{kind:"malformed-xml",details:`opening <${Ba}> without matching </${Ba}>`}}:{ok:!1,error:{kind:"missing-block"}};let n=new Set(e),o=/<item\b([^>]*?)\/>/g,s=[],i;for(;(i=o.exec(r.inner))!==null;)s.push({raw:i[0],attrString:i[1],index:i.index,length:i[0].length});let a=0;for(let p of s){let f=r.inner.slice(a,p.index);if(!MT(f))return{ok:!1,error:{kind:"malformed-xml",details:`unexpected content between <item> elements: ${JSON.stringify(f.slice(0,40))}`}};a=p.index+p.length}let c=r.inner.slice(a);if(!MT(c))return{ok:!1,error:{kind:"malformed-xml",details:`unexpected trailing content: ${JSON.stringify(c.slice(0,40))}`}};let u=[],l=[],d=new Set;for(let p of s){let f=s4(p.attrString);if(f===null){l.push({reason:"malformed-entry",raw:p.raw});continue}let m=f.pair,h=f.vote;if(typeof m!="string"||m.length===0||typeof h!="string"){l.push({pair:typeof m=="string"&&m.length>0?m:void 0,reason:"malformed-entry",raw:p.raw});continue}if(!e4(h)){l.push({pair:m,reason:"unknown-vote",raw:p.raw});continue}if(!n.has(m)){l.push({pair:m,reason:"unknown-pair",raw:p.raw});continue}if(d.has(m)){l.push({pair:m,reason:"duplicate-pair",raw:p.raw});continue}let y=f.reason,v=typeof y=="string"&&y.length>0?y:void 0;d.add(m);let b={pair:m,vote:h};v!==void 0&&(b.reason=v),u.push(b)}return{ok:!0,entries:u,entryErrors:l}}var i4="__";function a4(t){return`${t.proposalA}${i4}${t.proposalB}`}var c4=["You are participating in the alias clarification phase of a structured debate.","The moderator has detected the following proposal pairs that partially match","on title / severity / location but did not satisfy the automatic hard-merge","rule. For each pair, decide whether the two proposals describe the SAME","underlying issue or DIFFERENT issues. If you cannot tell from the material","given, answer `unsure` \u2014 there is no penalty for uncertainty here, this","phase is not the main debate."].join(" "),u4=["For every pair below, emit exactly one `<item>` element inside the","`<alias-votes>` block. The `pair` attribute must match the identifier","printed with each pair. The `vote` attribute must be one of:","`same`, `different`, `unsure`. A `reason` attribute is optional but","encouraged when you answer `different` or `unsure`."].join(" "),l4=["Response format \u2014 append the following block at the end of your reply","(moderator parses only this block; preamble is ignored):","","<alias-votes>",' <item pair="P1__P2" vote="same"/>',' <item pair="P3__P4" vote="different" reason="P3 concerns cache invalidation; P4 concerns read-through."/>',' <item pair="P5__P6" vote="unsure" reason="Insufficient detail on location."/>',"</alias-votes>"].join(`
|
|
323
|
+
`),d4="Candidate pairs:";function p4(t,e){return["Your previous response did not include a valid `<alias-votes>` block.",`Problem: ${e}`,"Reply with ONLY the `<alias-votes>` block. Do not include prose.","<alias-votes>",...t.map(r=>` <item pair="${r}" vote="same|different|unsure" reason="optional"/>`),"</alias-votes>"].join(`
|
|
324
|
+
`)}async function ZT(t){let{ledger:e,participantIds:r,askParticipant:n}=t,o=e.aliasCandidates;if(o.length===0)return{mergesApplied:[],undecided:[],parseFailures:[]};let s=o.map(a4),i=new Map;for(let f=0;f<o.length;f+=1)i.set(s[f],o[f]);let a=f4(e,o,s),c=await Promise.allSettled(r.map(async f=>{let m=await n(f,a);return{participantId:f,response:m}})),u=[],l=new Map;for(let f of s)l.set(f,{same:0,different:0,unsure:0,missing:0});for(let f=0;f<c.length;f+=1){let m=c[f],h=r[f];if(m.status==="rejected"){u.push({participantId:h,reason:UT(m.reason)}),id(l,s);continue}let{response:y}=m.value;if(y.failed===!0){u.push({participantId:h,reason:"askParticipant reported failed=true"}),id(l,s);continue}let v=sy(y.text,s),b=new Set;if(!v.ok){let _=await n(h,p4(s,v.error.details!==void 0?`${v.error.kind}: ${v.error.details}`:v.error.kind)).catch(x=>({text:"",failed:!0,reason:UT(x)}));if(_.failed===!0){u.push({participantId:h,reason:"reason"in _&&typeof _.reason=="string"?_.reason:"retry failed"}),id(l,s);continue}let k=sy(_.text,s);if(!k.ok){u.push({participantId:h,reason:k.error.details!==void 0?`${k.error.kind}: ${k.error.details}`:k.error.kind}),id(l,s);continue}for(let x of k.entries)FT(l,x),b.add(x.pair);for(let x of s)if(!b.has(x)){let L=l.get(x);L!==void 0&&(L.missing+=1)}continue}for(let _ of v.entries)FT(l,_),b.add(_.pair);for(let _ of s)if(!b.has(_)){let k=l.get(_);k!==void 0&&(k.missing+=1)}}let d=[],p=[];for(let f of s){let m=i.get(f),h=l.get(f);if(m===void 0||h===void 0)continue;let y=h4(h);if(y.kind==="merge"){let v=m.proposalA,b=m.proposalB;if(e.proposals.get(v)===void 0||e.proposals.get(b)===void 0)continue;e.applyAliasMerge(v,b),d.push({primary:v,alias:b,voteBreakdown:{...h}});continue}p.push({pair:m,voteBreakdown:{...h},reason:y.reason})}return{mergesApplied:d,undecided:p,parseFailures:u}}function f4(t,e,r){let n=[];n.push(c4),n.push(""),n.push(u4),n.push(""),n.push(d4),n.push("");for(let o=0;o<e.length;o+=1){let s=e[o],i=r[o],a=t.proposals.get(s.proposalA),c=t.proposals.get(s.proposalB);n.push(`Pair ${o+1} \u2014 pair="${i}"`),n.push(` matched fields: ${s.matchedFields.join(", ")||"(none)"}`),n.push(` blocking field: ${s.missingField}`),n.push(" Proposal A:"),LT(n,a),n.push(" Proposal B:"),LT(n,c),n.push("")}return n.push(l4),n.join(`
|
|
325
|
+
`)}function LT(t,e){if(e===void 0){t.push(" (proposal unavailable \u2014 already removed from ledger)");return}if(t.push(` id: ${e.id}`),t.push(` title: ${e.title}`),t.push(` severity: ${e.severity}`),t.push(` location: ${e.location!==void 0&&e.location.length>0?e.location:"(empty)"}`),e.description!==void 0&&e.description.length>0){let r=m4(e.description);t.push(` description: ${r}`)}}var qT=400;function m4(t){return t.length<=qT?t:`${t.slice(0,qT)}\u2026`}function FT(t,e){let r=t.get(e.pair);if(r!==void 0)switch(e.vote){case"same":r.same+=1;break;case"different":r.different+=1;break;case"unsure":r.unsure+=1;break;default:{let n=e.vote}}}function id(t,e){for(let r of e){let n=t.get(r);n!==void 0&&(n.missing+=1)}}function h4(t){return t.same===0&&t.different===0?{kind:"undecided",reason:"no-votes"}:t.same>t.different?{kind:"merge"}:t.same===t.different?{kind:"undecided",reason:"tie"}:{kind:"undecided",reason:"different-majority"}}function UT(t){if(t instanceof Error)return`askParticipant threw: ${t.message}`;try{return`askParticipant threw: ${String(t)}`}catch{return"askParticipant threw: <unstringifiable>"}}import{readdir as g4}from"fs/promises";import{readFileSync as y4,existsSync as iy,unlinkSync as v4,mkdirSync as _4}from"fs";import{join as Wa}from"path";var cy=".approval.json";function ay(t){return`${t}${cy}`}function b4(t){return t.endsWith(cy)?t.slice(0,t.length-cy.length):null}function VT(t){let e=Date.parse(t);if(Number.isNaN(e))throw new Error(`computeApprovalDeadline: invalid readyAt ISO string: ${t}`);return new Date(e+Ky).toISOString()}var Fs=class{constructor(e){this.workspaceDir=e;if(!e||typeof e!="string")throw new Error("StructuredSessionRegistry: baseDir is required");this.debatesDir=Wa(e,So)}workspaceDir;debatesDir;cache=new Map;hydrated=!1;getWorkspaceDir(){return this.workspaceDir}getDebatesDir(){return this.debatesDir}async persist(e){if(!e||!e.sessionId)throw new Error("StructuredSessionRegistry.persist: snapshot.sessionId is required");if(e.schemaVersion!==1)throw new Error(`StructuredSessionRegistry.persist: unsupported schemaVersion=${e.schemaVersion}`);_4(this.debatesDir,{recursive:!0});let r=Wa(this.debatesDir,ay(e.sessionId));Ve(r,e),this.cache.set(e.sessionId,e)}async load(e){let r=this.cache.get(e);if(r)return r;let n=Wa(this.debatesDir,ay(e));if(!iy(n))return null;let o=this.readSnapshotFile(n);return o&&this.cache.set(e,o),o}async remove(e){this.cache.delete(e);let r=Wa(this.debatesDir,ay(e));if(iy(r))try{v4(r)}catch(n){if(n.code!=="ENOENT")throw n}}async hydrateFromDisk(){if(this.cache.clear(),!iy(this.debatesDir)){this.hydrated=!0;return}let e;try{e=await g4(this.debatesDir)}catch(r){if(r.code==="ENOENT"){this.hydrated=!0;return}throw r}for(let r of e){let n=b4(r);if(!n)continue;let o=this.readSnapshotFile(Wa(this.debatesDir,r));o&&o.sessionId===n&&this.cache.set(n,o)}this.hydrated=!0}get(e){return this.cache.get(e)}getAll(){return Array.from(this.cache.values())}async sweepTimeouts(e=new Date){let r=e.getTime(),n=[],o=[];for(let s of this.cache.values()){if(s.status!=="ready-for-approval")continue;let i=Date.parse(s.deadline);if(Number.isNaN(i)||r<=i)continue;let a={...s,status:"leader-timeout",terminalNote:s.terminalNote??"leader-timeout after approval window"};try{await this.persist(a),n.push(a)}catch(c){o.push({sessionId:s.sessionId,error:c})}}return o.length>0&&console.warn(`[session-registry] sweepTimeouts: ${o.length} snapshot(s) failed to transition; will retry on next sweep`,o.map(s=>({sessionId:s.sessionId,message:s.error instanceof Error?s.error.message:String(s.error)}))),n}isHydrated(){return this.hydrated}readSnapshotFile(e){let r;try{r=y4(e,"utf-8")}catch(o){if(o.code==="ENOENT")return null;throw o}let n;try{n=JSON.parse(r)}catch{return console.warn(`[session-registry] skipping unparseable snapshot file: ${e}`),null}return w4(n)?n:(console.warn(`[session-registry] skipping snapshot with unexpected shape: ${e}`),null)}};function w4(t){if(!t||typeof t!="object")return!1;let e=t;return e.schemaVersion===1&&typeof e.sessionId=="string"&&typeof e.status=="string"&&typeof e.createdAt=="string"&&typeof e.readyAt=="string"&&typeof e.deadline=="string"&&typeof e.config=="object"&&e.config!==null&&typeof e.rounds=="number"&&Array.isArray(e.aggregatedVotes)&&typeof e.documentPaths=="object"&&e.documentPaths!==null}function $4(t,e){let r=[];r.push(...k4(t,e)),r.push(""),r.push(...WT(t,e));let n=HT(t,e);return n.length>0&&(r.push(""),r.push(...n)),r.push(""),r.push(...KT(t,e)),r.push(""),r.push(...E4(t,e)),r.join(`
|
|
326
|
+
`)}function S4(t,e){let r=[];r.push(...WT(t,e));let n=T4(t,e);n.length>0&&(r.push(""),r.push(...n));let o=R4(t,e);o.length>0&&(r.push(""),r.push(...o));let s=I4(t,e);s.length>0&&(r.push(""),r.push(...s));let i=HT(t,e);return i.length>0&&(r.push(""),r.push(...i)),r.push(""),r.push(...KT(t,e)),r.join(`
|
|
327
|
+
`)}function BT(){return{renderTerminal:$4,renderSynthesis:S4}}var x4=Object.freeze({running:"report.status.running","ready-for-approval":"report.status.readyForApproval",consensus:"report.status.consensus",escalated:"report.status.escalated",approved:"report.status.approved",rejected:"report.status.rejected","leader-timeout":"report.status.leaderTimeout",error:"report.status.error"});function k4(t,e){let r=e.t(x4[t.status]),n=e.t("report.header.topic"),o=e.t("report.header.participants"),s=e.t("report.header.individualDocs"),i=[`## ${n}: ${t.topic} (${t.rounds}/${t.maxRounds} \u2014 ${r})`,`## ${o}: ${t.participantIds.join(", ")}`,`## ${s}:`],a=Math.min(t.participantIds.length,t.individualPaths.length);for(let c=0;c<a;c+=1)i.push(` - ${t.participantIds[c]}: ${t.individualPaths[c]}`);return i}function WT(t,e){let r=[`## ${e.t("report.section.mainTable")}`,"",`| ${e.t("report.table.proposer")} | ${e.t("report.table.opinion")} | ${e.t("report.table.severity")} | ${e.t("report.table.agreement")} |`,"|---|---|---|---|"];for(let n of t.proposals){let o=n.proposerIds.join(", "),s=P4(n);r.push(`| ${o} | ${n.title} | ${n.severity} | ${s} |`)}return r}function P4(t){let e=`${t.agreeCount}/${t.totalVoters}`;return t.accepted||t.dissentSummary===void 0||t.dissentSummary.length===0?e:`${e} (${t.dissentSummary})`}function HT(t,e){if(t.dissentDetails.length===0)return[];let r=[`## ${e.t("report.section.dissentDetail")}`];for(let n of t.dissentDetails){r.push(""),r.push(`### ${n.proposalTitle} (${n.severity})`);for(let o of n.perParticipant)r.push(uy(o))}return r}function uy(t){let e=`- **${t.participantId}:** ${t.vote}`;return t.reason===void 0||t.reason.length===0?e:`${e} \u2014 ${t.reason}`}function KT(t,e){let r=`| ${e.t("report.contribution.ai")} | ${e.t("report.contribution.proposed")} | ${e.t("report.contribution.accepted")} | ${e.t("report.contribution.revises")} | ${e.t("report.contribution.abstains")} |`,n=[`## ${e.t("report.section.contributionSummary")}`,"",r,"|---|---|---|---|---|"];for(let o of t.contributionSummary){let s=o.proposed===0?"\u2014":String(o.consensusReceived);n.push(`| ${o.participantId} | ${o.proposed} | ${s} | ${o.revisesProposed} | ${o.abstains} |`)}return n}function E4(t,e){let r=e.t("report.footer.synthesisPath"),n=e.t("report.footer.debatePath"),o=t.synthesisPath??e.t("report.footer.pendingSynthesis"),s=[`## ${r}: ${o}`,`## ${n}: ${t.debatePath}`];return t.status==="ready-for-approval"&&(s.push(""),s.push(e.t("approval.pending"))),s}function T4(t,e){let r=t.acceptedItems??[];if(r.length===0)return[];let n=[`## ${e.t("synthesis.section.acceptedItems")}`];for(let o of r)n.push(""),n.push(`### ${o.id} \u2014 ${o.title}`),n.push(`**${e.t("report.table.severity")}:** ${o.severity}`),n.push(`**${e.t("report.table.proposer")}:** ${o.proposerIds.join(", ")}`),n.push(`**${e.t("report.table.agreement")}:** ${o.agreeCount}/${o.totalVoters}`),o.finalStatement.length>0&&(n.push(""),n.push(o.finalStatement));return n}function R4(t,e){let r=t.rejectedItems??[];if(r.length===0)return[];let n=[`## ${e.t("synthesis.section.rejectedItems")}`];for(let o of r){n.push(""),n.push(`### ${o.id} \u2014 ${o.title}`),n.push(`**${e.t("report.table.severity")}:** ${o.severity}`),o.rejectionReason.length>0&&(n.push(""),n.push(o.rejectionReason));for(let s of o.dissentVotes)n.push(uy(s))}return n}function I4(t,e){let r=t.openItems??[];if(r.length===0)return[];let n=[`## ${e.t("synthesis.section.openItems")}`];for(let o of r){n.push(""),n.push(`### ${o.id} \u2014 ${o.title}`),n.push(`**${e.t("report.table.severity")}:** ${o.severity}`),n.push(`**${e.t("report.table.agreement")}:** ${o.agreeCount}/${o.totalVoters}`);for(let s of o.perParticipant)n.push(uy(s))}return n}var Us=class{deps;sessions=new Map;formatter=BT();constructor(e){this.deps=e}async startDebate(e){let r=(this.deps.generateSessionId??A4)(),n=this.nowIso(),o=tT({topic:e.topic,...e.goal!==void 0?{goal:e.goal}:{},participants:e.participants,excludeParticipants:e.excludeParticipants??[],autoInjectSpecialists:e.autoInjectSpecialists??!0}),s=o.participants,i={topic:e.topic,scope:e.scope??e.topic,participants:s,excludeParticipants:e.excludeParticipants??[],leader:e.leader,maxRounds:e.maxRounds??Sd,locale:e.locale??this.deps.i18n.locale,autoInjectSpecialists:e.autoInjectSpecialists??!0},a=await this.deps.documentManager.createDebateDocument({topic:e.topic,providers:s.slice(),...e.goal!==void 0?{goal:e.goal}:{}}),u=new ur(this.deps.registry.getWorkspaceDir()).pathForSession(r),l=td({sessionId:r,topic:e.topic,mode:"review",participants:s.slice(),leader:e.leader,maxRounds:i.maxRounds,documents:{individual:{},ledger:u,debate:a.path},items:[],now:()=>n}),d={sessionId:r,config:i,goal:e.goal,individualReviewPrompt:e.individualReviewPrompt,files:e.files??[],debateDocId:a.id,debateDocPath:a.path,individualPaths:{},createdAt:n,ledger:new Sn,rounds:0,maxRounds:i.maxRounds,consecutiveFailures:new Map,unavailableParticipants:new Set,allAbstainCount:new Map,reviseSuccessors:new Map,pendingVoteWarnings:new Map,nextProposalIndex:1,consensusLedger:l,consensusLedgerPath:u,legacyProposalIdMap:new Map};this.sessions.set(r,d);try{let p=await this.runIndividualPhase(d,o);d.consensusLedger=td({sessionId:r,topic:e.topic,mode:"review",participants:s.slice(),leader:e.leader,maxRounds:i.maxRounds,documents:{individual:{...d.individualPaths},ledger:d.consensusLedgerPath,debate:d.debateDocPath},items:p.map(h=>({title:h.title,proposer:h.proposerId,plainSummary:h.description??h.title,originalClaim:h.description??h.title,sourceRefs:[h.id,...d.individualPaths[h.proposerId]!==void 0?[d.individualPaths[h.proposerId]]:[],...h.location!==void 0?[h.location]:[]]}))}),d.legacyProposalIdMap=new Map(p.map((h,y)=>[h.id,d.consensusLedger.items[y]?.id??h.id])),await od(d,this.consensusFlowDeps());let{ledger:f}=dT(p);d.ledger=f,d.nextProposalIndex=D4(p),ry(d),f.aliasCandidates.length>0&&await this.runAliasClarificationPhase(d),await ty(d,this.consensusFlowDeps());let m=this.buildSnapshot(d,ny({consensusLedger:d.consensusLedger,ledger:d.ledger}));return await this.deps.registry.persist(m),this.emitTrace(d,"debate_rfa",{status:m.status}),{sessionId:r,status:m.status,snapshot:m,terminalReport:this.renderTerminal(d,m)}}catch(p){let f=this.buildSnapshot(d,"error",sd(p));try{await this.deps.registry.persist(f)}catch{}return this.emitTrace(d,"debate_error",{error:sd(p)}),{sessionId:r,status:"error",snapshot:f,terminalReport:this.renderTerminal(d,f),errorMessage:sd(p)}}}async approve(e){let r=await this.loadSnapshotOrThrow(e.sessionId);if(r.status==="approved"){if(!r.documentPaths.synthesis)throw new Error(`approve: session "${e.sessionId}" is marked approved but has no synthesis path recorded. Snapshot is inconsistent.`);let u=this.sessions.get(e.sessionId);return{snapshot:r,synthesisPath:r.documentPaths.synthesis,terminalReport:this.renderTerminal(u??null,r),idempotentReplay:!0}}ly(r,["ready-for-approval","escalated"],"approve");let n=this.sessions.get(e.sessionId),o=n?.consensusLedger;!o&&r.documentPaths.consensusLedger&&(o=await new ur(this.deps.registry.getWorkspaceDir()).load(r.sessionId)??void 0);let s=o?ET({...o,documents:{...o.documents,...r.documentPaths.synthesis!==void 0?{synthesis:r.documentPaths.synthesis}:{}}}):this.formatter.renderSynthesis(n?this.buildReportData(n,r,e.leaderNote):JT(r,e.leaderNote),this.deps.i18n),i=(r.status==="escalated"||r.status==="ready-for-approval")&&r.status==="escalated"?"escalated":"consensus",a=await this.deps.documentManager.createSynthesis({sessionId:r.sessionId,topic:r.config.topic,status:i,rounds:r.rounds,maxRounds:r.config.maxRounds,participantIds:r.config.participants,individualPaths:Object.values(r.documentPaths.individual),debatePath:r.documentPaths.debate,body:s,...e.leaderNote!==void 0?{metadata:{"Leader Note":e.leaderNote}}:{}}),c={...r,status:"approved",documentPaths:{...r.documentPaths,synthesis:a.path}};if(o){let u={...o,documents:{...o.documents,synthesis:a.path},moderatorNotes:e.leaderNote!==void 0?[...o.moderatorNotes,{id:`NOTE-${o.moderatorNotes.length+1}`,kind:"format_correction",round:o.round,provider:r.config.leader,message:`Leader note: ${e.leaderNote}`,createdAt:this.nowIso()}]:o.moderatorNotes};await new ur(this.deps.registry.getWorkspaceDir()).write(u),n&&(n.consensusLedger=u,n.consensusLedgerPath=u.documents.ledger,await this.deps.documentManager.replaceDocumentContent(n.debateDocId,nd(n.consensusLedger)))}else await this.deps.documentManager.addComment(n?.debateDocId??qs(r),{author:"moderator",content:this.formatApprovalFooter(e.leaderNote)});return await this.deps.registry.persist(c),this.emitTrace(n??null,"debate_approved",{sessionId:r.sessionId,synthesisPath:a.path}),{snapshot:c,synthesisPath:a.path,terminalReport:this.renderTerminal(n??null,c)}}async continueDebate(e){if(!Number.isInteger(e.additionalRounds)||e.additionalRounds<=0)throw new Error(`continueDebate: additionalRounds must be a positive integer (got ${e.additionalRounds})`);let r=await this.loadSnapshotOrThrow(e.sessionId);ly(r,["ready-for-approval","escalated"],"continue");let n=this.sessions.get(e.sessionId);if(!n)if(r.documentPaths.consensusLedger)n=await this.rehydrateConsensusSessionContext(r),this.sessions.set(e.sessionId,n);else if(r.ledgerState)n=this.rehydrateSessionContext(r),this.sessions.set(e.sessionId,n);else throw new Error(`continueDebate: snapshot for session "${e.sessionId}" is too old to resume after restart \u2014 missing ledgerState. Use approve or reject instead, or rerun the debate.`);n.maxRounds=r.config.maxRounds+e.additionalRounds,n.consensusLedger={...n.consensusLedger,maxRounds:n.maxRounds};for(let i of n.ledger.proposals.values())i.status;await ty(n,this.consensusFlowDeps());let o=ny({consensusLedger:n.consensusLedger,ledger:n.ledger}),s=this.buildSnapshot(n,o);return await this.deps.registry.persist(s),this.emitTrace(n,"debate_continued",{additionalRounds:e.additionalRounds,status:s.status}),{snapshot:s,terminalReport:this.renderTerminal(n,s)}}async reject(e){let r=await this.loadSnapshotOrThrow(e.sessionId);if(r.status==="rejected")return{snapshot:r,idempotentReplay:!0,...r.documentPaths.issue!==void 0?{issuePath:r.documentPaths.issue}:{}};ly(r,["ready-for-approval","escalated","leader-timeout"],"reject");let n=this.sessions.get(e.sessionId),o=n?.debateDocId??qs(r);await this.deps.documentManager.addComment(o,{author:"moderator",content:this.formatRejectionFooter(e.reason)});let s;e.spawnIssue===!0&&(s=(await this.deps.documentManager.createIssueDocument({sessionId:r.sessionId,topic:r.config.topic,...e.reason!==void 0?{reason:e.reason}:{},items:C4(r)})).path);let i={...r,status:"rejected",terminalNote:e.reason??r.terminalNote,documentPaths:{...r.documentPaths,...s!==void 0?{issue:s}:{}}};return await this.deps.registry.persist(i),this.emitTrace(n??null,"debate_rejected",{sessionId:r.sessionId,...s!==void 0?{issuePath:s}:{}}),{snapshot:i,...s!==void 0?{issuePath:s}:{}}}async handleTimedOutSnapshots(e){for(let r of e){if(r.status!=="leader-timeout")continue;let n=qs(r);try{await this.deps.documentManager.addComment(n,{author:"moderator",content:this.formatLeaderTimeoutFooter(r)})}catch{}this.emitTrace(this.sessions.get(r.sessionId)??null,"debate_leader_timeout",{sessionId:r.sessionId})}}async runIndividualPhase(e,r){let n=fT(),o=mT({topic:e.config.topic,scope:e.config.scope,goal:e.goal,files:e.files,individualReviewPrompt:e.individualReviewPrompt}),s=await Promise.allSettled(e.config.participants.map(async a=>{let c=await this.deps.bridge.requestTurn(a,{prompt:o,system:e.individualReviewPrompt??n,round:0,...e.files.length>0?{files:e.files}:{}});return{participantId:a,resp:c}})),i=[];for(let a of s){if(a.status==="rejected")continue;let{participantId:c,resp:u}=a.value,l=u.failed?`(no response: ${u.failureReason??"unknown"})`:u.text,d=await this.deps.documentManager.createIndividualReview({participantId:c,topic:e.config.topic,content:l,...e.files.length>0?{files:e.files}:{}});if(e.individualPaths[c]=d.path,u.failed)continue;let p=pT(u.text);for(let f of p){let m=O4(e,f.id);i.push({id:m,proposerId:c,title:f.title,severity:f.severity,...f.location!==void 0?{location:f.location}:{},...f.description!==void 0?{description:f.description}:{},roundOpened:1})}}return i}async runAliasClarificationPhase(e){let r=await ZT({ledger:e.ledger,participantIds:e.config.participants,askParticipant:async(o,s)=>{let i=await this.deps.bridge.requestTurn(o,{prompt:s,round:0,...e.files.length>0?{files:e.files}:{}});return i.failed?{text:"",failed:!0}:{text:i.text}}}),n=wT(r,this.deps.i18n);if(n.length>0){for(let o of r.mergesApplied){let s=e.legacyProposalIdMap.get(o.alias),i=e.legacyProposalIdMap.get(o.primary);if(!s||!i)continue;let a=e.consensusLedger.items.find(c=>c.id===s);a&&(a.status="superseded",a.displayStatus="\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9",a.conclusion=`\uB300\uCCB4\uC548\uC73C\uB85C \uC774\uB3D9. ${i} \uD56D\uBAA9\uACFC \uAC19\uC740 \uB0B4\uC6A9\uC73C\uB85C \uBCD1\uD569\uD588\uB2E4.`,a.sourceRefs=Array.from(new Set([...a.sourceRefs,i])))}ry(e),e.consensusLedger={...e.consensusLedger,moderatorNotes:[...e.consensusLedger.moderatorNotes,{id:`NOTE-${e.consensusLedger.moderatorNotes.length+1}`,kind:"merge_candidate",round:e.rounds,message:n,createdAt:this.nowIso()}]},await this.deps.documentManager.addComment(e.debateDocId,{author:"moderator",content:n})}}consensusFlowDeps(){return{bridge:this.deps.bridge,documentManager:this.deps.documentManager,registry:this.deps.registry,nowIso:()=>this.nowIso()}}rehydrateSessionContext(e){if(!e.ledgerState)throw new Error(`rehydrateSessionContext: snapshot "${e.sessionId}" has no ledgerState`);let r=Sn.fromJSON(e.ledgerState),n=new Map;if(e.consecutiveFailuresByParticipant)for(let[a,c]of Object.entries(e.consecutiveFailuresByParticipant))c>0&&n.set(a,c);let o=new Set(e.unavailableParticipants??[]),s=0;for(let a of e.ledgerState.proposals.map(c=>c.id)){let c=a.match(/^P(\d+)$/);if(c){let u=Number.parseInt(c[1],10);Number.isFinite(u)&&u>s&&(s=u)}}return{sessionId:e.sessionId,config:e.config,goal:void 0,individualReviewPrompt:void 0,files:[],debateDocId:qs(e),debateDocPath:e.documentPaths.debate,individualPaths:{...e.documentPaths.individual},createdAt:e.createdAt,ledger:r,rounds:e.rounds,maxRounds:e.config.maxRounds,consecutiveFailures:n,unavailableParticipants:o,allAbstainCount:new Map,reviseSuccessors:new Map,pendingVoteWarnings:new Map,nextProposalIndex:s+1,consensusLedger:td({sessionId:e.sessionId,topic:e.config.topic,mode:"review",participants:e.config.participants.slice(),leader:e.config.leader,maxRounds:e.config.maxRounds,documents:{individual:{...e.documentPaths.individual},ledger:e.documentPaths.consensusLedger??new ur(this.deps.registry.getWorkspaceDir()).pathForSession(e.sessionId),debate:e.documentPaths.debate,...e.documentPaths.synthesis!==void 0?{synthesis:e.documentPaths.synthesis}:{}},items:e.aggregatedVotes.map(a=>({title:a.title,proposer:a.proposers[0]??e.config.leader,plainSummary:a.title,originalClaim:a.title,sourceRefs:a.location?[a.location]:[]}))}),consensusLedgerPath:e.documentPaths.consensusLedger??new ur(this.deps.registry.getWorkspaceDir()).pathForSession(e.sessionId),legacyProposalIdMap:new Map(e.aggregatedVotes.map((a,c)=>[a.proposalId,`ITEM-${String(c+1).padStart(2,"0")}`]))}}async rehydrateConsensusSessionContext(e){let r=new ur(this.deps.registry.getWorkspaceDir()),n=e.documentPaths.consensusLedger??r.pathForSession(e.sessionId),o=await r.load(e.sessionId);if(!o)throw new Error(`continueDebate: consensus ledger not found for session "${e.sessionId}" at ${n}`);let s=new Map;if(e.consecutiveFailuresByParticipant)for(let[i,a]of Object.entries(e.consecutiveFailuresByParticipant))a>0&&s.set(i,a);return{sessionId:e.sessionId,config:e.config,goal:void 0,individualReviewPrompt:void 0,files:[],debateDocId:qs(e),debateDocPath:e.documentPaths.debate,individualPaths:{...e.documentPaths.individual},createdAt:e.createdAt,ledger:e.ledgerState?Sn.fromJSON(e.ledgerState):new Sn,rounds:e.rounds,maxRounds:e.config.maxRounds,consecutiveFailures:s,unavailableParticipants:new Set(e.unavailableParticipants??[]),allAbstainCount:new Map,reviseSuccessors:new Map,pendingVoteWarnings:new Map,nextProposalIndex:1,consensusLedger:o,consensusLedgerPath:n,legacyProposalIdMap:bT(o)}}buildSnapshot(e,r,n){let o=this.nowIso(),s=DT(r)?aT(o,VT):o,i=this.snapshotAggregatedVotes(e),a={};for(let[u,l]of e.consecutiveFailures)l>0&&(a[u]=l);return{schemaVersion:1,sessionId:e.sessionId,status:r,createdAt:e.createdAt,readyAt:o,deadline:s,config:{...e.config,maxRounds:e.maxRounds},rounds:e.rounds,aggregatedVotes:i,documentPaths:{individual:{...e.individualPaths},debate:e.debateDocPath,consensusLedger:e.consensusLedgerPath},ledgerState:e.ledger.toJSON(),...Object.keys(a).length>0?{consecutiveFailuresByParticipant:a}:{},...e.unavailableParticipants.size>0?{unavailableParticipants:Array.from(e.unavailableParticipants)}:{},...n!==void 0?{terminalNote:n}:{}}}snapshotAggregatedVotes(e){if(e.consensusLedger.items.length>0)return e.consensusLedger.items.map(n=>{let o={};for(let s of n.currentStances){let i=s.commentId?n.comments.find(a=>a.id===s.commentId):void 0;o[s.provider]={vote:jT(s.stance),roundRecorded:s.round,...i?.comment?{reason:i.comment}:{}}}return{proposalId:NT(e.legacyProposalIdMap,n.id),title:n.title,severity:"MEDIUM",proposers:[n.proposer],status:zT(n.status),votes:o,...n.parentId!==void 0?{supersededBy:n.parentId}:{}}});let r=[];for(let n of e.ledger.proposals.values()){if(n.status==="merged")continue;let o={};for(let[s,i]of n.votes)o[s]={vote:i.vote,roundRecorded:i.roundRecorded,...i.reason!==void 0?{reason:i.reason}:{}};r.push({proposalId:n.id,title:n.title,severity:n.severity,...n.location!==void 0?{location:n.location}:{},proposers:n.proposerIds,status:OT(n.status),votes:o,...n.supersededBy!==void 0?{supersededBy:n.supersededBy}:{}})}return r}renderTerminal(e,r){if(e?.consensusLedger)return[`Topic: ${e.consensusLedger.topic}`,`Status: ${r.status}`,`Readable status: ${r.status.replace(/-/g," ")}`,"",TT({...e.consensusLedger,documents:{...e.consensusLedger.documents,...r.documentPaths.synthesis!==void 0?{synthesis:r.documentPaths.synthesis}:{}}})].join(`
|
|
328
|
+
`);let n=e?this.buildReportData(e,r):JT(r);return this.formatter.renderTerminal(n,this.deps.i18n)}buildReportData(e,r,n){let o=[],s=[],i=[],a=[],c=[];for(let l of e.ledger.proposals.values()){if(l.status==="merged"||l.status==="superseded")continue;let d=e.config.participants.filter(f=>!l.proposerIds.includes(f)),p=z4(l,d);o.push({proposerIds:l.proposerIds,title:l.title,severity:l.severity,agreeCount:p.agree,totalVoters:p.denominator,accepted:l.status==="consensus",...p.dissentSummary!==void 0?{dissentSummary:p.dissentSummary}:{}}),p.perParticipant.length>0&&l.status!=="consensus"&&s.push({proposalTitle:l.title,severity:l.severity,perParticipant:p.perParticipant}),l.status==="consensus"?i.push({id:l.id,proposerIds:l.proposerIds,title:l.title,severity:l.severity,agreeCount:p.agree,totalVoters:p.denominator,finalStatement:l.description??""}):l.status==="rejected"||l.status==="withdrawn-by-author"?a.push({id:l.id,title:l.title,severity:l.severity,rejectionReason:l.status==="withdrawn-by-author"?"Withdrawn by author":"Rejected by tally",dissentVotes:p.perParticipant}):(l.status==="open"||l.status==="unresolved")&&c.push({id:l.id,title:l.title,severity:l.severity,agreeCount:p.agree,totalVoters:p.denominator,perParticipant:p.perParticipant})}let u=N4(e);return{topic:e.config.topic,rounds:e.rounds,maxRounds:e.maxRounds,status:oy(r.status),participantIds:e.config.participants,individualPaths:Object.values(e.individualPaths),debatePath:e.debateDocPath,...r.documentPaths.synthesis!==void 0?{synthesisPath:r.documentPaths.synthesis}:{},proposals:o,contributionSummary:u,dissentDetails:s,acceptedItems:i,rejectedItems:a,openItems:c,...n!==void 0?{leaderNote:n}:{}}}nowIso(){return(this.deps.now?this.deps.now():new Date).toISOString()}async loadSnapshotOrThrow(e){let r=await this.deps.registry.load(e);if(!r)throw new Error(`Structured debate session "${e}" not found`);return r}formatApprovalFooter(e){let r=this.deps.i18n.t("moderator.narration.approved");if(!e)return r;let n=this.deps.i18n.t("synthesis.narration.leaderNote");return`${r}
|
|
322
329
|
|
|
323
330
|
**${n}:** ${e}`}formatRejectionFooter(e){let r=this.deps.i18n.t("moderator.narration.rejected");return e?`${r}
|
|
324
331
|
|
|
325
332
|
Reason: ${e}`:r}formatLeaderTimeoutFooter(e){let r=this.deps.i18n.t("moderator.narration.leaderTimeoutFooter"),n=Date.parse(e.readyAt),o=Date.parse(e.deadline),s=Number.isFinite(n)&&Number.isFinite(o)&&o>n?Math.round((o-n)/(3600*1e3)):24,i=this.deps.i18n.t("approval.timeout",{hours:s});return`## ${r}
|
|
326
333
|
|
|
327
|
-
${i}`}emitTrace(e,r,n){if(this.deps.traceWriter)try{this.deps.traceWriter.write({traceId:e?.sessionId??"unknown",action:r,providerId:"moderator-engine",task:e?.config.topic??"",request:{promptSummary:JSON.stringify(n),fileCount:0},response:{success:!0,charLength:0},latencyMs:0})}catch{}}};function
|
|
328
|
-
`)}function WN(t){let e=[];if(e.push(`Topic: ${t.config.topic}`),t.goal&&e.push(`Goal: ${t.goal}`),e.push(`Scope: ${t.config.scope}`),t.files.length>0){e.push("Files examined:");for(let r of t.files)e.push(` - ${r}`)}return t.individualReviewPrompt&&(e.push(""),e.push(t.individualReviewPrompt)),e.push(""),e.push("Return your review followed by the required `<proposals>` block."),e.join(`
|
|
329
|
-
`)}function HN(t,e=new Map){let r=rS(t,e);return["You are a participant in a structured consensus round.","Read the JSON packet and respond with JSON only.","Do not include Markdown fences in your response.","You must answer every assigned item exactly once.",...r.length>0?["","Legacy compatibility IDs:",...r]:[],"","```json",JSON.stringify(t,null,2),"```"].join(`
|
|
330
|
-
`)}function KN(t,e,r=new Map){let n=rS(t,r);return["Your previous response did not satisfy the JSON consensus contract.","Reply with JSON only. Do not include Markdown fences or prose.","You must answer every assigned item exactly once.",...n.length>0?["","Legacy compatibility IDs:",...n]:[],"","Validation errors:",...e.map(o=>`- ${o}`),"","```json",JSON.stringify(t,null,2),"```"].join(`
|
|
331
|
-
`)}function rS(t,e){let r=[];for(let[n,o]of e){let s=t.assignedItems.find(i=>i.id===o);s&&r.push(`- ${n} (${s.id}): ${s.title}`)}return r}function eS(t,e,r){let n=e.assignedItems.map(u=>u.id),o=Array.from(r.entries()).filter(([,u])=>n.includes(u)).map(([u])=>u),s=$c(t,[...n,...o]);if(!s.ok)return{ok:!1,errors:[`legacy <votes>: ${s.error.kind}`]};let i=s.entryErrors.map(u=>`legacy <votes>: ${u.proposalId?`${u.proposalId}: `:""}${u.reason}`),a=new Set,c=s.entries.map(u=>{let l=r.get(u.proposalId)??u.proposalId;a.add(l);let d=e.assignedItems.find(f=>f.id===l),p=u.reason??"";switch(u.vote){case"agree":return{id:l,stance:"agree",comment:p};case"disagree":return{id:l,stance:"disagree",comment:p||"Legacy disagree vote."};case"abstain":return{id:l,stance:"opinion",comment:p||"Legacy abstain vote."};case"revise":{let f=p||"Legacy revise vote.";return{id:l,stance:"revise",comment:f,proposedItem:{title:`${d?.title??u.proposalId} (revised)`,plainSummary:f,originalClaim:f}}}}});for(let u of n)a.has(u)||i.push(`legacy <votes>: missing assigned item id: ${u}`);return i.length>0?{ok:!1,errors:i}:{ok:!0,items:c}}function JN(t){let e=new Map;for(let r of t.items)for(let n of r.sourceRefs)/^P\d+$/i.test(n)&&e.set(n,r.id);return e}function GN(t){let e=[];e.push("Your previous response did not include a valid `<votes>` block."),e.push(`Problem: ${t.errorKind}.`),t.errorDetails&&e.push(`Details: ${t.errorDetails}`),e.push("Reply with ONLY the `<votes>` block. Do not include prose."),e.push("<votes>");for(let r of t.openProposals)e.push(` <item id="${r.id}" vote="agree|disagree|abstain|revise" reason="\u2026"/>`);return e.push("</votes>"),e.push("`reason` is required for `disagree` and `revise`."),e.join(`
|
|
332
|
-
`)}function YN(t,e){let n=[`## ${e.t("moderator.narration.aliasClarification")}`];if(t.mergesApplied.length>0){n.push(""),n.push("Applied merges:");for(let o of t.mergesApplied)n.push(`- ${o.alias} \u2192 ${o.primary} (same=${o.voteBreakdown.same}, different=${o.voteBreakdown.different}, unsure=${o.voteBreakdown.unsure}, missing=${o.voteBreakdown.missing})`)}if(t.undecided.length>0){n.push(""),n.push("Undecided pairs (kept separate):");for(let o of t.undecided)n.push(`- ${o.pair.proposalA} \u2194 ${o.pair.proposalB} (${o.reason})`)}return n.join(`
|
|
333
|
-
`)}var nS=18e4;function Js(t,e){return Promise.race([t,new Promise((r,n)=>setTimeout(()=>n(new Error(`Provider "${e}" stalled (no response after ${nS/1e3}s)`)),nS))])}function iS(t){return new Ln({tools:Ai(),baseDir:t})}var Gp,oS;function aS(t){return(!Gp||oS!==t)&&(Gp=new jo,oS=t),Gp}var _o;function Ec(t,e,r){if(_o&&_o.registry===t&&_o.hostKind===e&&_o.baseDir===r)return _o.bridge;let n=new Ln({tools:Ai(),baseDir:r}),o=Sx({registry:t,readOnlyAdapter:n,hostKind:e,agentsDir:XN(r,"agents")});return _o={bridge:o,registry:t,hostKind:e,baseDir:r},o}var sS=new Map;function cS(t){let e=sS.get(t.workspaceBaseDir);if(e&&e.registry===t.structuredSessionRegistry&&e.documentManager===t.documentManager&&e.bridge===t.bridge)return e.engine;let r=new vo({bridge:t.bridge,documentManager:t.documentManager,registry:t.structuredSessionRegistry,i18n:t.i18n,...t.traceWriter!==void 0?{traceWriter:t.traceWriter}:{}});return sS.set(t.workspaceBaseDir,{engine:r,registry:t.structuredSessionRegistry,documentManager:t.documentManager,bridge:t.bridge}),r}function uS(t,e,r){let n=.7;if(r&&e){for(let o of r)e.updateQuality(t.id,o.provider,{score:o.score,evaluator:"claude",feedback:o.feedback});n=r.reduce((o,s)=>o+s.score,0)/r.length}else if(e){let o=new Map;for(let a of t.turns){if(a.speaker==="claude")continue;let c=t.turns.filter(d=>d.turnNumber<a.turnNumber).map(d=>({speaker:d.speaker,content:d.content})),u=qo(a.content,c,t.topic),l=o.get(a.speaker)??[];l.push(u.score),o.set(a.speaker,l)}let s=0,i=0;for(let[a,c]of o){let u=c.reduce((l,d)=>l+d,0)/c.length;e.updateQuality(t.id,a,{score:u,evaluator:"auto_rule_based",feedback:`Auto-aggregated from ${c.length} turns`}),s+=u,i++}i>0&&(n=s/i)}return{avgQuality:n}}function Rc(t,e,r){r.alreadyConcluded||t.debateEngine.conclude(e);let n=t.debateEngine.buildTurnTranscript(e);return t.debateEngine.delete(e),n}async function lS(t,e){let r=ic.parse(t),n=new Map(r.providers.map(l=>[l,e.registry.get(l)])),o=e.sessionManager.createSession("debate",{topic:r.topic,providers:r.providers,maxRounds:r.max_rounds});e.sessionManager.updateSessionStatus(o.id,"in_progress");let s=e.debateEngine,i=s.create({topic:r.topic,providerIds:r.providers,goal:r.goal}),a=!!(r.goal&&r.validator),c=a?e.registry.get(r.validator):void 0,u=a?r.min_rounds??2:r.max_rounds;return(async()=>{try{let l="";for(let p=0;p<r.max_rounds;p++){for(let[f,m]of n){let g=s.buildPromptForProvider(i.id,f);l&&(g+=`
|
|
334
|
+
${i}`}emitTrace(e,r,n){if(this.deps.traceWriter)try{this.deps.traceWriter.write({traceId:e?.sessionId??"unknown",action:r,providerId:"moderator-engine",task:e?.config.topic??"",request:{promptSummary:JSON.stringify(n),fileCount:0},response:{success:!0,charLength:0},latencyMs:0})}catch{}}};function A4(){let t=Date.now().toString(36),e=Math.random().toString(36).slice(2,10);return`s-${t}-${e}`}function ly(t,e,r){if(!e.includes(t.status))throw new Error(`Operation \`${r}\` is not allowed in state \`${t.status}\`. Allowed states: ${e.join(", ")}`)}function C4(t){let e=[];for(let r of t.aggregatedVotes){if(r.status==="accepted")continue;let n={agree:0,disagree:0,abstain:0,revise:0,total:0};for(let o of Object.values(r.votes))switch(n.total+=1,o.vote){case"agree":n.agree+=1;break;case"disagree":n.disagree+=1;break;case"abstain":n.abstain+=1;break;case"revise":n.revise+=1;break}e.push({title:r.title,severity:r.severity,status:r.status,proposerIds:r.proposers,...r.location!==void 0?{location:r.location}:{},votes:n})}return e}function D4(t){let e=0;for(let r of t){let n=r.id.match(/^P(\d+)$/);if(n){let o=Number.parseInt(n[1],10);Number.isFinite(o)&&o>e&&(e=o)}}return e+1}function O4(t,e){let r=`P${t.nextProposalIndex}`;return t.nextProposalIndex+=1,r}function z4(t,e){let r=0,n=0,o=[];for(let a of e){let c=t.votes.get(a);if(!c){o.push({participantId:a,vote:"missing"});continue}o.push({participantId:a,vote:c.vote,...c.reason!==void 0?{reason:c.reason}:{}}),c.vote==="agree"?r+=1:c.vote==="abstain"&&(n+=1)}let s=e.length-n,i=[];for(let a of o)a.vote==="agree"||a.vote==="abstain"||i.push(`${a.participantId} ${a.vote}`);return{agree:r,denominator:s,perParticipant:o,...i.length>0?{dissentSummary:i.join(", ")}:{}}}function N4(t){let e=new Map;for(let r of t.config.participants)e.set(r,{proposed:0,consensusReceived:0,revisesProposed:0,abstains:0});for(let r of t.ledger.proposals.values())if(r.status!=="merged"){for(let n of r.proposerIds){let o=e.get(n);o&&(o.proposed+=1,r.status==="consensus"&&(o.consensusReceived+=1))}for(let[n,o]of r.votes){let s=e.get(n);s&&(o.vote==="revise"&&(s.revisesProposed+=1),o.vote==="abstain"&&(s.abstains+=1))}}return Array.from(e.entries()).map(([r,n])=>({participantId:r,proposed:n.proposed,consensusReceived:n.consensusReceived,revisesProposed:n.revisesProposed,abstains:n.abstains}))}function JT(t,e){let r=[],n=[],o=[],s=[],i=[];for(let a of t.aggregatedVotes){let c=t.config.participants.filter(m=>!a.proposers.includes(m)),u=c.map(m=>{let h=a.votes[m];return h?{participantId:m,vote:h.vote,...h.reason!==void 0?{reason:h.reason}:{}}:{participantId:m,vote:"missing"}}),l=0,d=0;for(let m of u)m.vote==="agree"?l+=1:m.vote==="abstain"&&(d+=1);let p=c.length-d;r.push({proposerIds:a.proposers,title:a.title,severity:a.severity,agreeCount:l,totalVoters:p,accepted:a.status==="accepted"}),a.status==="accepted"?n.push({id:a.proposalId,proposerIds:a.proposers,title:a.title,severity:a.severity,agreeCount:l,totalVoters:p,finalStatement:""}):a.status==="rejected"||a.status==="withdrawn-by-author"?o.push({id:a.proposalId,title:a.title,severity:a.severity,rejectionReason:a.status==="withdrawn-by-author"?"Withdrawn by author":"Rejected by tally",dissentVotes:u}):a.status==="open"&&s.push({id:a.proposalId,title:a.title,severity:a.severity,agreeCount:l,totalVoters:p,perParticipant:u}),u.some(m=>m.vote!=="agree"&&m.vote!=="abstain")&&a.status!=="accepted"&&i.push({proposalTitle:a.title,severity:a.severity,perParticipant:u})}return{topic:t.config.topic,rounds:t.rounds,maxRounds:t.config.maxRounds,status:oy(t.status),participantIds:t.config.participants,individualPaths:Object.values(t.documentPaths.individual),debatePath:t.documentPaths.debate,...t.documentPaths.synthesis!==void 0?{synthesisPath:t.documentPaths.synthesis}:{},proposals:r,contributionSummary:[],dissentDetails:i,acceptedItems:n,rejectedItems:o,openItems:s}}var GT=18e4;function Ha(t,e){return Promise.race([t,new Promise((r,n)=>setTimeout(()=>n(new Error(`Provider "${e}" stalled (no response after ${GT/1e3}s)`)),GT))])}function QT(t){return new Wo({tools:Oc(),baseDir:t})}var dy;function XT(){return dy||(dy=new ci),dy}var Zs;function ad(t,e,r){if(Zs&&Zs.registry===t&&Zs.hostKind===e&&Zs.baseDir===r)return Zs.bridge;let n=new Wo({tools:Oc(),baseDir:r}),o=iT({registry:t,readOnlyAdapter:n,hostKind:e,agentsDir:j4(r,"agents")});return Zs={bridge:o,registry:t,hostKind:e,baseDir:r},o}var YT=new Map;function eR(t){let e=YT.get(t.workspaceBaseDir);if(e&&e.registry===t.structuredSessionRegistry&&e.documentManager===t.documentManager&&e.bridge===t.bridge)return e.engine;let r=new Us({bridge:t.bridge,documentManager:t.documentManager,registry:t.structuredSessionRegistry,i18n:t.i18n,...t.traceWriter!==void 0?{traceWriter:t.traceWriter}:{}});return YT.set(t.workspaceBaseDir,{engine:r,registry:t.structuredSessionRegistry,documentManager:t.documentManager,bridge:t.bridge}),r}function tR(t,e,r){let n=.7;if(r&&e){for(let o of r)e.updateQuality(t.id,o.provider,{score:o.score,evaluator:"claude",feedback:o.feedback});n=r.reduce((o,s)=>o+s.score,0)/r.length}else if(e){let o=new Map;for(let a of t.turns){if(a.speaker==="claude")continue;let c=t.turns.filter(d=>d.turnNumber<a.turnNumber).map(d=>({speaker:d.speaker,content:d.content})),u=fi(a.content,c,t.topic),l=o.get(a.speaker)??[];l.push(u.score),o.set(a.speaker,l)}let s=0,i=0;for(let[a,c]of o){let u=c.reduce((l,d)=>l+d,0)/c.length;e.updateQuality(t.id,a,{score:u,evaluator:"auto_rule_based",feedback:`Auto-aggregated from ${c.length} turns`}),s+=u,i++}i>0&&(n=s/i)}return{avgQuality:n}}function cd(t,e,r){r.alreadyConcluded||t.debateEngine.conclude(e);let n=t.debateEngine.buildTurnTranscript(e);return t.debateEngine.delete(e),n}async function rR(t,e){let r=jl.parse(t),n=new Map(r.providers.map(l=>[l,e.registry.get(l)])),o=e.sessionManager.createSession("debate",{topic:r.topic,providers:r.providers,maxRounds:r.max_rounds});e.sessionManager.updateSessionStatus(o.id,"in_progress");let s=e.debateEngine,i=s.create({topic:r.topic,providerIds:r.providers,goal:r.goal}),a=!!(r.goal&&r.validator),c=a?e.registry.get(r.validator):void 0,u=a?r.min_rounds??2:r.max_rounds;return(async()=>{try{let l="";for(let p=0;p<r.max_rounds;p++){for(let[f,m]of n){let h=s.buildPromptForProvider(i.id,f);l&&(h+=`
|
|
334
335
|
|
|
335
336
|
Validator feedback from previous round:
|
|
336
|
-
${l}`);let y=await
|
|
337
|
+
${l}`);let y=await Ha(e.readOnlyAdapter.chat(m,{prompt:h}),f);s.addTurn(i.id,f,y.text)}if(a&&c&&p+1>=u){let f=s.buildTurnTranscript(i.id),m=`Evaluate this debate against the goal: "${r.goal}"
|
|
337
338
|
|
|
338
339
|
Current discussion:
|
|
339
340
|
${f}
|
|
@@ -345,12 +346,12 @@ Respond in JSON:
|
|
|
345
346
|
"accuracy": true/false,
|
|
346
347
|
"consistency": true/false,
|
|
347
348
|
"feedback": "..."
|
|
348
|
-
}`,
|
|
349
|
+
}`,h=await Ha(e.readOnlyAdapter.chat(c,{prompt:m}),c.id);try{let y=JSON.parse(h.text);if(y.goalAchievement&&y.completeness&&y.accuracy&&y.consistency)break;l=String(y.feedback??"")}catch{l=h.text}}}let d=cd(e,i.id,{topic:r.topic,providerIds:r.providers});e.sessionManager.completeSession(o.id,d)}catch(l){let d=N(l);try{s.delete(i.id)}catch{}e.sessionManager.updateSessionStatus(o.id,"failed")}})(),{content:[{type:"text",text:`**Debate started**
|
|
349
350
|
**Session ID:** ${o.id}
|
|
350
351
|
**Topic:** ${r.topic}
|
|
351
352
|
**Participants:** ${r.providers.join(", ")}
|
|
352
353
|
|
|
353
|
-
Use \`agent_debate_status\` to check progress.`}]}}async function
|
|
354
|
+
Use \`agent_debate_status\` to check progress.`}]}}async function nR(t,e){let r=Ll.parse(t),n=e.sessionManager.getSession(r.session_id);if(!n)return{content:[{type:"text",text:`Session not found: ${r.session_id}`}],isError:!0};let o=`**Session ID:** ${n.id}
|
|
354
355
|
**Type:** ${n.type}
|
|
355
356
|
**Status:** ${n.status}
|
|
356
357
|
**Created:** ${n.createdAt}
|
|
@@ -360,7 +361,7 @@ Use \`agent_debate_status\` to check progress.`}]}}async function dS(t,e){let r=
|
|
|
360
361
|
|
|
361
362
|
---
|
|
362
363
|
|
|
363
|
-
${n.result}`),{content:[{type:"text",text:o}]}}async function
|
|
364
|
+
${n.result}`),{content:[{type:"text",text:o}]}}async function oR(t,e){let r=Ml.parse(t),n=new li(e.registry,e.readOnlyAdapter);try{let o=await n.validate({items:r.items.map(i=>({providerId:i.provider,content:i.content,task:i.task})),validators:r.validators?.map(i=>e.registry.get(i)),criteria:r.criteria}),s=`**Cross-Validation ${o.overallPass?"PASSED":"FAILED"}**
|
|
364
365
|
|
|
365
366
|
`;for(let i of o.reviews)s+=`### ${i.targetProvider} reviewed by ${i.reviewerProvider}
|
|
366
367
|
`,s+=`**Result:** ${i.passed?"PASS":"FAIL"}
|
|
@@ -370,13 +371,13 @@ ${n.result}`),{content:[{type:"text",text:o}]}}async function pS(t,e){let r=ac.p
|
|
|
370
371
|
`;return o.conflicts.length>0&&(s+=`## Conflicts
|
|
371
372
|
${o.conflicts.map(i=>`- ${i}`).join(`
|
|
372
373
|
`)}
|
|
373
|
-
`),{content:[{type:"text",text:s}]}}catch(o){return{content:[{type:"text",text:`**Cross-validation failed:** ${
|
|
374
|
+
`),{content:[{type:"text",text:s}]}}catch(o){return{content:[{type:"text",text:`**Cross-validation failed:** ${N(o)}`}],isError:!0}}}async function sR(t,e){let r=ql.parse(t);for(let s of r.providers)s!=="claude"&&e.registry.get(s);let n;return r.save_document&&(n=(await e.documentManager.createDebateDocument({topic:r.topic,providers:r.providers,goal:r.goal})).id),{content:[{type:"text",text:`**Debate created**
|
|
374
375
|
**Debate ID:** ${e.debateEngine.create({topic:r.topic,providerIds:r.providers,goal:r.goal,documentId:n}).id}
|
|
375
376
|
**Topic:** ${r.topic}
|
|
376
377
|
**Participants:** ${r.providers.join(", ")}${n?`
|
|
377
|
-
**Document ID:** ${n}`:""}`}]}}async function
|
|
378
|
+
**Document ID:** ${n}`:""}`}]}}async function iR(t,e){let r=Fl.parse(t),n=e.debateEngine.getState(r.debate_id);if(!n)return{content:[{type:"text",text:`Debate not found: ${r.debate_id}`}],isError:!0};if(n.status==="concluded")return{content:[{type:"text",text:`Debate already concluded: ${r.debate_id}`}],isError:!0};if(r.provider==="claude")return r.claude_comment?(e.debateEngine.addTurn(r.debate_id,"claude",r.claude_comment),n.documentId&&await e.documentManager.addComment(n.documentId,{author:"Claude",content:r.claude_comment}),{content:[{type:"text",text:`**[claude]:** ${r.claude_comment}`}]}):{content:[{type:"text",text:'provider: "claude" requires claude_comment to be set.'}],isError:!0};let o=e.registry.get(r.provider);r.claude_comment&&(e.debateEngine.addTurn(r.debate_id,"claude",r.claude_comment),n.documentId&&await e.documentManager.addComment(n.documentId,{author:"Claude",content:r.claude_comment}));let s=e.debateEngine.buildPromptForProvider(r.debate_id,r.provider),i=e.traceWriter?{candidateProviders:n.providerIds,selectedProvider:r.provider,selectionReason:`Debate turn: ${r.provider}'s turn to respond`,memoryHit:!1}:void 0,a=performance.now(),c;try{c=await e.readOnlyAdapter.chat(o,{prompt:s})}catch(p){let f=Math.round(performance.now()-a),m=N(p);return e.traceWriter&&e.traceWriter.write({traceId:n.id,action:"debate_turn",providerId:r.provider,task:n.topic,request:{promptSummary:s.slice(0,100),fileCount:0},response:{success:!1,charLength:0,error:m},latencyMs:f,reasoning:i}),{content:[{type:"text",text:`**Debate turn failed (${r.provider}):** ${m}`}],isError:!0}}let u=Math.round(performance.now()-a);e.traceWriter&&e.traceWriter.write({traceId:n.id,action:"debate_turn",providerId:r.provider,task:n.topic,request:{promptSummary:s.slice(0,100),fileCount:0},response:{success:!0,charLength:c.text.length},latencyMs:u,reasoning:i});let l=n.turns.map(p=>({speaker:p.speaker,content:p.content})),d=fi(c.text,l,n.topic);return e.traceWriter&&e.traceWriter.updateQuality(n.id,r.provider,{score:d.score,evaluator:"auto_rule_based",feedback:JSON.stringify(d.breakdown)}),e.debateEngine.addTurn(r.debate_id,r.provider,c.text),n.documentId&&await e.documentManager.addComment(n.documentId,{author:r.provider,content:c.text}),{content:[{type:"text",text:`**[${r.provider}]:** ${c.text}
|
|
378
379
|
|
|
379
|
-
_Quality: ${d.score.toFixed(2)}_`}]}}async function
|
|
380
|
+
_Quality: ${d.score.toFixed(2)}_`}]}}async function aR(t,e){let r=Ul.parse(t),n=e.debateEngine.getState(r.debate_id);if(!n)return{content:[{type:"text",text:`Debate not found: ${r.debate_id}`}],isError:!0};r.summary&&(e.debateEngine.addTurn(r.debate_id,"claude",r.summary),n.documentId&&await e.documentManager.addComment(n.documentId,{author:"Claude (Summary)",content:r.summary})),e.debateEngine.conclude(r.debate_id);let{avgQuality:o}=tR(n,e.traceWriter,r.quality_scores),s=cd(e,r.debate_id,{topic:n.topic,providerIds:n.providerIds,importance:.5+o*.5,confidence:o,alreadyConcluded:!0}),i=`**Debate concluded**
|
|
380
381
|
**Debate ID:** ${r.debate_id}
|
|
381
382
|
**Topic:** ${n.topic}
|
|
382
383
|
**Turns:** ${n.turns.length}`;return n.documentId&&(i+=`
|
|
@@ -384,13 +385,13 @@ _Quality: ${d.score.toFixed(2)}_`}]}}async function hS(t,e){let r=dc.parse(t),n=
|
|
|
384
385
|
|
|
385
386
|
---
|
|
386
387
|
|
|
387
|
-
${s}`,{content:[{type:"text",text:i}]}}async function
|
|
388
|
+
${s}`,{content:[{type:"text",text:i}]}}async function cR(t,e,r,n){e&&await t.documentManager.addComment(e,{author:r,content:n})}function ud(t){switch(t.kind){case"agree":return"AGREES";case"disagree":return"DISAGREES";case"parseError":return"PARSE_ERROR";case"unavailable":return"UNAVAILABLE"}}function ld(t){switch(t.kind){case"agree":case"disagree":{let e=t.suggestions?`
|
|
388
389
|
|
|
389
390
|
**Suggestions:** ${t.suggestions}`:"";return`${t.feedback}${e}`}case"parseError":return`[Parse error: ${t.reason}]
|
|
390
391
|
|
|
391
392
|
**Raw response:**
|
|
392
393
|
|
|
393
|
-
${t.rawResponse}`;case"unavailable":return`[Provider unavailable: ${t.reason}]`}}async function
|
|
394
|
+
${t.rawResponse}`;case"unavailable":return`[Provider unavailable: ${t.reason}]`}}async function uR(t,e,r,n,o){if(!e)return;let s=await t.documentManager.createReview({files:[],rules:[`Independent review from ${o.provider}`,`Parent document: ${e}`,...r?[`Debate ID: ${r}`]:[]],provider:o.provider,topic:`review-${e.slice(0,12)}`});await t.documentManager.addComment(s.id,{author:"Moderator",content:`## Review Target
|
|
394
395
|
|
|
395
396
|
Parent document: ${e}${r?`
|
|
396
397
|
Debate ID: ${r}`:""}
|
|
@@ -401,27 +402,27 @@ ${n}`});let i=o.rawResponse?`
|
|
|
401
402
|
|
|
402
403
|
**Raw response:**
|
|
403
404
|
|
|
404
|
-
${o.rawResponse}`:"";return await t.documentManager.addComment(s.id,{author:`${o.provider} (independent review)`,content:`**${
|
|
405
|
+
${o.rawResponse}`:"";return await t.documentManager.addComment(s.id,{author:`${o.provider} (independent review)`,content:`**${ud(o.outcome)}**
|
|
405
406
|
|
|
406
|
-
${
|
|
407
|
-
${
|
|
408
|
-
**Excluded Providers:** ${o.map(v=>`${v.id} (${v.reason})`).join(", ")}`;if(n.length===0)return{content:[{type:"text",text:`No review-capable providers remain after exclusions.${a}`}],isError:!0};let c=
|
|
407
|
+
${ld(o.outcome)}${i}`}),s.id}function M4(t){return`${t?.trim()??"Review the following document carefully and state whether you agree with its content."}
|
|
408
|
+
${Yy}`}function L4(t){let e=Bo(t);if(e===null||typeof e!="object")return{kind:"parseError",rawResponse:t,reason:"Response did not contain a parseable JSON object."};let r=WE.safeParse(e);if(!r.success)return{kind:"parseError",rawResponse:t,reason:`Response JSON did not match review contract: ${r.error.message}`};let{agrees:n,feedback:o,suggestions:s}=r.data;return n?{kind:"agree",feedback:o,suggestions:s}:{kind:"disagree",feedback:o,suggestions:s}}async function lR(t,e){let r=Zl.parse(t),n=[...r.providers],o=[],s=r.debate_id?e.debateEngine.getState(r.debate_id):void 0,i=s?.documentId;if(r.debate_id&&s){let v=new Set(e.debateEngine.getActiveProviders(r.debate_id)),b=[];for(let _ of n)if(_==="claude"||v.has(_))b.push(_);else{let k=(s.unavailableProviders??[]).find(x=>x.providerId===_);o.push({id:_,reason:k?`Marked unavailable for this debate: ${k.reason}`:"Not currently active in this debate."})}n=b}let a=o.length===0?"":`
|
|
409
|
+
**Excluded Providers:** ${o.map(v=>`${v.id} (${v.reason})`).join(", ")}`;if(n.length===0)return{content:[{type:"text",text:`No review-capable providers remain after exclusions.${a}`}],isError:!0};let c=M4(r.review_prompt),u=[],l=n.map(async v=>{if(v==="claude")return null;let b=e.registry.get(v),_=`${c}
|
|
409
410
|
|
|
410
411
|
---
|
|
411
412
|
|
|
412
|
-
${r.document}`,
|
|
413
|
+
${r.document}`,k,x;try{let P=await Ha(e.readOnlyAdapter.chat(b,{prompt:_}),v);k=P.text,x=L4(P.text)}catch(P){let M=N(P);if(x={kind:"unavailable",reason:M},r.debate_id&&s){let q=P instanceof Se?`Provider reported unavailable: ${M}`:`Chat failed: ${M}`;e.debateEngine.markProviderUnavailable(r.debate_id,v,q),s=e.debateEngine.getState(r.debate_id)}}let L={provider:v,outcome:x,rawResponse:k};if(L.linkedDocumentId=await uR(e,i,r.debate_id,r.document,L),i){let P=ld(L.outcome),M=L.linkedDocumentId?`
|
|
413
414
|
|
|
414
|
-
**Independent review document:** ${
|
|
415
|
+
**Independent review document:** ${L.linkedDocumentId}`:"";await e.documentManager.addComment(i,{author:`${v} (review)`,content:`**${ud(L.outcome)}**
|
|
415
416
|
|
|
416
|
-
${
|
|
417
|
+
${P}${M}`})}return L}),d=await Promise.all(l);for(let v of d)v&&u.push(v);let p=u.filter(v=>v.outcome.kind==="agree"||v.outcome.kind==="disagree"),f=u.length>0&&p.length===u.length&&p.every(v=>v.outcome.kind==="agree"),m=u.filter(v=>v.outcome.kind==="parseError"||v.outcome.kind==="unavailable"),y=`**Document Review** \u2014 ${f?"ALL AGREE \u2713":m.length>0&&p.length===0?"NO RESPONSES":"DISAGREEMENTS FOUND"}${a}
|
|
417
418
|
|
|
418
|
-
`;for(let v of u)y+=`### ${v.provider}: ${
|
|
419
|
-
`,y+=`${
|
|
419
|
+
`;for(let v of u)y+=`### ${v.provider}: ${ud(v.outcome)}
|
|
420
|
+
`,y+=`${ld(v.outcome)}
|
|
420
421
|
`,v.linkedDocumentId&&(y+=`**Independent review document:** ${v.linkedDocumentId}
|
|
421
422
|
`),y+=`
|
|
422
423
|
`;if(!f){let v=m.length>0?`Revise the document addressing the feedback above. Note: ${m.length} provider(s) did not return a definite agree/disagree (parseError or unavailable) \u2014 they are NOT counted as agreement. Call \`agent_debate_review\` again with an updated document or a narrower providers list.`:"Revise the document addressing the feedback above, then call `agent_debate_review` again to check for consensus.";y+=`---
|
|
423
424
|
|
|
424
|
-
**Next step:** ${v}`}return await
|
|
425
|
+
**Next step:** ${v}`}return await cR(e,i,"Moderator (Review Aggregation)",y),{content:[{type:"text",text:y}]}}async function dR(t,e){let r=Vl.parse(t);if(!e.cliWorkerManager)return{content:[{type:"text",text:"CLI worker manager is not available."}],isError:!0};let n;try{n=e.cliWorkerManager.reviewChanges(r.task_id)}catch(s){return{content:[{type:"text",text:N(s)}],isError:!0}}let o=`**File Change Review**
|
|
425
426
|
**Task ID:** ${r.task_id}
|
|
426
427
|
**Worktree:** ${n.worktreePath}
|
|
427
428
|
**Branch:** ${n.branch}
|
|
@@ -435,25 +436,25 @@ ${n.diffStat}
|
|
|
435
436
|
### Changes
|
|
436
437
|
\`\`\`diff
|
|
437
438
|
${n.fullDiff}
|
|
438
|
-
\`\`\``,{content:[{type:"text",text:o}]}}async function
|
|
439
|
+
\`\`\``,{content:[{type:"text",text:o}]}}async function pR(t,e){let r=Bl.parse(t);if(!e.cliWorkerManager)return{content:[{type:"text",text:"CLI worker manager is not available."}],isError:!0};try{let n=e.cliWorkerManager.acceptChanges(r.task_id,r.message);return{content:[{type:"text",text:`**Changes accepted**
|
|
439
440
|
**Task ID:** ${r.task_id}
|
|
440
441
|
**Merged files:** ${n.merged.length}
|
|
441
442
|
|
|
442
443
|
${n.merged.map(o=>`- ${o}`).join(`
|
|
443
|
-
`)||"(no files)"}`}]}}catch(n){return{content:[{type:"text",text:`**Accept failed:** ${
|
|
444
|
+
`)||"(no files)"}`}]}}catch(n){return{content:[{type:"text",text:`**Accept failed:** ${N(n)}`}],isError:!0}}}async function fR(t,e){let r=Wl.parse(t);if(!e.cliWorkerManager)return{content:[{type:"text",text:"CLI worker manager is not available."}],isError:!0};try{e.cliWorkerManager.rejectChanges(r.task_id)}catch(o){return{content:[{type:"text",text:N(o)}],isError:!0}}let n=`**Changes rejected**
|
|
444
445
|
**Task ID:** ${r.task_id}`;return r.reason&&(n+=`
|
|
445
|
-
**Reason:** ${r.reason}`),{content:[{type:"text",text:n}]}}import{join as
|
|
446
|
+
**Reason:** ${r.reason}`),{content:[{type:"text",text:n}]}}import{join as q4}from"path";var F4="unknown";async function mR(t,e,r){let n=r.workspaceBaseDir??process.cwd(),o=r.structuredSessionRegistry??new Fs(q4(n,Ks)),s=ad(r.registry,r.sessionContext?.hostKind??F4,n),i=r.moderatorEngine??eR({workspaceBaseDir:n,bridge:s,documentManager:r.documentManager,structuredSessionRegistry:o,i18n:r.i18n,...r.traceWriter!==void 0?{traceWriter:r.traceWriter}:{}}),a={...r,debateEngine:XT(),readOnlyAdapter:QT(n),structuredSessionRegistry:o,moderatorEngine:i};switch(t){case"agent_debate_start":return rR(e,a);case"agent_debate_status":return nR(e,a);case"agent_cross_validate":return oR(e,a);case"agent_debate_create":return sR(e,a);case"agent_debate_turn":return iR(e,a);case"agent_debate_conclude":return aR(e,a);case"agent_debate_review":return lR(e,a);case"agent_changes_review":return dR(e,a);case"agent_changes_accept":return pR(e,a);case"agent_changes_reject":return fR(e,a);case Yl:return HE(e,a);case Ns:return KE(e,a);case js:return JE(e,a);case Ms:return GE(e,a);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}var fy={};lt(fy,{getTools:()=>U4,handleTool:()=>G4});var hR=g.object({files:g.array(g.string()).min(1).describe("File paths to include in the review"),rules:g.array(g.string()).describe("Review rules/guidelines to apply")}),gR=g.object({doc_id:g.string().describe("Document ID to request review for"),provider:g.union([g.string(),g.array(g.string()).min(1)]).describe("Provider ID(s) to perform the review")}),yR=g.object({session_id:g.string().describe("Session ID returned by workspace_request_review")}),vR=g.object({doc_id:g.string().describe("Document ID to comment on"),author:g.string().describe("Comment author name"),content:g.string().describe("Comment content")}),_R=g.object({doc_id:g.string().describe("Document ID to read")}),bR=g.object({title:g.string().describe("Document title"),content:g.string().describe("Document content (markdown)"),metadata:g.record(g.string()).optional().describe("Optional key-value metadata (e.g. Provider, Task, Mode)"),kind:g.enum(["individual","debate","synthesis","general"]).optional().describe("Semantic placement: 'individual' (per-provider independent work) \u2192 individual/, 'debate' (round-by-round working docs) \u2192 debates/, 'synthesis' (final consensus) \u2192 synthesis/, 'general' (default, legacy) \u2192 reviews/. Always pass an explicit kind for idea/review workflows so the workspace tree stays sorted.")}),wR=g.object({});function U4(){return[{name:"workspace_create_review",title:"Create Code Review",description:"Create a code review document for the specified files with given review rules.",inputSchema:G(hR)},{name:"workspace_request_review",title:"Request Code Review",description:"Request AI provider(s) to perform a code review on an existing review document. Returns immediately with a session ID. Use workspace_review_status to check progress.",inputSchema:G(gR)},{name:"workspace_review_status",title:"Check Review Status",description:"Check the status of an async review session started by workspace_request_review.",inputSchema:G(yR)},{name:"workspace_add_comment",title:"Add Review Comment",description:"Add a comment to an existing review document.",inputSchema:G(vR)},{name:"workspace_create_document",title:"Create Document",description:"Create a general-purpose workspace document with a title, content, and optional metadata. Use for independent analysis documents, aggregated reports, or any structured output.",inputSchema:G(bR)},{name:"workspace_read",title:"Read Document",description:"Read the contents of a workspace document.",inputSchema:G(_R)},{name:"workspace_list",title:"List Documents",description:"List all workspace documents.",inputSchema:G(wR)}]}async function Z4(t,e){let r=hR.parse(t),n=await e.documentManager.createReview({files:r.files,rules:r.rules});return{content:[{type:"text",text:`**Review created**
|
|
446
447
|
**Document ID:** ${n.id}
|
|
447
448
|
**Path:** ${n.path}
|
|
448
449
|
**Files:** ${r.files.join(", ")}
|
|
449
|
-
**Rules:** ${r.rules.length}`}]}}async function
|
|
450
|
+
**Rules:** ${r.rules.length}`}]}}async function V4(t,e){let r=gR.parse(t),n=Array.isArray(r.provider)?r.provider:[r.provider],o=[];for(let c of n){let u=e.registry.get(c);o.push({id:c,provider:u})}let s=await e.documentManager.read(r.doc_id),i=e.sessionManager.createSession("review",{doc_id:r.doc_id,providers:n,completed:[],failed:[]});e.sessionManager.updateSessionStatus(i.id,"in_progress");let a=o.map(async({id:c,provider:u})=>{try{let l=await u.chat({prompt:`Please review the following document and provide feedback:
|
|
450
451
|
|
|
451
|
-
${s.content}`,system:"You are a code reviewer. Provide detailed, actionable feedback."});await e.documentManager.addComment(r.doc_id,{author:`AI (${c})`,content:l.text});let d=e.sessionManager.getSession(i.id);if(d){let p=d.config.completed||[];p.push(c),d.config.completed=p}}catch(l){let d=
|
|
452
|
+
${s.content}`,system:"You are a code reviewer. Provide detailed, actionable feedback."});await e.documentManager.addComment(r.doc_id,{author:`AI (${c})`,content:l.text});let d=e.sessionManager.getSession(i.id);if(d){let p=d.config.completed||[];p.push(c),d.config.completed=p}}catch(l){let d=N(l);try{await e.documentManager.addComment(r.doc_id,{author:`AI (${c})`,content:`**Review failed:** ${d}`})}catch{}let p=e.sessionManager.getSession(i.id);if(p){let f=p.config.failed||[];f.push(c),p.config.failed=f}}});return Promise.all(a).then(()=>{try{let c=e.sessionManager.getSession(i.id),u=c?.config.completed||[],l=c?.config.failed||[],d=`Completed: ${u.join(", ")||"none"}. Failed: ${l.join(", ")||"none"}.`,p=sp({providers:n.length,failed:l.length});e.sessionManager.transitionSession(i.id,p,d)}catch{}}),{content:[{type:"text",text:`**Review started (async)**
|
|
452
453
|
**Session ID:** ${i.id}
|
|
453
454
|
**Document ID:** ${r.doc_id}
|
|
454
455
|
**Providers:** ${n.join(", ")}
|
|
455
456
|
|
|
456
|
-
Use \`workspace_review_status\` with session_id to check progress.`}]}}async function
|
|
457
|
+
Use \`workspace_review_status\` with session_id to check progress.`}]}}async function B4(t,e){let r=yR.parse(t),n=e.sessionManager.getSession(r.session_id);if(!n)return{content:[{type:"text",text:`Session not found: ${r.session_id}`}],isError:!0};let o=n.config.providers||[],s=n.config.completed||[],i=n.config.failed||[],a=o.filter(u=>!s.includes(u)&&!i.includes(u)),c=`**Review Session Status**
|
|
457
458
|
`;return c+=`**Session ID:** ${n.id}
|
|
458
459
|
`,c+=`**Status:** ${n.status}
|
|
459
460
|
`,c+=`**Document:** ${n.config.doc_id}
|
|
@@ -463,30 +464,30 @@ Use \`workspace_review_status\` with session_id to check progress.`}]}}async fun
|
|
|
463
464
|
`,c+=`- Failed: ${i.join(", ")||"none"}
|
|
464
465
|
`,c+=`- Pending: ${a.join(", ")||"none"}
|
|
465
466
|
`,n.result&&(c+=`
|
|
466
|
-
**Result:** ${n.result}`),{content:[{type:"text",text:c}]}}async function
|
|
467
|
+
**Result:** ${n.result}`),{content:[{type:"text",text:c}]}}async function W4(t,e){let r=vR.parse(t);return await e.documentManager.addComment(r.doc_id,{author:r.author,content:r.content}),{content:[{type:"text",text:`**Comment added**
|
|
467
468
|
**Document ID:** ${r.doc_id}
|
|
468
469
|
**Author:** ${r.author}
|
|
469
470
|
|
|
470
|
-
${r.content}`}]}}async function
|
|
471
|
+
${r.content}`}]}}async function H4(t,e){let r=bR.parse(t),n=await e.documentManager.createDocument({title:r.title,content:r.content,metadata:r.metadata,kind:r.kind});return{content:[{type:"text",text:`**Document created**
|
|
471
472
|
**Document ID:** ${n.id}
|
|
472
473
|
**Path:** ${n.path}
|
|
473
|
-
**Title:** ${r.title}`}]}}async function
|
|
474
|
+
**Title:** ${r.title}`}]}}async function K4(t,e){let r=_R.parse(t),n=await e.documentManager.read(r.doc_id);return{content:[{type:"text",text:`**Document ID:** ${n.id}
|
|
474
475
|
**Path:** ${n.path}
|
|
475
476
|
|
|
476
|
-
${n.content}`}]}}async function
|
|
477
|
+
${n.content}`}]}}async function J4(t,e){wR.parse(t);let r=await e.documentManager.list();if(r.length===0)return{content:[{type:"text",text:"No workspace documents found."}]};let n=`# Workspace Documents
|
|
477
478
|
|
|
478
479
|
**Total:** ${r.length}
|
|
479
480
|
|
|
480
481
|
`;for(let o of r){let s=o.content.slice(0,100).replace(/\n/g," ");n+=`- **${o.id}** \u2014 ${s}...
|
|
481
|
-
`}return{content:[{type:"text",text:n}]}}async function
|
|
482
|
+
`}return{content:[{type:"text",text:n}]}}async function G4(t,e,r){switch(t){case"workspace_create_review":return Z4(e,r);case"workspace_request_review":return V4(e,r);case"workspace_review_status":return B4(e,r);case"workspace_add_comment":return W4(e,r);case"workspace_create_document":return H4(e,r);case"workspace_read":return K4(e,r);case"workspace_list":return J4(e,r);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}var my={};lt(my,{getTools:()=>Q4,handleTool:()=>tW});function dd(t,e){return t==="claude-only"&&e!=="claude-code"?"leader-only":t}var Y4=g.object({provider:g.string().optional().describe("Provider ID to check (omit to check all)")});function Q4(){return[{name:"provider_list",title:"List AI Providers",description:"List all registered AI providers with their availability status and capabilities.",inputSchema:{type:"object",properties:{},required:[]}},{name:"provider_health",title:"Check Provider Health",description:"Run health checks on AI providers. Optionally specify a provider ID, or omit to check all.",inputSchema:{type:"object",properties:{provider:{type:"string",description:"Provider ID to check (omit to check all)"}},required:[]}}]}async function X4(t){let e=t.registry.getAll();if(e.length===0)return{content:[{type:"text",text:"No providers registered."}]};let r=`# Registered Providers (${e.length})
|
|
482
483
|
|
|
483
484
|
`;t.sessionContext&&(r+=`## Host Session
|
|
484
485
|
`,r+=`- **Host:** ${t.sessionContext.hostId} (${t.sessionContext.hostKind})
|
|
485
486
|
`,r+=`- **Leader Provider:** ${t.sessionContext.leaderProviderId}
|
|
486
|
-
`,r+=`- **Execution Mode:** ${
|
|
487
|
+
`,r+=`- **Execution Mode:** ${dd(t.sessionContext.executionMode,t.sessionContext.hostKind)}
|
|
487
488
|
`,r+=`- **Participants:** ${t.sessionContext.participantProviderIds.join(", ")}
|
|
488
489
|
|
|
489
|
-
`);for(let n of e){let o=n.isAvailable(),s=n.getCapabilities(),i=typeof t.registry.getDescriptor=="function"?t.registry.getDescriptor(n.id):
|
|
490
|
+
`);for(let n of e){let o=n.isAvailable(),s=n.getCapabilities(),i=typeof t.registry.getDescriptor=="function"?t.registry.getDescriptor(n.id):Gr(n,s),a=o?"Available":"Unavailable";r+=`## ${n.id} (${n.type})
|
|
490
491
|
`,r+=`- **Status:** ${a}
|
|
491
492
|
`,r+=`- **Invocation:** ${i.invocation}
|
|
492
493
|
`,r+=`- **Roles:** ${i.roles.join(", ")}
|
|
@@ -501,33 +502,33 @@ ${n.content}`}]}}async function lj(t,e){RS.parse(t);let r=await e.documentManage
|
|
|
501
502
|
`,s.strengths.length>0&&(r+=`- **Strengths:** ${s.strengths.join(", ")}
|
|
502
503
|
`),s.models.length>0&&(r+=`- **Models:** ${s.models.map(c=>c.name).join(", ")}
|
|
503
504
|
`),r+=`
|
|
504
|
-
`}return{content:[{type:"text",text:r}]}}async function
|
|
505
|
+
`}return{content:[{type:"text",text:r}]}}async function eW(t,e){let r=Y4.parse(t),n=r.provider?[e.registry.get(r.provider)]:e.registry.getAll();if(n.length===0)return{content:[{type:"text",text:"No providers to check."}]};let o=await Promise.all(n.map(async i=>{try{let a=await i.healthCheck();return{id:i.id,type:i.type,status:a.status,message:a.message,details:a.details,error:null}}catch(a){return{id:i.id,type:i.type,status:"error",message:N(a),details:void 0,error:N(a)}}})),s=`# Health Check Results
|
|
505
506
|
|
|
506
507
|
`;for(let i of o){let a=i.status==="ok"?"OK":i.status==="degraded"?"DEGRADED":"ERROR";s+=`## ${i.id} (${i.type})
|
|
507
508
|
`,s+=`- **Status:** ${a}
|
|
508
509
|
`,i.message&&(s+=`- **Message:** ${i.message}
|
|
509
510
|
`),i.error&&(s+=`- **Error:** ${i.error}
|
|
510
511
|
`),s+=`
|
|
511
|
-
`}return{content:[{type:"text",text:s}]}}async function
|
|
512
|
-
`)}]}}async function
|
|
513
|
-
`)}]}}async function
|
|
512
|
+
`}return{content:[{type:"text",text:s}]}}async function tW(t,e,r){switch(t){case"provider_list":return X4(r);case"provider_health":return eW(e,r);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}var gy={};lt(gy,{getTools:()=>fW,handleTool:()=>gW});import{existsSync as aW,readFileSync as cW}from"fs";import{readFileSync as rW,existsSync as nW}from"fs";var oW={ollama:{executionPolicy:"workspace-write",config:{host:Hs,defaultModel:"auto"}},"gemini-cli":{executionPolicy:Dr("gemini-cli"),config:{timeout:12e4}},"codex-cli":{executionPolicy:Dr("codex-cli"),config:{timeout:12e4}},"claude-cli":{executionPolicy:Dr("claude-cli"),config:{timeout:12e4}}};async function Vs(t){let e=t?.workspaceBaseDir,r=[{id:"ollama",type:"ollama",provider:new Wn({id:"ollama",host:Hs})},{id:"gemini",type:"gemini-cli",provider:new Hn({id:"gemini"})},{id:"codex",type:"codex-cli",provider:new Kn({id:"codex",workspaceBaseDir:e})},{id:"claude-cli",type:"claude-cli",provider:new Jn({id:"claude-cli"})}],n=[],o=[];await Promise.all(r.map(async i=>{try{await i.provider.initialize()}catch{}let a=i.provider.isAvailable();n.push({id:i.id,type:i.type,available:a}),a&&o.push(i.provider)}));let s=["ollama","gemini","codex","claude-cli"];return n.sort((i,a)=>s.indexOf(i.id)-s.indexOf(a.id)),o.sort((i,a)=>s.indexOf(i.id)-s.indexOf(a.id)),{results:n,providers:o}}function sW(t){if(!nW(t))return null;try{return JSON.parse(rW(t,"utf-8"))}catch{return null}}function iW(t){return t==="auto"?"auto":"default-only"}function $R(t,e,r){let n=sW(t),o=new Set(r.enabledIds??[]),s=new Map((n?.providers??[]).map(d=>[d.id,d])),i=e.map(d=>{let p=oW[d.type]||{executionPolicy:Dr(d.type),config:{}},f=s.get(d.id);return s.delete(d.id),{id:d.id,type:d.type,enabled:d.available&&o.has(d.id),executionPolicy:f?.executionPolicy??p.executionPolicy,config:{...f?.config??p.config}}});for(let d of s.values())i.push({...d,enabled:o.has(d.id)?d.enabled:!1});if(i.length===0)throw new Error("No providers available to write into providers.config.json");let a={selectionPolicy:iW(r.selectionPolicy??n?.selectionPolicy),...r.locale!==void 0?{locale:r.locale}:n?.locale!==void 0?{locale:n.locale}:{},providers:i},c=n?JSON.stringify(n):null,u=JSON.stringify(a),l=c===null?"created":c===u?"unchanged":"updated";return!r.dryRun&&l!=="unchanged"&&(hv(t),Ve(t,a)),{action:l,path:t,config:a}}function SR(t,e){hy(t,e)}function hy(t,e,r){let n=[];for(let o of t)e.has(o.id)||r?.excludeIds?.has(o.id)||r?.excludeTypes?.has(o.type)||(e.register(o),n.push(o));return n}var uW=g.object({}),lW=g.object({enabled_providers:g.array(g.string()).describe("Provider IDs to enable for Agestra workflows."),locale:g.enum(["ko","en","ja","zh"]).describe("UI language for moderator/setup-facing text."),selection_policy:g.enum(["default-only","auto"]).optional().default("default-only").describe("Provider selection policy stored in providers.config.json."),dry_run:g.boolean().optional().default(!1).describe("When true, compute the resulting config without writing it to disk.")});function dW(t){if(!aW(t))return null;try{return JSON.parse(cW(t,"utf-8"))}catch{return null}}function pW(t,e){if(!t)return["Current config: not found",`Expected location: ${e}`];let r=t.providers.filter(n=>n.enabled);return[`Current config: ${r.length>0?"present":"present (no providers enabled)"}`,`Config path: ${e}`,`Enabled providers: ${r.length>0?r.map(n=>n.id).join(", "):"(none)"}`,`Locale: ${t.locale??"(default)"}`,`Selection policy: ${t.selectionPolicy}`]}function fW(){return[{name:"setup_status",title:"Read Agestra Setup Status",description:"Detect available AI providers and show the current Agestra setup state from providers.config.json.",inputSchema:{type:"object",properties:{},required:[]}},{name:"setup_apply",title:"Apply Agestra Setup",description:"Write the selected AI providers and locale into providers.config.json for Agestra workflows.",inputSchema:{type:"object",properties:{enabled_providers:{type:"array",items:{type:"string"},description:"Provider IDs to enable"},locale:{type:"string",enum:["ko","en","ja","zh"],description:"UI locale"},selection_policy:{type:"string",enum:["default-only","auto"],description:"Stored provider selection policy"},dry_run:{type:"boolean",description:"Preview without writing providers.config.json"}},required:["enabled_providers","locale"]}}]}async function mW(t){let e=ei(),r=dW(e),{results:n}=await Vs(t.workspaceBaseDir!==void 0?{workspaceBaseDir:t.workspaceBaseDir}:void 0),o=["# Agestra Setup"];if(o.push(""),o.push(...pW(r,e)),o.push(""),o.push("Detected providers:"),n.length===0)o.push("- (none detected)");else for(let s of n)o.push(`- ${s.id} (${s.type}) \u2014 ${s.available?"available":"unavailable"}`);return{content:[{type:"text",text:o.join(`
|
|
513
|
+
`)}]}}async function hW(t,e){let r=lW.parse(t),n=ei(),{results:o}=await Vs(e.workspaceBaseDir!==void 0?{workspaceBaseDir:e.workspaceBaseDir}:void 0);if(o.length===0)return{content:[{type:"text",text:"No AI providers were detected, so setup could not be applied."}],isError:!0};let s=new Set(o.filter(l=>l.available).map(l=>l.id)),i=r.enabled_providers.filter(l=>!s.has(l));if(i.length>0)return{content:[{type:"text",text:`These providers are not currently available and cannot be enabled: ${i.join(", ")}`}],isError:!0};let a=$R(n,o,{enabledIds:r.enabled_providers,locale:r.locale,selectionPolicy:r.selection_policy,dryRun:r.dry_run}),c=a.config.providers.filter(l=>l.enabled);return{content:[{type:"text",text:[r.dry_run?"# Agestra Setup Preview":"# Agestra Setup Applied","",`Config path: ${a.path}`,`Action: ${a.action}`,`Enabled providers: ${c.length>0?c.map(l=>l.id).join(", "):"(none)"}`,`Locale: ${a.config.locale??"(default)"}`,`Selection policy: ${a.config.selectionPolicy}`].join(`
|
|
514
|
+
`)}]}}async function gW(t,e,r){switch(t){case"setup_status":return uW.parse(e),mW(r);case"setup_apply":return hW(e,r);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}var yy={};lt(yy,{getTools:()=>vW,handleTool:()=>wW});var yW=g.object({model:g.string().describe("Model name to download (e.g. 'llama3', 'codellama')")});function vW(){return[{name:"ollama_models",title:"List Ollama Models",description:"List installed Ollama models with their sizes and capabilities.",inputSchema:{type:"object",properties:{},required:[]}},{name:"ollama_pull",title:"Pull Ollama Model",description:"Download (pull) a model from the Ollama registry.",inputSchema:{type:"object",properties:{model:{type:"string",description:"Model name to download (e.g. 'llama3', 'codellama')"}},required:["model"]}}]}function xR(t){let e=t.ollamaProviderId||"ollama",r=t.registry.get(e);if(r.type!=="ollama")throw new Error(`Provider '${e}' is not an Ollama provider (type: ${r.type})`);return r}async function _W(t){let r=xR(t).getModels();if(r.length===0)return{content:[{type:"text",text:"No models installed. Use `ollama_pull` to download a model."}]};let n=`# Installed Ollama Models (${r.length})
|
|
514
515
|
|
|
515
516
|
`;for(let o of r){let s=(o.size/1e9).toFixed(1);n+=`## ${o.name}
|
|
516
517
|
`,n+=`- **Size:** ${s} GB
|
|
517
518
|
`,o.strengths.length>0&&(n+=`- **Strengths:** ${o.strengths.join(", ")}
|
|
518
519
|
`),n+=`
|
|
519
|
-
`}return{content:[{type:"text",text:n}]}}async function
|
|
520
|
+
`}return{content:[{type:"text",text:n}]}}async function bW(t,e){let r=yW.parse(t),n=xR(e);try{let o=n.getConnectionInfo().host,s=await fetch(`${o}/api/pull`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r.model,stream:!1})});if(!s.ok){let a=await s.text();return{content:[{type:"text",text:`**Pull failed**
|
|
520
521
|
**Model:** ${r.model}
|
|
521
522
|
**Error:** HTTP ${s.status}: ${a}`}],isError:!0}}let i=await s.json();return{content:[{type:"text",text:`**Model pulled successfully**
|
|
522
523
|
**Model:** ${r.model}
|
|
523
|
-
**Status:** ${i.status||"success"}`}]}}catch(o){let s=
|
|
524
|
+
**Status:** ${i.status||"success"}`}]}}catch(o){let s=N(o);return{content:[{type:"text",text:`**Pull failed**
|
|
524
525
|
**Model:** ${r.model}
|
|
525
|
-
**Error:** ${s}`}],isError:!0}}}async function
|
|
526
|
+
**Error:** ${s}`}],isError:!0}}}async function wW(t,e,r){switch(t){case"ollama_models":return _W(r);case"ollama_pull":return bW(e,r);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}var vy={};lt(vy,{getTools:()=>SW,handleTool:()=>PW});var $W=g.object({title:g.string().describe("Document title"),metadata:g.record(g.string()).optional().describe("Optional key-value metadata"),kind:g.enum(["individual","debate","synthesis","general"]).optional().describe("Semantic placement: 'individual' / 'debate' / 'synthesis' / 'general' (default).")}).optional(),kR=g.object({provider:g.string().describe("Provider ID (e.g. 'gemini', 'codex')"),prompt:g.string().describe("Prompt to send to the provider CLI"),timeout:g.number().int().positive().optional().describe("Timeout in ms (default: 300000)"),save_as_document:$W.describe("If set, the job output will be saved as a workspace document on completion. Returned via cli_job_status once finalized.")}).strict(),PR=g.object({job_id:g.string().describe("Job ID returned by cli_job_submit")});function SW(){return[{name:"cli_job_submit",title:"Submit CLI Job",description:"Submit a long-running CLI job to a provider. Returns a job ID immediately. Use cli_job_status to check progress.",inputSchema:G(kR)},{name:"cli_job_status",title:"Check CLI Job Status",description:"Check the status of a CLI job. Returns state, output (on completion), and stderr.",inputSchema:G(PR)}]}async function xW(t,e){let r=kR.parse(t),n=e.jobManager.submit({provider:r.provider,prompt:r.prompt,timeout:r.timeout,saveAsDocument:r.save_as_document}),o=r.save_as_document?`
|
|
526
527
|
**Save on complete:** ${r.save_as_document.title}`:"";return{content:[{type:"text",text:`**Job submitted**
|
|
527
528
|
**Job ID:** ${n}
|
|
528
529
|
**Provider:** ${r.provider}${o}
|
|
529
530
|
|
|
530
|
-
Use \`cli_job_status\` with this job_id to check progress.`}]}}async function
|
|
531
|
+
Use \`cli_job_status\` with this job_id to check progress.`}]}}async function kW(t,e){let r=PR.parse(t),n=typeof e.jobManager.getResultAwaited=="function"?await e.jobManager.getResultAwaited(r.job_id):e.jobManager.getResult(r.job_id);if(!n)return{content:[{type:"text",text:`Job not found: ${r.job_id}`}],isError:!0};let o=`**Job ID:** ${n.id}
|
|
531
532
|
**State:** ${n.state}`;return n.exitCode!==void 0&&(o+=`
|
|
532
533
|
**Exit Code:** ${n.exitCode}`),n.savedDocumentId?o+=`
|
|
533
534
|
**Document ID:** ${n.savedDocumentId}`:n.saveError&&(o+=`
|
|
@@ -539,10 +540,10 @@ Use \`cli_job_status\` with this job_id to check progress.`}]}}async function Fj
|
|
|
539
540
|
${n.output}`),n.error&&(o+=`
|
|
540
541
|
|
|
541
542
|
**Stderr:**
|
|
542
|
-
${n.error}`),{content:[{type:"text",text:o}],isError:n.state==="error"||n.state==="missing_cli"}}async function
|
|
543
|
+
${n.error}`),{content:[{type:"text",text:o}],isError:n.state==="error"||n.state==="missing_cli"}}async function PW(t,e,r){switch(t){case"cli_job_submit":return xW(e,r);case"cli_job_status":return kW(e,r);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}var _y={};lt(_y,{getTools:()=>EW,handleTool:()=>TW});var ER=g.object({provider_id:g.string().optional(),task:g.string().optional(),trace_id:g.string().optional(),days_back:g.number().optional().default(7),limit:g.number().optional().default(50)}),TR=g.object({days_back:g.number().optional().default(30)}),RR=g.object({trace_id:g.string()});function EW(){return[{name:"trace_query",title:"Query Trace Records",description:"Query trace records with filtering. Returns recent provider interactions with latency, quality scores, and reasoning.",inputSchema:G(ER)},{name:"trace_summary",title:"Summarize Trace Stats",description:"Get quality and performance stats per provider and task type. Shows average quality scores, latency, and success rates.",inputSchema:G(TR)},{name:"trace_visualize",title:"Visualize Trace Flow",description:"Generate a Mermaid diagram showing the flow of a traced operation. Shows provider selection, execution, and quality assessment.",inputSchema:G(RR)}]}async function TW(t,e,r){if(!r.traceWriter)return{content:[{type:"text",text:"Trace tools require traceWriter to be configured."}],isError:!0};let n={traceWriter:r.traceWriter};switch(t){case"trace_query":return RW(e,n);case"trace_summary":return IW(e,n);case"trace_visualize":return AW(e,n);default:return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}}function RW(t,e){let r=ER.parse(t),n=e.traceWriter.query({providerId:r.provider_id,task:r.task,traceId:r.trace_id,daysBack:r.days_back,limit:r.limit});if(n.length===0)return{content:[{type:"text",text:"No trace records found."}]};let o=`**Trace Records** (${n.length} results)
|
|
543
544
|
|
|
544
545
|
`;for(let s of n)o+=`| ${s.timestamp?.slice(0,19)} | ${s.providerId} | ${s.task} | ${s.latencyMs}ms | ${s.response.success?"OK":"FAIL"} |`,s.quality&&(o+=` quality: ${s.quality.score}`),o+=`
|
|
545
|
-
`;return{content:[{type:"text",text:o}]}}function
|
|
546
|
+
`;return{content:[{type:"text",text:o}]}}function IW(t,e){let r=TR.parse(t),n=e.traceWriter.getQualityStats(r.days_back);if(n.size===0)return{content:[{type:"text",text:"No quality data available yet."}]};let o=`**Provider Quality Summary** (last ${r.days_back} days)
|
|
546
547
|
|
|
547
548
|
`;o+=`| Provider:Task | Avg Quality | Count | Avg Latency |
|
|
548
549
|
`,o+=`|---|---|---|---|
|
|
@@ -550,23 +551,23 @@ ${n.error}`),{content:[{type:"text",text:o}],isError:n.state==="error"||n.state=
|
|
|
550
551
|
`;let s=new Map;for(let[a,c]of n){let u=a.split(":")[0],l=s.get(u)??{totalScore:0,count:0};l.totalScore+=c.avgScore*c.count,l.count+=c.count,s.set(u,l)}let i=["low","medium","high"];o+=`
|
|
551
552
|
**Provider Difficulty Qualification**
|
|
552
553
|
|
|
553
|
-
`,o+=`| Provider | Overall Avg | Samples | Low | Medium (>=${
|
|
554
|
+
`,o+=`| Provider | Overall Avg | Samples | Low | Medium (>=${ec.medium}) | High (>=${ec.high}) |
|
|
554
555
|
`,o+=`|---|---|---|---|---|---|
|
|
555
|
-
`;for(let[a,c]of s){let u=c.totalScore/c.count,l=i.map(d=>
|
|
556
|
-
`}return{content:[{type:"text",text:o}]}}function
|
|
556
|
+
`;for(let[a,c]of s){let u=c.totalScore/c.count,l=i.map(d=>tc(u,d)?"YES":"no");o+=`| ${a} | ${u.toFixed(2)} | ${c.count} | ${l[0]} | ${l[1]} | ${l[2]} |
|
|
557
|
+
`}return{content:[{type:"text",text:o}]}}function AW(t,e){let r=RR.parse(t),n=e.traceWriter.query({traceId:r.trace_id});if(n.length===0)return{content:[{type:"text",text:`No records found for trace: ${r.trace_id}`}],isError:!0};let o="```mermaid\ngraph LR\n";o+=` A[User Request] --> B{Provider Selection}
|
|
557
558
|
`;for(let i=0;i<n.length;i++){let a=n[i],c=String.fromCharCode(67+i),u=a.reasoning?.selectionReason?a.reasoning.selectionReason.slice(0,40):`${a.latencyMs}ms`;o+=` B -->|${u}| ${c}[${a.providerId}]
|
|
558
559
|
`;let l=a.response.success?`${a.response.charLength} chars, ${a.latencyMs}ms`:`FAIL: ${a.response.error?.slice(0,30)??"error"}`;o+=` ${c} --> ${c}R[${l}]
|
|
559
560
|
`,a.quality&&(o+=` ${c}R --> ${c}Q[Quality: ${a.quality.score}]
|
|
560
561
|
`)}return o+="```",{content:[{type:"text",text:`**Trace Visualization: ${r.trace_id}**
|
|
561
562
|
|
|
562
|
-
${o}`}]}}var
|
|
563
|
+
${o}`}]}}var wy={};lt(wy,{getTools:()=>zW,handleTool:()=>MW,resetCache:()=>NW});import{execFile as CW}from"child_process";import{promisify as DW}from"util";var AR=DW(CW),CR=5e3;async function Ka(t){let e=process.platform==="win32"?"where":"which";try{let{stdout:r}=await AR(e,[t],{timeout:CR,encoding:"utf-8"});return r.split(/\r?\n/).map(o=>o.trim()).find(Boolean)||null}catch{return null}}async function OW(){try{return await AR("git",["worktree","list"],{timeout:CR,encoding:"utf-8"}),!0}catch{return!1}}function zW(){return[{name:"environment_check",title:"Check Environment",description:"Check installed AI CLI tools (codex, gemini), infrastructure (tmux, git worktree), and Ollama models. Returns a capability map showing available v3 orchestration modes. Results are cached per session \u2014 call with force_refresh to re-check.",inputSchema:{type:"object",properties:{force_refresh:{type:"boolean",description:"Force re-check even if cached (default: false)"}},required:[]}}]}var pd=null,by=null;function NW(){pd=null,by=null}async function jW(t,e){let r=JSON.stringify(e.sessionContext??null);if(pd&&by===r&&!t.force_refresh)return{content:[{type:"text",text:IR(pd)}]};let n=typeof e.registry.getAvailable=="function"?e.registry.getAvailable():e.registry.getAll().filter(j=>j.isAvailable()),o=n.find(j=>j.type==="claude-cli"),s=n.find(j=>j.type==="claude-host"),i=n.find(j=>j.type==="codex-cli"),a=n.find(j=>j.type==="codex-host"),c=n.find(j=>j.type==="gemini-cli"),u=n.find(j=>j.type==="gemini-host"),[l,d,p,f,m,h]=await Promise.all([Ka("claude"),Ka("codex"),Ka("gemini"),Ka("tmux"),Ka("git"),OW()]),y=[],v=e.registry.getAll(),b=v.find(j=>j.id==="ollama");if(b?.isAvailable()){let j=b.getCapabilities();for(let De of j.models){let Le=De.sizeGb??0;y.push({name:De.name,size_gb:Le,tier:Pd(Le)})}}let _=i!==void 0||c!==void 0,k=f!==null,x=m!==null&&h,L=a!==void 0||u!==void 0||e.sessionContext?.hostKind==="codex-cli"||e.sessionContext?.hostKind==="gemini-cli",P=v.some(j=>j.isAvailable()&&!j.type.endsWith("-host")&&j.id!=="ollama"),M=[L?"leader_only":"claude_only"];(P||y.length>0)&&M.push("independent","debate"),_&&x&&M.push("team");let q={host:e.sessionContext?{id:e.sessionContext.hostId,kind:e.sessionContext.hostKind,leader_provider:e.sessionContext.leaderProviderId,execution_mode:e.sessionContext.executionMode,participant_providers:e.sessionContext.participantProviderIds}:void 0,providers:{ollama:{available:b?.isAvailable()??!1,models:y},claude:{available:o!==void 0||s!==void 0,cli_path:l,host_backed:s!==void 0},gemini:{available:c!==void 0||u!==void 0,cli_path:p,autonomous_capable:c!==void 0,host_backed:u!==void 0},codex:{available:i!==void 0||a!==void 0,cli_path:d,autonomous_capable:i!==void 0,host_backed:a!==void 0}},infrastructure:{tmux:{available:k,path:f},git:{available:m!==null,worktree_support:x}},capabilities:{can_autonomous_work:_&&x,can_tmux_visible:k,can_parallel_workers:_&&x,max_parallel_workers:_?3:0,available_modes:M}};return pd=q,by=r,{content:[{type:"text",text:IR(q)}]}}function IR(t){let e=`# Environment Check
|
|
563
564
|
|
|
564
565
|
`;t.host&&(e+=`## Host Session
|
|
565
566
|
|
|
566
567
|
`,e+=`- **Host:** ${t.host.id}
|
|
567
568
|
`,e+=`- **Kind:** ${t.host.kind}
|
|
568
569
|
`,e+=`- **Leader Provider:** ${t.host.leader_provider}
|
|
569
|
-
`,e+=`- **Execution Mode:** ${
|
|
570
|
+
`,e+=`- **Execution Mode:** ${dd(t.host.execution_mode,t.host.kind)}
|
|
570
571
|
`,e+=`- **Participants:** ${t.host.participant_providers.join(", ")}
|
|
571
572
|
|
|
572
573
|
`),e+=`## Providers
|
|
@@ -590,14 +591,14 @@ ${o}`}]}}var af={};We(af,{getTools:()=>Gj,handleTool:()=>Qj,resetCache:()=>Yj});
|
|
|
590
591
|
`,e+=`- **tmux visible:** ${t.capabilities.can_tmux_visible?"Yes":"No"}
|
|
591
592
|
`,e+=`- **Parallel workers:** ${t.capabilities.can_parallel_workers?`Yes (max ${t.capabilities.max_parallel_workers})`:"No"}
|
|
592
593
|
`,e+=`- **Available modes:** ${t.capabilities.available_modes.join(", ")}
|
|
593
|
-
`,e}async function
|
|
594
|
+
`,e}async function MW(t,e,r){return t==="environment_check"?jW(e??{},r):{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}var $y={};lt($y,{getTools:()=>LW,handleTool:()=>KW});var DR=g.object({provider:g.string().trim().min(1),task_description:g.string().trim().min(1),working_dir:g.string().trim().min(1),files_to_read:g.array(g.string().trim().min(1)).optional(),files_to_modify:g.array(g.string().trim().min(1)).optional(),constraints:g.string().optional(),success_criteria:g.array(g.string().trim().min(1)).optional(),timeout_minutes:g.number().positive().optional(),use_worktree:g.boolean().optional(),use_tmux:g.boolean().optional()}).strict(),OR=g.object({worker_id:g.string().trim().min(1).optional()}).strict(),zR=g.object({worker_id:g.string().trim().min(1)}).strict(),NR=g.object({worker_id:g.string().trim().min(1)}).strict();function LW(){return[{name:"cli_worker_spawn",title:"Spawn CLI Worker",description:"Spawn a CLI AI worker (any registered provider; use `provider_list` to discover available) in autonomous mode. The worker runs in the background and can be monitored with cli_worker_status.",inputSchema:G(DR)},{name:"cli_worker_status",title:"Check CLI Worker Status",description:"Get the status of a CLI worker by ID, or list all tracked workers if no ID is given.",inputSchema:G(OR)},{name:"cli_worker_collect",title:"Collect CLI Worker Results",description:"Collect results from a successful COLLECTING worker, a completed worker, or a failed CLI worker. Returns full output, git diff, and changed files.",inputSchema:G(zR)},{name:"cli_worker_stop",title:"Stop CLI Worker",description:"Stop a running CLI worker. Sends SIGTERM, then SIGKILL after 5 seconds.",inputSchema:G(NR)}]}function fd(t){if(!t.cliWorkerManager)throw new Error("CliWorkerManager not initialized \u2014 cli_worker tools are unavailable");return t.cliWorkerManager}function lr(t,e){return{content:[{type:"text",text:t}],...e?{isError:e}:{}}}function qW(t){let e=`# Worker Spawned
|
|
594
595
|
|
|
595
596
|
`;return e+=`- **Worker ID:** ${t.workerId}
|
|
596
597
|
`,e+=`- **Provider:** ${t.provider}
|
|
597
598
|
`,e+=`- **State:** ${t.state}
|
|
598
599
|
`,e+=`- **PID:** ${t.pid??"N/A"}
|
|
599
600
|
`,t.worktreeBranch&&(e+=`- **Worktree Branch:** ${t.worktreeBranch}
|
|
600
|
-
`),e}function
|
|
601
|
+
`),e}function FW(t){let e=`# Worker Status
|
|
601
602
|
|
|
602
603
|
`;return e+=`- **Worker ID:** ${t.workerId}
|
|
603
604
|
`,e+=`- **Provider:** ${t.provider}
|
|
@@ -606,18 +607,18 @@ ${o}`}]}}var af={};We(af,{getTools:()=>Gj,handleTool:()=>Qj,resetCache:()=>Yj});
|
|
|
606
607
|
`,e+=`- **PID:** ${t.pid??"N/A"}
|
|
607
608
|
`,e+=`- **Retry Count:** ${t.retryCount}
|
|
608
609
|
`,t.worktreeBranch&&(e+=`- **Worktree Branch:** ${t.worktreeBranch}
|
|
609
|
-
`),t.state===
|
|
610
|
+
`),t.state===Fe.COLLECTING&&(e+="- **Next Step:** Worker exited successfully and is ready for `cli_worker_collect`\n"),t.outputTail&&(e+=`
|
|
610
611
|
## Recent Output
|
|
611
612
|
|
|
612
613
|
\`\`\`
|
|
613
614
|
${t.outputTail}
|
|
614
615
|
\`\`\`
|
|
615
|
-
`),e}function
|
|
616
|
+
`),e}function UW(t){if(t.length===0)return`# Workers
|
|
616
617
|
|
|
617
618
|
No tracked workers.`;let e=`# Workers (${t.length})
|
|
618
619
|
|
|
619
620
|
`;for(let r of t)e+=`- **${r.workerId}** \u2014 ${r.provider} \u2014 ${r.state}`,r.pid&&(e+=` (PID ${r.pid})`),e+=`
|
|
620
|
-
`;return e}function
|
|
621
|
+
`;return e}function ZW(t){let e=`# Worker Results
|
|
621
622
|
|
|
622
623
|
`;if(e+=`- **Worker ID:** ${t.workerId}
|
|
623
624
|
`,e+=`- **State:** ${t.state}
|
|
@@ -639,7 +640,7 @@ ${t.gitDiff}
|
|
|
639
640
|
\`\`\`
|
|
640
641
|
${t.outputFull}
|
|
641
642
|
\`\`\`
|
|
642
|
-
`),e}async function
|
|
643
|
+
`),e}async function VW(t,e){let r=fd(e),n=DR.parse(t),o=r.knownProviders();if(!o.includes(n.provider))return lr(`Unknown provider: "${n.provider}". Known: [${o.join(", ")}]`,!0);let s={provider:n.provider,taskDescription:n.task_description,workingDir:n.working_dir,filesToRead:n.files_to_read,filesToModify:n.files_to_modify,constraints:n.constraints,successCriteria:n.success_criteria,timeoutMinutes:n.timeout_minutes,useWorktree:n.use_worktree,useTmux:n.use_tmux};try{let i=r.spawn(s);return lr(qW(i))}catch(i){let a=N(i);return lr(`Error spawning worker: ${a}`,!0)}}async function BW(t,e){let r=fd(e),n=OR.parse(t);if(!n.worker_id){let s=r.listAll();return lr(UW(s))}let o=r.getStatus(n.worker_id);return o?lr(FW(o)):lr(`Worker not found: ${n.worker_id}`,!0)}async function WW(t,e){let r=fd(e),n=zR.parse(t),o=r.collect(n.worker_id);return o?lr(ZW(o)):lr(`Worker not found: ${n.worker_id}`,!0)}async function HW(t,e){let r=fd(e),n=NR.parse(t);return r.stop(n.worker_id),lr(`Stop signal sent to worker: ${n.worker_id}`)}async function KW(t,e,r){try{switch(t){case"cli_worker_spawn":return await VW(e??{},r);case"cli_worker_status":return await BW(e??{},r);case"cli_worker_collect":return await WW(e??{},r);case"cli_worker_stop":return await HW(e??{},r);default:return lr(`Unknown tool: ${t}`,!0)}}catch(n){let o=N(n);return lr(`Error: ${o}`,!0)}}var Sy={};lt(Sy,{getTools:()=>JW,handleTool:()=>YW});var jR=g.object({design_doc:g.string().optional().describe("Optional design document path to verify against"),build_profile:g.enum(["auto","tsc","vitest","npm-build","npm-test"]).optional().describe("QA build profile to execute. Defaults to 'auto' which detects from project structure."),timeout_ms:g.number().int().positive().optional().describe("Timeout per command in milliseconds")}).strict();function JW(){return[{name:"qa_run",title:"Run Auto QA",description:"Run automatic QA for the current project. Detects build/test commands, optionally includes a design document reference, and returns a PASS/FAIL summary with captured output.",inputSchema:G(jR)}]}function GW(t){let e=`# Auto QA
|
|
643
644
|
|
|
644
645
|
${t.summary}
|
|
645
646
|
`;return t.designDoc&&(e+=`
|
|
@@ -656,12 +657,12 @@ ${t.buildOutput||"(no output)"}
|
|
|
656
657
|
\`\`\`
|
|
657
658
|
${t.testOutput||"(no output)"}
|
|
658
659
|
\`\`\`
|
|
659
|
-
`,e}async function
|
|
660
|
+
`,e}async function YW(t,e,r){if(t==="qa_run"){let n=jR.parse(e??{}),s=await new pi(r?.workspaceBaseDir??process.cwd()).run({designDoc:n.design_doc,buildProfile:n.build_profile??"auto",timeoutMs:n.timeout_ms});return{content:[{type:"text",text:GW(s)}],isError:!(s.buildPassed&&s.testsPassed)}}else return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0}}var LR=[Bg,py,fy,my,gy,yy,vy,_y,wy,$y,Sy];function qR(){let t=[];for(let e of LR)t.push(...e.getTools());return t}var Ja=new Map,XW=100;function eH(t,e){if(Ja.set(t,e),Ja.size>XW){let r=Ja.keys().next().value;r!==void 0&&Ja.delete(r)}}function tH(t){return t.sessionId??"__default__"}function rH(t){for(let e of t)if(!(typeof e.uri!="string"||!e.uri.startsWith("file://")))try{return QW(e.uri)}catch{}}async function nH(t,e,r){let n=tH(r);try{let o=await t.listRoots(void 0,{timeout:1500}),s=rH(o.roots);if(s)return eH(n,s),s}catch{}return Ja.get(n)??e.workspaceBaseDir??process.cwd()}function oH(t,e){return t.filter(r=>FR(r.name,e))}function sH(t,e){let r=Gr(t);if(r.invocation!=="cli"||!r.roles.includes("worker"))return!1;let n=e?.get(t.id)??"workspace-write";return cc(n)}function FR(t,e){let r=e.registry.getAvailable(),n=r.length>0,o=r.some(i=>i.type==="ollama"),s=r.some(i=>sH(i,e.providerPolicies));return t.startsWith("ollama_")?o:t.startsWith("cli_worker_")||t.startsWith("agent_changes_")?s&&e.cliWorkerManager!==void 0:t.startsWith("ai_")||t.startsWith("agent_debate_")||t==="agent_cross_validate"?n:!0}function iH(t,e){let r=[],n=0;for(let o of t){let s=Buffer.byteLength(o,"utf-8");if(n+s>e)break;r.push(o),n+=s}return r.join("")}var xy=null;function aH(){if(xy)return xy;let t=new Map;for(let e of LR)for(let r of e.getTools())t.set(r.name,e);return xy=t,t}function UR(t){let e=t.content.map(r=>r.type==="text"&&Buffer.byteLength(r.text,"utf-8")>51200?{type:"text",text:iH(r.text,51200)+`
|
|
660
661
|
|
|
661
|
-
... [Response truncated at 50KB]`}:r);return{...t,content:e}}async function
|
|
662
|
+
... [Response truncated at 50KB]`}:r);return{...t,content:e}}async function ZR(t,e,r){let o=aH().get(t);if(!o)return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0};if(await r.ensureRuntimeReady?.(),!FR(t,r))return{content:[{type:"text",text:`Tool unavailable in current environment: ${t}`}],isError:!0};let s={registry:r.registry,sessionManager:r.sessionManager,documentManager:r.documentManager,jobManager:r.jobManager,traceWriter:r.traceWriter,qualityStatsProvider:r.qualityStatsProvider,cliWorkerManager:r.cliWorkerManager,sessionContext:r.resolveSessionContext?.()??r.sessionContext,workspaceBaseDir:r.workspaceBaseDir,i18n:r.i18n,structuredSessionRegistry:r.structuredSessionRegistry,moderatorEngine:r.moderatorEngine},i=await o.handleTool(t,e,s);return UR(i)}function ky(t){let e=new Ol({name:"agestra",version:Oy},{capabilities:{tools:{}}});return e.setRequestHandler(pf,async()=>(await t.ensureRuntimeReady?.(),{tools:oH(qR(),t)})),e.setRequestHandler(Mi,async(r,n)=>{let{name:o,arguments:s}=r.params;try{await t.ensureRuntimeReady?.();let i=await nH(e,t,n),a=await t.resolveWorkspaceServices?.(i)??{},c=await ZR(o,s??{},{...t,...a,workspaceBaseDir:i});return{content:c.content,isError:c.isError}}catch(i){return{content:[{type:"text",text:`Error: ${N(i)}`}],isError:!0}}}),e}async function Py(t){let e=new Nl;await t.connect(e)}function VR(t){return typeof t=="object"&&t!==null&&t.type==="text"&&typeof t.text=="string"}function cH(t){return Array.isArray(t)?t.filter(VR).map(e=>e.text).join(`
|
|
662
663
|
|
|
663
|
-
`).trim():
|
|
664
|
-
`),e=
|
|
665
|
-
`),process.exit(1)}),t(`Starting MCP server with ${o.getAll().length} provider(s)...`),await
|
|
666
|
-
`),process.exit(1)});export{
|
|
664
|
+
`).trim():VR(t)?t.text:""}function BR(t,e){let r=t?.[e];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function WR(t,e){let r=t?.[e];return typeof r=="string"&&r.length>0?r:void 0}function Bs(t){let e=t?.toLowerCase()??"";return e.includes("claude")?"claude-code":e.includes("codex")?"codex-cli":e.includes("gemini")?"gemini-cli":"unknown"}function Ey(t,e,r){let n=()=>Bs(t.getClientVersion()?.name);return{providerId:e,isAvailable(){return!!t.getClientCapabilities()?.sampling&&n()===r.expectedHostKind},async healthCheck(){if(!t.getClientCapabilities()?.sampling)return{status:"error",message:"Client does not support MCP sampling"};let o=n();return o!==r.expectedHostKind?{status:"error",message:`${r.displayName} host bridge requires a ${r.displayName} host, got ${o}`}:{status:"ok",message:`${r.displayName} host bridge available via ${t.getClientVersion()?.name??"unknown client"}`}},async runTurn(o){if(!this.isAvailable())throw new Error(r.unavailableMessage);let s=await t.createMessage({messages:[{role:"user",content:{type:"text",text:o.prompt}}],systemPrompt:o.system,includeContext:"none",maxTokens:BR(o.metadata,"maxTokens")??4096,temperature:BR(o.metadata,"temperature"),modelPreferences:WR(o.metadata,"model")?{hints:[{name:WR(o.metadata,"model")}]}:void 0,metadata:o.metadata}),i=cH(s.content);if(!i)throw new Error("Claude host bridge returned no text content");return{text:i,metadata:{model:s.model,stopReason:s.stopReason,hostKind:n()}}}}}function md(t,e="claude"){return Ey(t,e,{expectedHostKind:"claude-code",displayName:"Claude",unavailableMessage:"Claude host bridge unavailable or client does not support sampling"})}function hd(t,e="codex-host"){return Ey(t,e,{expectedHostKind:"codex-cli",displayName:"Codex",unavailableMessage:"Codex host bridge unavailable or client does not support sampling"})}function gd(t,e="gemini-host"){return Ey(t,e,{expectedHostKind:"gemini-cli",displayName:"Gemini",unavailableMessage:"Gemini host bridge unavailable or client does not support sampling"})}var uH=[{type:"claude-host",defaultId:"claude",supportedHosts:["claude-code"],createProvider:(t,e)=>new Pc({id:e,bridge:md(t,e)})},{type:"codex-host",defaultId:"codex-host",supportedHosts:["codex-cli"],createProvider:(t,e)=>new Ec({id:e,bridge:hd(t,e)})},{type:"gemini-host",defaultId:"gemini-host",supportedHosts:["gemini-cli"],createProvider:(t,e)=>new Tc({id:e,bridge:gd(t,e)})}];function Ws(t,e,r){return t?.providers.find(o=>o.type===e||o.id===r)?.id??r}function lH(t){switch(t){case"claude-code":return"claude-host";case"codex-cli":return"codex-host";case"gemini-cli":return"gemini-host";default:return}}function dH(t){switch(t){case"claude-code":return"claude-cli";case"codex-cli":return"codex-cli";case"gemini-cli":return"gemini-cli";default:return}}function pH(t,e){switch(t){case"claude-code":return Ws(e,"claude-host","claude");case"codex-cli":return Ws(e,"codex-host","codex-host");case"gemini-cli":return Ws(e,"gemini-host","gemini-host");default:return}}function fH(t,e){return t.some(o=>o.roles.includes("worker")&&o.supportsAutonomousExecution)?"team":t.some(o=>o.id!==e&&o.supportsReadOnlyChat)&&t.length>1?"debate":"claude-only"}function Ty(t,e){let r=()=>Bs(t.getClientVersion()?.name),n=()=>lH(r()),o=()=>pH(r(),e);return{get id(){return r()},get kind(){return r()},get leaderProviderId(){return o()},get leaderProviderType(){return n()},get supportsHooks(){return r()==="claude-code"},get supportsInteractiveChoices(){return r()!=="unknown"},get supportsSampling(){return!!t.getClientCapabilities()?.sampling},createLeaderBridge(){switch(r()){case"claude-code":{let s=Ws(e,"claude-host","claude");return md(t,s)}case"codex-cli":{let s=Ws(e,"codex-host","codex-host");return hd(t,s)}case"gemini-cli":{let s=Ws(e,"gemini-host","gemini-host");return gd(t,s)}default:return null}},createHostProviders(){let s=r();return uH.flatMap(i=>{if(s==="unknown"||!i.supportedHosts.includes(s))return[];let a=e?.providers.find(u=>u.type===i.type||u.id===i.defaultId);if(a?.enabled===!1)return[];let c=a?.id??i.defaultId;return[{id:c,type:i.type,executionPolicy:a?.executionPolicy??Dr(i.type),provider:i.createProvider(t,c)}]})},createSessionContext(s){let i=s.filter(l=>l.supportsReadOnlyChat);if(i.length===0)return;let a=o(),c=dH(r()),u=(a?i.find(l=>l.id===a):void 0)??(n()?i.find(l=>l.type===n()):void 0)??(c?i.find(l=>l.type===c):void 0)??i.find(l=>l.roles.includes("leader"))??i[0];return{hostId:r(),hostKind:r(),leaderProviderId:u.id,participantProviderIds:i.map(l=>l.id),executionMode:fH(i,u.id)}}}}async function Ry(t,e,r,n){let o=t.createHostProviders();for(let s of o)e.has(s.id)||(await s.provider.initialize(),e.register(s.provider),r.set(s.id,s.executionPolicy),n(`Registered provider: ${s.id} (${s.type})`))}function Iy(t,e){let r=typeof e.getAvailableDescriptors=="function"?e.getAvailableDescriptors():e.getAvailable().map(n=>typeof e.getDescriptor=="function"?e.getDescriptor(n.id):{id:n.id,type:n.type,invocation:"unknown",roles:["participant"],supportsAutonomousExecution:!1,supportsReadOnlyChat:!0,supportsToolUse:n.getCapabilities().supportsToolUse});return t.createSessionContext?.(r)}import{existsSync as HR}from"fs";import{dirname as JR,join as yd,resolve as GR,sep as mH}from"path";import{fileURLToPath as hH}from"url";var gH=[yd(".claude","plugins","cache"),yd(".claude","plugins","local")];function yH(t){let e=t.split(/[\\/]/).join(mH);return gH.some(r=>e.includes(r))}function vH(t){return!(!HR(yd(t,"package.json"))||!HR(yd(t,"AGENTS.md"))||yH(t))}function KR(t){let e=GR(t);for(;;){if(vH(e))return e;let r=JR(e);if(r===e)return null;e=r}}function YR(){let t=process.env.AGESTRA_BASE_DIR?.trim();if(t)return GR(t);let e=JR(hH(import.meta.url));return KR(process.cwd())??KR(e)??process.cwd()}function wH(t){return{ollama:e=>new Wn({id:e.id,host:e.config?.host||Hs}),"gemini-cli":e=>new Hn({id:e.id,timeout:e.config?.timeout,workspaceBaseDir:t}),"codex-cli":e=>new Kn({id:e.id,timeout:e.config?.timeout,workspaceBaseDir:t}),"claude-cli":e=>new Jn({id:e.id,timeout:e.config?.timeout,workspaceBaseDir:t})}}async function $H(t,e,r){if(t.getAll().length>0)return r("Providers already registered, skipping auto-detect."),{detected:0};r("No providers found \u2014 running auto-detect...");try{let{results:n,providers:o}=await Vs({workspaceBaseDir:e}),s=n.filter(i=>i.available);return s.length===0?(r("Auto-detect found no available providers."),{detected:0}):(SR(o,t),r(`Auto-detected ${s.length} provider(s): ${s.map(i=>i.id).join(", ")}`),{detected:s.length})}catch(n){return r(`Auto-detect failed (non-fatal): ${N(n)}`),{detected:0}}}function SH(t,e){return t===null&&e===0}async function xH(){let t=P=>process.stderr.write(`[mcp-server] ${P}
|
|
665
|
+
`),e=YR(),r=ei(),n;try{let P=_H(r,"utf-8");n=JSON.parse(P)}catch(P){t(`Warning: Could not load ${r}: ${N(P)}`),t("Starting with empty provider registry."),n=null}let o=new rc,s=null;if(n)try{s=dv(n)}catch(P){t(`Warning: Invalid provider config in ${r}: ${N(P)}`),t("Ignoring config and continuing with auto-detect defaults."),n=null}let i=wH(e);if(s){let P=s.enabledProviders.map(q=>{let j=i[q.type];if(!j)return t(`Unknown provider type: ${q.type} (id: ${q.id}), skipping`),null;let De=j(q);return{pc:q,provider:De}}).filter(q=>q!==null),M=await Promise.allSettled(P.map(async({pc:q,provider:j})=>(await j.initialize(),{pc:q,provider:j})));for(let q of M)if(q.status==="fulfilled"){let{pc:j,provider:De}=q.value;o.register(De),t(`Registered provider: ${j.id} (${j.type})`)}else t(`Failed to initialize provider: ${N(q.reason)}`)}if(SH(s,o.getAll().length)?await $H(o,e,t):s&&o.getAll().length===0&&t("Provider config present but no configured providers initialized; skipping auto-detect."),s){let P=new Set(s.providers.filter(q=>!q.enabled).map(q=>q.id)),M=new Set(s.providers.filter(q=>!q.enabled).map(q=>q.type));try{let{providers:q}=await Vs({workspaceBaseDir:e}),j=hy(q,o,{excludeIds:P,excludeTypes:M});for(let De of j)t(`Registered newly detected provider: ${De.id} (${De.type})`)}catch(q){t(`Supplemental provider detection failed (non-fatal): ${N(q)}`)}}let a=new Map(s?.providers.map(P=>[P.id,P.executionPolicy])??[]),c=new Map(o.getAll().map(P=>[P.id,a.get(P.id)??Dr(P.type)])),u;try{u=Qd(s?.locale)}catch(P){let M=P instanceof Error?P.message:String(P);t(`[i18n] failed to load requested locale (${s?.locale??"default"}): ${M}. Retrying with default bundle.`),u=Qd(void 0)}t(`Localization active: ${u.locale}`);let l=new Map,d=()=>"unknown",p=async()=>{},f=async P=>{let M=d(),q=l.get(P);if(q){if(q.hostKind===M)return q;q.traceWriter.shutdown()}let j=new ui(Ay(P,Ly)),De=new gi(Ay(P,Ks)),Le=new yc(P,{completionHandler:async({descriptor:dr,result:_d,saveAsDocument:bd})=>!_d.output||_d.output.trim().length===0?null:{documentId:(await De.createDocument({title:bd.title,content:_d.output,metadata:{...bd.metadata,Provider:dr.provider,Model:dr.provider,JobId:dr.id},kind:bd.kind})).id}});try{let dr=Le.reconcileOrphans();dr>0&&t(`Reconciled ${dr} orphaned job(s) in ${P}`)}catch(dr){t(`Job orphan reconcile failed for ${P}: ${N(dr)}`)}let It=new vc(P);It.cleanup(30);let Kr=new Sc(It,{ttlMs:6e4}),QR=new ii(P,{providerPolicies:c}),vd=new Fs(Ay(P,Ks));try{await vd.hydrateFromDisk()}catch(dr){t(`Structured session registry hydrate failed for ${P}: ${N(dr)}`)}let XR=ad(o,M,P),eI=new Us({bridge:XR,documentManager:De,registry:vd,i18n:u,traceWriter:It}),Cy={hostKind:M,sessionManager:j,documentManager:De,jobManager:Le,traceWriter:It,qualityStatsProvider:Kr,cliWorkerManager:QR,structuredSessionRegistry:vd,moderatorEngine:eI};return l.set(P,Cy),Cy},m=await f(e),h={registry:o,...m,providerPolicies:c,workspaceBaseDir:e,ensureRuntimeReady:()=>p(),resolveWorkspaceServices:async P=>(await p(),f(P)),i18n:u},y=ky(h),v=Ty(y,s);d=()=>Bs(y.getClientVersion()?.name);let b,_=null;p=async()=>{let P=d();P==="unknown"||b===P||(_||(_=(async()=>{try{await Ry(v,o,c,t),b=P}catch(M){t(`Host-backed provider registration failed (non-fatal): ${N(M)}`)}finally{_=null}})()),await _)},h.resolveSessionContext=()=>Iy(v,o);let k=setInterval(()=>{(async()=>{for(let P of l.values())try{let M=await P.structuredSessionRegistry.sweepTimeouts();M.length>0&&await P.moderatorEngine.handleTimedOutSnapshots(M)}catch(M){t(`Session sweep failed: ${N(M)}`)}})()},Jy);k.unref?.();let x=!1,L=async()=>{if(!x){x=!0,t("Shutting down..."),clearInterval(k);for(let P of l.values())P.traceWriter.shutdown();for(let P of o.getAll())if(P.shutdown)try{await P.shutdown()}catch{}}};process.on("SIGTERM",()=>{L().finally(()=>process.exit(0))}),process.on("SIGINT",()=>{L().finally(()=>process.exit(0))}),process.on("uncaughtException",P=>{for(let M of l.values())M.traceWriter.panicFlush();process.stderr.write(`[mcp-server] Uncaught: ${P}
|
|
666
|
+
`),process.exit(1)}),t(`Starting MCP server with ${o.getAll().length} provider(s)...`),await Py(y),t("MCP server connected via stdio.")}var kH=(()=>{if(typeof process>"u"||!process.argv[1])return!1;try{let t=bH(import.meta.url),e=process.argv[1];return e===t||e.endsWith("/dist/bundle.js")}catch{return!1}})();kH&&xH().catch(t=>{process.stderr.write(`[mcp-server] Fatal: ${t}
|
|
667
|
+
`),process.exit(1)});export{$H as autoDetectIfNeeded,qR as collectTools,Py as connectStdio,md as createClaudeLeaderBridge,hd as createCodexLeaderBridge,gd as createGeminiLeaderBridge,Ty as createRuntimeHostAdapter,ky as createServer,ZR as dispatch,Bs as inferHostKindFromClientName,Ry as registerHostBackedProviders,Iy as resolveSessionContext,SH as shouldRunStartupAutoDetect,UR as truncateResponse};
|
|
667
668
|
//# sourceMappingURL=bundle.js.map
|