@ours.network/mcp 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
- var X_=Object.create;var oi=Object.defineProperty;var ey=Object.getOwnPropertyDescriptor;var ty=Object.getOwnPropertyNames;var ry=Object.getPrototypeOf,ny=Object.prototype.hasOwnProperty;var R=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),si=(e,t)=>{for(var r in t)oi(e,r,{get:t[r],enumerable:!0})},oy=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ty(t))!ny.call(e,o)&&o!==r&&oi(e,o,{get:()=>t[o],enumerable:!(n=ey(t,o))||n.enumerable});return e};var Yu=(e,t,r)=>(r=e!=null?X_(ry(e)):{},oy(t||!e||!e.__esModule?oi(r,"default",{value:e,enumerable:!0}):r,e));var In=R(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.regexpCode=X.getEsmExportName=X.getProperty=X.safeStringify=X.stringify=X.strConcat=X.addCodeArg=X.str=X._=X.nil=X._Code=X.Name=X.IDENTIFIER=X._CodeOrName=void 0;var Rn=class{};X._CodeOrName=Rn;X.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var tr=class extends Rn{constructor(t){if(super(),!X.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};X.Name=tr;var et=class extends Rn{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof tr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};X._Code=et;X.nil=new et("");function Uf(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Ta(r,t[n]),r.push(e[++n]);return new et(r)}X._=Uf;var Pa=new et("+");function Df(e,...t){let r=[En(e[0])],n=0;for(;n<t.length;)r.push(Pa),Ta(r,t[n]),r.push(Pa,En(e[++n]));return lw(r),new et(r)}X.str=Df;function Ta(e,t){t instanceof et?e.push(...t._items):t instanceof tr?e.push(t):e.push(fw(t))}X.addCodeArg=Ta;function lw(e){let t=1;for(;t<e.length-1;){if(e[t]===Pa){let r=dw(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function dw(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof tr||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof tr))return`"${e}${t.slice(1)}`}function pw(e,t){return t.emptyStr()?e:e.emptyStr()?t:Df`${e}${t}`}X.strConcat=pw;function fw(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:En(Array.isArray(e)?e.join(","):e)}function mw(e){return new et(En(e))}X.stringify=mw;function En(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}X.safeStringify=En;function hw(e){return typeof e=="string"&&X.IDENTIFIER.test(e)?new et(`.${e}`):Uf`[${e}]`}X.getProperty=hw;function gw(e){if(typeof e=="string"&&X.IDENTIFIER.test(e))return new et(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}X.getEsmExportName=gw;function _w(e){return new et(e.toString())}X.regexpCode=_w});var Ia=R(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.ValueScope=Fe.ValueScopeName=Fe.Scope=Fe.varKinds=Fe.UsedValueState=void 0;var Le=In(),Ra=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},ts;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(ts||(Fe.UsedValueState=ts={}));Fe.varKinds={const:new Le.Name("const"),let:new Le.Name("let"),var:new Le.Name("var")};var rs=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof Le.Name?t:this.name(t)}name(t){return new Le.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Fe.Scope=rs;var ns=class extends Le.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,Le._)`.${new Le.Name(r)}[${n}]`}};Fe.ValueScopeName=ns;var yw=(0,Le._)`\n`,Ea=class extends rs{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?yw:Le.nil}}get(){return this._scope}name(t){return new ns(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let u=a.get(i);if(u)return u}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),l=c.length;return c[l]=r.ref,o.setValue(r,{property:s,itemIndex:l}),o}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Le._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let s=Le.nil;for(let i in t){let a=t[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(l=>{if(c.has(l))return;c.set(l,ts.Started);let u=r(l);if(u){let d=this.opts.es5?Fe.varKinds.var:Fe.varKinds.const;s=(0,Le._)`${s}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))s=(0,Le._)`${s}${u}${this.opts._n}`;else throw new Ra(l);c.set(l,ts.Completed)})}return s}};Fe.ValueScope=Ea});var L=R(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var G=In(),ct=Ia(),jt=In();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return jt._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return jt.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return jt.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return jt.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return jt.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return jt.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return jt.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return jt.Name}});var as=Ia();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return as.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return as.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return as.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return as.varKinds}});F.operators={GT:new G._Code(">"),GTE:new G._Code(">="),LT:new G._Code("<"),LTE:new G._Code("<="),EQ:new G._Code("==="),NEQ:new G._Code("!=="),NOT:new G._Code("!"),OR:new G._Code("||"),AND:new G._Code("&&"),ADD:new G._Code("+")};var zt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Oa=class extends zt{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?ct.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=jr(this.rhs,t,r)),this}get names(){return this.rhs instanceof G._CodeOrName?this.rhs.names:{}}},os=class extends zt{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof G.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=jr(this.rhs,t,r),this}get names(){let t=this.lhs instanceof G.Name?{}:{...this.lhs.names};return is(t,this.rhs)}},Aa=class extends os{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Ca=class extends zt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Na=class extends zt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},ja=class extends zt{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Ma=class extends zt{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=jr(this.code,t,r),this}get names(){return this.code instanceof G._CodeOrName?this.code.names:{}}},On=class extends zt{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(t,r)||(vw(t,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>or(t,r.names),{})}},Pt=class extends On{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Ua=class extends On{},Nr=class extends Pt{};Nr.kind="else";var rr=class e extends Pt{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Nr(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Zf(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=jr(this.condition,t,r),this}get names(){let t=super.names;return is(t,this.condition),this.else&&or(t,this.else.names),t}};rr.kind="if";var nr=class extends Pt{};nr.kind="for";var Da=class extends nr{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=jr(this.iteration,t,r),this}get names(){return or(super.names,this.iteration.names)}},Za=class extends nr{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?ct.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(t)}get names(){let t=is(super.names,this.from);return is(t,this.to)}},ss=class extends nr{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=jr(this.iterable,t,r),this}get names(){return or(super.names,this.iterable.names)}},An=class extends Pt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};An.kind="func";var Cn=class extends On{render(t){return"return "+super.render(t)}};Cn.kind="return";var qa=class extends Pt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&or(t,this.catch.names),this.finally&&or(t,this.finally.names),t}},Nn=class extends Pt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Nn.kind="catch";var jn=class extends Pt{render(t){return"finally"+super.render(t)}};jn.kind="finally";var La=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
- `:""},this._extScope=t,this._scope=new ct.Scope({parent:t}),this._nodes=[new Ua]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Oa(t,s,n)),s}const(t,r,n){return this._def(ct.varKinds.const,t,r,n)}let(t,r,n){return this._def(ct.varKinds.let,t,r,n)}var(t,r,n){return this._def(ct.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new os(t,r,n))}add(t,r){return this._leafNode(new Aa(t,F.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==G.nil&&this._leafNode(new Ma(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,G.addCodeArg)(r,o));return r.push("}"),new G._Code(r)}if(t,r,n){if(this._blockNode(new rr(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new rr(t))}else(){return this._elseNode(new Nr)}endIf(){return this._endBlockNode(rr,Nr)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Da(t),r)}forRange(t,r,n,o,s=this.opts.es5?ct.varKinds.var:ct.varKinds.let){let i=this._scope.toName(t);return this._for(new Za(s,i,r,n),()=>o(i))}forOf(t,r,n,o=ct.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=r instanceof G.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,G._)`${i}.length`,a=>{this.var(s,(0,G._)`${i}[${a}]`),n(s)})}return this._for(new ss("of",o,s,r),()=>n(s))}forIn(t,r,n,o=this.opts.es5?ct.varKinds.var:ct.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,G._)`Object.keys(${r})`,n);let s=this._scope.toName(t);return this._for(new ss("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(nr)}label(t){return this._leafNode(new Ca(t))}break(t){return this._leafNode(new Na(t))}return(t){let r=new Cn;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Cn)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new qa;if(this._blockNode(o),this.code(t),r){let s=this.name("e");this._currNode=o.catch=new Nn(s),r(s)}return n&&(this._currNode=o.finally=new jn,this.code(n)),this._endBlockNode(Nn,jn)}throw(t){return this._leafNode(new ja(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=G.nil,n,o){return this._blockNode(new An(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(An)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof rr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};F.CodeGen=La;function or(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function is(e,t){return t instanceof G._CodeOrName?or(e,t.names):e}function jr(e,t,r){if(e instanceof G.Name)return n(e);if(!o(e))return e;return new G._Code(e._items.reduce((s,i)=>(i instanceof G.Name&&(i=n(i)),i instanceof G._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof G._Code&&s._items.some(i=>i instanceof G.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function vw(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Zf(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,G._)`!${Fa(e)}`}F.not=Zf;var bw=qf(F.operators.AND);function ww(...e){return e.reduce(bw)}F.and=ww;var $w=qf(F.operators.OR);function Sw(...e){return e.reduce($w)}F.or=Sw;function qf(e){return(t,r)=>t===G.nil?r:r===G.nil?t:(0,G._)`${Fa(t)} ${e} ${Fa(r)}`}function Fa(e){return e instanceof G.Name?e:(0,G._)`(${e})`}});var W=R(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var se=L(),xw=In();function kw(e){let t={};for(let r of e)t[r]=!0;return t}V.toHash=kw;function zw(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Vf(e,t),!Hf(t,e.self.RULES.all))}V.alwaysValidSchema=zw;function Vf(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let s in t)o[s]||Jf(e,`unknown keyword: "${s}"`)}V.checkUnknownRules=Vf;function Hf(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}V.schemaHasRules=Hf;function Pw(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}V.schemaHasRulesButRef=Pw;function Tw({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${e}${t}${(0,se.getProperty)(n)}`}V.schemaRefOrVal=Tw;function Rw(e){return Bf(decodeURIComponent(e))}V.unescapeFragment=Rw;function Ew(e){return encodeURIComponent(Ha(e))}V.escapeFragment=Ew;function Ha(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Ha;function Bf(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Bf;function Iw(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}V.eachItem=Iw;function Lf({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?e(o,s,i):t(o,s,i),i):s instanceof se.Name?(t(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}V.mergeEvaluated={props:Lf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,se._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,se._)`${r} || {}`),Ba(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Kf}),items:Lf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,se._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,se._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Kf(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,se._)`{}`);return t!==void 0&&Ba(e,r,t),r}V.evaluatedPropsToName=Kf;function Ba(e,t,r){Object.keys(r).forEach(n=>e.assign((0,se._)`${t}${(0,se.getProperty)(n)}`,!0))}V.setEvaluated=Ba;var Ff={};function Ow(e,t){return e.scopeValue("func",{ref:t,code:Ff[t.code]||(Ff[t.code]=new xw._Code(t.code))})}V.useFunc=Ow;var Va;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Va||(V.Type=Va={}));function Aw(e,t,r){if(e instanceof se.Name){let n=t===Va.Num;return r?n?(0,se._)`"[" + ${e} + "]"`:(0,se._)`"['" + ${e} + "']"`:n?(0,se._)`"/" + ${e}`:(0,se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(e).toString():"/"+Ha(e)}V.getErrorPath=Aw;function Jf(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}V.checkStrictMode=Jf});var Tt=R(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var Oe=L(),Cw={data:new Oe.Name("data"),valCxt:new Oe.Name("valCxt"),instancePath:new Oe.Name("instancePath"),parentData:new Oe.Name("parentData"),parentDataProperty:new Oe.Name("parentDataProperty"),rootData:new Oe.Name("rootData"),dynamicAnchors:new Oe.Name("dynamicAnchors"),vErrors:new Oe.Name("vErrors"),errors:new Oe.Name("errors"),this:new Oe.Name("this"),self:new Oe.Name("self"),scope:new Oe.Name("scope"),json:new Oe.Name("json"),jsonPos:new Oe.Name("jsonPos"),jsonLen:new Oe.Name("jsonLen"),jsonPart:new Oe.Name("jsonPart")};Ka.default=Cw});var Mn=R(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.extendErrors=Ae.resetErrorsCount=Ae.reportExtraError=Ae.reportError=Ae.keyword$DataError=Ae.keywordError=void 0;var Y=L(),cs=W(),Me=Tt();Ae.keywordError={message:({keyword:e})=>(0,Y.str)`must pass "${e}" keyword validation`};Ae.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,Y.str)`"${e}" keyword must be ${t} ($data)`:(0,Y.str)`"${e}" keyword is invalid ($data)`};function Nw(e,t=Ae.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=Yf(e,t,r);n??(i||a)?Gf(s,c):Wf(o,(0,Y._)`[${c}]`)}Ae.reportError=Nw;function jw(e,t=Ae.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=Yf(e,t,r);Gf(o,a),s||i||Wf(n,Me.default.vErrors)}Ae.reportExtraError=jw;function Mw(e,t){e.assign(Me.default.errors,t),e.if((0,Y._)`${Me.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,Y._)`${Me.default.vErrors}.length`,t),()=>e.assign(Me.default.vErrors,null)))}Ae.resetErrorsCount=Mw;function Uw({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,Me.default.errors,a=>{e.const(i,(0,Y._)`${Me.default.vErrors}[${a}]`),e.if((0,Y._)`${i}.instancePath === undefined`,()=>e.assign((0,Y._)`${i}.instancePath`,(0,Y.strConcat)(Me.default.instancePath,s.errorPath))),e.assign((0,Y._)`${i}.schemaPath`,(0,Y.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,Y._)`${i}.schema`,r),e.assign((0,Y._)`${i}.data`,n))})}Ae.extendErrors=Uw;function Gf(e,t){let r=e.const("err",t);e.if((0,Y._)`${Me.default.vErrors} === null`,()=>e.assign(Me.default.vErrors,(0,Y._)`[${r}]`),(0,Y._)`${Me.default.vErrors}.push(${r})`),e.code((0,Y._)`${Me.default.errors}++`)}function Wf(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,Y._)`new ${e.ValidationError}(${t})`):(r.assign((0,Y._)`${n}.errors`,t),r.return(!1))}var sr={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function Yf(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,Y._)`{}`:Dw(e,t,r)}function Dw(e,t,r={}){let{gen:n,it:o}=e,s=[Zw(o,r),qw(e,r)];return Lw(e,t,s),n.object(...s)}function Zw({errorPath:e},{instancePath:t}){let r=t?(0,Y.str)`${e}${(0,cs.getErrorPath)(t,cs.Type.Str)}`:e;return[Me.default.instancePath,(0,Y.strConcat)(Me.default.instancePath,r)]}function qw({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,Y.str)`${t}/${e}`;return r&&(o=(0,Y.str)`${o}${(0,cs.getErrorPath)(r,cs.Type.Str)}`),[sr.schemaPath,o]}function Lw(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=a;n.push([sr.keyword,o],[sr.params,typeof t=="function"?t(e):t||(0,Y._)`{}`]),c.messages&&n.push([sr.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([sr.schema,i],[sr.parentSchema,(0,Y._)`${u}${d}`],[Me.default.data,s]),l&&n.push([sr.propertyName,l])}});var Xf=R(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.boolOrEmptySchema=Mr.topBoolOrEmptySchema=void 0;var Fw=Mn(),Vw=L(),Hw=Tt(),Bw={message:"boolean schema is false"};function Kw(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Qf(e,!1):typeof r=="object"&&r.$async===!0?t.return(Hw.default.data):(t.assign((0,Vw._)`${n}.errors`,null),t.return(!0))}Mr.topBoolOrEmptySchema=Kw;function Jw(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Qf(e)):r.var(t,!0)}Mr.boolOrEmptySchema=Jw;function Qf(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Fw.reportError)(o,Bw,void 0,t)}});var Ja=R(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.getRules=Ur.isJSONType=void 0;var Gw=["string","number","integer","boolean","null","object","array"],Ww=new Set(Gw);function Yw(e){return typeof e=="string"&&Ww.has(e)}Ur.isJSONType=Yw;function Qw(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Ur.getRules=Qw});var Ga=R(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.shouldUseRule=Mt.shouldUseGroup=Mt.schemaHasRulesForType=void 0;function Xw({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&em(e,n)}Mt.schemaHasRulesForType=Xw;function em(e,t){return t.rules.some(r=>tm(e,r))}Mt.shouldUseGroup=em;function tm(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Mt.shouldUseRule=tm});var Un=R(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.reportTypeError=Ce.checkDataTypes=Ce.checkDataType=Ce.coerceAndCheckDataType=Ce.getJSONTypes=Ce.getSchemaTypes=Ce.DataType=void 0;var e0=Ja(),t0=Ga(),r0=Mn(),q=L(),rm=W(),Dr;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Dr||(Ce.DataType=Dr={}));function n0(e){let t=nm(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Ce.getSchemaTypes=n0;function nm(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(e0.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ce.getJSONTypes=nm;function o0(e,t){let{gen:r,data:n,opts:o}=e,s=s0(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,t0.schemaHasRulesForType)(e,t[0]));if(i){let a=Ya(t,n,o.strictNumbers,Dr.Wrong);r.if(a,()=>{s.length?i0(e,t,s):Qa(e)})}return i}Ce.coerceAndCheckDataType=o0;var om=new Set(["string","number","integer","boolean","null"]);function s0(e,t){return t?e.filter(r=>om.has(r)||t==="array"&&r==="array"):[]}function i0(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",(0,q._)`typeof ${o}`),a=n.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&n.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Ya(t,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,q._)`${a} !== undefined`);for(let l of r)(om.has(l)||l==="array"&&s.coerceTypes==="array")&&c(l);n.else(),Qa(e),n.endIf(),n.if((0,q._)`${a} !== undefined`,()=>{n.assign(o,a),a0(e,a)});function c(l){switch(l){case"string":n.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":n.elseIf((0,q._)`${i} == "boolean" || ${o} === null
3
+ var oy=Object.create;var ii=Object.defineProperty;var sy=Object.getOwnPropertyDescriptor;var iy=Object.getOwnPropertyNames;var ay=Object.getPrototypeOf,cy=Object.prototype.hasOwnProperty;var R=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ai=(e,t)=>{for(var r in t)ii(e,r,{get:t[r],enumerable:!0})},uy=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of iy(t))!cy.call(e,o)&&o!==r&&ii(e,o,{get:()=>t[o],enumerable:!(n=sy(t,o))||n.enumerable});return e};var tl=(e,t,r)=>(r=e!=null?oy(ay(e)):{},uy(t||!e||!e.__esModule?ii(r,"default",{value:e,enumerable:!0}):r,e));var An=R(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.regexpCode=Q.getEsmExportName=Q.getProperty=Q.safeStringify=Q.stringify=Q.strConcat=Q.addCodeArg=Q.str=Q._=Q.nil=Q._Code=Q.Name=Q.IDENTIFIER=Q._CodeOrName=void 0;var In=class{};Q._CodeOrName=In;Q.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var rr=class extends In{constructor(t){if(super(),!Q.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Q.Name=rr;var Xe=class extends In{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof rr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Q._Code=Xe;Q.nil=new Xe("");function Lf(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Ea(r,t[n]),r.push(e[++n]);return new Xe(r)}Q._=Lf;var Ra=new Xe("+");function Ff(e,...t){let r=[On(e[0])],n=0;for(;n<t.length;)r.push(Ra),Ea(r,t[n]),r.push(Ra,On(e[++n]));return hw(r),new Xe(r)}Q.str=Ff;function Ea(e,t){t instanceof Xe?e.push(...t._items):t instanceof rr?e.push(t):e.push(yw(t))}Q.addCodeArg=Ea;function hw(e){let t=1;for(;t<e.length-1;){if(e[t]===Ra){let r=gw(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function gw(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof rr||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof rr))return`"${e}${t.slice(1)}`}function _w(e,t){return t.emptyStr()?e:e.emptyStr()?t:Ff`${e}${t}`}Q.strConcat=_w;function yw(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:On(Array.isArray(e)?e.join(","):e)}function vw(e){return new Xe(On(e))}Q.stringify=vw;function On(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Q.safeStringify=On;function bw(e){return typeof e=="string"&&Q.IDENTIFIER.test(e)?new Xe(`.${e}`):Lf`[${e}]`}Q.getProperty=bw;function ww(e){if(typeof e=="string"&&Q.IDENTIFIER.test(e))return new Xe(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Q.getEsmExportName=ww;function $w(e){return new Xe(e.toString())}Q.regexpCode=$w});var Aa=R(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.ValueScope=Ve.ValueScopeName=Ve.Scope=Ve.varKinds=Ve.UsedValueState=void 0;var Fe=An(),Ia=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},ns;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(ns||(Ve.UsedValueState=ns={}));Ve.varKinds={const:new Fe.Name("const"),let:new Fe.Name("let"),var:new Fe.Name("var")};var os=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof Fe.Name?t:this.name(t)}name(t){return new Fe.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Ve.Scope=os;var ss=class extends Fe.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,Fe._)`.${new Fe.Name(r)}[${n}]`}};Ve.ValueScopeName=ss;var Sw=(0,Fe._)`\n`,Oa=class extends os{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Sw:Fe.nil}}get(){return this._scope}name(t){return new ss(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{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(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Fe._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let s=Fe.nil;for(let i in t){let a=t[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,ns.Started);let l=r(u);if(l){let d=this.opts.es5?Ve.varKinds.var:Ve.varKinds.const;s=(0,Fe._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Fe._)`${s}${l}${this.opts._n}`;else throw new Ia(u);c.set(u,ns.Completed)})}return s}};Ve.ValueScope=Oa});var L=R(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var K=An(),at=Aa(),Ut=An();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return Ut._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return Ut.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return Ut.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return Ut.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return Ut.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return Ut.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return Ut.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return Ut.Name}});var us=Aa();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return us.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return us.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return us.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return us.varKinds}});F.operators={GT:new K._Code(">"),GTE:new K._Code(">="),LT:new K._Code("<"),LTE:new K._Code("<="),EQ:new K._Code("==="),NEQ:new K._Code("!=="),NOT:new K._Code("!"),OR:new K._Code("||"),AND:new K._Code("&&"),ADD:new K._Code("+")};var Pt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Ca=class extends Pt{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?at.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=Ur(this.rhs,t,r)),this}get names(){return this.rhs instanceof K._CodeOrName?this.rhs.names:{}}},is=class extends Pt{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof K.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Ur(this.rhs,t,r),this}get names(){let t=this.lhs instanceof K.Name?{}:{...this.lhs.names};return cs(t,this.rhs)}},Na=class extends is{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},ja=class extends Pt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Ma=class extends Pt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Ua=class extends Pt{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Da=class extends Pt{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=Ur(this.code,t,r),this}get names(){return this.code instanceof K._CodeOrName?this.code.names:{}}},Cn=class extends Pt{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(t,r)||(xw(t,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>sr(t,r.names),{})}},Tt=class extends Cn{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Za=class extends Cn{},Mr=class extends Tt{};Mr.kind="else";var nr=class e extends Tt{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Mr(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Vf(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=Ur(this.condition,t,r),this}get names(){let t=super.names;return cs(t,this.condition),this.else&&sr(t,this.else.names),t}};nr.kind="if";var or=class extends Tt{};or.kind="for";var qa=class extends or{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=Ur(this.iteration,t,r),this}get names(){return sr(super.names,this.iteration.names)}},La=class extends or{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?at.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(t)}get names(){let t=cs(super.names,this.from);return cs(t,this.to)}},as=class extends or{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=Ur(this.iterable,t,r),this}get names(){return sr(super.names,this.iterable.names)}},Nn=class extends Tt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};Nn.kind="func";var jn=class extends Cn{render(t){return"return "+super.render(t)}};jn.kind="return";var Fa=class extends Tt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&sr(t,this.catch.names),this.finally&&sr(t,this.finally.names),t}},Mn=class extends Tt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Mn.kind="catch";var Un=class extends Tt{render(t){return"finally"+super.render(t)}};Un.kind="finally";var Va=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
+ `:""},this._extScope=t,this._scope=new at.Scope({parent:t}),this._nodes=[new Za]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Ca(t,s,n)),s}const(t,r,n){return this._def(at.varKinds.const,t,r,n)}let(t,r,n){return this._def(at.varKinds.let,t,r,n)}var(t,r,n){return this._def(at.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new is(t,r,n))}add(t,r){return this._leafNode(new Na(t,F.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==K.nil&&this._leafNode(new Da(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,K.addCodeArg)(r,o));return r.push("}"),new K._Code(r)}if(t,r,n){if(this._blockNode(new nr(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new nr(t))}else(){return this._elseNode(new Mr)}endIf(){return this._endBlockNode(nr,Mr)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new qa(t),r)}forRange(t,r,n,o,s=this.opts.es5?at.varKinds.var:at.varKinds.let){let i=this._scope.toName(t);return this._for(new La(s,i,r,n),()=>o(i))}forOf(t,r,n,o=at.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=r instanceof K.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,K._)`${i}.length`,a=>{this.var(s,(0,K._)`${i}[${a}]`),n(s)})}return this._for(new as("of",o,s,r),()=>n(s))}forIn(t,r,n,o=this.opts.es5?at.varKinds.var:at.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,K._)`Object.keys(${r})`,n);let s=this._scope.toName(t);return this._for(new as("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(or)}label(t){return this._leafNode(new ja(t))}break(t){return this._leafNode(new Ma(t))}return(t){let r=new jn;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(jn)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Fa;if(this._blockNode(o),this.code(t),r){let s=this.name("e");this._currNode=o.catch=new Mn(s),r(s)}return n&&(this._currNode=o.finally=new Un,this.code(n)),this._endBlockNode(Mn,Un)}throw(t){return this._leafNode(new Ua(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=K.nil,n,o){return this._blockNode(new Nn(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Nn)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof nr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};F.CodeGen=Va;function sr(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function cs(e,t){return t instanceof K._CodeOrName?sr(e,t.names):e}function Ur(e,t,r){if(e instanceof K.Name)return n(e);if(!o(e))return e;return new K._Code(e._items.reduce((s,i)=>(i instanceof K.Name&&(i=n(i)),i instanceof K._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof K._Code&&s._items.some(i=>i instanceof K.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function xw(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Vf(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,K._)`!${Ha(e)}`}F.not=Vf;var kw=Hf(F.operators.AND);function zw(...e){return e.reduce(kw)}F.and=zw;var Pw=Hf(F.operators.OR);function Tw(...e){return e.reduce(Pw)}F.or=Tw;function Hf(e){return(t,r)=>t===K.nil?r:r===K.nil?t:(0,K._)`${Ha(t)} ${e} ${Ha(r)}`}function Ha(e){return e instanceof K.Name?e:(0,K._)`(${e})`}});var J=R(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var oe=L(),Rw=An();function Ew(e){let t={};for(let r of e)t[r]=!0;return t}V.toHash=Ew;function Iw(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Jf(e,t),!Gf(t,e.self.RULES.all))}V.alwaysValidSchema=Iw;function Jf(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let s in t)o[s]||Qf(e,`unknown keyword: "${s}"`)}V.checkUnknownRules=Jf;function Gf(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}V.schemaHasRules=Gf;function Ow(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}V.schemaHasRulesButRef=Ow;function Aw({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,oe._)`${r}`}return(0,oe._)`${e}${t}${(0,oe.getProperty)(n)}`}V.schemaRefOrVal=Aw;function Cw(e){return Wf(decodeURIComponent(e))}V.unescapeFragment=Cw;function Nw(e){return encodeURIComponent(Ka(e))}V.escapeFragment=Nw;function Ka(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Ka;function Wf(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=Wf;function jw(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}V.eachItem=jw;function Bf({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof oe.Name?(s instanceof oe.Name?e(o,s,i):t(o,s,i),i):s instanceof oe.Name?(t(o,i,s),s):r(s,i);return a===oe.Name&&!(c instanceof oe.Name)?n(o,c):c}}V.mergeEvaluated={props:Bf({mergeNames:(e,t,r)=>e.if((0,oe._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,oe._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,oe._)`${r} || {}`).code((0,oe._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,oe._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,oe._)`${r} || {}`),Ja(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Yf}),items:Bf({mergeNames:(e,t,r)=>e.if((0,oe._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,oe._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,oe._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,oe._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Yf(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,oe._)`{}`);return t!==void 0&&Ja(e,r,t),r}V.evaluatedPropsToName=Yf;function Ja(e,t,r){Object.keys(r).forEach(n=>e.assign((0,oe._)`${t}${(0,oe.getProperty)(n)}`,!0))}V.setEvaluated=Ja;var Kf={};function Mw(e,t){return e.scopeValue("func",{ref:t,code:Kf[t.code]||(Kf[t.code]=new Rw._Code(t.code))})}V.useFunc=Mw;var Ba;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Ba||(V.Type=Ba={}));function Uw(e,t,r){if(e instanceof oe.Name){let n=t===Ba.Num;return r?n?(0,oe._)`"[" + ${e} + "]"`:(0,oe._)`"['" + ${e} + "']"`:n?(0,oe._)`"/" + ${e}`:(0,oe._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,oe.getProperty)(e).toString():"/"+Ka(e)}V.getErrorPath=Uw;function Qf(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}V.checkStrictMode=Qf});var Rt=R(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var Ae=L(),Dw={data:new Ae.Name("data"),valCxt:new Ae.Name("valCxt"),instancePath:new Ae.Name("instancePath"),parentData:new Ae.Name("parentData"),parentDataProperty:new Ae.Name("parentDataProperty"),rootData:new Ae.Name("rootData"),dynamicAnchors:new Ae.Name("dynamicAnchors"),vErrors:new Ae.Name("vErrors"),errors:new Ae.Name("errors"),this:new Ae.Name("this"),self:new Ae.Name("self"),scope:new Ae.Name("scope"),json:new Ae.Name("json"),jsonPos:new Ae.Name("jsonPos"),jsonLen:new Ae.Name("jsonLen"),jsonPart:new Ae.Name("jsonPart")};Ga.default=Dw});var Dn=R(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.extendErrors=Ce.resetErrorsCount=Ce.reportExtraError=Ce.reportError=Ce.keyword$DataError=Ce.keywordError=void 0;var G=L(),ls=J(),Ue=Rt();Ce.keywordError={message:({keyword:e})=>(0,G.str)`must pass "${e}" keyword validation`};Ce.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,G.str)`"${e}" keyword must be ${t} ($data)`:(0,G.str)`"${e}" keyword is invalid ($data)`};function Zw(e,t=Ce.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=tm(e,t,r);n??(i||a)?Xf(s,c):em(o,(0,G._)`[${c}]`)}Ce.reportError=Zw;function qw(e,t=Ce.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=tm(e,t,r);Xf(o,a),s||i||em(n,Ue.default.vErrors)}Ce.reportExtraError=qw;function Lw(e,t){e.assign(Ue.default.errors,t),e.if((0,G._)`${Ue.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,G._)`${Ue.default.vErrors}.length`,t),()=>e.assign(Ue.default.vErrors,null)))}Ce.resetErrorsCount=Lw;function Fw({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,Ue.default.errors,a=>{e.const(i,(0,G._)`${Ue.default.vErrors}[${a}]`),e.if((0,G._)`${i}.instancePath === undefined`,()=>e.assign((0,G._)`${i}.instancePath`,(0,G.strConcat)(Ue.default.instancePath,s.errorPath))),e.assign((0,G._)`${i}.schemaPath`,(0,G.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,G._)`${i}.schema`,r),e.assign((0,G._)`${i}.data`,n))})}Ce.extendErrors=Fw;function Xf(e,t){let r=e.const("err",t);e.if((0,G._)`${Ue.default.vErrors} === null`,()=>e.assign(Ue.default.vErrors,(0,G._)`[${r}]`),(0,G._)`${Ue.default.vErrors}.push(${r})`),e.code((0,G._)`${Ue.default.errors}++`)}function em(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,G._)`new ${e.ValidationError}(${t})`):(r.assign((0,G._)`${n}.errors`,t),r.return(!1))}var ir={keyword:new G.Name("keyword"),schemaPath:new G.Name("schemaPath"),params:new G.Name("params"),propertyName:new G.Name("propertyName"),message:new G.Name("message"),schema:new G.Name("schema"),parentSchema:new G.Name("parentSchema")};function tm(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,G._)`{}`:Vw(e,t,r)}function Vw(e,t,r={}){let{gen:n,it:o}=e,s=[Hw(o,r),Bw(e,r)];return Kw(e,t,s),n.object(...s)}function Hw({errorPath:e},{instancePath:t}){let r=t?(0,G.str)`${e}${(0,ls.getErrorPath)(t,ls.Type.Str)}`:e;return[Ue.default.instancePath,(0,G.strConcat)(Ue.default.instancePath,r)]}function Bw({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,G.str)`${t}/${e}`;return r&&(o=(0,G.str)`${o}${(0,ls.getErrorPath)(r,ls.Type.Str)}`),[ir.schemaPath,o]}function Kw(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([ir.keyword,o],[ir.params,typeof t=="function"?t(e):t||(0,G._)`{}`]),c.messages&&n.push([ir.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([ir.schema,i],[ir.parentSchema,(0,G._)`${l}${d}`],[Ue.default.data,s]),u&&n.push([ir.propertyName,u])}});var nm=R(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.boolOrEmptySchema=Dr.topBoolOrEmptySchema=void 0;var Jw=Dn(),Gw=L(),Ww=Rt(),Yw={message:"boolean schema is false"};function Qw(e){let{gen:t,schema:r,validateName:n}=e;r===!1?rm(e,!1):typeof r=="object"&&r.$async===!0?t.return(Ww.default.data):(t.assign((0,Gw._)`${n}.errors`,null),t.return(!0))}Dr.topBoolOrEmptySchema=Qw;function Xw(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),rm(e)):r.var(t,!0)}Dr.boolOrEmptySchema=Xw;function rm(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Jw.reportError)(o,Yw,void 0,t)}});var Wa=R(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.getRules=Zr.isJSONType=void 0;var e0=["string","number","integer","boolean","null","object","array"],t0=new Set(e0);function r0(e){return typeof e=="string"&&t0.has(e)}Zr.isJSONType=r0;function n0(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Zr.getRules=n0});var Ya=R(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.shouldUseRule=Dt.shouldUseGroup=Dt.schemaHasRulesForType=void 0;function o0({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&om(e,n)}Dt.schemaHasRulesForType=o0;function om(e,t){return t.rules.some(r=>sm(e,r))}Dt.shouldUseGroup=om;function sm(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Dt.shouldUseRule=sm});var Zn=R(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.reportTypeError=Ne.checkDataTypes=Ne.checkDataType=Ne.coerceAndCheckDataType=Ne.getJSONTypes=Ne.getSchemaTypes=Ne.DataType=void 0;var s0=Wa(),i0=Ya(),a0=Dn(),q=L(),im=J(),qr;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(qr||(Ne.DataType=qr={}));function c0(e){let t=am(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Ne.getSchemaTypes=c0;function am(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(s0.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ne.getJSONTypes=am;function u0(e,t){let{gen:r,data:n,opts:o}=e,s=l0(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,i0.schemaHasRulesForType)(e,t[0]));if(i){let a=Xa(t,n,o.strictNumbers,qr.Wrong);r.if(a,()=>{s.length?d0(e,t,s):ec(e)})}return i}Ne.coerceAndCheckDataType=u0;var cm=new Set(["string","number","integer","boolean","null"]);function l0(e,t){return t?e.filter(r=>cm.has(r)||t==="array"&&r==="array"):[]}function d0(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",(0,q._)`typeof ${o}`),a=n.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&n.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Xa(t,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,q._)`${a} !== undefined`);for(let u of r)(cm.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),ec(e),n.endIf(),n.if((0,q._)`${a} !== undefined`,()=>{n.assign(o,a),p0(e,a)});function c(u){switch(u){case"string":n.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":n.elseIf((0,q._)`${i} == "boolean" || ${o} === null
5
5
  || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,q._)`+${o}`);return;case"integer":n.elseIf((0,q._)`${i} === "boolean" || ${o} === null
6
6
  || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,q._)`+${o}`);return;case"boolean":n.elseIf((0,q._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,q._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,q._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,q._)`${i} === "string" || ${i} === "number"
7
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function a0({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${r}]`,n))}function Wa(e,t,r,n=Dr.Correct){let o=n===Dr.Correct?q.operators.EQ:q.operators.NEQ,s;switch(e){case"null":return(0,q._)`${t} ${o} null`;case"array":s=(0,q._)`Array.isArray(${t})`;break;case"object":s=(0,q._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,q._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,q._)`typeof ${t} ${o} ${e}`}return n===Dr.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,r?(0,q._)`isFinite(${t})`:q.nil)}}Ce.checkDataType=Wa;function Ya(e,t,r,n){if(e.length===1)return Wa(e[0],t,r,n);let o,s=(0,rm.toHash)(e);if(s.array&&s.object){let i=(0,q._)`typeof ${t} != "object"`;o=s.null?i:(0,q._)`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=q.nil;s.number&&delete s.integer;for(let i in s)o=(0,q.and)(o,Wa(i,t,r,n));return o}Ce.checkDataTypes=Ya;var c0={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function Qa(e){let t=u0(e);(0,r0.reportError)(t,c0)}Ce.reportTypeError=Qa;function u0(e){let{gen:t,data:r,schema:n}=e,o=(0,rm.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var im=R(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.assignDefaults=void 0;var Zr=L(),l0=W();function d0(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)sm(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,s)=>sm(e,s,o.default))}us.assignDefaults=d0;function sm(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=(0,Zr._)`${s}${(0,Zr.getProperty)(t)}`;if(o){(0,l0.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,Zr._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Zr._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Zr._)`${a} = ${(0,Zr.stringify)(r)}`)}});var tt=R(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.validateUnion=ne.validateArray=ne.usePattern=ne.callValidateCode=ne.schemaProperties=ne.allSchemaProperties=ne.noPropertyInData=ne.propertyInData=ne.isOwnProperty=ne.hasPropFunc=ne.reportMissingProp=ne.checkMissingProp=ne.checkReportMissingProp=void 0;var pe=L(),Xa=W(),Ut=Tt(),p0=W();function f0(e,t){let{gen:r,data:n,it:o}=e;r.if(tc(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,pe._)`${t}`},!0),e.error()})}ne.checkReportMissingProp=f0;function m0({gen:e,data:t,it:{opts:r}},n,o){return(0,pe.or)(...n.map(s=>(0,pe.and)(tc(e,t,s,r.ownProperties),(0,pe._)`${o} = ${s}`)))}ne.checkMissingProp=m0;function h0(e,t){e.setParams({missingProperty:t},!0),e.error()}ne.reportMissingProp=h0;function am(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pe._)`Object.prototype.hasOwnProperty`})}ne.hasPropFunc=am;function ec(e,t,r){return(0,pe._)`${am(e)}.call(${t}, ${r})`}ne.isOwnProperty=ec;function g0(e,t,r,n){let o=(0,pe._)`${t}${(0,pe.getProperty)(r)} !== undefined`;return n?(0,pe._)`${o} && ${ec(e,t,r)}`:o}ne.propertyInData=g0;function tc(e,t,r,n){let o=(0,pe._)`${t}${(0,pe.getProperty)(r)} === undefined`;return n?(0,pe.or)(o,(0,pe.not)(ec(e,t,r))):o}ne.noPropertyInData=tc;function cm(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}ne.allSchemaProperties=cm;function _0(e,t){return cm(t).filter(r=>!(0,Xa.alwaysValidSchema)(e,t[r]))}ne.schemaProperties=_0;function y0({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,l){let u=l?(0,pe._)`${e}, ${t}, ${n}${o}`:t,d=[[Ut.default.instancePath,(0,pe.strConcat)(Ut.default.instancePath,s)],[Ut.default.parentData,i.parentData],[Ut.default.parentDataProperty,i.parentDataProperty],[Ut.default.rootData,Ut.default.rootData]];i.opts.dynamicRef&&d.push([Ut.default.dynamicAnchors,Ut.default.dynamicAnchors]);let f=(0,pe._)`${u}, ${r.object(...d)}`;return c!==pe.nil?(0,pe._)`${a}.call(${c}, ${f})`:(0,pe._)`${a}(${f})`}ne.callValidateCode=y0;var v0=(0,pe._)`new RegExp`;function b0({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,pe._)`${o.code==="new RegExp"?v0:(0,p0.useFunc)(e,o)}(${r}, ${n})`})}ne.usePattern=b0;function w0(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",(0,pe._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:Xa.Type.Num},s),t.if((0,pe.not)(s),a)})}}ne.validateArray=w0;function $0(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Xa.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let u=e.subschema({keyword:n,schemaProp:l,compositeRule:!0},a);t.assign(i,(0,pe._)`${i} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,pe.not)(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}ne.validateUnion=$0});var dm=R(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.validateKeywordUsage=ht.validSchemaType=ht.funcKeywordCode=ht.macroKeywordCode=void 0;var Ue=L(),ir=Tt(),S0=tt(),x0=Mn();function k0(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=lm(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let l=r.name("valid");e.subschema({schema:a,schemaPath:Ue.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}ht.macroKeywordCode=k0;function z0(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;T0(c,t);let l=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,u=lm(n,o,l),d=n.let("valid");e.block$data(d,f),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function f(){if(t.errors===!1)g(),t.modifying&&um(e),y(()=>e.error());else{let S=t.async?m():h();t.modifying&&um(e),y(()=>P0(e,S))}}function m(){let S=n.let("ruleErrs",null);return n.try(()=>g((0,Ue._)`await `),$=>n.assign(d,!1).if((0,Ue._)`${$} instanceof ${c.ValidationError}`,()=>n.assign(S,(0,Ue._)`${$}.errors`),()=>n.throw($))),S}function h(){let S=(0,Ue._)`${u}.errors`;return n.assign(S,null),g(Ue.nil),S}function g(S=t.async?(0,Ue._)`await `:Ue.nil){let $=c.opts.passContext?ir.default.this:ir.default.self,w=!("compile"in t&&!a||t.schema===!1);n.assign(d,(0,Ue._)`${S}${(0,S0.callValidateCode)(e,u,$,w)}`,t.modifying)}function y(S){var $;n.if((0,Ue.not)(($=t.valid)!==null&&$!==void 0?$:d),S)}}ht.funcKeywordCode=z0;function um(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Ue._)`${n.parentData}[${n.parentDataProperty}]`))}function P0(e,t){let{gen:r}=e;r.if((0,Ue._)`Array.isArray(${t})`,()=>{r.assign(ir.default.vErrors,(0,Ue._)`${ir.default.vErrors} === null ? ${t} : ${ir.default.vErrors}.concat(${t})`).assign(ir.default.errors,(0,Ue._)`${ir.default.vErrors}.length`),(0,x0.extendErrors)(e)},()=>e.error())}function T0({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function lm(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ue.stringify)(r)})}function R0(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}ht.validSchemaType=R0;function E0({schema:e,opts:t,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(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}ht.validateKeywordUsage=E0});var fm=R(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.extendSubschemaMode=Dt.extendSubschemaData=Dt.getSubschema=void 0;var gt=L(),pm=W();function I0(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,gt._)`${e.schemaPath}${(0,gt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,gt._)`${e.schemaPath}${(0,gt.getProperty)(t)}${(0,gt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,pm.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')}Dt.getSubschema=I0;function O0(e,t,{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}=t;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=t,f=a.let("data",(0,gt._)`${t.data}${(0,gt.getProperty)(r)}`,!0);c(f),e.errorPath=(0,gt.str)`${l}${(0,pm.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,gt._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let l=o instanceof gt.Name?o:a.let("data",o,!0);c(l),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}Dt.extendSubschemaData=O0;function A0(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}Dt.extendSubschemaMode=A0});var rc=R((nC,mm)=>{"use strict";mm.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),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(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var gm=R((oC,hm)=>{"use strict";var Zt=hm.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};ls(t,n,o,e,"",e)};Zt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Zt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Zt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Zt.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 ls(e,t,r,n,o,s,i,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in Zt.arrayKeywords)for(var f=0;f<d.length;f++)ls(e,t,r,d[f],o+"/"+u+"/"+f,s,o,u,n,f)}else if(u in Zt.propsKeywords){if(d&&typeof d=="object")for(var m in d)ls(e,t,r,d[m],o+"/"+u+"/"+C0(m),s,o,u,n,m)}else(u in Zt.keywords||e.allKeys&&!(u in Zt.skipKeywords))&&ls(e,t,r,d,o+"/"+u,s,o,u,n)}r(n,o,s,i,a,c,l)}}function C0(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Dn=R(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.getSchemaRefs=Ve.resolveUrl=Ve.normalizeId=Ve._getFullPath=Ve.getFullPath=Ve.inlineRef=void 0;var N0=W(),j0=rc(),M0=gm(),U0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function D0(e,t=!0){return typeof e=="boolean"?!0:t===!0?!nc(e):t?_m(e)<=t:!1}Ve.inlineRef=D0;var Z0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function nc(e){for(let t in e){if(Z0.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(nc)||typeof r=="object"&&nc(r))return!0}return!1}function _m(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!U0.has(r)&&(typeof e[r]=="object"&&(0,N0.eachItem)(e[r],n=>t+=_m(n)),t===1/0))return 1/0}return t}function ym(e,t="",r){r!==!1&&(t=qr(t));let n=e.parse(t);return vm(e,n)}Ve.getFullPath=ym;function vm(e,t){return e.serialize(t).split("#")[0]+"#"}Ve._getFullPath=vm;var q0=/#\/?$/;function qr(e){return e?e.replace(q0,""):""}Ve.normalizeId=qr;function L0(e,t,r){return r=qr(r),e.resolve(t,r)}Ve.resolveUrl=L0;var F0=/^[a-z_][-a-z0-9._]*$/i;function V0(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=qr(e[r]||t),s={"":o},i=ym(n,o,!1),a={},c=new Set;return M0(e,{allKeys:!0},(d,f,m,h)=>{if(h===void 0)return;let g=i+f,y=s[h];typeof d[r]=="string"&&(y=S.call(this,d[r])),$.call(this,d.$anchor),$.call(this,d.$dynamicAnchor),s[f]=y;function S(w){let T=this.opts.uriResolver.resolve;if(w=qr(y?T(y,w):w),c.has(w))throw u(w);c.add(w);let v=this.refs[w];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?l(d,v.schema,w):w!==qr(g)&&(w[0]==="#"?(l(d,a[w],w),a[w]=d):this.refs[w]=g),w}function $(w){if(typeof w=="string"){if(!F0.test(w))throw new Error(`invalid anchor "${w}"`);S.call(this,`#${w}`)}}}),a;function l(d,f,m){if(f!==void 0&&!j0(d,f))throw u(m)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Ve.getSchemaRefs=V0});var Ln=R(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.getData=qt.KeywordCxt=qt.validateFunctionCode=void 0;var xm=Xf(),bm=Un(),sc=Ga(),ds=Un(),H0=im(),qn=dm(),oc=fm(),I=L(),D=Tt(),B0=Dn(),Rt=W(),Zn=Mn();function K0(e){if(Pm(e)&&(Tm(e),zm(e))){W0(e);return}km(e,()=>(0,xm.topBoolOrEmptySchema)(e))}qt.validateFunctionCode=K0;function km({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,(0,I._)`${D.default.data}, ${D.default.valCxt}`,n.$async,()=>{e.code((0,I._)`"use strict"; ${wm(r,o)}`),G0(e,o),e.code(s)}):e.func(t,(0,I._)`${D.default.data}, ${J0(o)}`,n.$async,()=>e.code(wm(r,o)).code(s))}function J0(e){return(0,I._)`{${D.default.instancePath}="", ${D.default.parentData}, ${D.default.parentDataProperty}, ${D.default.rootData}=${D.default.data}${e.dynamicRef?(0,I._)`, ${D.default.dynamicAnchors}={}`:I.nil}}={}`}function G0(e,t){e.if(D.default.valCxt,()=>{e.var(D.default.instancePath,(0,I._)`${D.default.valCxt}.${D.default.instancePath}`),e.var(D.default.parentData,(0,I._)`${D.default.valCxt}.${D.default.parentData}`),e.var(D.default.parentDataProperty,(0,I._)`${D.default.valCxt}.${D.default.parentDataProperty}`),e.var(D.default.rootData,(0,I._)`${D.default.valCxt}.${D.default.rootData}`),t.dynamicRef&&e.var(D.default.dynamicAnchors,(0,I._)`${D.default.valCxt}.${D.default.dynamicAnchors}`)},()=>{e.var(D.default.instancePath,(0,I._)`""`),e.var(D.default.parentData,(0,I._)`undefined`),e.var(D.default.parentDataProperty,(0,I._)`undefined`),e.var(D.default.rootData,D.default.data),t.dynamicRef&&e.var(D.default.dynamicAnchors,(0,I._)`{}`)})}function W0(e){let{schema:t,opts:r,gen:n}=e;km(e,()=>{r.$comment&&t.$comment&&Em(e),t$(e),n.let(D.default.vErrors,null),n.let(D.default.errors,0),r.unevaluated&&Y0(e),Rm(e),o$(e)})}function Y0(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,I._)`${r}.evaluated`),t.if((0,I._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,I._)`${e.evaluated}.props`,(0,I._)`undefined`)),t.if((0,I._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,I._)`${e.evaluated}.items`,(0,I._)`undefined`))}function wm(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,I._)`/*# sourceURL=${r} */`:I.nil}function Q0(e,t){if(Pm(e)&&(Tm(e),zm(e))){X0(e,t);return}(0,xm.boolOrEmptySchema)(e,t)}function zm({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Pm(e){return typeof e.schema!="boolean"}function X0(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&Em(e),r$(e),n$(e);let s=n.const("_errs",D.default.errors);Rm(e,s),n.var(t,(0,I._)`${s} === ${D.default.errors}`)}function Tm(e){(0,Rt.checkUnknownRules)(e),e$(e)}function Rm(e,t){if(e.opts.jtd)return $m(e,[],!1,t);let r=(0,bm.getSchemaTypes)(e.schema),n=(0,bm.coerceAndCheckDataType)(e,r);$m(e,r,!n,t)}function e$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Rt.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function t$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Rt.checkStrictMode)(e,"default is ignored in the schema root")}function r$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,B0.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function n$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Em({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code((0,I._)`${D.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,I.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,I._)`${D.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function o$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if((0,I._)`${D.default.errors} === 0`,()=>t.return(D.default.data),()=>t.throw((0,I._)`new ${o}(${D.default.vErrors})`)):(t.assign((0,I._)`${n}.errors`,D.default.vErrors),s.unevaluated&&s$(e),t.return((0,I._)`${D.default.errors} === 0`))}function s$({gen:e,evaluated:t,props:r,items:n}){r instanceof I.Name&&e.assign((0,I._)`${t}.props`,r),n instanceof I.Name&&e.assign((0,I._)`${t}.items`,n)}function $m(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:l}=e,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Rt.schemaHasRulesButRef)(s,u))){o.block(()=>Om(e,"$ref",u.all.$ref.definition));return}c.jtd||i$(e,t),o.block(()=>{for(let f of u.rules)d(f);d(u.post)});function d(f){(0,sc.shouldUseGroup)(s,f)&&(f.type?(o.if((0,ds.checkDataType)(f.type,i,c.strictNumbers)),Sm(e,f),t.length===1&&t[0]===f.type&&r&&(o.else(),(0,ds.reportTypeError)(e)),o.endIf()):Sm(e,f),a||o.if((0,I._)`${D.default.errors} === ${n||0}`))}}function Sm(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,H0.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,sc.shouldUseRule)(n,s)&&Om(e,s.keyword,s.definition,t.type)})}function i$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(a$(e,t),e.opts.allowUnionTypes||c$(e,t),u$(e,e.dataTypes))}function a$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Im(e.dataTypes,r)||ic(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),d$(e,t)}}function c$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ic(e,"use allowUnionTypes to allow union type keyword")}function u$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,sc.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>l$(t,i))&&ic(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function l$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Im(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function d$(e,t){let r=[];for(let n of e.dataTypes)Im(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function ic(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Rt.checkStrictMode)(e,t,e.opts.strictTypes)}var ps=class{constructor(t,r,n){if((0,qn.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Rt.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Am(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,qn.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",D.default.errors))}result(t,r,n){this.failResult((0,I.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,I.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,I._)`${r} !== undefined && (${(0,I.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Zn.reportExtraError:Zn.reportError)(this,this.def.error,r)}$dataError(){(0,Zn.reportError)(this,this.def.$dataError||Zn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Zn.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=I.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=I.nil,r=I.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,I.or)((0,I._)`${o} === undefined`,r)),t!==I.nil&&n.assign(t,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==I.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,I.or)(i(),a());function i(){if(n.length){if(!(r instanceof I.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,I._)`${(0,ds.checkDataTypes)(c,r,s.opts.strictNumbers,ds.DataType.Wrong)}`}return I.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,I._)`!${c}(${r})`}return I.nil}}subschema(t,r){let n=(0,oc.getSubschema)(this.it,t);(0,oc.extendSubschemaData)(n,this.it,t),(0,oc.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return Q0(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Rt.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Rt.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,I.Name)),!0}};qt.KeywordCxt=ps;function Om(e,t,r,n){let o=new ps(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,qn.funcKeywordCode)(o,r):"macro"in r?(0,qn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,qn.funcKeywordCode)(o,r)}var p$=/^\/(?:[^~]|~0|~1)*$/,f$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Am(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return D.default.rootData;if(e[0]==="/"){if(!p$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=D.default.rootData}else{let l=f$.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+l[1];if(o=l[2],o==="#"){if(u>=t)throw new Error(c("property/index",u));return n[t-u]}if(u>t)throw new Error(c("data",u));if(s=r[t-u],!o)return s}let i=s,a=o.split("/");for(let l of a)l&&(s=(0,I._)`${s}${(0,I.getProperty)((0,Rt.unescapeJsonPointer)(l))}`,i=(0,I._)`${i} && ${s}`);return i;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}qt.getData=Am});var fs=R(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var ac=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};cc.default=ac});var Fn=R(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var uc=Dn(),lc=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,uc.resolveUrl)(t,r,n),this.missingSchema=(0,uc.normalizeId)((0,uc.getFullPath)(t,this.missingRef))}};dc.default=lc});var hs=R(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.resolveSchema=rt.getCompilingSchema=rt.resolveRef=rt.compileSchema=rt.SchemaEnv=void 0;var ut=L(),m$=fs(),ar=Tt(),lt=Dn(),Cm=W(),h$=Ln(),Lr=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,lt.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};rt.SchemaEnv=Lr;function fc(e){let t=Nm.call(this,e);if(t)return t;let r=(0,lt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new ut.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:m$.default,code:(0,ut._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let l={gen:i,allErrors:this.opts.allErrors,data:ar.default.data,parentData:ar.default.parentData,parentDataProperty:ar.default.parentDataProperty,dataNames:[ar.default.data],dataPathArr:[ut.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,ut.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:ut.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ut._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,h$.validateFunctionCode)(l),i.optimize(this.opts.code.optimize);let d=i.toString();u=`${i.scopeRefs(ar.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let m=new Function(`${ar.default.self}`,`${ar.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=e.schema,m.schemaEnv=e,e.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:h,items:g}=l;m.evaluated={props:h instanceof ut.Name?void 0:h,items:g instanceof ut.Name?void 0:g,dynamicProps:h instanceof ut.Name,dynamicItems:g instanceof ut.Name},m.source&&(m.source.evaluated=(0,ut.stringify)(m.evaluated))}return e.validate=m,e}catch(d){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(e)}}rt.compileSchema=fc;function g$(e,t,r){var n;r=(0,lt.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=v$.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Lr({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=_$.call(this,s)}rt.resolveRef=g$;function _$(e){return(0,lt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:fc.call(this,e)}function Nm(e){for(let t of this._compilations)if(y$(t,e))return t}rt.getCompilingSchema=Nm;function y$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function v$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||ms.call(this,e,t)}function ms(e,t){let r=this.opts.uriResolver.parse(t),n=(0,lt._getFullPath)(this.opts.uriResolver,r),o=(0,lt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return pc.call(this,r,e);let s=(0,lt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=ms.call(this,e,i);return typeof a?.schema!="object"?void 0:pc.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||fc.call(this,i),s===(0,lt.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,lt.resolveUrl)(this.opts.uriResolver,o,l)),new Lr({schema:a,schemaId:c,root:e,baseId:o})}return pc.call(this,r,i)}}rt.resolveSchema=ms;var b$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function pc(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Cm.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!b$.has(a)&&l&&(t=(0,lt.resolveUrl)(this.opts.uriResolver,t,l))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Cm.schemaHasRulesButRef)(r,this.RULES)){let a=(0,lt.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=ms.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Lr({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s}});var jm=R((lC,w$)=>{w$.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 gc=R((dC,Lm)=>{"use strict";var $$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Um=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),mc=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Dm=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),S$=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function hc(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var x$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Mm(e){return e.length=0,!0}function k$(e,t,r){if(e.length){let n=hc(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function z$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=k$;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),n.push(":");continue}else if(l==="%"){if(!a(o,n,r))break;a=Mm}else{o.push(l);continue}}return o.length&&(a===Mm?r.zone=o.join(""):i?n.push(o.join("")):n.push(hc(o))),r.address=n.join(""),r}function Zm(e){if(P$(e,":")<2)return{host:e,isIPV6:!1};let t=z$(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function P$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function T$(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}var R$={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},E$=/[@/?#:]/g,I$=/[@/?#]/g;function qm(e,t){let r=t?I$:E$;return r.lastIndex=0,e.replace(r,n=>R$[n])}function O$(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let o=e.slice(n+1,n+3);if(mc(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));t&&Dm(i)?r+=i:r+="%"+s,n+=2;continue}}r+=e[n]}return r}function A$(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(mc(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Dm(s)?t+=s:t+="%"+o,r+=2;continue}}S$(e[r])?t+=e[r]:t+=escape(e[r])}return t}function C$(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(mc(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function N$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Um(r)){let n=Zm(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=qm(r,!1)}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Lm.exports={nonSimpleDomain:x$,recomposeAuthority:N$,reescapeHostDelimiters:qm,normalizePercentEncoding:O$,normalizePathEncoding:A$,escapePreservingEscapes:C$,removeDotSegments:T$,isIPv4:Um,isUUID:$$,normalizeIPv6:Zm,stringArrayToHexStripped:hc}});var Km=R((pC,Bm)=>{"use strict";var{isUUID:j$}=gc(),M$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,U$=["http","https","ws","wss","urn","urn:uuid"];function D$(e){return U$.indexOf(e)!==-1}function _c(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Fm(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Vm(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Z$(e){return e.secure=_c(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function q$(e){if((e.port===(_c(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function L$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(M$);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=yc(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function F$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=yc(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function V$(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!j$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function H$(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Hm={scheme:"http",domainHost:!0,parse:Fm,serialize:Vm},B$={scheme:"https",domainHost:Hm.domainHost,parse:Fm,serialize:Vm},gs={scheme:"ws",domainHost:!0,parse:Z$,serialize:q$},K$={scheme:"wss",domainHost:gs.domainHost,parse:gs.parse,serialize:gs.serialize},J$={scheme:"urn",parse:L$,serialize:F$,skipNormalize:!0},G$={scheme:"urn:uuid",parse:V$,serialize:H$,skipNormalize:!0},_s={http:Hm,https:B$,ws:gs,wss:K$,urn:J$,"urn:uuid":G$};Object.setPrototypeOf(_s,null);function yc(e){return e&&(_s[e]||_s[e.toLowerCase()])||void 0}Bm.exports={wsIsSecure:_c,SCHEMES:_s,isValidSchemeName:D$,getSchemeHandler:yc}});var Xm=R((fC,ys)=>{"use strict";var{normalizeIPv6:W$,removeDotSegments:Vn,recomposeAuthority:Y$,normalizePercentEncoding:Q$,normalizePathEncoding:X$,escapePreservingEscapes:eS,reescapeHostDelimiters:tS,isIPv4:rS,nonSimpleDomain:nS}=gc(),{SCHEMES:oS,getSchemeHandler:Gm}=Km();function sS(e,t){return typeof e=="string"?e=dS(e,t):typeof e=="object"&&(e=Fr(cr(e,t),t)),e}function iS(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Wm(Fr(e,n),Fr(t,n),n,!0);return n.skipEscape=!0,cr(o,n)}function Wm(e,t,r,n){let o={};return n||(e=Fr(cr(e,r),r),t=Fr(cr(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=Vn(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=Vn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=Vn(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=Vn(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function aS(e,t,r){let n=Jm(e,r),o=Jm(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function cr(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=Gm(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=Q$(r.path):(r.path=eS(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=Y$(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=Vn(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 cS=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,uS=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function lS(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function Ym(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1,s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let i=e.match(uS);i!==null&&i[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=e.match(cS);if(a){n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]);let c=lS(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(rS(n.host)===!1){let d=W$(n.host);n.host=d.host.toLowerCase(),s=d.isIPV6}else s=!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 l=Gm(r.scheme||n.scheme);if(!r.unicodeSupport&&(!l||!l.unicodeSupport)&&n.host&&(r.domainHost||l&&l.domainHost)&&s===!1&&nS(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(u){n.error=n.error||"Host's domain name can not be converted to ASCII: "+u}if((!l||l&&!l.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=tS(unescape(n.host),s))),n.path&&(n.path=X$(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}l&&l.parse&&l.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function Fr(e,t){return Ym(e,t).parsed}function dS(e,t){return Qm(e,t).normalized}function Qm(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Ym(e,t);return{normalized:n?e:cr(r,t),malformedAuthorityOrPort:n}}function Jm(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Qm(e,t);return n?void 0:r}if(typeof e=="object")return cr(e,t)}var vc={SCHEMES:oS,normalize:sS,resolve:iS,resolveComponent:Wm,equal:aS,serialize:cr,parse:Fr};ys.exports=vc;ys.exports.default=vc;ys.exports.fastUri=vc});var th=R(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});var eh=Xm();eh.code='require("ajv/dist/runtime/uri").default';bc.default=eh});var uh=R(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.CodeGen=Pe.Name=Pe.nil=Pe.stringify=Pe.str=Pe._=Pe.KeywordCxt=void 0;var pS=Ln();Object.defineProperty(Pe,"KeywordCxt",{enumerable:!0,get:function(){return pS.KeywordCxt}});var Vr=L();Object.defineProperty(Pe,"_",{enumerable:!0,get:function(){return Vr._}});Object.defineProperty(Pe,"str",{enumerable:!0,get:function(){return Vr.str}});Object.defineProperty(Pe,"stringify",{enumerable:!0,get:function(){return Vr.stringify}});Object.defineProperty(Pe,"nil",{enumerable:!0,get:function(){return Vr.nil}});Object.defineProperty(Pe,"Name",{enumerable:!0,get:function(){return Vr.Name}});Object.defineProperty(Pe,"CodeGen",{enumerable:!0,get:function(){return Vr.CodeGen}});var fS=fs(),ih=Fn(),mS=Ja(),Hn=hs(),hS=L(),Bn=Dn(),vs=Un(),$c=W(),rh=jm(),gS=th(),ah=(e,t)=>new RegExp(e,t);ah.code="new RegExp";var _S=["removeAdditional","useDefaults","coerceTypes"],yS=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),vS={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."},bS={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},nh=200;function wS(e){var t,r,n,o,s,i,a,c,l,u,d,f,m,h,g,y,S,$,w,T,v,x,A,B,J;let _e=e.strict,We=(t=e.code)===null||t===void 0?void 0:t.optimize,wr=We===!0||We===void 0?1:We||0,Jt=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:ah,Ye=(o=e.uriResolver)!==null&&o!==void 0?o:gS.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:_e)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:_e)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:_e)!==null&&u!==void 0?u:"log",strictTuples:(f=(d=e.strictTuples)!==null&&d!==void 0?d:_e)!==null&&f!==void 0?f:"log",strictRequired:(h=(m=e.strictRequired)!==null&&m!==void 0?m:_e)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:wr,regExp:Jt}:{optimize:wr,regExp:Jt},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:nh,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:nh,meta:(S=e.meta)!==null&&S!==void 0?S:!0,messages:($=e.messages)!==null&&$!==void 0?$:!0,inlineRefs:(w=e.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(T=e.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(v=e.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(x=e.validateSchema)!==null&&x!==void 0?x:!0,validateFormats:(A=e.validateFormats)!==null&&A!==void 0?A:!0,unicodeRegExp:(B=e.unicodeRegExp)!==null&&B!==void 0?B:!0,int32range:(J=e.int32range)!==null&&J!==void 0?J:!0,uriResolver:Ye}}var Kn=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...wS(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new hS.ValueScope({scope:{},prefixes:yS,es5:r,lines:n}),this.logger=PS(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,mS.getRules)(),oh.call(this,vS,t,"NOT SUPPORTED"),oh.call(this,bS,t,"DEPRECATED","warn"),this._metaOpts=kS.call(this),t.formats&&SS.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&xS.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),$S.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=rh;n==="id"&&(o={...rh},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,t,r);async function o(u,d){await s.call(this,u.$schema);let f=this._addSchema(u,d);return f.validate||i.call(this,f)}async function s(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function i(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof ih.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await s.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,n,o);return this}let s;if(typeof t=="object"){let{schemaId:i}=this.opts;if(s=t[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Bn.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,t);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(t){let r;for(;typeof(r=sh.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Hn.SchemaEnv({schema:{},schemaId:n});if(r=Hn.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=sh.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,Bn.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(RS.call(this,n,r),!r)return(0,$c.eachItem)(n,s=>wc.call(this,s)),this;IS.call(this,r);let o={...r,type:(0,vs.getJSONTypes)(r.type),schemaType:(0,vs.getJSONTypes)(r.schemaType)};return(0,$c.eachItem)(n,o.type.length===0?s=>wc.call(this,s,o):s=>o.type.forEach(i=>wc.call(this,s,o,i))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=i[a];l&&u&&(i[a]=ch(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof t=="object")i=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,Bn.normalizeId)(i||n);let l=Bn.getSchemaRefs.call(this,t,n);return c=new Hn.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):Hn.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{Hn.compileSchema.call(this,t)}finally{this.opts=r}}};Kn.ValidationError=fS.default;Kn.MissingRefError=ih.default;Pe.default=Kn;function oh(e,t,r,n="error"){for(let o in e){let s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function sh(e){return e=(0,Bn.normalizeId)(e),this.schemas[e]||this.refs[e]}function $S(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function SS(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function xS(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function kS(){let e={...this.opts};for(let t of _S)delete e[t];return e}var zS={log(){},warn(){},error(){}};function PS(e){if(e===!1)return zS;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var TS=/^[a-z_$][a-z0-9_$:-]*$/i;function RS(e,t){let{RULES:r}=this;if((0,$c.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!TS.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function wc(e,t,r){var n;let o=t?.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[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,vs.getJSONTypes)(t.type),schemaType:(0,vs.getJSONTypes)(t.schemaType)}};t.before?ES.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function ES(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function IS(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=ch(t)),e.validateSchema=this.compile(t,!0))}var OS={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ch(e){return{anyOf:[e,OS]}}});var lh=R(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});var AS={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Sc.default=AS});var mh=R(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.callRef=ur.getValidate=void 0;var CS=Fn(),dh=tt(),He=L(),Hr=Tt(),ph=hs(),bs=W(),NS={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:l}=s;if((r==="#"||r==="#/")&&o===l.baseId)return d();let u=ph.resolveRef.call(c,l,o,r);if(u===void 0)throw new CS.default(n.opts.uriResolver,o,r);if(u instanceof ph.SchemaEnv)return f(u);return m(u);function d(){if(s===l)return ws(e,i,s,s.$async);let h=t.scopeValue("root",{ref:l});return ws(e,(0,He._)`${h}.validate`,l,l.$async)}function f(h){let g=fh(e,h);ws(e,g,h,h.$async)}function m(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,He.stringify)(h)}:{ref:h}),y=t.name("valid"),S=e.subschema({schema:h,dataTypes:[],schemaPath:He.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(S),e.ok(y)}}};function fh(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,He._)`${r.scopeValue("wrapper",{ref:t})}.validate`}ur.getValidate=fh;function ws(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,l=c.passContext?Hr.default.this:He.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{o.code((0,He._)`await ${(0,dh.callValidateCode)(e,t,l)}`),m(t),i||o.assign(h,!0)},g=>{o.if((0,He._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),f(g),i||o.assign(h,!1)}),e.ok(h)}function d(){e.result((0,dh.callValidateCode)(e,t,l),()=>m(t),()=>f(t))}function f(h){let g=(0,He._)`${h}.errors`;o.assign(Hr.default.vErrors,(0,He._)`${Hr.default.vErrors} === null ? ${g} : ${Hr.default.vErrors}.concat(${g})`),o.assign(Hr.default.errors,(0,He._)`${Hr.default.vErrors}.length`)}function m(h){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=bs.mergeEvaluated.props(o,y.props,s.props));else{let S=o.var("props",(0,He._)`${h}.evaluated.props`);s.props=bs.mergeEvaluated.props(o,S,s.props,He.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=bs.mergeEvaluated.items(o,y.items,s.items));else{let S=o.var("items",(0,He._)`${h}.evaluated.items`);s.items=bs.mergeEvaluated.items(o,S,s.items,He.Name)}}}ur.callRef=ws;ur.default=NS});var hh=R(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});var jS=lh(),MS=mh(),US=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",jS.default,MS.default];xc.default=US});var gh=R(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});var $s=L(),Lt=$s.operators,Ss={maximum:{okStr:"<=",ok:Lt.LTE,fail:Lt.GT},minimum:{okStr:">=",ok:Lt.GTE,fail:Lt.LT},exclusiveMaximum:{okStr:"<",ok:Lt.LT,fail:Lt.GTE},exclusiveMinimum:{okStr:">",ok:Lt.GT,fail:Lt.LTE}},DS={message:({keyword:e,schemaCode:t})=>(0,$s.str)`must be ${Ss[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,$s._)`{comparison: ${Ss[e].okStr}, limit: ${t}}`},ZS={keyword:Object.keys(Ss),type:"number",schemaType:"number",$data:!0,error:DS,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,$s._)`${r} ${Ss[t].fail} ${n} || isNaN(${r})`)}};kc.default=ZS});var _h=R(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});var Jn=L(),qS={message:({schemaCode:e})=>(0,Jn.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Jn._)`{multipleOf: ${e}}`},LS={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:qS,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,Jn._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Jn._)`${i} !== parseInt(${i})`;e.fail$data((0,Jn._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};zc.default=LS});var vh=R(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});function yh(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}Pc.default=yh;yh.code='require("ajv/dist/runtime/ucs2length").default'});var bh=R(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});var lr=L(),FS=W(),VS=vh(),HS={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,lr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,lr._)`{limit: ${e}}`},BS={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:HS,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?lr.operators.GT:lr.operators.LT,i=o.opts.unicode===!1?(0,lr._)`${r}.length`:(0,lr._)`${(0,FS.useFunc)(e.gen,VS.default)}(${r})`;e.fail$data((0,lr._)`${i} ${s} ${n}`)}};Tc.default=BS});var wh=R(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});var KS=tt(),JS=W(),Br=L(),GS={message:({schemaCode:e})=>(0,Br.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Br._)`{pattern: ${e}}`},WS={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:GS,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,l=c.code==="new RegExp"?(0,Br._)`new RegExp`:(0,JS.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,Br._)`${l}(${s}, ${a}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,Br._)`!${u}`)}else{let c=(0,KS.usePattern)(e,o);e.fail$data((0,Br._)`!${c}.test(${r})`)}}};Rc.default=WS});var $h=R(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});var Gn=L(),YS={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,Gn.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,Gn._)`{limit: ${e}}`},QS={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:YS,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?Gn.operators.GT:Gn.operators.LT;e.fail$data((0,Gn._)`Object.keys(${r}).length ${o} ${n}`)}};Ec.default=QS});var Sh=R(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});var Wn=tt(),Yn=L(),XS=W(),ex={message:({params:{missingProperty:e}})=>(0,Yn.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Yn._)`{missingProperty: ${e}}`},tx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:ex,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?l():u(),a.strictRequired){let m=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if(m?.[g]===void 0&&!h.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,S=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,XS.checkStrictMode)(i,S,i.opts.strictRequired)}}function l(){if(c||s)e.block$data(Yn.nil,d);else for(let m of r)(0,Wn.checkReportMissingProp)(e,m)}function u(){let m=t.let("missing");if(c||s){let h=t.let("valid",!0);e.block$data(h,()=>f(m,h)),e.ok(h)}else t.if((0,Wn.checkMissingProp)(e,r,m)),(0,Wn.reportMissingProp)(e,m),t.else()}function d(){t.forOf("prop",n,m=>{e.setParams({missingProperty:m}),t.if((0,Wn.noPropertyInData)(t,o,m,a.ownProperties),()=>e.error())})}function f(m,h){e.setParams({missingProperty:m}),t.forOf(m,n,()=>{t.assign(h,(0,Wn.propertyInData)(t,o,m,a.ownProperties)),t.if((0,Yn.not)(h),()=>{e.error(),t.break()})},Yn.nil)}}};Ic.default=tx});var xh=R(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});var Qn=L(),rx={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,Qn.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,Qn._)`{limit: ${e}}`},nx={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:rx,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?Qn.operators.GT:Qn.operators.LT;e.fail$data((0,Qn._)`${r}.length ${o} ${n}`)}};Oc.default=nx});var xs=R(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});var kh=rc();kh.code='require("ajv/dist/runtime/equal").default';Ac.default=kh});var zh=R(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});var Cc=Un(),Te=L(),ox=W(),sx=xs(),ix={message:({params:{i:e,j:t}})=>(0,Te.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Te._)`{i: ${e}, j: ${t}}`},ax={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:ix,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),l=s.items?(0,Cc.getSchemaTypes)(s.items):[];e.block$data(c,u,(0,Te._)`${i} === false`),e.ok(c);function u(){let h=t.let("i",(0,Te._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if((0,Te._)`${h} > 1`,()=>(d()?f:m)(h,g))}function d(){return l.length>0&&!l.some(h=>h==="object"||h==="array")}function f(h,g){let y=t.name("item"),S=(0,Cc.checkDataTypes)(l,y,a.opts.strictNumbers,Cc.DataType.Wrong),$=t.const("indices",(0,Te._)`{}`);t.for((0,Te._)`;${h}--;`,()=>{t.let(y,(0,Te._)`${r}[${h}]`),t.if(S,(0,Te._)`continue`),l.length>1&&t.if((0,Te._)`typeof ${y} == "string"`,(0,Te._)`${y} += "_"`),t.if((0,Te._)`typeof ${$}[${y}] == "number"`,()=>{t.assign(g,(0,Te._)`${$}[${y}]`),e.error(),t.assign(c,!1).break()}).code((0,Te._)`${$}[${y}] = ${h}`)})}function m(h,g){let y=(0,ox.useFunc)(t,sx.default),S=t.name("outer");t.label(S).for((0,Te._)`;${h}--;`,()=>t.for((0,Te._)`${g} = ${h}; ${g}--;`,()=>t.if((0,Te._)`${y}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(S)})))}}};Nc.default=ax});var Ph=R(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});var jc=L(),cx=W(),ux=xs(),lx={message:"must be equal to constant",params:({schemaCode:e})=>(0,jc._)`{allowedValue: ${e}}`},dx={keyword:"const",$data:!0,error:lx,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,jc._)`!${(0,cx.useFunc)(t,ux.default)}(${r}, ${o})`):e.fail((0,jc._)`${s} !== ${r}`)}};Mc.default=dx});var Th=R(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});var Xn=L(),px=W(),fx=xs(),mx={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,Xn._)`{allowedValues: ${e}}`},hx={keyword:"enum",schemaType:"array",$data:!0,error:mx,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,l=()=>c??(c=(0,px.useFunc)(t,fx.default)),u;if(a||n)u=t.let("valid"),e.block$data(u,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=t.const("vSchema",s);u=(0,Xn.or)(...o.map((h,g)=>f(m,g)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",s,m=>t.if((0,Xn._)`${l()}(${r}, ${m})`,()=>t.assign(u,!0).break()))}function f(m,h){let g=o[h];return typeof g=="object"&&g!==null?(0,Xn._)`${l()}(${r}, ${m}[${h}])`:(0,Xn._)`${r} === ${g}`}}};Uc.default=hx});var Rh=R(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});var gx=gh(),_x=_h(),yx=bh(),vx=wh(),bx=$h(),wx=Sh(),$x=xh(),Sx=zh(),xx=Ph(),kx=Th(),zx=[gx.default,_x.default,yx.default,vx.default,bx.default,wx.default,$x.default,Sx.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},xx.default,kx.default];Dc.default=zx});var qc=R(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.validateAdditionalItems=void 0;var dr=L(),Zc=W(),Px={message:({params:{len:e}})=>(0,dr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,dr._)`{limit: ${e}}`},Tx={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Px,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Zc.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Eh(e,n)}};function Eh(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",(0,dr._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,dr._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Zc.alwaysValidSchema)(i,n)){let l=r.var("valid",(0,dr._)`${a} <= ${t.length}`);r.if((0,dr.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,a,u=>{e.subschema({keyword:s,dataProp:u,dataPropType:Zc.Type.Num},l),i.allErrors||r.if((0,dr.not)(l),()=>r.break())})}}eo.validateAdditionalItems=Eh;eo.default=Tx});var Lc=R(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.validateTuple=void 0;var Ih=L(),ks=W(),Rx=tt(),Ex={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Oh(e,"additionalItems",t);r.items=!0,!(0,ks.alwaysValidSchema)(r,t)&&e.ok((0,Rx.validateArray)(e))}};function Oh(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=ks.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,Ih._)`${s}.length`);r.forEach((d,f)=>{(0,ks.alwaysValidSchema)(a,d)||(n.if((0,Ih._)`${l} > ${f}`,()=>e.subschema({keyword:i,schemaProp:f,dataProp:f},c)),e.ok(c))});function u(d){let{opts:f,errSchemaPath:m}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(f.strictTuples&&!g){let y=`"${i}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${m}"`;(0,ks.checkStrictMode)(a,y,f.strictTuples)}}}to.validateTuple=Oh;to.default=Ex});var Ah=R(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});var Ix=Lc(),Ox={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,Ix.validateTuple)(e,"items")};Fc.default=Ox});var Nh=R(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});var Ch=L(),Ax=W(),Cx=tt(),Nx=qc(),jx={message:({params:{len:e}})=>(0,Ch.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ch._)`{limit: ${e}}`},Mx={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:jx,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,Ax.alwaysValidSchema)(n,t)&&(o?(0,Nx.validateAdditionalItems)(e,o):e.ok((0,Cx.validateArray)(e)))}};Vc.default=Mx});var jh=R(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});var nt=L(),zs=W(),Ux={message:({params:{min:e,max:t}})=>t===void 0?(0,nt.str)`must contain at least ${e} valid item(s)`:(0,nt.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,nt._)`{minContains: ${e}}`:(0,nt._)`{minContains: ${e}, maxContains: ${t}}`},Dx={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Ux,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:l}=n;s.opts.next?(i=c===void 0?1:c,a=l):i=1;let u=t.const("len",(0,nt._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,zs.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,zs.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,zs.alwaysValidSchema)(s,r)){let g=(0,nt._)`${u} >= ${i}`;a!==void 0&&(g=(0,nt._)`${g} && ${u} <= ${a}`),e.pass(g);return}s.items=!0;let d=t.name("valid");a===void 0&&i===1?m(d,()=>t.if(d,()=>t.break())):i===0?(t.let(d,!0),a!==void 0&&t.if((0,nt._)`${o}.length > 0`,f)):(t.let(d,!1),f()),e.result(d,()=>e.reset());function f(){let g=t.name("_valid"),y=t.let("count",0);m(g,()=>t.if(g,()=>h(y)))}function m(g,y){t.forRange("i",0,u,S=>{e.subschema({keyword:"contains",dataProp:S,dataPropType:zs.Type.Num,compositeRule:!0},g),y()})}function h(g){t.code((0,nt._)`${g}++`),a===void 0?t.if((0,nt._)`${g} >= ${i}`,()=>t.assign(d,!0).break()):(t.if((0,nt._)`${g} > ${a}`,()=>t.assign(d,!1).break()),i===1?t.assign(d,!0):t.if((0,nt._)`${g} >= ${i}`,()=>t.assign(d,!0)))}}};Hc.default=Dx});var Dh=R(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.validateSchemaDeps=_t.validatePropertyDeps=_t.error=void 0;var Bc=L(),Zx=W(),ro=tt();_t.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Bc.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Bc._)`{property: ${e},
7
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function p0({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${r}]`,n))}function Qa(e,t,r,n=qr.Correct){let o=n===qr.Correct?q.operators.EQ:q.operators.NEQ,s;switch(e){case"null":return(0,q._)`${t} ${o} null`;case"array":s=(0,q._)`Array.isArray(${t})`;break;case"object":s=(0,q._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,q._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,q._)`typeof ${t} ${o} ${e}`}return n===qr.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,r?(0,q._)`isFinite(${t})`:q.nil)}}Ne.checkDataType=Qa;function Xa(e,t,r,n){if(e.length===1)return Qa(e[0],t,r,n);let o,s=(0,im.toHash)(e);if(s.array&&s.object){let i=(0,q._)`typeof ${t} != "object"`;o=s.null?i:(0,q._)`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=q.nil;s.number&&delete s.integer;for(let i in s)o=(0,q.and)(o,Qa(i,t,r,n));return o}Ne.checkDataTypes=Xa;var f0={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function ec(e){let t=m0(e);(0,a0.reportError)(t,f0)}Ne.reportTypeError=ec;function m0(e){let{gen:t,data:r,schema:n}=e,o=(0,im.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var lm=R(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.assignDefaults=void 0;var Lr=L(),h0=J();function g0(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)um(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,s)=>um(e,s,o.default))}ds.assignDefaults=g0;function um(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=(0,Lr._)`${s}${(0,Lr.getProperty)(t)}`;if(o){(0,h0.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,Lr._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Lr._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Lr._)`${a} = ${(0,Lr.stringify)(r)}`)}});var et=R(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.validateUnion=re.validateArray=re.usePattern=re.callValidateCode=re.schemaProperties=re.allSchemaProperties=re.noPropertyInData=re.propertyInData=re.isOwnProperty=re.hasPropFunc=re.reportMissingProp=re.checkMissingProp=re.checkReportMissingProp=void 0;var pe=L(),tc=J(),Zt=Rt(),_0=J();function y0(e,t){let{gen:r,data:n,it:o}=e;r.if(nc(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,pe._)`${t}`},!0),e.error()})}re.checkReportMissingProp=y0;function v0({gen:e,data:t,it:{opts:r}},n,o){return(0,pe.or)(...n.map(s=>(0,pe.and)(nc(e,t,s,r.ownProperties),(0,pe._)`${o} = ${s}`)))}re.checkMissingProp=v0;function b0(e,t){e.setParams({missingProperty:t},!0),e.error()}re.reportMissingProp=b0;function dm(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pe._)`Object.prototype.hasOwnProperty`})}re.hasPropFunc=dm;function rc(e,t,r){return(0,pe._)`${dm(e)}.call(${t}, ${r})`}re.isOwnProperty=rc;function w0(e,t,r,n){let o=(0,pe._)`${t}${(0,pe.getProperty)(r)} !== undefined`;return n?(0,pe._)`${o} && ${rc(e,t,r)}`:o}re.propertyInData=w0;function nc(e,t,r,n){let o=(0,pe._)`${t}${(0,pe.getProperty)(r)} === undefined`;return n?(0,pe.or)(o,(0,pe.not)(rc(e,t,r))):o}re.noPropertyInData=nc;function pm(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}re.allSchemaProperties=pm;function $0(e,t){return pm(t).filter(r=>!(0,tc.alwaysValidSchema)(e,t[r]))}re.schemaProperties=$0;function S0({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,pe._)`${e}, ${t}, ${n}${o}`:t,d=[[Zt.default.instancePath,(0,pe.strConcat)(Zt.default.instancePath,s)],[Zt.default.parentData,i.parentData],[Zt.default.parentDataProperty,i.parentDataProperty],[Zt.default.rootData,Zt.default.rootData]];i.opts.dynamicRef&&d.push([Zt.default.dynamicAnchors,Zt.default.dynamicAnchors]);let p=(0,pe._)`${l}, ${r.object(...d)}`;return c!==pe.nil?(0,pe._)`${a}.call(${c}, ${p})`:(0,pe._)`${a}(${p})`}re.callValidateCode=S0;var x0=(0,pe._)`new RegExp`;function k0({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,pe._)`${o.code==="new RegExp"?x0:(0,_0.useFunc)(e,o)}(${r}, ${n})`})}re.usePattern=k0;function z0(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",(0,pe._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:tc.Type.Num},s),t.if((0,pe.not)(s),a)})}}re.validateArray=z0;function P0(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,tc.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let l=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);t.assign(i,(0,pe._)`${i} || ${a}`),e.mergeValidEvaluated(l,a)||t.if((0,pe.not)(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}re.validateUnion=P0});var hm=R(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.validateKeywordUsage=ht.validSchemaType=ht.funcKeywordCode=ht.macroKeywordCode=void 0;var De=L(),ar=Rt(),T0=et(),R0=Dn();function E0(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=mm(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");e.subschema({schema:a,schemaPath:De.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}ht.macroKeywordCode=E0;function I0(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;A0(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,l=mm(n,o,u),d=n.let("valid");e.block$data(d,p),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function p(){if(t.errors===!1)g(),t.modifying&&fm(e),y(()=>e.error());else{let S=t.async?m():h();t.modifying&&fm(e),y(()=>O0(e,S))}}function m(){let S=n.let("ruleErrs",null);return n.try(()=>g((0,De._)`await `),$=>n.assign(d,!1).if((0,De._)`${$} instanceof ${c.ValidationError}`,()=>n.assign(S,(0,De._)`${$}.errors`),()=>n.throw($))),S}function h(){let S=(0,De._)`${l}.errors`;return n.assign(S,null),g(De.nil),S}function g(S=t.async?(0,De._)`await `:De.nil){let $=c.opts.passContext?ar.default.this:ar.default.self,w=!("compile"in t&&!a||t.schema===!1);n.assign(d,(0,De._)`${S}${(0,T0.callValidateCode)(e,l,$,w)}`,t.modifying)}function y(S){var $;n.if((0,De.not)(($=t.valid)!==null&&$!==void 0?$:d),S)}}ht.funcKeywordCode=I0;function fm(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,De._)`${n.parentData}[${n.parentDataProperty}]`))}function O0(e,t){let{gen:r}=e;r.if((0,De._)`Array.isArray(${t})`,()=>{r.assign(ar.default.vErrors,(0,De._)`${ar.default.vErrors} === null ? ${t} : ${ar.default.vErrors}.concat(${t})`).assign(ar.default.errors,(0,De._)`${ar.default.vErrors}.length`),(0,R0.extendErrors)(e)},()=>e.error())}function A0({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function mm(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,De.stringify)(r)})}function C0(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}ht.validSchemaType=C0;function N0({schema:e,opts:t,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(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}ht.validateKeywordUsage=N0});var _m=R(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.extendSubschemaMode=qt.extendSubschemaData=qt.getSubschema=void 0;var gt=L(),gm=J();function j0(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,gt._)`${e.schemaPath}${(0,gt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,gt._)`${e.schemaPath}${(0,gt.getProperty)(t)}${(0,gt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,gm.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')}qt.getSubschema=j0;function M0(e,t,{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}=t;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=t,p=a.let("data",(0,gt._)`${t.data}${(0,gt.getProperty)(r)}`,!0);c(p),e.errorPath=(0,gt.str)`${u}${(0,gm.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,gt._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(o!==void 0){let u=o instanceof gt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}qt.extendSubschemaData=M0;function U0(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}qt.extendSubschemaMode=U0});var oc=R((cC,ym)=>{"use strict";ym.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),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(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var bm=R((uC,vm)=>{"use strict";var Lt=vm.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};ps(t,n,o,e,"",e)};Lt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Lt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Lt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Lt.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 ps(e,t,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Lt.arrayKeywords)for(var p=0;p<d.length;p++)ps(e,t,r,d[p],o+"/"+l+"/"+p,s,o,l,n,p)}else if(l in Lt.propsKeywords){if(d&&typeof d=="object")for(var m in d)ps(e,t,r,d[m],o+"/"+l+"/"+D0(m),s,o,l,n,m)}else(l in Lt.keywords||e.allKeys&&!(l in Lt.skipKeywords))&&ps(e,t,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function D0(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var qn=R(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.getSchemaRefs=He.resolveUrl=He.normalizeId=He._getFullPath=He.getFullPath=He.inlineRef=void 0;var Z0=J(),q0=oc(),L0=bm(),F0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function V0(e,t=!0){return typeof e=="boolean"?!0:t===!0?!sc(e):t?wm(e)<=t:!1}He.inlineRef=V0;var H0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function sc(e){for(let t in e){if(H0.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(sc)||typeof r=="object"&&sc(r))return!0}return!1}function wm(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!F0.has(r)&&(typeof e[r]=="object"&&(0,Z0.eachItem)(e[r],n=>t+=wm(n)),t===1/0))return 1/0}return t}function $m(e,t="",r){r!==!1&&(t=Fr(t));let n=e.parse(t);return Sm(e,n)}He.getFullPath=$m;function Sm(e,t){return e.serialize(t).split("#")[0]+"#"}He._getFullPath=Sm;var B0=/#\/?$/;function Fr(e){return e?e.replace(B0,""):""}He.normalizeId=Fr;function K0(e,t,r){return r=Fr(r),e.resolve(t,r)}He.resolveUrl=K0;var J0=/^[a-z_][-a-z0-9._]*$/i;function G0(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Fr(e[r]||t),s={"":o},i=$m(n,o,!1),a={},c=new Set;return L0(e,{allKeys:!0},(d,p,m,h)=>{if(h===void 0)return;let g=i+p,y=s[h];typeof d[r]=="string"&&(y=S.call(this,d[r])),$.call(this,d.$anchor),$.call(this,d.$dynamicAnchor),s[p]=y;function S(w){let T=this.opts.uriResolver.resolve;if(w=Fr(y?T(y,w):w),c.has(w))throw l(w);c.add(w);let v=this.refs[w];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,w):w!==Fr(g)&&(w[0]==="#"?(u(d,a[w],w),a[w]=d):this.refs[w]=g),w}function $(w){if(typeof w=="string"){if(!J0.test(w))throw new Error(`invalid anchor "${w}"`);S.call(this,`#${w}`)}}}),a;function u(d,p,m){if(p!==void 0&&!q0(d,p))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}He.getSchemaRefs=G0});var Vn=R(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.getData=Ft.KeywordCxt=Ft.validateFunctionCode=void 0;var Tm=nm(),xm=Zn(),ac=Ya(),fs=Zn(),W0=lm(),Fn=hm(),ic=_m(),O=L(),D=Rt(),Y0=qn(),Et=J(),Ln=Dn();function Q0(e){if(Im(e)&&(Om(e),Em(e))){t$(e);return}Rm(e,()=>(0,Tm.topBoolOrEmptySchema)(e))}Ft.validateFunctionCode=Q0;function Rm({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,(0,O._)`${D.default.data}, ${D.default.valCxt}`,n.$async,()=>{e.code((0,O._)`"use strict"; ${km(r,o)}`),e$(e,o),e.code(s)}):e.func(t,(0,O._)`${D.default.data}, ${X0(o)}`,n.$async,()=>e.code(km(r,o)).code(s))}function X0(e){return(0,O._)`{${D.default.instancePath}="", ${D.default.parentData}, ${D.default.parentDataProperty}, ${D.default.rootData}=${D.default.data}${e.dynamicRef?(0,O._)`, ${D.default.dynamicAnchors}={}`:O.nil}}={}`}function e$(e,t){e.if(D.default.valCxt,()=>{e.var(D.default.instancePath,(0,O._)`${D.default.valCxt}.${D.default.instancePath}`),e.var(D.default.parentData,(0,O._)`${D.default.valCxt}.${D.default.parentData}`),e.var(D.default.parentDataProperty,(0,O._)`${D.default.valCxt}.${D.default.parentDataProperty}`),e.var(D.default.rootData,(0,O._)`${D.default.valCxt}.${D.default.rootData}`),t.dynamicRef&&e.var(D.default.dynamicAnchors,(0,O._)`${D.default.valCxt}.${D.default.dynamicAnchors}`)},()=>{e.var(D.default.instancePath,(0,O._)`""`),e.var(D.default.parentData,(0,O._)`undefined`),e.var(D.default.parentDataProperty,(0,O._)`undefined`),e.var(D.default.rootData,D.default.data),t.dynamicRef&&e.var(D.default.dynamicAnchors,(0,O._)`{}`)})}function t$(e){let{schema:t,opts:r,gen:n}=e;Rm(e,()=>{r.$comment&&t.$comment&&Cm(e),i$(e),n.let(D.default.vErrors,null),n.let(D.default.errors,0),r.unevaluated&&r$(e),Am(e),u$(e)})}function r$(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,O._)`${r}.evaluated`),t.if((0,O._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,O._)`${e.evaluated}.props`,(0,O._)`undefined`)),t.if((0,O._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,O._)`${e.evaluated}.items`,(0,O._)`undefined`))}function km(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,O._)`/*# sourceURL=${r} */`:O.nil}function n$(e,t){if(Im(e)&&(Om(e),Em(e))){o$(e,t);return}(0,Tm.boolOrEmptySchema)(e,t)}function Em({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Im(e){return typeof e.schema!="boolean"}function o$(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&Cm(e),a$(e),c$(e);let s=n.const("_errs",D.default.errors);Am(e,s),n.var(t,(0,O._)`${s} === ${D.default.errors}`)}function Om(e){(0,Et.checkUnknownRules)(e),s$(e)}function Am(e,t){if(e.opts.jtd)return zm(e,[],!1,t);let r=(0,xm.getSchemaTypes)(e.schema),n=(0,xm.coerceAndCheckDataType)(e,r);zm(e,r,!n,t)}function s$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Et.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function i$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Et.checkStrictMode)(e,"default is ignored in the schema root")}function a$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,Y0.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function c$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Cm({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code((0,O._)`${D.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,O.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,O._)`${D.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function u$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if((0,O._)`${D.default.errors} === 0`,()=>t.return(D.default.data),()=>t.throw((0,O._)`new ${o}(${D.default.vErrors})`)):(t.assign((0,O._)`${n}.errors`,D.default.vErrors),s.unevaluated&&l$(e),t.return((0,O._)`${D.default.errors} === 0`))}function l$({gen:e,evaluated:t,props:r,items:n}){r instanceof O.Name&&e.assign((0,O._)`${t}.props`,r),n instanceof O.Name&&e.assign((0,O._)`${t}.items`,n)}function zm(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Et.schemaHasRulesButRef)(s,l))){o.block(()=>jm(e,"$ref",l.all.$ref.definition));return}c.jtd||d$(e,t),o.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,ac.shouldUseGroup)(s,p)&&(p.type?(o.if((0,fs.checkDataType)(p.type,i,c.strictNumbers)),Pm(e,p),t.length===1&&t[0]===p.type&&r&&(o.else(),(0,fs.reportTypeError)(e)),o.endIf()):Pm(e,p),a||o.if((0,O._)`${D.default.errors} === ${n||0}`))}}function Pm(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,W0.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,ac.shouldUseRule)(n,s)&&jm(e,s.keyword,s.definition,t.type)})}function d$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(p$(e,t),e.opts.allowUnionTypes||f$(e,t),m$(e,e.dataTypes))}function p$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Nm(e.dataTypes,r)||cc(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),g$(e,t)}}function f$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&cc(e,"use allowUnionTypes to allow union type keyword")}function m$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,ac.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>h$(t,i))&&cc(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function h$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Nm(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function g$(e,t){let r=[];for(let n of e.dataTypes)Nm(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function cc(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Et.checkStrictMode)(e,t,e.opts.strictTypes)}var ms=class{constructor(t,r,n){if((0,Fn.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Et.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Mm(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Fn.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",D.default.errors))}result(t,r,n){this.failResult((0,O.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,O.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,O._)`${r} !== undefined && (${(0,O.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Ln.reportExtraError:Ln.reportError)(this,this.def.error,r)}$dataError(){(0,Ln.reportError)(this,this.def.$dataError||Ln.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ln.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=O.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=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)),t!==O.nil&&n.assign(t,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==O.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,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,fs.checkDataTypes)(c,r,s.opts.strictNumbers,fs.DataType.Wrong)}`}return O.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,O._)`!${c}(${r})`}return O.nil}}subschema(t,r){let n=(0,ic.getSubschema)(this.it,t);(0,ic.extendSubschemaData)(n,this.it,t),(0,ic.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return n$(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Et.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Et.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,O.Name)),!0}};Ft.KeywordCxt=ms;function jm(e,t,r,n){let o=new ms(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Fn.funcKeywordCode)(o,r):"macro"in r?(0,Fn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Fn.funcKeywordCode)(o,r)}var _$=/^\/(?:[^~]|~0|~1)*$/,y$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Mm(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return D.default.rootData;if(e[0]==="/"){if(!_$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=D.default.rootData}else{let u=y$.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=t)throw new Error(c("property/index",l));return n[t-l]}if(l>t)throw new Error(c("data",l));if(s=r[t-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,O._)`${s}${(0,O.getProperty)((0,Et.unescapeJsonPointer)(u))}`,i=(0,O._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}Ft.getData=Mm});var hs=R(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var uc=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};lc.default=uc});var Hn=R(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var dc=qn(),pc=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,dc.resolveUrl)(t,r,n),this.missingSchema=(0,dc.normalizeId)((0,dc.getFullPath)(t,this.missingRef))}};fc.default=pc});var _s=R(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.resolveSchema=tt.getCompilingSchema=tt.resolveRef=tt.compileSchema=tt.SchemaEnv=void 0;var ct=L(),v$=hs(),cr=Rt(),ut=qn(),Um=J(),b$=Vn(),Vr=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,ut.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};tt.SchemaEnv=Vr;function hc(e){let t=Dm.call(this,e);if(t)return t;let r=(0,ut.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new ct.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:v$.default,code:(0,ct._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:cr.default.data,parentData:cr.default.parentData,parentDataProperty:cr.default.parentDataProperty,dataNames:[cr.default.data],dataPathArr:[ct.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,ct.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:ct.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ct._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,b$.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(cr.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let m=new Function(`${cr.default.self}`,`${cr.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=e.schema,m.schemaEnv=e,e.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:h,items:g}=u;m.evaluated={props:h instanceof ct.Name?void 0:h,items:g instanceof ct.Name?void 0:g,dynamicProps:h instanceof ct.Name,dynamicItems:g instanceof ct.Name},m.source&&(m.source.evaluated=(0,ct.stringify)(m.evaluated))}return e.validate=m,e}catch(d){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(e)}}tt.compileSchema=hc;function w$(e,t,r){var n;r=(0,ut.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=x$.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Vr({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=$$.call(this,s)}tt.resolveRef=w$;function $$(e){return(0,ut.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:hc.call(this,e)}function Dm(e){for(let t of this._compilations)if(S$(t,e))return t}tt.getCompilingSchema=Dm;function S$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function x$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||gs.call(this,e,t)}function gs(e,t){let r=this.opts.uriResolver.parse(t),n=(0,ut._getFullPath)(this.opts.uriResolver,r),o=(0,ut.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return mc.call(this,r,e);let s=(0,ut.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=gs.call(this,e,i);return typeof a?.schema!="object"?void 0:mc.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||hc.call(this,i),s===(0,ut.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,ut.resolveUrl)(this.opts.uriResolver,o,u)),new Vr({schema:a,schemaId:c,root:e,baseId:o})}return mc.call(this,r,i)}}tt.resolveSchema=gs;var k$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function mc(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Um.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!k$.has(a)&&u&&(t=(0,ut.resolveUrl)(this.opts.uriResolver,t,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Um.schemaHasRulesButRef)(r,this.RULES)){let a=(0,ut.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=gs.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Vr({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s}});var Zm=R((hC,z$)=>{z$.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 yc=R((gC,Bm)=>{"use strict";var P$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Lm=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),gc=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Fm=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),T$=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function _c(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var R$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function qm(e){return e.length=0,!0}function E$(e,t,r){if(e.length){let n=_c(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function I$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=E$;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=qm}else{o.push(u);continue}}return o.length&&(a===qm?r.zone=o.join(""):i?n.push(o.join("")):n.push(_c(o))),r.address=n.join(""),r}function Vm(e){if(O$(e,":")<2)return{host:e,isIPV6:!1};let t=I$(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function O$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function A$(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}var C$={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},N$=/[@/?#:]/g,j$=/[@/?#]/g;function Hm(e,t){let r=t?j$:N$;return r.lastIndex=0,e.replace(r,n=>C$[n])}function M$(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let o=e.slice(n+1,n+3);if(gc(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));t&&Fm(i)?r+=i:r+="%"+s,n+=2;continue}}r+=e[n]}return r}function U$(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(gc(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Fm(s)?t+=s:t+="%"+o,r+=2;continue}}T$(e[r])?t+=e[r]:t+=escape(e[r])}return t}function D$(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(gc(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function Z$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Lm(r)){let n=Vm(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Hm(r,!1)}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Bm.exports={nonSimpleDomain:R$,recomposeAuthority:Z$,reescapeHostDelimiters:Hm,normalizePercentEncoding:M$,normalizePathEncoding:U$,escapePreservingEscapes:D$,removeDotSegments:A$,isIPv4:Lm,isUUID:P$,normalizeIPv6:Vm,stringArrayToHexStripped:_c}});var Ym=R((_C,Wm)=>{"use strict";var{isUUID:q$}=yc(),L$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,F$=["http","https","ws","wss","urn","urn:uuid"];function V$(e){return F$.indexOf(e)!==-1}function vc(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Km(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Jm(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function H$(e){return e.secure=vc(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function B$(e){if((e.port===(vc(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function K$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(L$);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=bc(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function J$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=bc(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function G$(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!q$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function W$(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Gm={scheme:"http",domainHost:!0,parse:Km,serialize:Jm},Y$={scheme:"https",domainHost:Gm.domainHost,parse:Km,serialize:Jm},ys={scheme:"ws",domainHost:!0,parse:H$,serialize:B$},Q$={scheme:"wss",domainHost:ys.domainHost,parse:ys.parse,serialize:ys.serialize},X$={scheme:"urn",parse:K$,serialize:J$,skipNormalize:!0},eS={scheme:"urn:uuid",parse:G$,serialize:W$,skipNormalize:!0},vs={http:Gm,https:Y$,ws:ys,wss:Q$,urn:X$,"urn:uuid":eS};Object.setPrototypeOf(vs,null);function bc(e){return e&&(vs[e]||vs[e.toLowerCase()])||void 0}Wm.exports={wsIsSecure:vc,SCHEMES:vs,isValidSchemeName:V$,getSchemeHandler:bc}});var nh=R((yC,bs)=>{"use strict";var{normalizeIPv6:tS,removeDotSegments:Bn,recomposeAuthority:rS,normalizePercentEncoding:nS,normalizePathEncoding:oS,escapePreservingEscapes:sS,reescapeHostDelimiters:iS,isIPv4:aS,nonSimpleDomain:cS}=yc(),{SCHEMES:uS,getSchemeHandler:Xm}=Ym();function lS(e,t){return typeof e=="string"?e=gS(e,t):typeof e=="object"&&(e=Hr(ur(e,t),t)),e}function dS(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=eh(Hr(e,n),Hr(t,n),n,!0);return n.skipEscape=!0,ur(o,n)}function eh(e,t,r,n){let o={};return n||(e=Hr(ur(e,r),r),t=Hr(ur(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=Bn(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=Bn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=Bn(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=Bn(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function pS(e,t,r){let n=Qm(e,r),o=Qm(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function ur(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=Xm(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=nS(r.path):(r.path=sS(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=rS(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=Bn(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 fS=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,mS=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function hS(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function th(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1,s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let i=e.match(mS);i!==null&&i[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=e.match(fS);if(a){n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]);let c=hS(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(aS(n.host)===!1){let d=tS(n.host);n.host=d.host.toLowerCase(),s=d.isIPV6}else s=!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 u=Xm(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&cS(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!u||u&&!u.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=iS(unescape(n.host),s))),n.path&&(n.path=oS(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}u&&u.parse&&u.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function Hr(e,t){return th(e,t).parsed}function gS(e,t){return rh(e,t).normalized}function rh(e,t){let{parsed:r,malformedAuthorityOrPort:n}=th(e,t);return{normalized:n?e:ur(r,t),malformedAuthorityOrPort:n}}function Qm(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=rh(e,t);return n?void 0:r}if(typeof e=="object")return ur(e,t)}var wc={SCHEMES:uS,normalize:lS,resolve:dS,resolveComponent:eh,equal:pS,serialize:ur,parse:Hr};bs.exports=wc;bs.exports.default=wc;bs.exports.fastUri=wc});var sh=R($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});var oh=nh();oh.code='require("ajv/dist/runtime/uri").default';$c.default=oh});var fh=R(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.CodeGen=Te.Name=Te.nil=Te.stringify=Te.str=Te._=Te.KeywordCxt=void 0;var _S=Vn();Object.defineProperty(Te,"KeywordCxt",{enumerable:!0,get:function(){return _S.KeywordCxt}});var Br=L();Object.defineProperty(Te,"_",{enumerable:!0,get:function(){return Br._}});Object.defineProperty(Te,"str",{enumerable:!0,get:function(){return Br.str}});Object.defineProperty(Te,"stringify",{enumerable:!0,get:function(){return Br.stringify}});Object.defineProperty(Te,"nil",{enumerable:!0,get:function(){return Br.nil}});Object.defineProperty(Te,"Name",{enumerable:!0,get:function(){return Br.Name}});Object.defineProperty(Te,"CodeGen",{enumerable:!0,get:function(){return Br.CodeGen}});var yS=hs(),lh=Hn(),vS=Wa(),Kn=_s(),bS=L(),Jn=qn(),ws=Zn(),xc=J(),ih=Zm(),wS=sh(),dh=(e,t)=>new RegExp(e,t);dh.code="new RegExp";var $S=["removeAdditional","useDefaults","coerceTypes"],SS=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),xS={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."},kS={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},ah=200;function zS(e){var t,r,n,o,s,i,a,c,u,l,d,p,m,h,g,y,S,$,w,T,v,k,C,W,ie;let _e=e.strict,we=(t=e.code)===null||t===void 0?void 0:t.optimize,$t=we===!0||we===void 0?1:we||0,Ct=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:dh,pt=(o=e.uriResolver)!==null&&o!==void 0?o:wS.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:_e)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:_e)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=e.strictTypes)!==null&&u!==void 0?u:_e)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=e.strictTuples)!==null&&d!==void 0?d:_e)!==null&&p!==void 0?p:"log",strictRequired:(h=(m=e.strictRequired)!==null&&m!==void 0?m:_e)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:$t,regExp:Ct}:{optimize:$t,regExp:Ct},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:ah,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:ah,meta:(S=e.meta)!==null&&S!==void 0?S:!0,messages:($=e.messages)!==null&&$!==void 0?$:!0,inlineRefs:(w=e.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(T=e.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(v=e.addUsedSchema)!==null&&v!==void 0?v:!0,validateSchema:(k=e.validateSchema)!==null&&k!==void 0?k:!0,validateFormats:(C=e.validateFormats)!==null&&C!==void 0?C:!0,unicodeRegExp:(W=e.unicodeRegExp)!==null&&W!==void 0?W:!0,int32range:(ie=e.int32range)!==null&&ie!==void 0?ie:!0,uriResolver:pt}}var Gn=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...zS(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new bS.ValueScope({scope:{},prefixes:SS,es5:r,lines:n}),this.logger=OS(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,vS.getRules)(),ch.call(this,xS,t,"NOT SUPPORTED"),ch.call(this,kS,t,"DEPRECATED","warn"),this._metaOpts=ES.call(this),t.formats&&TS.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&RS.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),PS.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=ih;n==="id"&&(o={...ih},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,t,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 lh.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(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,n,o);return this}let s;if(typeof t=="object"){let{schemaId:i}=this.opts;if(s=t[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Jn.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,t);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(t){let r;for(;typeof(r=uh.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Kn.SchemaEnv({schema:{},schemaId:n});if(r=Kn.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=uh.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,Jn.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(CS.call(this,n,r),!r)return(0,xc.eachItem)(n,s=>Sc.call(this,s)),this;jS.call(this,r);let o={...r,type:(0,ws.getJSONTypes)(r.type),schemaType:(0,ws.getJSONTypes)(r.schemaType)};return(0,xc.eachItem)(n,o.type.length===0?s=>Sc.call(this,s,o):s=>o.type.forEach(i=>Sc.call(this,s,o,i))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let s=o.split("/").slice(1),i=t;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]=ph(l))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof t=="object")i=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,Jn.normalizeId)(i||n);let u=Jn.getSchemaRefs.call(this,t,n);return c=new Kn.SchemaEnv({schema:t,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(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):Kn.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{Kn.compileSchema.call(this,t)}finally{this.opts=r}}};Gn.ValidationError=yS.default;Gn.MissingRefError=lh.default;Te.default=Gn;function ch(e,t,r,n="error"){for(let o in e){let s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function uh(e){return e=(0,Jn.normalizeId)(e),this.schemas[e]||this.refs[e]}function PS(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function TS(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function RS(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function ES(){let e={...this.opts};for(let t of $S)delete e[t];return e}var IS={log(){},warn(){},error(){}};function OS(e){if(e===!1)return IS;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var AS=/^[a-z_$][a-z0-9_$:-]*$/i;function CS(e,t){let{RULES:r}=this;if((0,xc.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!AS.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Sc(e,t,r){var n;let o=t?.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[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,ws.getJSONTypes)(t.type),schemaType:(0,ws.getJSONTypes)(t.schemaType)}};t.before?NS.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function NS(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function jS(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=ph(t)),e.validateSchema=this.compile(t,!0))}var MS={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ph(e){return{anyOf:[e,MS]}}});var mh=R(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});var US={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};kc.default=US});var yh=R(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.callRef=lr.getValidate=void 0;var DS=Hn(),hh=et(),Be=L(),Kr=Rt(),gh=_s(),$s=J(),ZS={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=gh.resolveRef.call(c,u,o,r);if(l===void 0)throw new DS.default(n.opts.uriResolver,o,r);if(l instanceof gh.SchemaEnv)return p(l);return m(l);function d(){if(s===u)return Ss(e,i,s,s.$async);let h=t.scopeValue("root",{ref:u});return Ss(e,(0,Be._)`${h}.validate`,u,u.$async)}function p(h){let g=_h(e,h);Ss(e,g,h,h.$async)}function m(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,Be.stringify)(h)}:{ref:h}),y=t.name("valid"),S=e.subschema({schema:h,dataTypes:[],schemaPath:Be.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(S),e.ok(y)}}};function _h(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Be._)`${r.scopeValue("wrapper",{ref:t})}.validate`}lr.getValidate=_h;function Ss(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Kr.default.this:Be.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{o.code((0,Be._)`await ${(0,hh.callValidateCode)(e,t,u)}`),m(t),i||o.assign(h,!0)},g=>{o.if((0,Be._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),p(g),i||o.assign(h,!1)}),e.ok(h)}function d(){e.result((0,hh.callValidateCode)(e,t,u),()=>m(t),()=>p(t))}function p(h){let g=(0,Be._)`${h}.errors`;o.assign(Kr.default.vErrors,(0,Be._)`${Kr.default.vErrors} === null ? ${g} : ${Kr.default.vErrors}.concat(${g})`),o.assign(Kr.default.errors,(0,Be._)`${Kr.default.vErrors}.length`)}function m(h){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=$s.mergeEvaluated.props(o,y.props,s.props));else{let S=o.var("props",(0,Be._)`${h}.evaluated.props`);s.props=$s.mergeEvaluated.props(o,S,s.props,Be.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=$s.mergeEvaluated.items(o,y.items,s.items));else{let S=o.var("items",(0,Be._)`${h}.evaluated.items`);s.items=$s.mergeEvaluated.items(o,S,s.items,Be.Name)}}}lr.callRef=Ss;lr.default=ZS});var vh=R(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});var qS=mh(),LS=yh(),FS=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",qS.default,LS.default];zc.default=FS});var bh=R(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});var xs=L(),Vt=xs.operators,ks={maximum:{okStr:"<=",ok:Vt.LTE,fail:Vt.GT},minimum:{okStr:">=",ok:Vt.GTE,fail:Vt.LT},exclusiveMaximum:{okStr:"<",ok:Vt.LT,fail:Vt.GTE},exclusiveMinimum:{okStr:">",ok:Vt.GT,fail:Vt.LTE}},VS={message:({keyword:e,schemaCode:t})=>(0,xs.str)`must be ${ks[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,xs._)`{comparison: ${ks[e].okStr}, limit: ${t}}`},HS={keyword:Object.keys(ks),type:"number",schemaType:"number",$data:!0,error:VS,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,xs._)`${r} ${ks[t].fail} ${n} || isNaN(${r})`)}};Pc.default=HS});var wh=R(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});var Wn=L(),BS={message:({schemaCode:e})=>(0,Wn.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Wn._)`{multipleOf: ${e}}`},KS={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:BS,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,Wn._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Wn._)`${i} !== parseInt(${i})`;e.fail$data((0,Wn._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};Tc.default=KS});var Sh=R(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});function $h(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}Rc.default=$h;$h.code='require("ajv/dist/runtime/ucs2length").default'});var xh=R(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});var dr=L(),JS=J(),GS=Sh(),WS={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,dr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,dr._)`{limit: ${e}}`},YS={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:WS,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?dr.operators.GT:dr.operators.LT,i=o.opts.unicode===!1?(0,dr._)`${r}.length`:(0,dr._)`${(0,JS.useFunc)(e.gen,GS.default)}(${r})`;e.fail$data((0,dr._)`${i} ${s} ${n}`)}};Ec.default=YS});var kh=R(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});var QS=et(),XS=J(),Jr=L(),ex={message:({schemaCode:e})=>(0,Jr.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Jr._)`{pattern: ${e}}`},tx={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ex,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Jr._)`new RegExp`:(0,XS.useFunc)(t,c),l=t.let("valid");t.try(()=>t.assign(l,(0,Jr._)`${u}(${s}, ${a}).test(${r})`),()=>t.assign(l,!1)),e.fail$data((0,Jr._)`!${l}`)}else{let c=(0,QS.usePattern)(e,o);e.fail$data((0,Jr._)`!${c}.test(${r})`)}}};Ic.default=tx});var zh=R(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});var Yn=L(),rx={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,Yn.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,Yn._)`{limit: ${e}}`},nx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:rx,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?Yn.operators.GT:Yn.operators.LT;e.fail$data((0,Yn._)`Object.keys(${r}).length ${o} ${n}`)}};Oc.default=nx});var Ph=R(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});var Qn=et(),Xn=L(),ox=J(),sx={message:({params:{missingProperty:e}})=>(0,Xn.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Xn._)`{missingProperty: ${e}}`},ix={keyword:"required",type:"object",schemaType:"array",$data:!0,error:sx,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if(m?.[g]===void 0&&!h.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,S=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,ox.checkStrictMode)(i,S,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(Xn.nil,d);else for(let m of r)(0,Qn.checkReportMissingProp)(e,m)}function l(){let m=t.let("missing");if(c||s){let h=t.let("valid",!0);e.block$data(h,()=>p(m,h)),e.ok(h)}else t.if((0,Qn.checkMissingProp)(e,r,m)),(0,Qn.reportMissingProp)(e,m),t.else()}function d(){t.forOf("prop",n,m=>{e.setParams({missingProperty:m}),t.if((0,Qn.noPropertyInData)(t,o,m,a.ownProperties),()=>e.error())})}function p(m,h){e.setParams({missingProperty:m}),t.forOf(m,n,()=>{t.assign(h,(0,Qn.propertyInData)(t,o,m,a.ownProperties)),t.if((0,Xn.not)(h),()=>{e.error(),t.break()})},Xn.nil)}}};Ac.default=ix});var Th=R(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});var eo=L(),ax={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,eo.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,eo._)`{limit: ${e}}`},cx={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:ax,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?eo.operators.GT:eo.operators.LT;e.fail$data((0,eo._)`${r}.length ${o} ${n}`)}};Cc.default=cx});var zs=R(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});var Rh=oc();Rh.code='require("ajv/dist/runtime/equal").default';Nc.default=Rh});var Eh=R(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});var jc=Zn(),Re=L(),ux=J(),lx=zs(),dx={message:({params:{i:e,j:t}})=>(0,Re.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Re._)`{i: ${e}, j: ${t}}`},px={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:dx,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),u=s.items?(0,jc.getSchemaTypes)(s.items):[];e.block$data(c,l,(0,Re._)`${i} === false`),e.ok(c);function l(){let h=t.let("i",(0,Re._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if((0,Re._)`${h} > 1`,()=>(d()?p:m)(h,g))}function d(){return u.length>0&&!u.some(h=>h==="object"||h==="array")}function p(h,g){let y=t.name("item"),S=(0,jc.checkDataTypes)(u,y,a.opts.strictNumbers,jc.DataType.Wrong),$=t.const("indices",(0,Re._)`{}`);t.for((0,Re._)`;${h}--;`,()=>{t.let(y,(0,Re._)`${r}[${h}]`),t.if(S,(0,Re._)`continue`),u.length>1&&t.if((0,Re._)`typeof ${y} == "string"`,(0,Re._)`${y} += "_"`),t.if((0,Re._)`typeof ${$}[${y}] == "number"`,()=>{t.assign(g,(0,Re._)`${$}[${y}]`),e.error(),t.assign(c,!1).break()}).code((0,Re._)`${$}[${y}] = ${h}`)})}function m(h,g){let y=(0,ux.useFunc)(t,lx.default),S=t.name("outer");t.label(S).for((0,Re._)`;${h}--;`,()=>t.for((0,Re._)`${g} = ${h}; ${g}--;`,()=>t.if((0,Re._)`${y}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(S)})))}}};Mc.default=px});var Ih=R(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});var Uc=L(),fx=J(),mx=zs(),hx={message:"must be equal to constant",params:({schemaCode:e})=>(0,Uc._)`{allowedValue: ${e}}`},gx={keyword:"const",$data:!0,error:hx,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,Uc._)`!${(0,fx.useFunc)(t,mx.default)}(${r}, ${o})`):e.fail((0,Uc._)`${s} !== ${r}`)}};Dc.default=gx});var Oh=R(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});var to=L(),_x=J(),yx=zs(),vx={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,to._)`{allowedValues: ${e}}`},bx={keyword:"enum",schemaType:"array",$data:!0,error:vx,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;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,_x.useFunc)(t,yx.default)),l;if(a||n)l=t.let("valid"),e.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=t.const("vSchema",s);l=(0,to.or)(...o.map((h,g)=>p(m,g)))}e.pass(l);function d(){t.assign(l,!1),t.forOf("v",s,m=>t.if((0,to._)`${u()}(${r}, ${m})`,()=>t.assign(l,!0).break()))}function p(m,h){let g=o[h];return typeof g=="object"&&g!==null?(0,to._)`${u()}(${r}, ${m}[${h}])`:(0,to._)`${r} === ${g}`}}};Zc.default=bx});var Ah=R(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});var wx=bh(),$x=wh(),Sx=xh(),xx=kh(),kx=zh(),zx=Ph(),Px=Th(),Tx=Eh(),Rx=Ih(),Ex=Oh(),Ix=[wx.default,$x.default,Sx.default,xx.default,kx.default,zx.default,Px.default,Tx.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Rx.default,Ex.default];qc.default=Ix});var Fc=R(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.validateAdditionalItems=void 0;var pr=L(),Lc=J(),Ox={message:({params:{len:e}})=>(0,pr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,pr._)`{limit: ${e}}`},Ax={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Ox,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Lc.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Ch(e,n)}};function Ch(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",(0,pr._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,pr._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Lc.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,pr._)`${a} <= ${t.length}`);r.if((0,pr.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,a,l=>{e.subschema({keyword:s,dataProp:l,dataPropType:Lc.Type.Num},u),i.allErrors||r.if((0,pr.not)(u),()=>r.break())})}}ro.validateAdditionalItems=Ch;ro.default=Ax});var Vc=R(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.validateTuple=void 0;var Nh=L(),Ps=J(),Cx=et(),Nx={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return jh(e,"additionalItems",t);r.items=!0,!(0,Ps.alwaysValidSchema)(r,t)&&e.ok((0,Cx.validateArray)(e))}};function jh(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Ps.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Nh._)`${s}.length`);r.forEach((d,p)=>{(0,Ps.alwaysValidSchema)(a,d)||(n.if((0,Nh._)`${u} > ${p}`,()=>e.subschema({keyword:i,schemaProp:p,dataProp:p},c)),e.ok(c))});function l(d){let{opts:p,errSchemaPath:m}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(p.strictTuples&&!g){let y=`"${i}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${m}"`;(0,Ps.checkStrictMode)(a,y,p.strictTuples)}}}no.validateTuple=jh;no.default=Nx});var Mh=R(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});var jx=Vc(),Mx={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,jx.validateTuple)(e,"items")};Hc.default=Mx});var Dh=R(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});var Uh=L(),Ux=J(),Dx=et(),Zx=Fc(),qx={message:({params:{len:e}})=>(0,Uh.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Uh._)`{limit: ${e}}`},Lx={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:qx,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,Ux.alwaysValidSchema)(n,t)&&(o?(0,Zx.validateAdditionalItems)(e,o):e.ok((0,Dx.validateArray)(e)))}};Bc.default=Lx});var Zh=R(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});var rt=L(),Ts=J(),Fx={message:({params:{min:e,max:t}})=>t===void 0?(0,rt.str)`must contain at least ${e} valid item(s)`:(0,rt.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,rt._)`{minContains: ${e}}`:(0,rt._)`{minContains: ${e}, maxContains: ${t}}`},Vx={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Fx,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=t.const("len",(0,rt._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,Ts.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Ts.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Ts.alwaysValidSchema)(s,r)){let g=(0,rt._)`${l} >= ${i}`;a!==void 0&&(g=(0,rt._)`${g} && ${l} <= ${a}`),e.pass(g);return}s.items=!0;let d=t.name("valid");a===void 0&&i===1?m(d,()=>t.if(d,()=>t.break())):i===0?(t.let(d,!0),a!==void 0&&t.if((0,rt._)`${o}.length > 0`,p)):(t.let(d,!1),p()),e.result(d,()=>e.reset());function p(){let g=t.name("_valid"),y=t.let("count",0);m(g,()=>t.if(g,()=>h(y)))}function m(g,y){t.forRange("i",0,l,S=>{e.subschema({keyword:"contains",dataProp:S,dataPropType:Ts.Type.Num,compositeRule:!0},g),y()})}function h(g){t.code((0,rt._)`${g}++`),a===void 0?t.if((0,rt._)`${g} >= ${i}`,()=>t.assign(d,!0).break()):(t.if((0,rt._)`${g} > ${a}`,()=>t.assign(d,!1).break()),i===1?t.assign(d,!0):t.if((0,rt._)`${g} >= ${i}`,()=>t.assign(d,!0)))}}};Kc.default=Vx});var Fh=R(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.validateSchemaDeps=_t.validatePropertyDeps=_t.error=void 0;var Jc=L(),Hx=J(),oo=et();_t.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Jc.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Jc._)`{property: ${e},
8
8
  missingProperty: ${n},
9
9
  depsCount: ${t},
10
- deps: ${r}}`};var qx={keyword:"dependencies",type:"object",schemaType:"object",error:_t.error,code(e){let[t,r]=Lx(e);Mh(e,t),Uh(e,r)}};function Lx({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Mh(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,ro.propertyInData)(r,n,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let l of a)(0,ro.checkReportMissingProp)(e,l)}):(r.if((0,Bc._)`${c} && (${(0,ro.checkMissingProp)(e,a,s)})`),(0,ro.reportMissingProp)(e,s),r.else())}}_t.validatePropertyDeps=Mh;function Uh(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t)(0,Zx.alwaysValidSchema)(s,t[a])||(r.if((0,ro.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i))}_t.validateSchemaDeps=Uh;_t.default=qx});var qh=R(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});var Zh=L(),Fx=W(),Vx={message:"property name must be valid",params:({params:e})=>(0,Zh._)`{propertyName: ${e.propertyName}}`},Hx={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Vx,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,Fx.alwaysValidSchema)(o,r))return;let s=t.name("valid");t.forIn("key",n,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Zh.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Kc.default=Hx});var Gc=R(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});var Ps=tt(),dt=L(),Bx=Tt(),Ts=W(),Kx={message:"must NOT have additional properties",params:({params:e})=>(0,dt._)`{additionalProperty: ${e.additionalProperty}}`},Jx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Kx,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Ts.alwaysValidSchema)(i,r))return;let l=(0,Ps.allSchemaProperties)(n.properties),u=(0,Ps.allSchemaProperties)(n.patternProperties);d(),e.ok((0,dt._)`${s} === ${Bx.default.errors}`);function d(){t.forIn("key",o,y=>{!l.length&&!u.length?h(y):t.if(f(y),()=>h(y))})}function f(y){let S;if(l.length>8){let $=(0,Ts.schemaRefOrVal)(i,n.properties,"properties");S=(0,Ps.isOwnProperty)(t,$,y)}else l.length?S=(0,dt.or)(...l.map($=>(0,dt._)`${y} === ${$}`)):S=dt.nil;return u.length&&(S=(0,dt.or)(S,...u.map($=>(0,dt._)`${(0,Ps.usePattern)(e,$)}.test(${y})`))),(0,dt.not)(S)}function m(y){t.code((0,dt._)`delete ${o}[${y}]`)}function h(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Ts.alwaysValidSchema)(i,r)){let S=t.name("valid");c.removeAdditional==="failing"?(g(y,S,!1),t.if((0,dt.not)(S),()=>{e.reset(),m(y)})):(g(y,S),a||t.if((0,dt.not)(S),()=>t.break()))}}function g(y,S,$){let w={keyword:"additionalProperties",dataProp:y,dataPropType:Ts.Type.Str};$===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,S)}}};Jc.default=Jx});var Vh=R(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});var Gx=Ln(),Lh=tt(),Wc=W(),Fh=Gc(),Wx={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Fh.default.code(new Gx.KeywordCxt(s,Fh.default,"additionalProperties"));let i=(0,Lh.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Wc.mergeEvaluated.props(t,(0,Wc.toHash)(i),s.props));let a=i.filter(d=>!(0,Wc.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a)l(d)?u(d):(t.if((0,Lh.propertyInData)(t,o,d,s.opts.ownProperties)),u(d),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Yc.default=Wx});var Jh=R(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});var Hh=tt(),Rs=L(),Bh=W(),Kh=W(),Yx={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Hh.allSchemaProperties)(r),c=a.filter(g=>(0,Bh.alwaysValidSchema)(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=i.strictSchema&&!i.allowMatchingProperties&&o.properties,u=t.name("valid");s.props!==!0&&!(s.props instanceof Rs.Name)&&(s.props=(0,Kh.evaluatedPropsToName)(t,s.props));let{props:d}=s;f();function f(){for(let g of a)l&&m(g),s.allErrors?h(g):(t.var(u,!0),h(g),t.if(u))}function m(g){for(let y in l)new RegExp(g).test(y)&&(0,Bh.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,y=>{t.if((0,Rs._)`${(0,Hh.usePattern)(e,g)}.test(${y})`,()=>{let S=c.includes(g);S||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Kh.Type.Str},u),s.opts.unevaluated&&d!==!0?t.assign((0,Rs._)`${d}[${y}]`,!0):!S&&!s.allErrors&&t.if((0,Rs.not)(u),()=>t.break())})})}}};Qc.default=Yx});var Gh=R(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});var Qx=W(),Xx={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,Qx.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Xc.default=Xx});var Wh=R(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});var ek=tt(),tk={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ek.validateUnion,error:{message:"must match a schema in anyOf"}};eu.default=tk});var Yh=R(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});var Es=L(),rk=W(),nk={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Es._)`{passingSchemas: ${e.passing}}`},ok={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:nk,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(l),e.result(i,()=>e.reset(),()=>e.error(!0));function l(){s.forEach((u,d)=>{let f;(0,rk.alwaysValidSchema)(o,u)?t.var(c,!0):f=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,Es._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Es._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,d),f&&e.mergeEvaluated(f,Es.Name)})})}}};tu.default=ok});var Qh=R(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var sk=W(),ik={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if((0,sk.alwaysValidSchema)(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};ru.default=ik});var tg=R(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var Is=L(),eg=W(),ak={message:({params:e})=>(0,Is.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Is._)`{failingKeyword: ${e.ifClause}}`},ck={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ak,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,eg.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Xh(n,"then"),s=Xh(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(a,l("then",u),l("else",u))}else o?t.if(a,l("then")):t.if((0,Is.not)(a),l("else"));e.pass(i,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(u)}function l(u,d){return()=>{let f=e.subschema({keyword:u},a);t.assign(i,a),e.mergeValidEvaluated(f,i),d?t.assign(d,(0,Is._)`${u}`):e.setParams({ifClause:u})}}}};function Xh(e,t){let r=e.schema[t];return r!==void 0&&!(0,eg.alwaysValidSchema)(e,r)}nu.default=ck});var rg=R(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var uk=W(),lk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,uk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};ou.default=lk});var ng=R(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});var dk=qc(),pk=Ah(),fk=Lc(),mk=Nh(),hk=jh(),gk=Dh(),_k=qh(),yk=Gc(),vk=Vh(),bk=Jh(),wk=Gh(),$k=Wh(),Sk=Yh(),xk=Qh(),kk=tg(),zk=rg();function Pk(e=!1){let t=[wk.default,$k.default,Sk.default,xk.default,kk.default,zk.default,_k.default,yk.default,gk.default,vk.default,bk.default];return e?t.push(pk.default,mk.default):t.push(dk.default,fk.default),t.push(hk.default),t}su.default=Pk});var og=R(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var ve=L(),Tk={message:({schemaCode:e})=>(0,ve.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ve._)`{format: ${e}}`},Rk={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Tk,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",(0,ve._)`${h}[${i}]`),y=r.let("fType"),S=r.let("format");r.if((0,ve._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,ve._)`${g}.type || "string"`).assign(S,(0,ve._)`${g}.validate`),()=>r.assign(y,(0,ve._)`"string"`).assign(S,g)),e.fail$data((0,ve.or)($(),w()));function $(){return c.strictSchema===!1?ve.nil:(0,ve._)`${i} && !${S}`}function w(){let T=u.$async?(0,ve._)`(${g}.async ? await ${S}(${n}) : ${S}(${n}))`:(0,ve._)`${S}(${n})`,v=(0,ve._)`(typeof ${S} == "function" ? ${T} : ${S}.test(${n}))`;return(0,ve._)`${S} && ${S} !== true && ${y} === ${t} && !${v}`}}function m(){let h=d.formats[s];if(!h){$();return}if(h===!0)return;let[g,y,S]=w(h);g===t&&e.pass(T());function $(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function w(v){let x=v instanceof RegExp?(0,ve.regexpCode)(v):c.code.formats?(0,ve._)`${c.code.formats}${(0,ve.getProperty)(s)}`:void 0,A=r.scopeValue("formats",{key:s,ref:v,code:x});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ve._)`${A}.validate`]:["string",v,A]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,ve._)`await ${S}(${n})`}return typeof y=="function"?(0,ve._)`${S}(${n})`:(0,ve._)`${S}.test(${n})`}}}};iu.default=Rk});var sg=R(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});var Ek=og(),Ik=[Ek.default];au.default=Ik});var ig=R(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.contentVocabulary=Kr.metadataVocabulary=void 0;Kr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Kr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var cg=R(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var Ok=hh(),Ak=Rh(),Ck=ng(),Nk=sg(),ag=ig(),jk=[Ok.default,Ak.default,(0,Ck.default)(),Nk.default,ag.metadataVocabulary,ag.contentVocabulary];cu.default=jk});var lg=R(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.DiscrError=void 0;var ug;(function(e){e.Tag="tag",e.Mapping="mapping"})(ug||(Os.DiscrError=ug={}))});var pg=R(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});var Jr=L(),uu=lg(),dg=hs(),Mk=Fn(),Uk=W(),Dk={message:({params:{discrError:e,tagName:t}})=>e===uu.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Jr._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Zk={keyword:"discriminator",type:"object",schemaType:"object",error:Dk,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{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=t.let("valid",!1),l=t.const("tag",(0,Jr._)`${r}${(0,Jr.getProperty)(a)}`);t.if((0,Jr._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:uu.DiscrError.Tag,tag:l,tagName:a})),e.ok(c);function u(){let m=f();t.if(!1);for(let h in m)t.elseIf((0,Jr._)`${l} === ${h}`),t.assign(c,d(m[h]));t.else(),e.error(!1,{discrError:uu.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}function d(m){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:m},h);return e.mergeEvaluated(g,Jr.Name),h}function f(){var m;let h={},g=S(o),y=!0;for(let T=0;T<i.length;T++){let v=i[T];if(v?.$ref&&!(0,Uk.schemaHasRulesButRef)(v,s.self.RULES)){let A=v.$ref;if(v=dg.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,A),v instanceof dg.SchemaEnv&&(v=v.schema),v===void 0)throw new Mk.default(s.opts.uriResolver,s.baseId,A)}let x=(m=v?.properties)===null||m===void 0?void 0:m[a];if(typeof x!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||S(v)),$(x,T)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return h;function S({required:T}){return Array.isArray(T)&&T.includes(a)}function $(T,v){if(T.const)w(T.const,v);else if(T.enum)for(let x of T.enum)w(x,v);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function w(T,v){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[T]=v}}}};lu.default=Zk});var fg=R((t1,qk)=>{qk.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 pu=R((fe,du)=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.MissingRefError=fe.ValidationError=fe.CodeGen=fe.Name=fe.nil=fe.stringify=fe.str=fe._=fe.KeywordCxt=fe.Ajv=void 0;var Lk=uh(),Fk=cg(),Vk=pg(),mg=fg(),Hk=["/properties"],As="http://json-schema.org/draft-07/schema",Gr=class extends Lk.default{_addVocabularies(){super._addVocabularies(),Fk.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Vk.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(mg,Hk):mg;this.addMetaSchema(t,As,!1),this.refs["http://json-schema.org/schema"]=As}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(As)?As:void 0)}};fe.Ajv=Gr;du.exports=fe=Gr;du.exports.Ajv=Gr;Object.defineProperty(fe,"__esModule",{value:!0});fe.default=Gr;var Bk=Ln();Object.defineProperty(fe,"KeywordCxt",{enumerable:!0,get:function(){return Bk.KeywordCxt}});var Wr=L();Object.defineProperty(fe,"_",{enumerable:!0,get:function(){return Wr._}});Object.defineProperty(fe,"str",{enumerable:!0,get:function(){return Wr.str}});Object.defineProperty(fe,"stringify",{enumerable:!0,get:function(){return Wr.stringify}});Object.defineProperty(fe,"nil",{enumerable:!0,get:function(){return Wr.nil}});Object.defineProperty(fe,"Name",{enumerable:!0,get:function(){return Wr.Name}});Object.defineProperty(fe,"CodeGen",{enumerable:!0,get:function(){return Wr.CodeGen}});var Kk=fs();Object.defineProperty(fe,"ValidationError",{enumerable:!0,get:function(){return Kk.default}});var Jk=Fn();Object.defineProperty(fe,"MissingRefError",{enumerable:!0,get:function(){return Jk.default}})});var $g=R(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.formatNames=vt.fastFormats=vt.fullFormats=void 0;function yt(e,t){return{validate:e,compare:t}}vt.fullFormats={date:yt(yg,gu),time:yt(mu(!0),_u),"date-time":yt(hg(!0),bg),"iso-time":yt(mu(),vg),"iso-date-time":yt(hg(),wg),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:ez,"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:az,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:tz,int32:{type:"number",validate:oz},int64:{type:"number",validate:sz},float:{type:"number",validate:_g},double:{type:"number",validate:_g},password:!0,binary:!0};vt.fastFormats={...vt.fullFormats,date:yt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,gu),time:yt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,_u),"date-time":yt(/^\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,bg),"iso-time":yt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,vg),"iso-date-time":yt(/^\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,wg),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 Gk(e){return e%4===0&&(e%100!==0||e%400===0)}var Wk=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Yk=[0,31,28,31,30,31,30,31,31,30,31,30,31];function yg(e){let t=Wk.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&Gk(r)?29:Yk[n])}function gu(e,t){if(e&&t)return e>t?1:e<t?-1:0}var fu=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function mu(e){return function(r){let n=fu.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-u*c,f=o-l*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function _u(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function vg(e,t){if(!(e&&t))return;let r=fu.exec(e),n=fu.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var hu=/t|\s/i;function hg(e){let t=mu(e);return function(n){let o=n.split(hu);return o.length===2&&yg(o[0])&&t(o[1])}}function bg(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function wg(e,t){if(!(e&&t))return;let[r,n]=e.split(hu),[o,s]=t.split(hu),i=gu(r,o);if(i!==void 0)return i||_u(n,s)}var Qk=/\/|:/,Xk=/^(?:[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 ez(e){return Qk.test(e)&&Xk.test(e)}var gg=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function tz(e){return gg.lastIndex=0,gg.test(e)}var rz=-(2**31),nz=2**31-1;function oz(e){return Number.isInteger(e)&&e<=nz&&e>=rz}function sz(e){return Number.isInteger(e)}function _g(){return!0}var iz=/[^\\]\\Z/;function az(e){if(iz.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var Sg=R(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.formatLimitDefinition=void 0;var cz=pu(),pt=L(),Ft=pt.operators,Cs={formatMaximum:{okStr:"<=",ok:Ft.LTE,fail:Ft.GT},formatMinimum:{okStr:">=",ok:Ft.GTE,fail:Ft.LT},formatExclusiveMaximum:{okStr:"<",ok:Ft.LT,fail:Ft.GTE},formatExclusiveMinimum:{okStr:">",ok:Ft.GT,fail:Ft.LTE}},uz={message:({keyword:e,schemaCode:t})=>(0,pt.str)`should be ${Cs[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,pt._)`{comparison: ${Cs[e].okStr}, limit: ${t}}`};Yr.formatLimitDefinition={keyword:Object.keys(Cs),type:"string",schemaType:"string",$data:!0,error:uz,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new cz.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?l():u();function l(){let f=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=t.const("fmt",(0,pt._)`${f}[${c.schemaCode}]`);e.fail$data((0,pt.or)((0,pt._)`typeof ${m} != "object"`,(0,pt._)`${m} instanceof RegExp`,(0,pt._)`typeof ${m}.compare != "function"`,d(m)))}function u(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let h=t.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,pt._)`${i.code.formats}${(0,pt.getProperty)(f)}`:void 0});e.fail$data(d(h))}function d(f){return(0,pt._)`${f}.compare(${r}, ${n}) ${Cs[o].fail} 0`}},dependencies:["format"]};var lz=e=>(e.addKeyword(Yr.formatLimitDefinition),e);Yr.default=lz});var Pg=R((no,zg)=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});var Qr=$g(),dz=Sg(),yu=L(),xg=new yu.Name("fullFormats"),pz=new yu.Name("fastFormats"),vu=(e,t={keywords:!0})=>{if(Array.isArray(t))return kg(e,t,Qr.fullFormats,xg),e;let[r,n]=t.mode==="fast"?[Qr.fastFormats,pz]:[Qr.fullFormats,xg],o=t.formats||Qr.formatNames;return kg(e,o,r,n),t.keywords&&(0,dz.default)(e),e};vu.get=(e,t="full")=>{let n=(t==="fast"?Qr.fastFormats:Qr.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function kg(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,yu._)`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}zg.exports=no=vu;Object.defineProperty(no,"__esModule",{value:!0});no.default=vu});import{spawn as A_,spawnSync as rn}from"node:child_process";import{connect as LP}from"node:net";import{homedir as C_,userInfo as Zu}from"node:os";import{resolve as N_,join as Ot,dirname as Hu}from"node:path";import{fileURLToPath as FP,pathToFileURL as VP}from"node:url";import{createInterface as Ws}from"node:readline/promises";import*as H from"node:fs";var ii=Object.freeze({status:"aborted"});function _(e,t,r){function n(a,c){var l;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(l=a._zod).traits??(l.traits=new Set),a._zod.traits.add(e),t(a,c);for(let u in i.prototype)u in a||Object.defineProperty(a,u,{value:i.prototype[u].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let l=r?.Parent?new s:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}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(e)}),Object.defineProperty(i,"name",{value:e}),i}var sy=Symbol("zod_brand"),St=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ko={};function Be(e){return e&&Object.assign(ko,e),ko}var ee={};si(ee,{BIGINT_FORMAT_RANGES:()=>Xu,Class:()=>ci,NUMBER_FORMAT_RANGES:()=>gi,aborted:()=>Wt,allowsEval:()=>fi,assert:()=>ly,assertEqual:()=>iy,assertIs:()=>cy,assertNever:()=>uy,assertNotEqual:()=>ay,assignProp:()=>pi,cached:()=>dn,captureStackTrace:()=>Po,cleanEnum:()=>Sy,cleanRegex:()=>fn,clone:()=>ot,createTransparentProxy:()=>gy,defineLazy:()=>ae,esc:()=>Gt,escapeRegex:()=>At,extend:()=>vy,finalizeIssue:()=>st,floatSafeRemainder:()=>di,getElementAtPath:()=>dy,getEnumValues:()=>ui,getLengthableOrigin:()=>mn,getParsedType:()=>hy,getSizableOrigin:()=>el,isObject:()=>$r,isPlainObject:()=>Sr,issue:()=>_i,joinValues:()=>zo,jsonStringifyReplacer:()=>li,merge:()=>by,normalizeParams:()=>O,nullish:()=>pn,numKeys:()=>my,omit:()=>yy,optionalKeys:()=>hi,partial:()=>wy,pick:()=>_y,prefixIssues:()=>mt,primitiveTypes:()=>Qu,promiseAllObject:()=>py,propertyKeyTypes:()=>mi,randomString:()=>fy,required:()=>$y,stringifyPrimitive:()=>To,unwrapMessage:()=>ln});function iy(e){return e}function ay(e){return e}function cy(e){}function uy(e){throw new Error}function ly(e){}function ui(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function zo(e,t="|"){return e.map(r=>To(r)).join(t)}function li(e,t){return typeof t=="bigint"?t.toString():t}function dn(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function pn(e){return e==null}function fn(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function di(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ae(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function pi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function dy(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function py(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function fy(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Gt(e){return JSON.stringify(e)}var Po=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function $r(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fi=dn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Sr(e){if($r(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!($r(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function my(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var hy=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},mi=new Set(["string","number","symbol"]),Qu=new Set(["string","number","bigint","boolean","symbol","undefined"]);function At(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ot(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function O(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function gy(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function To(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function hi(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var gi={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]},Xu={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function _y(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return ot(e,{...e._zod.def,shape:r,checks:[]})}function yy(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return ot(e,{...e._zod.def,shape:r,checks:[]})}function vy(e,t){if(!Sr(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return pi(this,"shape",n),n},checks:[]};return ot(e,r)}function by(e,t){return ot(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return pi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function wy(e,t,r){let n=t._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]=e?new e({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=e?new e({type:"optional",innerType:n[s]}):n[s];return ot(t,{...t._zod.def,shape:o,checks:[]})}function $y(e,t,r){let n=t._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 e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return ot(t,{...t._zod.def,shape:o,checks:[]})}function Wt(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function mt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function ln(e){return typeof e=="string"?e:e?.message}function st(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=ln(e.inst?._zod.def?.error?.(e))??ln(t?.error?.(e))??ln(r.customError?.(e))??ln(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function el(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function mn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function _i(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Sy(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var ci=class{constructor(...t){}};var tl=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,li,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ro=_("$ZodError",tl),yi=_("$ZodError",tl,{Parent:Error});function vi(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function bi(e,t){let r=t||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 l=i.path[c];c===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(r(i))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return o(e),n}var rl=e=>(t,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new St;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>st(c,s,Be())));throw Po(a,o?.callee),a}return i.value};var nl=e=>async(t,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>st(c,s,Be())));throw Po(a,o?.callee),a}return i.value};var wi=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new St;return s.issues.length?{success:!1,error:new(e??Ro)(s.issues.map(i=>st(i,o,Be())))}:{success:!0,data:s.value}},hn=wi(yi),$i=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>st(i,o,Be())))}:{success:!0,data:s.value}},Eo=$i(yi);var ol=/^[cC][^\s-]{8,}$/,sl=/^[0-9a-z]+$/,il=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,al=/^[0-9a-vA-V]{20}$/,cl=/^[A-Za-z0-9]{27}$/,ul=/^[a-zA-Z0-9_-]{21}$/,ll=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var dl=/^([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})$/,Si=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var pl=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var ky="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function fl(){return new RegExp(ky,"u")}var ml=/^(?:(?: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])$/,hl=/^(([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})$/,gl=/^((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])$/,_l=/^(([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])$/,yl=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,xi=/^[A-Za-z0-9_-]*$/,vl=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var bl=/^\+(?:[0-9]){6,14}[0-9]$/,wl="(?:(?:\\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])))",$l=new RegExp(`^${wl}$`);function Sl(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function xl(e){return new RegExp(`^${Sl(e)}$`)}function kl(e){let t=Sl({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${wl}T(?:${n})$`)}var zl=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Pl=/^\d+n?$/,Tl=/^\d+$/,Rl=/^-?\d+(?:\.\d+)?/i,El=/true|false/i,Il=/null/i;var Ol=/^[^A-Z]*$/,Al=/^[^a-z]*$/;var Ie=_("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Cl={number:"number",bigint:"bigint",object:"date"},ki=_("$ZodCheckLessThan",(e,t)=>{Ie.init(e,t);let r=Cl[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zi=_("$ZodCheckGreaterThan",(e,t)=>{Ie.init(e,t);let r=Cl[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Nl=_("$ZodCheckMultipleOf",(e,t)=>{Ie.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):di(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),jl=_("$ZodCheckNumberFormat",(e,t)=>{Ie.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=gi[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Tl)}),e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});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:e,origin:n,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:e})}});var Ml=_("$ZodCheckMaxLength",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!pn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let i=mn(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Ul=_("$ZodCheckMinLength",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!pn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let i=mn(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Dl=_("$ZodCheckLengthEquals",(e,t)=>{var r;Ie.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!pn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,s=o.length;if(s===t.length)return;let i=mn(o),a=s>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),gn=_("$ZodCheckStringFormat",(e,t)=>{var r,n;Ie.init(e,t),e._zod.onattach.push(o=>{let s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Zl=_("$ZodCheckRegex",(e,t)=>{gn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ql=_("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ol),gn.init(e,t)}),Ll=_("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Al),gn.init(e,t)}),Fl=_("$ZodCheckIncludes",(e,t)=>{Ie.init(e,t);let r=At(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Vl=_("$ZodCheckStartsWith",(e,t)=>{Ie.init(e,t);let r=new RegExp(`^${At(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Hl=_("$ZodCheckEndsWith",(e,t)=>{Ie.init(e,t);let r=new RegExp(`.*${At(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Bl=_("$ZodCheckOverwrite",(e,t)=>{Ie.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Oo=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
10
+ deps: ${r}}`};var Bx={keyword:"dependencies",type:"object",schemaType:"object",error:_t.error,code(e){let[t,r]=Kx(e);qh(e,t),Lh(e,r)}};function Kx({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function qh(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,oo.propertyInData)(r,n,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,oo.checkReportMissingProp)(e,u)}):(r.if((0,Jc._)`${c} && (${(0,oo.checkMissingProp)(e,a,s)})`),(0,oo.reportMissingProp)(e,s),r.else())}}_t.validatePropertyDeps=qh;function Lh(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t)(0,Hx.alwaysValidSchema)(s,t[a])||(r.if((0,oo.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i))}_t.validateSchemaDeps=Lh;_t.default=Bx});var Hh=R(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});var Vh=L(),Jx=J(),Gx={message:"property name must be valid",params:({params:e})=>(0,Vh._)`{propertyName: ${e.propertyName}}`},Wx={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Gx,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,Jx.alwaysValidSchema)(o,r))return;let s=t.name("valid");t.forIn("key",n,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Vh.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Gc.default=Wx});var Yc=R(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});var Rs=et(),lt=L(),Yx=Rt(),Es=J(),Qx={message:"must NOT have additional properties",params:({params:e})=>(0,lt._)`{additionalProperty: ${e.additionalProperty}}`},Xx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Qx,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Es.alwaysValidSchema)(i,r))return;let u=(0,Rs.allSchemaProperties)(n.properties),l=(0,Rs.allSchemaProperties)(n.patternProperties);d(),e.ok((0,lt._)`${s} === ${Yx.default.errors}`);function d(){t.forIn("key",o,y=>{!u.length&&!l.length?h(y):t.if(p(y),()=>h(y))})}function p(y){let S;if(u.length>8){let $=(0,Es.schemaRefOrVal)(i,n.properties,"properties");S=(0,Rs.isOwnProperty)(t,$,y)}else u.length?S=(0,lt.or)(...u.map($=>(0,lt._)`${y} === ${$}`)):S=lt.nil;return l.length&&(S=(0,lt.or)(S,...l.map($=>(0,lt._)`${(0,Rs.usePattern)(e,$)}.test(${y})`))),(0,lt.not)(S)}function m(y){t.code((0,lt._)`delete ${o}[${y}]`)}function h(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Es.alwaysValidSchema)(i,r)){let S=t.name("valid");c.removeAdditional==="failing"?(g(y,S,!1),t.if((0,lt.not)(S),()=>{e.reset(),m(y)})):(g(y,S),a||t.if((0,lt.not)(S),()=>t.break()))}}function g(y,S,$){let w={keyword:"additionalProperties",dataProp:y,dataPropType:Es.Type.Str};$===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(w,S)}}};Wc.default=Xx});var Jh=R(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});var ek=Vn(),Bh=et(),Qc=J(),Kh=Yc(),tk={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Kh.default.code(new ek.KeywordCxt(s,Kh.default,"additionalProperties"));let i=(0,Bh.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Qc.mergeEvaluated.props(t,(0,Qc.toHash)(i),s.props));let a=i.filter(d=>!(0,Qc.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a)u(d)?l(d):(t.if((0,Bh.propertyInData)(t,o,d,s.opts.ownProperties)),l(d),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Xc.default=tk});var Qh=R(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});var Gh=et(),Is=L(),Wh=J(),Yh=J(),rk={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Gh.allSchemaProperties)(r),c=a.filter(g=>(0,Wh.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=t.name("valid");s.props!==!0&&!(s.props instanceof Is.Name)&&(s.props=(0,Yh.evaluatedPropsToName)(t,s.props));let{props:d}=s;p();function p(){for(let g of a)u&&m(g),s.allErrors?h(g):(t.var(l,!0),h(g),t.if(l))}function m(g){for(let y in u)new RegExp(g).test(y)&&(0,Wh.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,y=>{t.if((0,Is._)`${(0,Gh.usePattern)(e,g)}.test(${y})`,()=>{let S=c.includes(g);S||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Yh.Type.Str},l),s.opts.unevaluated&&d!==!0?t.assign((0,Is._)`${d}[${y}]`,!0):!S&&!s.allErrors&&t.if((0,Is.not)(l),()=>t.break())})})}}};eu.default=rk});var Xh=R(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});var nk=J(),ok={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,nk.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};tu.default=ok});var eg=R(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var sk=et(),ik={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:sk.validateUnion,error:{message:"must match a schema in anyOf"}};ru.default=ik});var tg=R(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var Os=L(),ak=J(),ck={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Os._)`{passingSchemas: ${e.passing}}`},uk={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:ck,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(i,()=>e.reset(),()=>e.error(!0));function u(){s.forEach((l,d)=>{let p;(0,ak.alwaysValidSchema)(o,l)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,Os._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Os._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,d),p&&e.mergeEvaluated(p,Os.Name)})})}}};nu.default=uk});var rg=R(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var lk=J(),dk={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if((0,lk.alwaysValidSchema)(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};ou.default=dk});var sg=R(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});var As=L(),og=J(),pk={message:({params:e})=>(0,As.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,As._)`{failingKeyword: ${e.ifClause}}`},fk={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:pk,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,og.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=ng(n,"then"),s=ng(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,u("then",l),u("else",l))}else o?t.if(a,u("then")):t.if((0,As.not)(a),u("else"));e.pass(i,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function u(l,d){return()=>{let p=e.subschema({keyword:l},a);t.assign(i,a),e.mergeValidEvaluated(p,i),d?t.assign(d,(0,As._)`${l}`):e.setParams({ifClause:l})}}}};function ng(e,t){let r=e.schema[t];return r!==void 0&&!(0,og.alwaysValidSchema)(e,r)}su.default=fk});var ig=R(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var mk=J(),hk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,mk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};iu.default=hk});var ag=R(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});var gk=Fc(),_k=Mh(),yk=Vc(),vk=Dh(),bk=Zh(),wk=Fh(),$k=Hh(),Sk=Yc(),xk=Jh(),kk=Qh(),zk=Xh(),Pk=eg(),Tk=tg(),Rk=rg(),Ek=sg(),Ik=ig();function Ok(e=!1){let t=[zk.default,Pk.default,Tk.default,Rk.default,Ek.default,Ik.default,$k.default,Sk.default,wk.default,xk.default,kk.default];return e?t.push(_k.default,vk.default):t.push(gk.default,yk.default),t.push(bk.default),t}au.default=Ok});var cg=R(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var ve=L(),Ak={message:({schemaCode:e})=>(0,ve.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ve._)`{format: ${e}}`},Ck={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Ak,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?p():m();function p(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",(0,ve._)`${h}[${i}]`),y=r.let("fType"),S=r.let("format");r.if((0,ve._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,ve._)`${g}.type || "string"`).assign(S,(0,ve._)`${g}.validate`),()=>r.assign(y,(0,ve._)`"string"`).assign(S,g)),e.fail$data((0,ve.or)($(),w()));function $(){return c.strictSchema===!1?ve.nil:(0,ve._)`${i} && !${S}`}function w(){let T=l.$async?(0,ve._)`(${g}.async ? await ${S}(${n}) : ${S}(${n}))`:(0,ve._)`${S}(${n})`,v=(0,ve._)`(typeof ${S} == "function" ? ${T} : ${S}.test(${n}))`;return(0,ve._)`${S} && ${S} !== true && ${y} === ${t} && !${v}`}}function m(){let h=d.formats[s];if(!h){$();return}if(h===!0)return;let[g,y,S]=w(h);g===t&&e.pass(T());function $(){if(c.strictSchema===!1){d.logger.warn(v());return}throw new Error(v());function v(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function w(v){let k=v instanceof RegExp?(0,ve.regexpCode)(v):c.code.formats?(0,ve._)`${c.code.formats}${(0,ve.getProperty)(s)}`:void 0,C=r.scopeValue("formats",{key:s,ref:v,code:k});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0,ve._)`${C}.validate`]:["string",v,C]}function T(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ve._)`await ${S}(${n})`}return typeof y=="function"?(0,ve._)`${S}(${n})`:(0,ve._)`${S}.test(${n})`}}}};cu.default=Ck});var ug=R(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var Nk=cg(),jk=[Nk.default];uu.default=jk});var lg=R(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.contentVocabulary=Gr.metadataVocabulary=void 0;Gr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Gr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var pg=R(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});var Mk=vh(),Uk=Ah(),Dk=ag(),Zk=ug(),dg=lg(),qk=[Mk.default,Uk.default,(0,Dk.default)(),Zk.default,dg.metadataVocabulary,dg.contentVocabulary];lu.default=qk});var mg=R(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.DiscrError=void 0;var fg;(function(e){e.Tag="tag",e.Mapping="mapping"})(fg||(Cs.DiscrError=fg={}))});var gg=R(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var Wr=L(),du=mg(),hg=_s(),Lk=Hn(),Fk=J(),Vk={message:({params:{discrError:e,tagName:t}})=>e===du.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Wr._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Hk={keyword:"discriminator",type:"object",schemaType:"object",error:Vk,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{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=t.let("valid",!1),u=t.const("tag",(0,Wr._)`${r}${(0,Wr.getProperty)(a)}`);t.if((0,Wr._)`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:du.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function l(){let m=p();t.if(!1);for(let h in m)t.elseIf((0,Wr._)`${u} === ${h}`),t.assign(c,d(m[h]));t.else(),e.error(!1,{discrError:du.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function d(m){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:m},h);return e.mergeEvaluated(g,Wr.Name),h}function p(){var m;let h={},g=S(o),y=!0;for(let T=0;T<i.length;T++){let v=i[T];if(v?.$ref&&!(0,Fk.schemaHasRulesButRef)(v,s.self.RULES)){let C=v.$ref;if(v=hg.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,C),v instanceof hg.SchemaEnv&&(v=v.schema),v===void 0)throw new Lk.default(s.opts.uriResolver,s.baseId,C)}let k=(m=v?.properties)===null||m===void 0?void 0:m[a];if(typeof k!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||S(v)),$(k,T)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return h;function S({required:T}){return Array.isArray(T)&&T.includes(a)}function $(T,v){if(T.const)w(T.const,v);else if(T.enum)for(let k of T.enum)w(k,v);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function w(T,v){if(typeof T!="string"||T in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[T]=v}}}};pu.default=Hk});var _g=R((i1,Bk)=>{Bk.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 mu=R((fe,fu)=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.MissingRefError=fe.ValidationError=fe.CodeGen=fe.Name=fe.nil=fe.stringify=fe.str=fe._=fe.KeywordCxt=fe.Ajv=void 0;var Kk=fh(),Jk=pg(),Gk=gg(),yg=_g(),Wk=["/properties"],Ns="http://json-schema.org/draft-07/schema",Yr=class extends Kk.default{_addVocabularies(){super._addVocabularies(),Jk.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Gk.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(yg,Wk):yg;this.addMetaSchema(t,Ns,!1),this.refs["http://json-schema.org/schema"]=Ns}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Ns)?Ns:void 0)}};fe.Ajv=Yr;fu.exports=fe=Yr;fu.exports.Ajv=Yr;Object.defineProperty(fe,"__esModule",{value:!0});fe.default=Yr;var Yk=Vn();Object.defineProperty(fe,"KeywordCxt",{enumerable:!0,get:function(){return Yk.KeywordCxt}});var Qr=L();Object.defineProperty(fe,"_",{enumerable:!0,get:function(){return Qr._}});Object.defineProperty(fe,"str",{enumerable:!0,get:function(){return Qr.str}});Object.defineProperty(fe,"stringify",{enumerable:!0,get:function(){return Qr.stringify}});Object.defineProperty(fe,"nil",{enumerable:!0,get:function(){return Qr.nil}});Object.defineProperty(fe,"Name",{enumerable:!0,get:function(){return Qr.Name}});Object.defineProperty(fe,"CodeGen",{enumerable:!0,get:function(){return Qr.CodeGen}});var Qk=hs();Object.defineProperty(fe,"ValidationError",{enumerable:!0,get:function(){return Qk.default}});var Xk=Hn();Object.defineProperty(fe,"MissingRefError",{enumerable:!0,get:function(){return Xk.default}})});var zg=R(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.formatNames=vt.fastFormats=vt.fullFormats=void 0;function yt(e,t){return{validate:e,compare:t}}vt.fullFormats={date:yt($g,yu),time:yt(gu(!0),vu),"date-time":yt(vg(!0),xg),"iso-time":yt(gu(),Sg),"iso-date-time":yt(vg(),kg),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:sz,"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:pz,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:iz,int32:{type:"number",validate:uz},int64:{type:"number",validate:lz},float:{type:"number",validate:wg},double:{type:"number",validate:wg},password:!0,binary:!0};vt.fastFormats={...vt.fullFormats,date:yt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,yu),time:yt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,vu),"date-time":yt(/^\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,xg),"iso-time":yt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Sg),"iso-date-time":yt(/^\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,kg),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 ez(e){return e%4===0&&(e%100!==0||e%400===0)}var tz=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,rz=[0,31,28,31,30,31,30,31,31,30,31,30,31];function $g(e){let t=tz.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&ez(r)?29:rz[n])}function yu(e,t){if(e&&t)return e>t?1:e<t?-1:0}var hu=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function gu(e){return function(r){let n=hu.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||e&&!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 vu(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function Sg(e,t){if(!(e&&t))return;let r=hu.exec(e),n=hu.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var _u=/t|\s/i;function vg(e){let t=gu(e);return function(n){let o=n.split(_u);return o.length===2&&$g(o[0])&&t(o[1])}}function xg(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function kg(e,t){if(!(e&&t))return;let[r,n]=e.split(_u),[o,s]=t.split(_u),i=yu(r,o);if(i!==void 0)return i||vu(n,s)}var nz=/\/|:/,oz=/^(?:[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 sz(e){return nz.test(e)&&oz.test(e)}var bg=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function iz(e){return bg.lastIndex=0,bg.test(e)}var az=-(2**31),cz=2**31-1;function uz(e){return Number.isInteger(e)&&e<=cz&&e>=az}function lz(e){return Number.isInteger(e)}function wg(){return!0}var dz=/[^\\]\\Z/;function pz(e){if(dz.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var Pg=R(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.formatLimitDefinition=void 0;var fz=mu(),dt=L(),Ht=dt.operators,js={formatMaximum:{okStr:"<=",ok:Ht.LTE,fail:Ht.GT},formatMinimum:{okStr:">=",ok:Ht.GTE,fail:Ht.LT},formatExclusiveMaximum:{okStr:"<",ok:Ht.LT,fail:Ht.GTE},formatExclusiveMinimum:{okStr:">",ok:Ht.GT,fail:Ht.LTE}},mz={message:({keyword:e,schemaCode:t})=>(0,dt.str)`should be ${js[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,dt._)`{comparison: ${js[e].okStr}, limit: ${t}}`};Xr.formatLimitDefinition={keyword:Object.keys(js),type:"string",schemaType:"string",$data:!0,error:mz,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new fz.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=t.const("fmt",(0,dt._)`${p}[${c.schemaCode}]`);e.fail$data((0,dt.or)((0,dt._)`typeof ${m} != "object"`,(0,dt._)`${m} instanceof RegExp`,(0,dt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let p=c.schema,m=a.formats[p];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let h=t.scopeValue("formats",{key:p,ref:m,code:i.code.formats?(0,dt._)`${i.code.formats}${(0,dt.getProperty)(p)}`:void 0});e.fail$data(d(h))}function d(p){return(0,dt._)`${p}.compare(${r}, ${n}) ${js[o].fail} 0`}},dependencies:["format"]};var hz=e=>(e.addKeyword(Xr.formatLimitDefinition),e);Xr.default=hz});var Ig=R((so,Eg)=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});var en=zg(),gz=Pg(),bu=L(),Tg=new bu.Name("fullFormats"),_z=new bu.Name("fastFormats"),wu=(e,t={keywords:!0})=>{if(Array.isArray(t))return Rg(e,t,en.fullFormats,Tg),e;let[r,n]=t.mode==="fast"?[en.fastFormats,_z]:[en.fullFormats,Tg],o=t.formats||en.formatNames;return Rg(e,o,r,n),t.keywords&&(0,gz.default)(e),e};wu.get=(e,t="full")=>{let n=(t==="fast"?en.fastFormats:en.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function Rg(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,bu._)`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}Eg.exports=so=wu;Object.defineProperty(so,"__esModule",{value:!0});so.default=wu});import{spawn as M_,spawnSync as on}from"node:child_process";import{connect as KP}from"node:net";import{homedir as U_,userInfo as Lu}from"node:os";import{resolve as D_,join as At,dirname as Ku}from"node:path";import{fileURLToPath as JP,pathToFileURL as GP}from"node:url";import{createInterface as Qs}from"node:readline/promises";import*as H from"node:fs";var ci=Object.freeze({status:"aborted"});function _(e,t,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(e),t(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:e});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(e)}),Object.defineProperty(i,"name",{value:e}),i}var ly=Symbol("zod_brand"),xt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Po={};function Ke(e){return e&&Object.assign(Po,e),Po}var X={};ai(X,{BIGINT_FORMAT_RANGES:()=>nl,Class:()=>li,NUMBER_FORMAT_RANGES:()=>yi,aborted:()=>Yt,allowsEval:()=>hi,assert:()=>hy,assertEqual:()=>dy,assertIs:()=>fy,assertNever:()=>my,assertNotEqual:()=>py,assignProp:()=>mi,cached:()=>fn,captureStackTrace:()=>Ro,cleanEnum:()=>Ty,cleanRegex:()=>hn,clone:()=>nt,createTransparentProxy:()=>wy,defineLazy:()=>ae,esc:()=>Wt,escapeRegex:()=>Nt,extend:()=>xy,finalizeIssue:()=>ot,floatSafeRemainder:()=>fi,getElementAtPath:()=>gy,getEnumValues:()=>di,getLengthableOrigin:()=>gn,getParsedType:()=>by,getSizableOrigin:()=>ol,isObject:()=>xr,isPlainObject:()=>kr,issue:()=>vi,joinValues:()=>To,jsonStringifyReplacer:()=>pi,merge:()=>ky,normalizeParams:()=>A,nullish:()=>mn,numKeys:()=>vy,omit:()=>Sy,optionalKeys:()=>_i,partial:()=>zy,pick:()=>$y,prefixIssues:()=>mt,primitiveTypes:()=>rl,promiseAllObject:()=>_y,propertyKeyTypes:()=>gi,randomString:()=>yy,required:()=>Py,stringifyPrimitive:()=>Eo,unwrapMessage:()=>pn});function dy(e){return e}function py(e){return e}function fy(e){}function my(e){throw new Error}function hy(e){}function di(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function To(e,t="|"){return e.map(r=>Eo(r)).join(t)}function pi(e,t){return typeof t=="bigint"?t.toString():t}function fn(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function mn(e){return e==null}function hn(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function fi(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ae(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function mi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function gy(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function _y(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function yy(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Wt(e){return JSON.stringify(e)}var Ro=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function xr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var hi=fn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function kr(e){if(xr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(xr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function vy(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var by=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},gi=new Set(["string","number","symbol"]),rl=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Nt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nt(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function A(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function wy(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function Eo(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function _i(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var yi={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]},nl={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function $y(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return nt(e,{...e._zod.def,shape:r,checks:[]})}function Sy(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return nt(e,{...e._zod.def,shape:r,checks:[]})}function xy(e,t){if(!kr(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return mi(this,"shape",n),n},checks:[]};return nt(e,r)}function ky(e,t){return nt(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return mi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function zy(e,t,r){let n=t._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]=e?new e({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=e?new e({type:"optional",innerType:n[s]}):n[s];return nt(t,{...t._zod.def,shape:o,checks:[]})}function Py(e,t,r){let n=t._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 e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return nt(t,{...t._zod.def,shape:o,checks:[]})}function Yt(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function mt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function pn(e){return typeof e=="string"?e:e?.message}function ot(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=pn(e.inst?._zod.def?.error?.(e))??pn(t?.error?.(e))??pn(r.customError?.(e))??pn(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function ol(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function gn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function vi(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Ty(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var li=class{constructor(...t){}};var sl=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,pi,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Io=_("$ZodError",sl),bi=_("$ZodError",sl,{Parent:Error});function wi(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function $i(e,t){let r=t||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(e),n}var il=e=>(t,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new xt;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ot(c,s,Ke())));throw Ro(a,o?.callee),a}return i.value};var al=e=>async(t,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ot(c,s,Ke())));throw Ro(a,o?.callee),a}return i.value};var Si=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new xt;return s.issues.length?{success:!1,error:new(e??Io)(s.issues.map(i=>ot(i,o,Ke())))}:{success:!0,data:s.value}},_n=Si(bi),xi=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>ot(i,o,Ke())))}:{success:!0,data:s.value}},Oo=xi(bi);var cl=/^[cC][^\s-]{8,}$/,ul=/^[0-9a-z]+$/,ll=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,dl=/^[0-9a-vA-V]{20}$/,pl=/^[A-Za-z0-9]{27}$/,fl=/^[a-zA-Z0-9_-]{21}$/,ml=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var hl=/^([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})$/,ki=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var gl=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ey="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function _l(){return new RegExp(Ey,"u")}var yl=/^(?:(?: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])$/,vl=/^(([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})$/,bl=/^((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])$/,wl=/^(([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])$/,$l=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zi=/^[A-Za-z0-9_-]*$/,Sl=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var xl=/^\+(?:[0-9]){6,14}[0-9]$/,kl="(?:(?:\\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])))",zl=new RegExp(`^${kl}$`);function Pl(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Tl(e){return new RegExp(`^${Pl(e)}$`)}function Rl(e){let t=Pl({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${kl}T(?:${n})$`)}var El=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Il=/^\d+n?$/,Ol=/^\d+$/,Al=/^-?\d+(?:\.\d+)?/i,Cl=/true|false/i,Nl=/null/i;var jl=/^[^A-Z]*$/,Ml=/^[^a-z]*$/;var Oe=_("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Ul={number:"number",bigint:"bigint",object:"date"},Pi=_("$ZodCheckLessThan",(e,t)=>{Oe.init(e,t);let r=Ul[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ti=_("$ZodCheckGreaterThan",(e,t)=>{Oe.init(e,t);let r=Ul[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Dl=_("$ZodCheckMultipleOf",(e,t)=>{Oe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):fi(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Zl=_("$ZodCheckNumberFormat",(e,t)=>{Oe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=yi[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Ol)}),e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});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:e,origin:n,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:e})}});var ql=_("$ZodCheckMaxLength",(e,t)=>{var r;Oe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let i=gn(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Ll=_("$ZodCheckMinLength",(e,t)=>{var r;Oe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let i=gn(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fl=_("$ZodCheckLengthEquals",(e,t)=>{var r;Oe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!mn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,s=o.length;if(s===t.length)return;let i=gn(o),a=s>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),yn=_("$ZodCheckStringFormat",(e,t)=>{var r,n;Oe.init(e,t),e._zod.onattach.push(o=>{let s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Vl=_("$ZodCheckRegex",(e,t)=>{yn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Hl=_("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=jl),yn.init(e,t)}),Bl=_("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ml),yn.init(e,t)}),Kl=_("$ZodCheckIncludes",(e,t)=>{Oe.init(e,t);let r=Nt(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Jl=_("$ZodCheckStartsWith",(e,t)=>{Oe.init(e,t);let r=new RegExp(`^${Nt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Gl=_("$ZodCheckEndsWith",(e,t)=>{Oe.init(e,t);let r=new RegExp(`.*${Nt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Wl=_("$ZodCheckOverwrite",(e,t)=>{Oe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Co=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
11
11
  `).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 t=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...r,o.join(`
12
- `))}};var Jl={major:4,minor:0,patch:0};var re=_("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Jl;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=Wt(s),l;for(let u of i){if(u._zod.def.when){if(!u._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=u._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new St;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=Wt(s,d)))});else{if(s.issues.length===d)continue;c||(c=Wt(s,d))}}return l?l.then(()=>s):s};e._zod.run=(s,i)=>{let a=e._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new St;return a.then(c=>o(c,n,i))}return o(a,n,i)}}e["~standard"]={validate:o=>{try{let s=hn(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Eo(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Co=_("$ZodString",(e,t)=>{re.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??zl(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),le=_("$ZodStringFormat",(e,t)=>{gn.init(e,t),Co.init(e,t)}),od=_("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=dl),le.init(e,t)}),sd=_("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Si(n))}else t.pattern??(t.pattern=Si());le.init(e,t)}),id=_("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=pl),le.init(e,t)}),ad=_("$ZodURL",(e,t)=>{le.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:vl.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&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:e,continue:!t.abort})}}}),cd=_("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=fl()),le.init(e,t)}),ud=_("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ul),le.init(e,t)}),ld=_("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ol),le.init(e,t)}),dd=_("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=sl),le.init(e,t)}),pd=_("$ZodULID",(e,t)=>{t.pattern??(t.pattern=il),le.init(e,t)}),fd=_("$ZodXID",(e,t)=>{t.pattern??(t.pattern=al),le.init(e,t)}),md=_("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=cl),le.init(e,t)}),hd=_("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=kl(t)),le.init(e,t)}),gd=_("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=$l),le.init(e,t)}),_d=_("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=xl(t)),le.init(e,t)}),yd=_("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ll),le.init(e,t)}),vd=_("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ml),le.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),bd=_("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=hl),le.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),wd=_("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=gl),le.init(e,t)}),$d=_("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=_l),le.init(e,t),e._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:e,continue:!t.abort})}}});function Sd(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var xd=_("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=yl),le.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{Sd(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function zy(e){if(!xi.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Sd(r)}var kd=_("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=xi),le.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{zy(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),zd=_("$ZodE164",(e,t)=>{t.pattern??(t.pattern=bl),le.init(e,t)});function Py(e,t=null){try{let r=e.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||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Pd=_("$ZodJWT",(e,t)=>{le.init(e,t),e._zod.check=r=>{Py(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Ti=_("$ZodNumber",(e,t)=>{re.init(e,t),e._zod.pattern=e._zod.bag.pattern??Rl,e._zod.parse=(r,n)=>{if(t.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:e,...s?{received:s}:{}}),r}}),Td=_("$ZodNumber",(e,t)=>{jl.init(e,t),Ti.init(e,t)}),Rd=_("$ZodBoolean",(e,t)=>{re.init(e,t),e._zod.pattern=El,e._zod.parse=(r,n)=>{if(t.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:e}),r}}),Ed=_("$ZodBigInt",(e,t)=>{re.init(e,t),e._zod.pattern=Pl,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:e}),r}});var Id=_("$ZodNull",(e,t)=>{re.init(e,t),e._zod.pattern=Il,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}}),Od=_("$ZodAny",(e,t)=>{re.init(e,t),e._zod.parse=r=>r}),Ad=_("$ZodUnknown",(e,t)=>{re.init(e,t),e._zod.parse=r=>r}),Cd=_("$ZodNever",(e,t)=>{re.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});var Nd=_("$ZodDate",(e,t)=>{re.init(e,t),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=new Date(r.value)}catch{}let o=r.value,s=o instanceof Date;return s&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...s?{received:"Invalid Date"}:{},inst:e}),r}});function Gl(e,t,r){e.issues.length&&t.issues.push(...mt(r,e.issues)),t.value[r]=e.value}var jd=_("$ZodArray",(e,t)=>{re.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(l=>Gl(l,r,i))):Gl(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Ao(e,t,r){e.issues.length&&t.issues.push(...mt(r,e.issues)),t.value[r]=e.value}function Wl(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...mt(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var Md=_("$ZodObject",(e,t)=>{re.init(e,t);let r=dn(()=>{let d=Object.keys(t.shape);for(let m of d)if(!(t.shape[m]instanceof re))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=hi(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ae(e._zod,"propValues",()=>{let d=t.shape,f={};for(let m in d){let h=d[m]._zod;if(h.values){f[m]??(f[m]=new Set);for(let g of h.values)f[m].add(g)}}return f});let n=d=>{let f=new Oo(["shape","payload","ctx"]),m=r.value,h=$=>{let w=Gt($);return`shape[${w}]._zod.run({ value: input[${w}], issues: [] }, ctx)`};f.write("const input = payload.value;");let g=Object.create(null),y=0;for(let $ of m.keys)g[$]=`key_${y++}`;f.write("const newResult = {}");for(let $ of m.keys)if(m.optionalKeys.has($)){let w=g[$];f.write(`const ${w} = ${h($)};`);let T=Gt($);f.write(`
12
+ `))}};var Ql={major:4,minor:0,patch:0};var te=_("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ql;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=Yt(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 xt;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,s.issues.length!==d&&(c||(c=Yt(s,d)))});else{if(s.issues.length===d)continue;c||(c=Yt(s,d))}}return u?u.then(()=>s):s};e._zod.run=(s,i)=>{let a=e._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new xt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}e["~standard"]={validate:o=>{try{let s=_n(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Oo(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),jo=_("$ZodString",(e,t)=>{te.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??El(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),le=_("$ZodStringFormat",(e,t)=>{yn.init(e,t),jo.init(e,t)}),cd=_("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=hl),le.init(e,t)}),ud=_("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ki(n))}else t.pattern??(t.pattern=ki());le.init(e,t)}),ld=_("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=gl),le.init(e,t)}),dd=_("$ZodURL",(e,t)=>{le.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Sl.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&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:e,continue:!t.abort})}}}),pd=_("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=_l()),le.init(e,t)}),fd=_("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=fl),le.init(e,t)}),md=_("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=cl),le.init(e,t)}),hd=_("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ul),le.init(e,t)}),gd=_("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ll),le.init(e,t)}),_d=_("$ZodXID",(e,t)=>{t.pattern??(t.pattern=dl),le.init(e,t)}),yd=_("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=pl),le.init(e,t)}),vd=_("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Rl(t)),le.init(e,t)}),bd=_("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=zl),le.init(e,t)}),wd=_("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Tl(t)),le.init(e,t)}),$d=_("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ml),le.init(e,t)}),Sd=_("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=yl),le.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),xd=_("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=vl),le.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),kd=_("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=bl),le.init(e,t)}),zd=_("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=wl),le.init(e,t),e._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:e,continue:!t.abort})}}});function Pd(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Td=_("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=$l),le.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{Pd(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function Iy(e){if(!zi.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Pd(r)}var Rd=_("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=zi),le.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{Iy(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Ed=_("$ZodE164",(e,t)=>{t.pattern??(t.pattern=xl),le.init(e,t)});function Oy(e,t=null){try{let r=e.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||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Id=_("$ZodJWT",(e,t)=>{le.init(e,t),e._zod.check=r=>{Oy(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Ei=_("$ZodNumber",(e,t)=>{te.init(e,t),e._zod.pattern=e._zod.bag.pattern??Al,e._zod.parse=(r,n)=>{if(t.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:e,...s?{received:s}:{}}),r}}),Od=_("$ZodNumber",(e,t)=>{Zl.init(e,t),Ei.init(e,t)}),Ad=_("$ZodBoolean",(e,t)=>{te.init(e,t),e._zod.pattern=Cl,e._zod.parse=(r,n)=>{if(t.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:e}),r}}),Cd=_("$ZodBigInt",(e,t)=>{te.init(e,t),e._zod.pattern=Il,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:e}),r}});var Nd=_("$ZodNull",(e,t)=>{te.init(e,t),e._zod.pattern=Nl,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}}),jd=_("$ZodAny",(e,t)=>{te.init(e,t),e._zod.parse=r=>r}),Md=_("$ZodUnknown",(e,t)=>{te.init(e,t),e._zod.parse=r=>r}),Ud=_("$ZodNever",(e,t)=>{te.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});var Dd=_("$ZodDate",(e,t)=>{te.init(e,t),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=new Date(r.value)}catch{}let o=r.value,s=o instanceof Date;return s&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...s?{received:"Invalid Date"}:{},inst:e}),r}});function Xl(e,t,r){e.issues.length&&t.issues.push(...mt(r,e.issues)),t.value[r]=e.value}var Zd=_("$ZodArray",(e,t)=>{te.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Xl(u,r,i))):Xl(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function No(e,t,r){e.issues.length&&t.issues.push(...mt(r,e.issues)),t.value[r]=e.value}function ed(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...mt(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var qd=_("$ZodObject",(e,t)=>{te.init(e,t);let r=fn(()=>{let d=Object.keys(t.shape);for(let m of d)if(!(t.shape[m]instanceof te))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let p=_i(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});ae(e._zod,"propValues",()=>{let d=t.shape,p={};for(let m in d){let h=d[m]._zod;if(h.values){p[m]??(p[m]=new Set);for(let g of h.values)p[m].add(g)}}return p});let n=d=>{let p=new Co(["shape","payload","ctx"]),m=r.value,h=$=>{let w=Wt($);return`shape[${w}]._zod.run({ value: input[${w}], issues: [] }, ctx)`};p.write("const input = payload.value;");let g=Object.create(null),y=0;for(let $ of m.keys)g[$]=`key_${y++}`;p.write("const newResult = {}");for(let $ of m.keys)if(m.optionalKeys.has($)){let w=g[$];p.write(`const ${w} = ${h($)};`);let T=Wt($);p.write(`
13
13
  if (${w}.issues.length) {
14
14
  if (input[${T}] === undefined) {
15
15
  if (${T} in input) {
@@ -28,40 +28,40 @@ var X_=Object.create;var oi=Object.defineProperty;var ey=Object.getOwnPropertyDe
28
28
  } else {
29
29
  newResult[${T}] = ${w}.value;
30
30
  }
31
- `)}else{let w=g[$];f.write(`const ${w} = ${h($)};`),f.write(`
31
+ `)}else{let w=g[$];p.write(`const ${w} = ${h($)};`),p.write(`
32
32
  if (${w}.issues.length) payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
33
33
  ...iss,
34
- path: iss.path ? [${Gt($)}, ...iss.path] : [${Gt($)}]
35
- })));`),f.write(`newResult[${Gt($)}] = ${w}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let S=f.compile();return($,w)=>S(d,$,w)},o,s=$r,i=!ko.jitless,c=i&&fi.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??(u=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),d;let h=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(t.shape)),d=o(d,f);else{d.value={};let w=u.shape;for(let T of u.keys){let v=w[T],x=v._zod.run({value:m[T],issues:[]},f),A=v._zod.optin==="optional"&&v._zod.optout==="optional";x instanceof Promise?h.push(x.then(B=>A?Wl(B,d,T,m):Ao(B,d,T))):A?Wl(x,d,T,m):Ao(x,d,T)}}if(!l)return h.length?Promise.all(h).then(()=>d):d;let g=[],y=u.keySet,S=l._zod,$=S.def.type;for(let w of Object.keys(m)){if(y.has(w))continue;if($==="never"){g.push(w);continue}let T=S.run({value:m[w],issues:[]},f);T instanceof Promise?h.push(T.then(v=>Ao(v,d,w))):Ao(T,d,w)}return g.length&&d.issues.push({code:"unrecognized_keys",keys:g,input:m,inst:e}),h.length?Promise.all(h).then(()=>d):d}});function Yl(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>st(s,n,Be())))}),t}var Ri=_("$ZodUnion",(e,t)=>{re.init(e,t),ae(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ae(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ae(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ae(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>fn(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of t.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=>Yl(i,r,e,n)):Yl(s,r,e,n)}}),Ud=_("$ZodDiscriminatedUnion",(e,t)=>{Ri.init(e,t);let r=e._zod.parse;ae(e._zod,"propValues",()=>{let o={};for(let s of t.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let l of c)o[a].add(l)}}return o});let n=dn(()=>{let o=t.options,s=new Map;for(let i of o){let a=i._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.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});e._zod.parse=(o,s)=>{let i=o.value;if(!$r(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=n.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Dd=_("$ZodIntersection",(e,t)=>{re.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,l])=>Ql(r,c,l)):Ql(r,s,i)}});function Pi(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Sr(e)&&Sr(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let i=Pi(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=Pi(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 Ql(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),Wt(e))return e;let n=Pi(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var Zd=_("$ZodRecord",(e,t)=>{re.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Sr(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let l=t.valueType._zod.run({value:o[c],issues:[]},n);l instanceof Promise?s.push(l.then(u=>{u.issues.length&&r.issues.push(...mt(c,u.issues)),r.value[c]=u.value})):(l.issues.length&&r.issues.push(...mt(c,l.issues)),r.value[c]=l.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:e,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.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(l=>st(l,n,Be())),input:i,path:[i],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(l=>{l.issues.length&&r.issues.push(...mt(i,l.issues)),r.value[a.value]=l.value})):(c.issues.length&&r.issues.push(...mt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var qd=_("$ZodEnum",(e,t)=>{re.init(e,t);let r=ui(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>mi.has(typeof n)).map(n=>typeof n=="string"?At(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return e._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:e}),n}}),Ld=_("$ZodLiteral",(e,t)=>{re.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?At(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Fd=_("$ZodTransform",(e,t)=>{re.init(e,t),e._zod.parse=(r,n)=>{let o=t.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 St;return r.value=o,r}}),Vd=_("$ZodOptional",(e,t)=>{re.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ae(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ae(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${fn(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Hd=_("$ZodNullable",(e,t)=>{re.init(e,t),ae(e._zod,"optin",()=>t.innerType._zod.optin),ae(e._zod,"optout",()=>t.innerType._zod.optout),ae(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${fn(r.source)}|null)$`):void 0}),ae(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Bd=_("$ZodDefault",(e,t)=>{re.init(e,t),e._zod.optin="optional",ae(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Xl(s,t)):Xl(o,t)}});function Xl(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Kd=_("$ZodPrefault",(e,t)=>{re.init(e,t),e._zod.optin="optional",ae(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Jd=_("$ZodNonOptional",(e,t)=>{re.init(e,t),ae(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>ed(s,e)):ed(o,e)}});function ed(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Gd=_("$ZodCatch",(e,t)=>{re.init(e,t),e._zod.optin="optional",ae(e._zod,"optout",()=>t.innerType._zod.optout),ae(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(i=>st(i,n,Be()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>st(s,n,Be()))},input:r.value}),r.issues=[]),r)}});var Wd=_("$ZodPipe",(e,t)=>{re.init(e,t),ae(e._zod,"values",()=>t.in._zod.values),ae(e._zod,"optin",()=>t.in._zod.optin),ae(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>td(s,t,n)):td(o,t,n)}});function td(e,t,r){return Wt(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Yd=_("$ZodReadonly",(e,t)=>{re.init(e,t),ae(e._zod,"propValues",()=>t.innerType._zod.propValues),ae(e._zod,"values",()=>t.innerType._zod.values),ae(e._zod,"optin",()=>t.innerType._zod.optin),ae(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(rd):rd(o)}});function rd(e){return e.value=Object.freeze(e.value),e}var Qd=_("$ZodCustom",(e,t)=>{Ie.init(e,t),re.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>nd(s,r,n,e));nd(o,r,n,e)}});function nd(e,t,r,n){if(!e){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),t.issues.push(_i(o))}}var Ty=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},Ry=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Ty(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${To(n.values[0])}`:`Invalid option: expected one of ${zo(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(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=t(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":""}: ${zo(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 Xd(){return{localeError:Ry()}}var Ey=Symbol("ZodOutput"),Iy=Symbol("ZodInput"),Ei=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function ep(){return new Ei}var xr=ep();function tp(e,t){return new e({type:"string",...O(t)})}function rp(e,t){return new e({type:"string",coerce:!0,...O(t)})}function np(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...O(t)})}function Ii(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...O(t)})}function op(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...O(t)})}function sp(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...O(t)})}function ip(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...O(t)})}function ap(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...O(t)})}function Oi(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...O(t)})}function cp(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...O(t)})}function up(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...O(t)})}function lp(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...O(t)})}function dp(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...O(t)})}function pp(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...O(t)})}function fp(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...O(t)})}function mp(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...O(t)})}function hp(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...O(t)})}function gp(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...O(t)})}function _p(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...O(t)})}function yp(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...O(t)})}function vp(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...O(t)})}function bp(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...O(t)})}function wp(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...O(t)})}function $p(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...O(t)})}function Sp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...O(t)})}function xp(e,t){return new e({type:"string",format:"date",check:"string_format",...O(t)})}function kp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...O(t)})}function zp(e,t){return new e({type:"string",format:"duration",check:"string_format",...O(t)})}function Pp(e,t){return new e({type:"number",checks:[],...O(t)})}function Tp(e,t){return new e({type:"number",coerce:!0,checks:[],...O(t)})}function Rp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...O(t)})}function Ep(e,t){return new e({type:"boolean",...O(t)})}function Ip(e,t){return new e({type:"boolean",coerce:!0,...O(t)})}function Op(e,t){return new e({type:"bigint",coerce:!0,...O(t)})}function Ap(e,t){return new e({type:"null",...O(t)})}function Cp(e){return new e({type:"any"})}function Np(e){return new e({type:"unknown"})}function jp(e,t){return new e({type:"never",...O(t)})}function Mp(e,t){return new e({type:"date",coerce:!0,...O(t)})}function kr(e,t){return new ki({check:"less_than",...O(t),value:e,inclusive:!1})}function xt(e,t){return new ki({check:"less_than",...O(t),value:e,inclusive:!0})}function zr(e,t){return new zi({check:"greater_than",...O(t),value:e,inclusive:!1})}function it(e,t){return new zi({check:"greater_than",...O(t),value:e,inclusive:!0})}function _n(e,t){return new Nl({check:"multiple_of",...O(t),value:e})}function No(e,t){return new Ml({check:"max_length",...O(t),maximum:e})}function Pr(e,t){return new Ul({check:"min_length",...O(t),minimum:e})}function jo(e,t){return new Dl({check:"length_equals",...O(t),length:e})}function Ai(e,t){return new Zl({check:"string_format",format:"regex",...O(t),pattern:e})}function Ci(e){return new ql({check:"string_format",format:"lowercase",...O(e)})}function Ni(e){return new Ll({check:"string_format",format:"uppercase",...O(e)})}function ji(e,t){return new Fl({check:"string_format",format:"includes",...O(t),includes:e})}function Mi(e,t){return new Vl({check:"string_format",format:"starts_with",...O(t),prefix:e})}function Ui(e,t){return new Hl({check:"string_format",format:"ends_with",...O(t),suffix:e})}function Yt(e){return new Bl({check:"overwrite",tx:e})}function Di(e){return Yt(t=>t.normalize(e))}function Zi(){return Yt(e=>e.trim())}function qi(){return Yt(e=>e.toLowerCase())}function Li(){return Yt(e=>e.toUpperCase())}function Up(e,t,r){return new e({type:"array",element:t,...O(r)})}function Dp(e,t,r){let n=O(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Zp(e,t,r){return new e({type:"custom",check:"custom",fn:t,...O(r)})}function Rr(e){return!!e._zod}function at(e,t){return Rr(e)?hn(e,t):e.safeParse(t)}function Mo(e){if(!e)return;let t;if(Rr(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function qp(e){if(Rr(e)){let s=e._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=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var yn={};si(yn,{ZodISODate:()=>Fp,ZodISODateTime:()=>Lp,ZodISODuration:()=>Hp,ZodISOTime:()=>Vp,date:()=>Vi,datetime:()=>Fi,duration:()=>Bi,time:()=>Hi});var Lp=_("ZodISODateTime",(e,t)=>{hd.init(e,t),me.init(e,t)});function Fi(e){return Sp(Lp,e)}var Fp=_("ZodISODate",(e,t)=>{gd.init(e,t),me.init(e,t)});function Vi(e){return xp(Fp,e)}var Vp=_("ZodISOTime",(e,t)=>{_d.init(e,t),me.init(e,t)});function Hi(e){return kp(Vp,e)}var Hp=_("ZodISODuration",(e,t)=>{yd.init(e,t),me.init(e,t)});function Bi(e){return zp(Hp,e)}var Kp=(e,t)=>{Ro.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>bi(e,r)},flatten:{value:r=>vi(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},uR=_("ZodError",Kp),vn=_("ZodError",Kp,{Parent:Error});var Jp=rl(vn),Gp=nl(vn),Wp=wi(vn),Yp=$i(vn);var ce=_("ZodType",(e,t)=>(re.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>ot(e,r,n),e.brand=()=>e,e.register=(r,n)=>(r.add(e,n),e),e.parse=(r,n)=>Jp(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Wp(e,r,n),e.parseAsync=async(r,n)=>Gp(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Yp(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(kv(r,n)),e.superRefine=r=>e.check(zv(r)),e.overwrite=r=>e.check(Yt(r)),e.optional=()=>ge(e),e.nullable=()=>ef(e),e.nullish=()=>ge(ef(e)),e.nonoptional=r=>yv(e,r),e.array=()=>z(e),e.or=r=>de([e,r]),e.and=r=>Zo(e,r),e.transform=r=>Ji(e,df(r)),e.default=r=>hv(e,r),e.prefault=r=>_v(e,r),e.catch=r=>bv(e,r),e.pipe=r=>Ji(e,r),e.readonly=()=>Sv(e),e.describe=r=>{let n=e.clone();return xr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return xr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return xr.get(e);let n=e.clone();return xr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),tf=_("_ZodString",(e,t)=>{Co.init(e,t),ce.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Ai(...n)),e.includes=(...n)=>e.check(ji(...n)),e.startsWith=(...n)=>e.check(Mi(...n)),e.endsWith=(...n)=>e.check(Ui(...n)),e.min=(...n)=>e.check(Pr(...n)),e.max=(...n)=>e.check(No(...n)),e.length=(...n)=>e.check(jo(...n)),e.nonempty=(...n)=>e.check(Pr(1,...n)),e.lowercase=n=>e.check(Ci(n)),e.uppercase=n=>e.check(Ni(n)),e.trim=()=>e.check(Zi()),e.normalize=(...n)=>e.check(Di(...n)),e.toLowerCase=()=>e.check(qi()),e.toUpperCase=()=>e.check(Li())}),Gi=_("ZodString",(e,t)=>{Co.init(e,t),tf.init(e,t),e.email=r=>e.check(np(Dy,r)),e.url=r=>e.check(Oi(rf,r)),e.jwt=r=>e.check($p(ev,r)),e.emoji=r=>e.check(cp(Zy,r)),e.guid=r=>e.check(Ii(Qp,r)),e.uuid=r=>e.check(op(Uo,r)),e.uuidv4=r=>e.check(sp(Uo,r)),e.uuidv6=r=>e.check(ip(Uo,r)),e.uuidv7=r=>e.check(ap(Uo,r)),e.nanoid=r=>e.check(up(qy,r)),e.guid=r=>e.check(Ii(Qp,r)),e.cuid=r=>e.check(lp(Ly,r)),e.cuid2=r=>e.check(dp(Fy,r)),e.ulid=r=>e.check(pp(Vy,r)),e.base64=r=>e.check(vp(Yy,r)),e.base64url=r=>e.check(bp(Qy,r)),e.xid=r=>e.check(fp(Hy,r)),e.ksuid=r=>e.check(mp(By,r)),e.ipv4=r=>e.check(hp(Ky,r)),e.ipv6=r=>e.check(gp(Jy,r)),e.cidrv4=r=>e.check(_p(Gy,r)),e.cidrv6=r=>e.check(yp(Wy,r)),e.e164=r=>e.check(wp(Xy,r)),e.datetime=r=>e.check(Fi(r)),e.date=r=>e.check(Vi(r)),e.time=r=>e.check(Hi(r)),e.duration=r=>e.check(Bi(r))});function p(e){return tp(Gi,e)}var me=_("ZodStringFormat",(e,t)=>{le.init(e,t),tf.init(e,t)}),Dy=_("ZodEmail",(e,t)=>{id.init(e,t),me.init(e,t)});var Qp=_("ZodGUID",(e,t)=>{od.init(e,t),me.init(e,t)});var Uo=_("ZodUUID",(e,t)=>{sd.init(e,t),me.init(e,t)});var rf=_("ZodURL",(e,t)=>{ad.init(e,t),me.init(e,t)});function nf(e){return Oi(rf,e)}var Zy=_("ZodEmoji",(e,t)=>{cd.init(e,t),me.init(e,t)});var qy=_("ZodNanoID",(e,t)=>{ud.init(e,t),me.init(e,t)});var Ly=_("ZodCUID",(e,t)=>{ld.init(e,t),me.init(e,t)});var Fy=_("ZodCUID2",(e,t)=>{dd.init(e,t),me.init(e,t)});var Vy=_("ZodULID",(e,t)=>{pd.init(e,t),me.init(e,t)});var Hy=_("ZodXID",(e,t)=>{fd.init(e,t),me.init(e,t)});var By=_("ZodKSUID",(e,t)=>{md.init(e,t),me.init(e,t)});var Ky=_("ZodIPv4",(e,t)=>{vd.init(e,t),me.init(e,t)});var Jy=_("ZodIPv6",(e,t)=>{bd.init(e,t),me.init(e,t)});var Gy=_("ZodCIDRv4",(e,t)=>{wd.init(e,t),me.init(e,t)});var Wy=_("ZodCIDRv6",(e,t)=>{$d.init(e,t),me.init(e,t)});var Yy=_("ZodBase64",(e,t)=>{xd.init(e,t),me.init(e,t)});var Qy=_("ZodBase64URL",(e,t)=>{kd.init(e,t),me.init(e,t)});var Xy=_("ZodE164",(e,t)=>{zd.init(e,t),me.init(e,t)});var ev=_("ZodJWT",(e,t)=>{Pd.init(e,t),me.init(e,t)});var Do=_("ZodNumber",(e,t)=>{Ti.init(e,t),ce.init(e,t),e.gt=(n,o)=>e.check(zr(n,o)),e.gte=(n,o)=>e.check(it(n,o)),e.min=(n,o)=>e.check(it(n,o)),e.lt=(n,o)=>e.check(kr(n,o)),e.lte=(n,o)=>e.check(xt(n,o)),e.max=(n,o)=>e.check(xt(n,o)),e.int=n=>e.check(Xp(n)),e.safe=n=>e.check(Xp(n)),e.positive=n=>e.check(zr(0,n)),e.nonnegative=n=>e.check(it(0,n)),e.negative=n=>e.check(kr(0,n)),e.nonpositive=n=>e.check(xt(0,n)),e.multipleOf=(n,o)=>e.check(_n(n,o)),e.step=(n,o)=>e.check(_n(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function Q(e){return Pp(Do,e)}var tv=_("ZodNumberFormat",(e,t)=>{Td.init(e,t),Do.init(e,t)});function Xp(e){return Rp(tv,e)}var Wi=_("ZodBoolean",(e,t)=>{Rd.init(e,t),ce.init(e,t)});function oe(e){return Ep(Wi,e)}var of=_("ZodBigInt",(e,t)=>{Ed.init(e,t),ce.init(e,t),e.gte=(n,o)=>e.check(it(n,o)),e.min=(n,o)=>e.check(it(n,o)),e.gt=(n,o)=>e.check(zr(n,o)),e.gte=(n,o)=>e.check(it(n,o)),e.min=(n,o)=>e.check(it(n,o)),e.lt=(n,o)=>e.check(kr(n,o)),e.lte=(n,o)=>e.check(xt(n,o)),e.max=(n,o)=>e.check(xt(n,o)),e.positive=n=>e.check(zr(BigInt(0),n)),e.negative=n=>e.check(kr(BigInt(0),n)),e.nonpositive=n=>e.check(xt(BigInt(0),n)),e.nonnegative=n=>e.check(it(BigInt(0),n)),e.multipleOf=(n,o)=>e.check(_n(n,o));let r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null});var rv=_("ZodNull",(e,t)=>{Id.init(e,t),ce.init(e,t)});function sf(e){return Ap(rv,e)}var nv=_("ZodAny",(e,t)=>{Od.init(e,t),ce.init(e,t)});function af(){return Cp(nv)}var ov=_("ZodUnknown",(e,t)=>{Ad.init(e,t),ce.init(e,t)});function he(){return Np(ov)}var sv=_("ZodNever",(e,t)=>{Cd.init(e,t),ce.init(e,t)});function iv(e){return jp(sv,e)}var cf=_("ZodDate",(e,t)=>{Nd.init(e,t),ce.init(e,t),e.min=(n,o)=>e.check(it(n,o)),e.max=(n,o)=>e.check(xt(n,o));let r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null});var av=_("ZodArray",(e,t)=>{jd.init(e,t),ce.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Pr(r,n)),e.nonempty=r=>e.check(Pr(1,r)),e.max=(r,n)=>e.check(No(r,n)),e.length=(r,n)=>e.check(jo(r,n)),e.unwrap=()=>e.element});function z(e,t){return Up(av,e,t)}var uf=_("ZodObject",(e,t)=>{Md.init(e,t),ce.init(e,t),ee.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>qe(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:he()}),e.loose=()=>e.clone({...e._zod.def,catchall:he()}),e.strict=()=>e.clone({...e._zod.def,catchall:iv()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>ee.extend(e,r),e.merge=r=>ee.merge(e,r),e.pick=r=>ee.pick(e,r),e.omit=r=>ee.omit(e,r),e.partial=(...r)=>ee.partial(pf,e,r[0]),e.required=(...r)=>ee.required(ff,e,r[0])});function P(e,t){let r={type:"object",get shape(){return ee.assignProp(this,"shape",{...e}),this.shape},...ee.normalizeParams(t)};return new uf(r)}function $e(e,t){return new uf({type:"object",get shape(){return ee.assignProp(this,"shape",{...e}),this.shape},catchall:he(),...ee.normalizeParams(t)})}var lf=_("ZodUnion",(e,t)=>{Ri.init(e,t),ce.init(e,t),e.options=t.options});function de(e,t){return new lf({type:"union",options:e,...ee.normalizeParams(t)})}var cv=_("ZodDiscriminatedUnion",(e,t)=>{lf.init(e,t),Ud.init(e,t)});function Yi(e,t,r){return new cv({type:"union",options:t,discriminator:e,...ee.normalizeParams(r)})}var uv=_("ZodIntersection",(e,t)=>{Dd.init(e,t),ce.init(e,t)});function Zo(e,t){return new uv({type:"intersection",left:e,right:t})}var lv=_("ZodRecord",(e,t)=>{Zd.init(e,t),ce.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ue(e,t,r){return new lv({type:"record",keyType:e,valueType:t,...ee.normalizeParams(r)})}var Ki=_("ZodEnum",(e,t)=>{qd.init(e,t),ce.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Ki({...t,checks:[],...ee.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.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 Ki({...t,checks:[],...ee.normalizeParams(o),entries:s})}});function qe(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Ki({type:"enum",entries:r,...ee.normalizeParams(t)})}var dv=_("ZodLiteral",(e,t)=>{Ld.init(e,t),ce.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function E(e,t){return new dv({type:"literal",values:Array.isArray(e)?e:[e],...ee.normalizeParams(t)})}var pv=_("ZodTransform",(e,t)=>{Fd.init(e,t),ce.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ee.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),r.issues.push(ee.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function df(e){return new pv({type:"transform",transform:e})}var pf=_("ZodOptional",(e,t)=>{Vd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ge(e){return new pf({type:"optional",innerType:e})}var fv=_("ZodNullable",(e,t)=>{Hd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ef(e){return new fv({type:"nullable",innerType:e})}var mv=_("ZodDefault",(e,t)=>{Bd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function hv(e,t){return new mv({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var gv=_("ZodPrefault",(e,t)=>{Kd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function _v(e,t){return new gv({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var ff=_("ZodNonOptional",(e,t)=>{Jd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function yv(e,t){return new ff({type:"nonoptional",innerType:e,...ee.normalizeParams(t)})}var vv=_("ZodCatch",(e,t)=>{Gd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function bv(e,t){return new vv({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var wv=_("ZodPipe",(e,t)=>{Wd.init(e,t),ce.init(e,t),e.in=t.in,e.out=t.out});function Ji(e,t){return new wv({type:"pipe",in:e,out:t})}var $v=_("ZodReadonly",(e,t)=>{Yd.init(e,t),ce.init(e,t)});function Sv(e){return new $v({type:"readonly",innerType:e})}var mf=_("ZodCustom",(e,t)=>{Qd.init(e,t),ce.init(e,t)});function xv(e){let t=new Ie({check:"custom"});return t._zod.check=e,t}function hf(e,t){return Dp(mf,e??(()=>!0),t)}function kv(e,t={}){return Zp(mf,e,t)}function zv(e){let t=xv(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(ee.issue(n,r.value,t._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=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(ee.issue(o))}},e(r.value,r)));return t}function Qi(e,t){return Ji(df(e),t)}var gf={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var qo={};si(qo,{bigint:()=>Ev,boolean:()=>Rv,date:()=>Iv,number:()=>Tv,string:()=>Pv});function Pv(e){return rp(Gi,e)}function Tv(e){return Tp(Do,e)}function Rv(e){return Ip(Wi,e)}function Ev(e){return Op(of,e)}function Iv(e){return Mp(cf,e)}Be(Xd());var Ir="2025-11-25";var _f=[Ir,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Ct="io.modelcontextprotocol/related-task",Fo="2.0",Se=hf(e=>e!==null&&(typeof e=="object"||typeof e=="function")),yf=de([p(),Q().int()]),vf=p(),nE=$e({ttl:Q().optional(),pollInterval:Q().optional()}),Av=P({ttl:Q().optional()}),Cv=P({taskId:p()}),ea=$e({progressToken:yf.optional(),[Ct]:Cv.optional()}),Ke=P({_meta:ea.optional()}),bn=Ke.extend({task:Av.optional()}),bf=e=>bn.safeParse(e).success,xe=P({method:p(),params:Ke.loose().optional()}),Qe=P({_meta:ea.optional()}),Xe=P({method:p(),params:Qe.loose().optional()}),ke=$e({_meta:ea.optional()}),Vo=de([p(),Q().int()]),wf=P({jsonrpc:E(Fo),id:Vo,...xe.shape}).strict(),wn=e=>wf.safeParse(e).success,$f=P({jsonrpc:E(Fo),...Xe.shape}).strict(),Sf=e=>$f.safeParse(e).success,ta=P({jsonrpc:E(Fo),id:Vo,result:ke}).strict(),Qt=e=>ta.safeParse(e).success;var U;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(U||(U={}));var ra=P({jsonrpc:E(Fo),id:Vo.optional(),error:P({code:Q().int(),message:p(),data:he().optional()})}).strict();var xf=e=>ra.safeParse(e).success;var Or=de([wf,$f,ta,ra]),oE=de([ta,ra]),Xt=ke.strict(),Nv=Qe.extend({requestId:Vo.optional(),reason:p().optional()}),Ho=Xe.extend({method:E("notifications/cancelled"),params:Nv}),jv=P({src:p(),mimeType:p().optional(),sizes:z(p()).optional(),theme:qe(["light","dark"]).optional()}),$n=P({icons:z(jv).optional()}),Er=P({name:p(),title:p().optional()}),kf=Er.extend({...Er.shape,...$n.shape,version:p(),websiteUrl:p().optional(),description:p().optional()}),Mv=Zo(P({applyDefaults:oe().optional()}),ue(p(),he())),Uv=Qi(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Zo(P({form:Mv.optional(),url:Se.optional()}),ue(p(),he()).optional())),Dv=$e({list:Se.optional(),cancel:Se.optional(),requests:$e({sampling:$e({createMessage:Se.optional()}).optional(),elicitation:$e({create:Se.optional()}).optional()}).optional()}),Zv=$e({list:Se.optional(),cancel:Se.optional(),requests:$e({tools:$e({call:Se.optional()}).optional()}).optional()}),qv=P({experimental:ue(p(),Se).optional(),sampling:P({context:Se.optional(),tools:Se.optional()}).optional(),elicitation:Uv.optional(),roots:P({listChanged:oe().optional()}).optional(),tasks:Dv.optional(),extensions:ue(p(),Se).optional()}),Lv=Ke.extend({protocolVersion:p(),capabilities:qv,clientInfo:kf}),Fv=xe.extend({method:E("initialize"),params:Lv});var Vv=P({experimental:ue(p(),Se).optional(),logging:Se.optional(),completions:Se.optional(),prompts:P({listChanged:oe().optional()}).optional(),resources:P({subscribe:oe().optional(),listChanged:oe().optional()}).optional(),tools:P({listChanged:oe().optional()}).optional(),tasks:Zv.optional(),extensions:ue(p(),Se).optional()}),na=ke.extend({protocolVersion:p(),capabilities:Vv,serverInfo:kf,instructions:p().optional()}),zf=Xe.extend({method:E("notifications/initialized"),params:Qe.optional()}),Pf=e=>zf.safeParse(e).success,Bo=xe.extend({method:E("ping"),params:Ke.optional()}),Hv=P({progress:Q(),total:ge(Q()),message:ge(p())}),Bv=P({...Qe.shape,...Hv.shape,progressToken:yf}),Ko=Xe.extend({method:E("notifications/progress"),params:Bv}),Kv=Ke.extend({cursor:vf.optional()}),Sn=xe.extend({params:Kv.optional()}),xn=ke.extend({nextCursor:vf.optional()}),Jv=qe(["working","input_required","completed","failed","cancelled"]),kn=P({taskId:p(),status:Jv,ttl:de([Q(),sf()]),createdAt:p(),lastUpdatedAt:p(),pollInterval:ge(Q()),statusMessage:ge(p())}),er=ke.extend({task:kn}),Gv=Qe.merge(kn),zn=Xe.extend({method:E("notifications/tasks/status"),params:Gv}),Jo=xe.extend({method:E("tasks/get"),params:Ke.extend({taskId:p()})}),Go=ke.merge(kn),Wo=xe.extend({method:E("tasks/result"),params:Ke.extend({taskId:p()})}),sE=ke.loose(),Yo=Sn.extend({method:E("tasks/list")}),Qo=xn.extend({tasks:z(kn)}),Xo=xe.extend({method:E("tasks/cancel"),params:Ke.extend({taskId:p()})}),Tf=ke.merge(kn),Rf=P({uri:p(),mimeType:ge(p()),_meta:ue(p(),he()).optional()}),Ef=Rf.extend({text:p()}),oa=p().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),If=Rf.extend({blob:oa}),Pn=qe(["user","assistant"]),Ar=P({audience:z(Pn).optional(),priority:Q().min(0).max(1).optional(),lastModified:yn.datetime({offset:!0}).optional()}),Of=P({...Er.shape,...$n.shape,uri:p(),description:ge(p()),mimeType:ge(p()),size:ge(Q()),annotations:Ar.optional(),_meta:ge($e({}))}),Wv=P({...Er.shape,...$n.shape,uriTemplate:p(),description:ge(p()),mimeType:ge(p()),annotations:Ar.optional(),_meta:ge($e({}))}),Yv=Sn.extend({method:E("resources/list")}),sa=xn.extend({resources:z(Of)}),Qv=Sn.extend({method:E("resources/templates/list")}),ia=xn.extend({resourceTemplates:z(Wv)}),aa=Ke.extend({uri:p()}),Xv=aa,eb=xe.extend({method:E("resources/read"),params:Xv}),ca=ke.extend({contents:z(de([Ef,If]))}),ua=Xe.extend({method:E("notifications/resources/list_changed"),params:Qe.optional()}),tb=aa,rb=xe.extend({method:E("resources/subscribe"),params:tb}),nb=aa,ob=xe.extend({method:E("resources/unsubscribe"),params:nb}),sb=Qe.extend({uri:p()}),ib=Xe.extend({method:E("notifications/resources/updated"),params:sb}),ab=P({name:p(),description:ge(p()),required:ge(oe())}),cb=P({...Er.shape,...$n.shape,description:ge(p()),arguments:ge(z(ab)),_meta:ge($e({}))}),ub=Sn.extend({method:E("prompts/list")}),la=xn.extend({prompts:z(cb)}),lb=Ke.extend({name:p(),arguments:ue(p(),p()).optional()}),db=xe.extend({method:E("prompts/get"),params:lb}),da=P({type:E("text"),text:p(),annotations:Ar.optional(),_meta:ue(p(),he()).optional()}),pa=P({type:E("image"),data:oa,mimeType:p(),annotations:Ar.optional(),_meta:ue(p(),he()).optional()}),fa=P({type:E("audio"),data:oa,mimeType:p(),annotations:Ar.optional(),_meta:ue(p(),he()).optional()}),pb=P({type:E("tool_use"),name:p(),id:p(),input:ue(p(),he()),_meta:ue(p(),he()).optional()}),fb=P({type:E("resource"),resource:de([Ef,If]),annotations:Ar.optional(),_meta:ue(p(),he()).optional()}),mb=Of.extend({type:E("resource_link")}),ma=de([da,pa,fa,mb,fb]),hb=P({role:Pn,content:ma}),ha=ke.extend({description:p().optional(),messages:z(hb)}),ga=Xe.extend({method:E("notifications/prompts/list_changed"),params:Qe.optional()}),gb=P({title:p().optional(),readOnlyHint:oe().optional(),destructiveHint:oe().optional(),idempotentHint:oe().optional(),openWorldHint:oe().optional()}),_b=P({taskSupport:qe(["required","optional","forbidden"]).optional()}),Af=P({...Er.shape,...$n.shape,description:p().optional(),inputSchema:P({type:E("object"),properties:ue(p(),Se).optional(),required:z(p()).optional()}).catchall(he()),outputSchema:P({type:E("object"),properties:ue(p(),Se).optional(),required:z(p()).optional()}).catchall(he()).optional(),annotations:gb.optional(),execution:_b.optional(),_meta:ue(p(),he()).optional()}),yb=Sn.extend({method:E("tools/list")}),_a=xn.extend({tools:z(Af)}),Cr=ke.extend({content:z(ma).default([]),structuredContent:ue(p(),he()).optional(),isError:oe().optional()}),iE=Cr.or(ke.extend({toolResult:he()})),vb=bn.extend({name:p(),arguments:ue(p(),he()).optional()}),bb=xe.extend({method:E("tools/call"),params:vb}),ya=Xe.extend({method:E("notifications/tools/list_changed"),params:Qe.optional()}),Cf=P({autoRefresh:oe().default(!0),debounceMs:Q().int().nonnegative().default(300)}),Nf=qe(["debug","info","notice","warning","error","critical","alert","emergency"]),wb=Ke.extend({level:Nf}),$b=xe.extend({method:E("logging/setLevel"),params:wb}),Sb=Qe.extend({level:Nf,logger:p().optional(),data:he()}),xb=Xe.extend({method:E("notifications/message"),params:Sb}),kb=P({name:p().optional()}),zb=P({hints:z(kb).optional(),costPriority:Q().min(0).max(1).optional(),speedPriority:Q().min(0).max(1).optional(),intelligencePriority:Q().min(0).max(1).optional()}),Pb=P({mode:qe(["auto","required","none"]).optional()}),Tb=P({type:E("tool_result"),toolUseId:p().describe("The unique identifier for the corresponding tool call."),content:z(ma).default([]),structuredContent:P({}).loose().optional(),isError:oe().optional(),_meta:ue(p(),he()).optional()}),Rb=Yi("type",[da,pa,fa]),Lo=Yi("type",[da,pa,fa,pb,Tb]),Eb=P({role:Pn,content:de([Lo,z(Lo)]),_meta:ue(p(),he()).optional()}),Ib=bn.extend({messages:z(Eb),modelPreferences:zb.optional(),systemPrompt:p().optional(),includeContext:qe(["none","thisServer","allServers"]).optional(),temperature:Q().optional(),maxTokens:Q().int(),stopSequences:z(p()).optional(),metadata:Se.optional(),tools:z(Af).optional(),toolChoice:Pb.optional()}),va=xe.extend({method:E("sampling/createMessage"),params:Ib}),ba=ke.extend({model:p(),stopReason:ge(qe(["endTurn","stopSequence","maxTokens"]).or(p())),role:Pn,content:Rb}),wa=ke.extend({model:p(),stopReason:ge(qe(["endTurn","stopSequence","maxTokens","toolUse"]).or(p())),role:Pn,content:de([Lo,z(Lo)])}),Ob=P({type:E("boolean"),title:p().optional(),description:p().optional(),default:oe().optional()}),Ab=P({type:E("string"),title:p().optional(),description:p().optional(),minLength:Q().optional(),maxLength:Q().optional(),format:qe(["email","uri","date","date-time"]).optional(),default:p().optional()}),Cb=P({type:qe(["number","integer"]),title:p().optional(),description:p().optional(),minimum:Q().optional(),maximum:Q().optional(),default:Q().optional()}),Nb=P({type:E("string"),title:p().optional(),description:p().optional(),enum:z(p()),default:p().optional()}),jb=P({type:E("string"),title:p().optional(),description:p().optional(),oneOf:z(P({const:p(),title:p()})),default:p().optional()}),Mb=P({type:E("string"),title:p().optional(),description:p().optional(),enum:z(p()),enumNames:z(p()).optional(),default:p().optional()}),Ub=de([Nb,jb]),Db=P({type:E("array"),title:p().optional(),description:p().optional(),minItems:Q().optional(),maxItems:Q().optional(),items:P({type:E("string"),enum:z(p())}),default:z(p()).optional()}),Zb=P({type:E("array"),title:p().optional(),description:p().optional(),minItems:Q().optional(),maxItems:Q().optional(),items:P({anyOf:z(P({const:p(),title:p()}))}),default:z(p()).optional()}),qb=de([Db,Zb]),Lb=de([Mb,Ub,qb]),Fb=de([Lb,Ob,Ab,Cb]),Vb=bn.extend({mode:E("form").optional(),message:p(),requestedSchema:P({type:E("object"),properties:ue(p(),Fb),required:z(p()).optional()})}),Hb=bn.extend({mode:E("url"),message:p(),elicitationId:p(),url:p().url()}),Bb=de([Vb,Hb]),$a=xe.extend({method:E("elicitation/create"),params:Bb}),Kb=Qe.extend({elicitationId:p()}),Jb=Xe.extend({method:E("notifications/elicitation/complete"),params:Kb}),Sa=ke.extend({action:qe(["accept","decline","cancel"]),content:Qi(e=>e===null?void 0:e,ue(p(),de([p(),Q(),oe(),z(p())])).optional())}),Gb=P({type:E("ref/resource"),uri:p()});var Wb=P({type:E("ref/prompt"),name:p()}),Yb=Ke.extend({ref:de([Wb,Gb]),argument:P({name:p(),value:p()}),context:P({arguments:ue(p(),p()).optional()}).optional()}),Qb=xe.extend({method:E("completion/complete"),params:Yb});var xa=ke.extend({completion:$e({values:z(p()).max(100),total:ge(Q().int()),hasMore:ge(oe())})}),Xb=P({uri:p().startsWith("file://"),name:p().optional(),_meta:ue(p(),he()).optional()}),ew=xe.extend({method:E("roots/list"),params:Ke.optional()}),tw=ke.extend({roots:z(Xb)}),rw=Xe.extend({method:E("notifications/roots/list_changed"),params:Qe.optional()}),aE=de([Bo,Fv,Qb,$b,db,ub,Yv,Qv,eb,rb,ob,bb,yb,Jo,Wo,Yo,Xo]),cE=de([Ho,Ko,zf,rw,zn]),uE=de([Xt,ba,wa,Sa,tw,Go,Qo,er]),lE=de([Bo,va,$a,ew,Jo,Wo,Yo,Xo]),dE=de([Ho,Ko,xb,ib,ua,ya,ga,zn,Jb]),pE=de([Xt,na,xa,ha,la,sa,ia,ca,Cr,_a,Go,Qo,er]),j=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===U.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Xi(o.elicitations,r)}return new e(t,r,n)}},Xi=class extends j{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(U.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Nt(e){return e==="completed"||e==="failed"||e==="cancelled"}var nw=Symbol("Let zodToJsonSchema decide on which parser to use");var HE=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ka(e){let r=Mo(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=qp(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function za(e,t){let r=at(e,t);if(!r.success)throw r.error;return r.data}var uw=6e4,es=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Ho,r=>{this._oncancel(r)}),this.setNotificationHandler(Ko,r=>{this._onprogress(r)}),this.setRequestHandler(Bo,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Jo,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new j(U.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Wo,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,l=c.id,u=this._requestResolvers.get(l);if(u)if(this._requestResolvers.delete(l),a.type==="response")u(c);else{let d=c,f=new j(d.error.code,d.error.message,d.error.data);u(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${l}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new j(U.InvalidParams,`Task not found: ${s}`);if(!Nt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Nt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Ct]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Yo,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 j(U.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Xo,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new j(U.InvalidParams,`Task not found: ${r.params.taskId}`);if(Nt(o.status))throw new j(U.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 j(U.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof j?o:new j(U.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),j.fromError(U.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Qt(s)||xf(s)?this._onresponse(s):wn(s)?this._onrequest(s,i):Sf(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=j.fromError(U.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[Ct]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:U.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:u,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(u).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(t.id,i);let a=bf(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,l={signal:i.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(i.signal.aborted)return;let d={relatedRequestId:t.id};s&&(d.relatedTask={taskId:s}),await this.notification(u,d)},sendRequest:async(u,d,f)=>{if(i.signal.aborted)throw new j(U.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:t.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let h=m.relatedTask?.taskId??s;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(u,d,m)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,l)).then(async u=>{if(i.signal.aborted)return;let d={result:u,jsonrpc:"2.0",id:t.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async u=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:U.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.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(t)}`));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(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Qt(t))n(t);else{let i=new j(t.error.code,t.error.message,t.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(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Qt(t)&&t.result&&typeof t.result=="object"){let i=t.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),Qt(t))o(t);else{let i=j.fromError(t.error.code,t.error.message,t.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(i){yield{type:"error",error:i instanceof j?i:new j(U.InternalError,String(i))}}return}let s;try{let i=await this.request(t,er,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new j(U.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Nt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new j(U.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new j(U.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(l=>setTimeout(l,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof j?i:new j(U.InternalError,String(i))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((l,u)=>{let d=$=>{u($)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch($){d($);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...t,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...t.params,_meta:{...t.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[Ct]:c}});let h=$=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String($)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(T=>this._onerror(new Error(`Failed to send cancellation: ${T}`)));let w=$ instanceof j?$:new j(U.RequestTimeout,String($));u(w)};this._responseHandlers.set(f,$=>{if(!n?.signal?.aborted){if($ instanceof Error)return u($);try{let w=at(r,$.result);w.success?l(w.data):u(w.error)}catch(w){u(w)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??uw,y=()=>h(j.fromError(U.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(f,g,n?.maxTotalTimeout,y,n?.resetTimeoutOnProgress??!1);let S=c?.taskId;if(S){let $=w=>{let T=this._responseHandlers.get(f);T?T(w):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,$),this._enqueueTaskMessage(S,{type:"request",message:m,timestamp:Date.now()}).catch(w=>{this._cleanupTimeout(f),u(w)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch($=>{this._cleanupTimeout(f),u($)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Go,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},Qo,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Tf,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Ct]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Ct]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[Ct]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(t,r){let n=ka(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=za(t,o);return Promise.resolve(r(i,s))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=ka(t);this._notificationHandlers.set(n,o=>{let s=za(t,o);return Promise.resolve(r(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&wn(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new j(U.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new j(U.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new j(U.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new j(U.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=zn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Nt(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 j(U.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Nt(a.status))throw new j(U.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 l=zn.parse({method:"notifications/tasks/status",params:c});await this.notification(l),Nt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function jf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Mf(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];jf(i)&&jf(s)?r[o]={...i,...s}:r[o]=s}return r}var Tg=Yu(pu(),1),Rg=Yu(Pg(),1);function fz(){let e=new Tg.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Rg.default)(e),e}var Ns=class{constructor(t){this._ajv=t??fz()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var js=class{constructor(t){this._client=t}async*callToolStream(t,r=Cr,n){let o=this._client,s={...n,task:n?.task??(o.isToolTask(t.name)?{}:void 0)},i=o.requestStream({method:"tools/call",params:t},r,s),a=o.getToolOutputValidator(t.name);for await(let c of i){if(c.type==="result"&&a){let l=c.result;if(!l.structuredContent&&!l.isError){yield{type:"error",error:new j(U.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`)};return}if(l.structuredContent)try{let u=a(l.structuredContent);if(!u.valid){yield{type:"error",error:new j(U.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof j){yield{type:"error",error:u};return}yield{type:"error",error:new j(U.InvalidParams,`Failed to validate structured content: ${u instanceof Error?u.message:String(u)}`)};return}}yield c}}async getTask(t,r){return this._client.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._client.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._client.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._client.cancelTask({taskId:t},r)}requestStream(t,r,n){return this._client.requestStream(t,r,n)}};function Eg(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Ig(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}function Ms(e,t){if(!(!e||t===null||typeof t!="object")){if(e.type==="object"&&e.properties&&typeof e.properties=="object"){let r=t,n=e.properties;for(let o of Object.keys(n)){let s=n[o];r[o]===void 0&&Object.prototype.hasOwnProperty.call(s,"default")&&(r[o]=s.default),r[o]!==void 0&&Ms(s,r[o])}}if(Array.isArray(e.anyOf))for(let r of e.anyOf)typeof r!="boolean"&&Ms(r,t);if(Array.isArray(e.oneOf))for(let r of e.oneOf)typeof r!="boolean"&&Ms(r,t)}}function mz(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,r=e.url!==void 0;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}var Us=class extends es{constructor(t,r){super(r),this._clientInfo=t,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new Ns,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(t){t.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",ya,t.tools,async()=>(await this.listTools()).tools),t.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",ga,t.prompts,async()=>(await this.listPrompts()).prompts),t.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",ua,t.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new js(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Mf(this._capabilities,t)}setRequestHandler(t,r){let o=Mo(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Rr(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");let i=s;if(i==="elicitation/create"){let a=async(c,l)=>{let u=at($a,c);if(!u.success){let $=u.error instanceof Error?u.error.message:String(u.error);throw new j(U.InvalidParams,`Invalid elicitation request: ${$}`)}let{params:d}=u.data;d.mode=d.mode??"form";let{supportsFormMode:f,supportsUrlMode:m}=mz(this._capabilities.elicitation);if(d.mode==="form"&&!f)throw new j(U.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!m)throw new j(U.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,l));if(d.task){let $=at(er,h);if(!$.success){let w=$.error instanceof Error?$.error.message:String($.error);throw new j(U.InvalidParams,`Invalid task creation result: ${w}`)}return $.data}let g=at(Sa,h);if(!g.success){let $=g.error instanceof Error?g.error.message:String(g.error);throw new j(U.InvalidParams,`Invalid elicitation result: ${$}`)}let y=g.data,S=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&y.action==="accept"&&y.content&&S&&this._capabilities.elicitation?.form?.applyDefaults)try{Ms(S,y.content)}catch{}return y};return super.setRequestHandler(t,a)}if(i==="sampling/createMessage"){let a=async(c,l)=>{let u=at(va,c);if(!u.success){let y=u.error instanceof Error?u.error.message:String(u.error);throw new j(U.InvalidParams,`Invalid sampling request: ${y}`)}let{params:d}=u.data,f=await Promise.resolve(r(c,l));if(d.task){let y=at(er,f);if(!y.success){let S=y.error instanceof Error?y.error.message:String(y.error);throw new j(U.InvalidParams,`Invalid task creation result: ${S}`)}return y.data}let h=d.tools||d.toolChoice?wa:ba,g=at(h,f);if(!g.success){let y=g.error instanceof Error?g.error.message:String(g.error);throw new j(U.InvalidParams,`Invalid sampling result: ${y}`)}return g.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapability(t,r){if(!this._serverCapabilities?.[t])throw new Error(`Server does not support ${t} (required for ${r})`)}async connect(t,r){if(await super.connect(t),t.sessionId===void 0)try{let n=await this.request({method:"initialize",params:{protocolVersion:Ir,capabilities:this._capabilities,clientInfo:this._clientInfo}},na,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!_f.includes(n.protocolVersion))throw new Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,t.setProtocolVersion&&t.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(n){throw this.close(),n}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(t){switch(t){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${t})`);if(t==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${t})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${t})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${t})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${t})`);break;case"ping":break}}assertTaskCapability(t){Eg(this._serverCapabilities?.tasks?.requests,t,"Server")}assertTaskHandlerCapability(t){this._capabilities&&Ig(this._capabilities.tasks?.requests,t,"Client")}async ping(t){return this.request({method:"ping"},Xt,t)}async complete(t,r){return this.request({method:"completion/complete",params:t},xa,r)}async setLoggingLevel(t,r){return this.request({method:"logging/setLevel",params:{level:t}},Xt,r)}async getPrompt(t,r){return this.request({method:"prompts/get",params:t},ha,r)}async listPrompts(t,r){return this.request({method:"prompts/list",params:t},la,r)}async listResources(t,r){return this.request({method:"resources/list",params:t},sa,r)}async listResourceTemplates(t,r){return this.request({method:"resources/templates/list",params:t},ia,r)}async readResource(t,r){return this.request({method:"resources/read",params:t},ca,r)}async subscribeResource(t,r){return this.request({method:"resources/subscribe",params:t},Xt,r)}async unsubscribeResource(t,r){return this.request({method:"resources/unsubscribe",params:t},Xt,r)}async callTool(t,r=Cr,n){if(this.isToolTaskRequired(t.name))throw new j(U.InvalidRequest,`Tool "${t.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let o=await this.request({method:"tools/call",params:t},r,n),s=this.getToolOutputValidator(t.name);if(s){if(!o.structuredContent&&!o.isError)throw new j(U.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`);if(o.structuredContent)try{let i=s(o.structuredContent);if(!i.valid)throw new j(U.InvalidParams,`Structured content does not match the tool's output schema: ${i.errorMessage}`)}catch(i){throw i instanceof j?i:new j(U.InvalidParams,`Failed to validate structured content: ${i instanceof Error?i.message:String(i)}`)}}return o}isToolTask(t){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(t):!1}isToolTaskRequired(t){return this._cachedRequiredTaskTools.has(t)}cacheToolMetadata(t){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of t){if(r.outputSchema){let o=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,o)}let n=r.execution?.taskSupport;(n==="required"||n==="optional")&&this._cachedKnownTaskTools.add(r.name),n==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(t){return this._cachedToolOutputValidators.get(t)}async listTools(t,r){let n=await this.request({method:"tools/list",params:t},_a,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(t,r,n,o){let s=Cf.safeParse(n);if(!s.success)throw new Error(`Invalid ${t} listChanged options: ${s.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${t} listChanged options: onChanged must be a function`);let{autoRefresh:i,debounceMs:a}=s.data,{onChanged:c}=n,l=async()=>{if(!i){c(null,null);return}try{let d=await o();c(null,d)}catch(d){let f=d instanceof Error?d:new Error(String(d));c(f,null)}},u=()=>{if(a){let d=this._listChangedDebounceTimers.get(t);d&&clearTimeout(d);let f=setTimeout(l,a);this._listChangedDebounceTimers.set(t,f)}else l()};this.setNotificationHandler(r,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};function Ds(e){return e?e instanceof Headers?Object.fromEntries(e.entries()):Array.isArray(e)?Object.fromEntries(e):{...e}:{}}function Og(e=fetch,t){return t?async(r,n)=>{let o={...t,...n,headers:n?.headers?{...Ds(t.headers),...Ds(n.headers)}:t.headers};return e(r,o)}:e}var bu;bu=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then(e=>e.webcrypto);async function hz(e){return(await bu).getRandomValues(new Uint8Array(e))}async function gz(e){let t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",r=Math.pow(2,8)-Math.pow(2,8)%t.length,n="";for(;n.length<e;){let o=await hz(e-n.length);for(let s of o)s<r&&(n+=t[s%t.length])}return n}async function _z(e){return await gz(e)}async function yz(e){let t=await(await bu).subtle.digest("SHA-256",new TextEncoder().encode(e));return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function wu(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await _z(e),r=await yz(t);return{code_verifier:t,code_challenge:r}}var Re=nf().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:gf.custom,message:"URL must be parseable",fatal:!0}),ii}).refine(e=>{let t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Cg=$e({resource:p().url(),authorization_servers:z(Re).optional(),jwks_uri:p().url().optional(),scopes_supported:z(p()).optional(),bearer_methods_supported:z(p()).optional(),resource_signing_alg_values_supported:z(p()).optional(),resource_name:p().optional(),resource_documentation:p().optional(),resource_policy_uri:p().url().optional(),resource_tos_uri:p().url().optional(),tls_client_certificate_bound_access_tokens:oe().optional(),authorization_details_types_supported:z(p()).optional(),dpop_signing_alg_values_supported:z(p()).optional(),dpop_bound_access_tokens_required:oe().optional()}),$u=$e({issuer:p(),authorization_endpoint:Re,token_endpoint:Re,registration_endpoint:Re.optional(),scopes_supported:z(p()).optional(),response_types_supported:z(p()),response_modes_supported:z(p()).optional(),grant_types_supported:z(p()).optional(),token_endpoint_auth_methods_supported:z(p()).optional(),token_endpoint_auth_signing_alg_values_supported:z(p()).optional(),service_documentation:Re.optional(),revocation_endpoint:Re.optional(),revocation_endpoint_auth_methods_supported:z(p()).optional(),revocation_endpoint_auth_signing_alg_values_supported:z(p()).optional(),introspection_endpoint:p().optional(),introspection_endpoint_auth_methods_supported:z(p()).optional(),introspection_endpoint_auth_signing_alg_values_supported:z(p()).optional(),code_challenge_methods_supported:z(p()).optional(),client_id_metadata_document_supported:oe().optional()}),vz=$e({issuer:p(),authorization_endpoint:Re,token_endpoint:Re,userinfo_endpoint:Re.optional(),jwks_uri:Re,registration_endpoint:Re.optional(),scopes_supported:z(p()).optional(),response_types_supported:z(p()),response_modes_supported:z(p()).optional(),grant_types_supported:z(p()).optional(),acr_values_supported:z(p()).optional(),subject_types_supported:z(p()),id_token_signing_alg_values_supported:z(p()),id_token_encryption_alg_values_supported:z(p()).optional(),id_token_encryption_enc_values_supported:z(p()).optional(),userinfo_signing_alg_values_supported:z(p()).optional(),userinfo_encryption_alg_values_supported:z(p()).optional(),userinfo_encryption_enc_values_supported:z(p()).optional(),request_object_signing_alg_values_supported:z(p()).optional(),request_object_encryption_alg_values_supported:z(p()).optional(),request_object_encryption_enc_values_supported:z(p()).optional(),token_endpoint_auth_methods_supported:z(p()).optional(),token_endpoint_auth_signing_alg_values_supported:z(p()).optional(),display_values_supported:z(p()).optional(),claim_types_supported:z(p()).optional(),claims_supported:z(p()).optional(),service_documentation:p().optional(),claims_locales_supported:z(p()).optional(),ui_locales_supported:z(p()).optional(),claims_parameter_supported:oe().optional(),request_parameter_supported:oe().optional(),request_uri_parameter_supported:oe().optional(),require_request_uri_registration:oe().optional(),op_policy_uri:Re.optional(),op_tos_uri:Re.optional(),client_id_metadata_document_supported:oe().optional()}),Ng=P({...vz.shape,...$u.pick({code_challenge_methods_supported:!0}).shape}),jg=P({access_token:p(),id_token:p().optional(),token_type:p(),expires_in:qo.number().optional(),scope:p().optional(),refresh_token:p().optional()}).strip(),Mg=P({error:p(),error_description:p().optional(),error_uri:p().optional()}),Ag=Re.optional().or(E("").transform(()=>{})),bz=P({redirect_uris:z(Re),token_endpoint_auth_method:p().optional(),grant_types:z(p()).optional(),response_types:z(p()).optional(),client_name:p().optional(),client_uri:Re.optional(),logo_uri:Ag,scope:p().optional(),contacts:z(p()).optional(),tos_uri:Ag,policy_uri:p().optional(),jwks_uri:Re.optional(),jwks:af().optional(),software_id:p().optional(),software_version:p().optional(),software_statement:p().optional()}).strip(),wz=P({client_id:p(),client_secret:p().optional(),client_id_issued_at:Q().optional(),client_secret_expires_at:Q().optional()}).strip(),Ug=bz.merge(wz),_1=P({error:p(),error_description:p().optional()}).strip(),y1=P({token:p(),token_type_hint:p().optional()}).strip();function Dg(e){let t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function Zg({requestedResource:e,configuredResource:t}){let r=typeof e=="string"?new URL(e):new URL(e.href),n=typeof t=="string"?new URL(t):new URL(t.href);if(r.origin!==n.origin||r.pathname.length<n.pathname.length)return!1;let o=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",s=n.pathname.endsWith("/")?n.pathname:n.pathname+"/";return o.startsWith(s)}var be=class extends Error{constructor(t,r){super(t),this.errorUri=r,this.name=this.constructor.name}toResponseObject(){let t={error:this.errorCode,error_description:this.message};return this.errorUri&&(t.error_uri=this.errorUri),t}get errorCode(){return this.constructor.errorCode}},oo=class extends be{};oo.errorCode="invalid_request";var pr=class extends be{};pr.errorCode="invalid_client";var fr=class extends be{};fr.errorCode="invalid_grant";var mr=class extends be{};mr.errorCode="unauthorized_client";var so=class extends be{};so.errorCode="unsupported_grant_type";var io=class extends be{};io.errorCode="invalid_scope";var ao=class extends be{};ao.errorCode="access_denied";var Et=class extends be{};Et.errorCode="server_error";var co=class extends be{};co.errorCode="temporarily_unavailable";var uo=class extends be{};uo.errorCode="unsupported_response_type";var lo=class extends be{};lo.errorCode="unsupported_token_type";var po=class extends be{};po.errorCode="invalid_token";var fo=class extends be{};fo.errorCode="method_not_allowed";var mo=class extends be{};mo.errorCode="too_many_requests";var hr=class extends be{};hr.errorCode="invalid_client_metadata";var ho=class extends be{};ho.errorCode="insufficient_scope";var go=class extends be{};go.errorCode="invalid_target";var qg={[oo.errorCode]:oo,[pr.errorCode]:pr,[fr.errorCode]:fr,[mr.errorCode]:mr,[so.errorCode]:so,[io.errorCode]:io,[ao.errorCode]:ao,[Et.errorCode]:Et,[co.errorCode]:co,[uo.errorCode]:uo,[lo.errorCode]:lo,[po.errorCode]:po,[fo.errorCode]:fo,[mo.errorCode]:mo,[hr.errorCode]:hr,[ho.errorCode]:ho,[go.errorCode]:go};var It=class extends Error{constructor(t){super(t??"Unauthorized")}};function $z(e){return["client_secret_basic","client_secret_post","none"].includes(e)}var Su="code",xu="S256";function Sz(e,t){let r=e.client_secret!==void 0;return"token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&$z(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method))?e.token_endpoint_auth_method:t.length===0?r?"client_secret_basic":"none":r&&t.includes("client_secret_basic")?"client_secret_basic":r&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":r?"client_secret_post":"none"}function xz(e,t,r,n){let{client_id:o,client_secret:s}=t;switch(e){case"client_secret_basic":kz(o,s,r);return;case"client_secret_post":zz(o,s,n);return;case"none":Pz(o,n);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function kz(e,t,r){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");let n=btoa(`${e}:${t}`);r.set("Authorization",`Basic ${n}`)}function zz(e,t,r){r.set("client_id",e),t&&r.set("client_secret",t)}function Pz(e,t){t.set("client_id",e)}async function Fg(e){let t=e instanceof Response?e.status:void 0,r=e instanceof Response?await e.text():e;try{let n=Mg.parse(JSON.parse(r)),{error:o,error_description:s,error_uri:i}=n,a=qg[o]||Et;return new a(s||"",i)}catch(n){let o=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${n}. Raw body: ${r}`;return new Et(o)}}async function _o(e,t){try{return await ku(e,t)}catch(r){if(r instanceof pr||r instanceof mr)return await e.invalidateCredentials?.("all"),await ku(e,t);if(r instanceof fr)return await e.invalidateCredentials?.("tokens"),await ku(e,t);throw r}}async function ku(e,{serverUrl:t,authorizationCode:r,scope:n,resourceMetadataUrl:o,fetchFn:s}){let i=await e.discoveryState?.(),a,c,l,u=o;if(!u&&i?.resourceMetadataUrl&&(u=new URL(i.resourceMetadataUrl)),i?.authorizationServerUrl){if(c=i.authorizationServerUrl,a=i.resourceMetadata,l=i.authorizationServerMetadata??await Hg(c,{fetchFn:s}),!a)try{a=await Vg(t,{resourceMetadataUrl:u},s)}catch{}(l!==i.authorizationServerMetadata||a!==i.resourceMetadata)&&await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:u?.toString(),resourceMetadata:a,authorizationServerMetadata:l})}else{let w=await Cz(t,{resourceMetadataUrl:u,fetchFn:s});c=w.authorizationServerUrl,l=w.authorizationServerMetadata,a=w.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:u?.toString(),resourceMetadata:a,authorizationServerMetadata:l})}let d=await Rz(t,e,a),f=n||a?.scopes_supported?.join(" ")||e.clientMetadata.scope,m=await Promise.resolve(e.clientInformation());if(!m){if(r!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");let w=l?.client_id_metadata_document_supported===!0,T=e.clientMetadataUrl;if(T&&!Tz(T))throw new hr(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${T}`);if(w&&T)m={client_id:T},await e.saveClientInformation?.(m);else{if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");let x=await Dz(c,{metadata:l,clientMetadata:e.clientMetadata,scope:f,fetchFn:s});await e.saveClientInformation(x),m=x}}let h=!e.redirectUrl;if(r!==void 0||h){let w=await Uz(e,c,{metadata:l,resource:d,authorizationCode:r,fetchFn:s});return await e.saveTokens(w),"AUTHORIZED"}let g=await e.tokens();if(g?.refresh_token)try{let w=await Mz(c,{metadata:l,clientInformation:m,refreshToken:g.refresh_token,resource:d,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await e.saveTokens(w),"AUTHORIZED"}catch(w){if(!(!(w instanceof be)||w instanceof Et))throw w}let y=e.state?await e.state():void 0,{authorizationUrl:S,codeVerifier:$}=await Nz(c,{metadata:l,clientInformation:m,state:y,redirectUrl:e.redirectUrl,scope:f,resource:d});return await e.saveCodeVerifier($),await e.redirectToAuthorization(S),"REDIRECT"}function Tz(e){if(!e)return!1;try{let t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function Rz(e,t,r){let n=Dg(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(r){if(!Zg({requestedResource:n,configuredResource:r.resource}))throw new Error(`Protected resource ${r.resource} does not match expected ${n} (or origin)`);return new URL(r.resource)}}function Pu(e){let t=e.headers.get("WWW-Authenticate");if(!t)return{};let[r,n]=t.split(" ");if(r.toLowerCase()!=="bearer"||!n)return{};let o=zu(e,"resource_metadata")||void 0,s;if(o)try{s=new URL(o)}catch{}let i=zu(e,"scope")||void 0,a=zu(e,"error")||void 0;return{resourceMetadataUrl:s,scope:i,error:a}}function zu(e,t){let r=e.headers.get("WWW-Authenticate");if(!r)return null;let n=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),o=r.match(n);return o?o[1]||o[2]:null}async function Vg(e,t,r=fetch){let n=await Oz(e,"oauth-protected-resource",r,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!n||n.status===404)throw await n?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!n.ok)throw await n.body?.cancel(),new Error(`HTTP ${n.status} trying to load well-known OAuth protected resource metadata.`);return Cg.parse(await n.json())}async function Tu(e,t,r=fetch){try{return await r(e,{headers:t})}catch(n){if(n instanceof TypeError)return t?Tu(e,void 0,r):void 0;throw n}}function Ez(e,t="",r={}){return t.endsWith("/")&&(t=t.slice(0,-1)),r.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function Lg(e,t,r=fetch){return await Tu(e,{"MCP-Protocol-Version":t},r)}function Iz(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function Oz(e,t,r,n){let o=new URL(e),s=n?.protocolVersion??Ir,i;if(n?.metadataUrl)i=new URL(n.metadataUrl);else{let c=Ez(t,o.pathname);i=new URL(c,n?.metadataServerUrl??o),i.search=o.search}let a=await Lg(i,s,r);if(!n?.metadataUrl&&Iz(a,o.pathname)){let c=new URL(`/.well-known/${t}`,o);a=await Lg(c,s,r)}return a}function Az(e){let t=typeof e=="string"?new URL(e):e,r=t.pathname!=="/",n=[];if(!r)return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),n;let o=t.pathname;return o.endsWith("/")&&(o=o.slice(0,-1)),n.push({url:new URL(`/.well-known/oauth-authorization-server${o}`,t.origin),type:"oauth"}),n.push({url:new URL(`/.well-known/openid-configuration${o}`,t.origin),type:"oidc"}),n.push({url:new URL(`${o}/.well-known/openid-configuration`,t.origin),type:"oidc"}),n}async function Hg(e,{fetchFn:t=fetch,protocolVersion:r=Ir}={}){let n={"MCP-Protocol-Version":r,Accept:"application/json"},o=Az(e);for(let{url:s,type:i}of o){let a=await Tu(s,n,t);if(a){if(!a.ok){if(await a.body?.cancel(),a.status>=400&&a.status<500)continue;throw new Error(`HTTP ${a.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${s}`)}return i==="oauth"?$u.parse(await a.json()):Ng.parse(await a.json())}}}async function Cz(e,t){let r,n;try{r=await Vg(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),r.authorization_servers&&r.authorization_servers.length>0&&(n=r.authorization_servers[0])}catch{}n||(n=String(new URL("/",e)));let o=await Hg(n,{fetchFn:t?.fetchFn});return{authorizationServerUrl:n,authorizationServerMetadata:o,resourceMetadata:r}}async function Nz(e,{metadata:t,clientInformation:r,redirectUrl:n,scope:o,state:s,resource:i}){let a;if(t){if(a=new URL(t.authorization_endpoint),!t.response_types_supported.includes(Su))throw new Error(`Incompatible auth server: does not support response type ${Su}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(xu))throw new Error(`Incompatible auth server: does not support code challenge method ${xu}`)}else a=new URL("/authorize",e);let c=await wu(),l=c.code_verifier,u=c.code_challenge;return a.searchParams.set("response_type",Su),a.searchParams.set("client_id",r.client_id),a.searchParams.set("code_challenge",u),a.searchParams.set("code_challenge_method",xu),a.searchParams.set("redirect_uri",String(n)),s&&a.searchParams.set("state",s),o&&a.searchParams.set("scope",o),o?.includes("offline_access")&&a.searchParams.append("prompt","consent"),i&&a.searchParams.set("resource",i.href),{authorizationUrl:a,codeVerifier:l}}function jz(e,t,r){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(r)})}async function Bg(e,{metadata:t,tokenRequestParams:r,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:i}){let a=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(s&&r.set("resource",s.href),o)await o(c,r,a,t);else if(n){let u=t?.token_endpoint_auth_methods_supported??[],d=Sz(n,u);xz(d,n,c,r)}let l=await(i??fetch)(a,{method:"POST",headers:c,body:r});if(!l.ok)throw await Fg(l);return jg.parse(await l.json())}async function Mz(e,{metadata:t,clientInformation:r,refreshToken:n,resource:o,addClientAuthentication:s,fetchFn:i}){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:n}),c=await Bg(e,{metadata:t,tokenRequestParams:a,clientInformation:r,addClientAuthentication:s,resource:o,fetchFn:i});return{refresh_token:n,...c}}async function Uz(e,t,{metadata:r,resource:n,authorizationCode:o,fetchFn:s}={}){let i=e.clientMetadata.scope,a;if(e.prepareTokenRequest&&(a=await e.prepareTokenRequest(i)),!a){if(!o)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");let l=await e.codeVerifier();a=jz(o,l,e.redirectUrl)}let c=await e.clientInformation();return Bg(t,{metadata:r,tokenRequestParams:a,clientInformation:c??void 0,addClientAuthentication:e.addClientAuthentication,resource:n,fetchFn:s})}async function Dz(e,{metadata:t,clientMetadata:r,scope:n,fetchFn:o}){let s;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");s=new URL(t.registration_endpoint)}else s=new URL("/register",e);let i=await(o??fetch)(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,...n!==void 0?{scope:n}:{}})});if(!i.ok)throw await Fg(i);return Ug.parse(await i.json())}var yo=class extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}},Kg=10,Zz=13,gr=32;function Ru(e){}function Wg(e){if(typeof e=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Ru,onError:r=Ru,onRetry:n=Ru,onComment:o,maxBufferSize:s}=e,i=[],a=0,c=!0,l,u="",d=0,f,m=!1;function h(v){if(m)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,v.charCodeAt(0)===239&&v.charCodeAt(1)===187&&v.charCodeAt(2)===191&&(v=v.slice(3))),i.length===0){let B=y(v);B!==""&&(i.push(B),a=B.length),g();return}if(v.indexOf(`
36
- `)===-1&&v.indexOf("\r")===-1){i.push(v),a+=v.length,g();return}i.push(v);let x=i.join("");i.length=0,a=0;let A=y(x);A!==""&&(i.push(A),a=A.length),g()}function g(){s!==void 0&&(a+u.length<=s||(m=!0,i.length=0,a=0,l=void 0,u="",d=0,f=void 0,r(new yo(`Buffered data exceeded max buffer size of ${s} characters`,{type:"max-buffer-size-exceeded"}))))}function y(v){let x=0;if(v.indexOf("\r")===-1){let A=v.indexOf(`
37
- `,x);for(;A!==-1;){if(x===A){d>0&&t({id:l,event:f,data:u}),l=void 0,u="",d=0,f=void 0,x=A+1,A=v.indexOf(`
38
- `,x);continue}let B=v.charCodeAt(x);if(Jg(v,x,B)){let J=v.charCodeAt(x+5)===gr?x+6:x+5,_e=v.slice(J,A);if(d===0&&v.charCodeAt(A+1)===Kg){t({id:l,event:f,data:_e}),l=void 0,u="",f=void 0,x=A+2,A=v.indexOf(`
39
- `,x);continue}u=d===0?_e:`${u}
40
- ${_e}`,d++}else Gg(v,x,B)?f=v.slice(v.charCodeAt(x+6)===gr?x+7:x+6,A)||void 0:S(v,x,A);x=A+1,A=v.indexOf(`
41
- `,x)}return v.slice(x)}for(;x<v.length;){let A=v.indexOf("\r",x),B=v.indexOf(`
42
- `,x),J=-1;if(A!==-1&&B!==-1?J=A<B?A:B:A!==-1?A===v.length-1?J=-1:J=A:B!==-1&&(J=B),J===-1)break;S(v,x,J),x=J+1,v.charCodeAt(x-1)===Zz&&v.charCodeAt(x)===Kg&&x++}return v.slice(x)}function S(v,x,A){if(x===A){w();return}let B=v.charCodeAt(x);if(Jg(v,x,B)){let Ye=v.charCodeAt(x+5)===gr?x+6:x+5,$t=v.slice(Ye,A);u=d===0?$t:`${u}
43
- ${$t}`,d++;return}if(Gg(v,x,B)){f=v.slice(v.charCodeAt(x+6)===gr?x+7:x+6,A)||void 0;return}if(B===105&&v.charCodeAt(x+1)===100&&v.charCodeAt(x+2)===58){let Ye=v.slice(v.charCodeAt(x+3)===gr?x+4:x+3,A);l=Ye.includes("\0")?void 0:Ye;return}if(B===58){if(o){let Ye=v.slice(x,A);o(Ye.slice(v.charCodeAt(x+1)===gr?2:1))}return}let J=v.slice(x,A),_e=J.indexOf(":");if(_e===-1){$(J,"",J);return}let We=J.slice(0,_e),wr=J.charCodeAt(_e+1)===gr?2:1,Jt=J.slice(_e+wr);$(We,Jt,J)}function $(v,x,A){switch(v){case"event":f=x||void 0;break;case"data":u=d===0?x:`${u}
44
- ${x}`,d++;break;case"id":l=x.includes("\0")?void 0:x;break;case"retry":/^\d+$/.test(x)?n(parseInt(x,10)):r(new yo(`Invalid \`retry\` value: "${x}"`,{type:"invalid-retry",value:x,line:A}));break;default:r(new yo(`Unknown field "${v.length>20?`${v.slice(0,20)}\u2026`:v}"`,{type:"unknown-field",field:v,value:x,line:A}));break}}function w(){d>0&&t({id:l,event:f,data:u}),l=void 0,u="",d=0,f=void 0}function T(v={}){if(v.consume&&i.length>0){let x=i.join("");S(x,0,x.length)}c=!0,l=void 0,u="",d=0,f=void 0,i.length=0,a=0,m=!1}return{feed:h,reset:T}}function Jg(e,t,r){return r===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Gg(e,t,r){return r===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}var Zs=class extends TransformStream{constructor({onError:t,onRetry:r,onComment:n,maxBufferSize:o}={}){let s;super({start(i){s=Wg({onEvent:a=>{i.enqueue(a)},onError(a){typeof t=="function"&&t(a),(t==="terminate"||a.type==="max-buffer-size-exceeded")&&i.error(a)},onRetry:r,onComment:n,maxBufferSize:o})},transform(i){s.feed(i)}})}};var qz={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},Vt=class extends Error{constructor(t,r){super(`Streamable HTTP error: ${r}`),this.code=t}},Xr=class{constructor(t,r){this._hasCompletedAuthFlow=!1,this._url=t,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=r?.requestInit,this._authProvider=r?.authProvider,this._fetch=r?.fetch,this._fetchWithInit=Og(r?.fetch,r?.requestInit),this._sessionId=r?.sessionId,this._reconnectionOptions=r?.reconnectionOptions??qz}async _authThenStart(){if(!this._authProvider)throw new It("No auth provider");let t;try{t=await _o(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(r){throw this.onerror?.(r),r}if(t!=="AUTHORIZED")throw new It;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let t={};if(this._authProvider){let n=await this._authProvider.tokens();n&&(t.Authorization=`Bearer ${n.access_token}`)}this._sessionId&&(t["mcp-session-id"]=this._sessionId),this._protocolVersion&&(t["mcp-protocol-version"]=this._protocolVersion);let r=Ds(this._requestInit?.headers);return new Headers({...t,...r})}async _startOrAuthSse(t){let{resumptionToken:r}=t;try{let n=await this._commonHeaders();n.set("Accept","text/event-stream"),r&&n.set("last-event-id",r);let o=await(this._fetch??fetch)(this._url,{method:"GET",headers:n,signal:this._abortController?.signal});if(!o.ok){if(await o.body?.cancel(),o.status===401&&this._authProvider)return await this._authThenStart();if(o.status===405)return;throw new Vt(o.status,`Failed to open SSE stream: ${o.statusText}`)}this._handleSseStream(o.body,t,!0)}catch(n){throw this.onerror?.(n),n}}_getNextReconnectionDelay(t){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let r=this._reconnectionOptions.initialReconnectionDelay,n=this._reconnectionOptions.reconnectionDelayGrowFactor,o=this._reconnectionOptions.maxReconnectionDelay;return Math.min(r*Math.pow(n,t),o)}_scheduleReconnection(t,r=0){let n=this._reconnectionOptions.maxRetries;if(r>=n){this.onerror?.(new Error(`Maximum reconnection attempts (${n}) exceeded.`));return}let o=this._getNextReconnectionDelay(r);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(t).catch(s=>{this.onerror?.(new Error(`Failed to reconnect SSE stream: ${s instanceof Error?s.message:String(s)}`)),this._scheduleReconnection(t,r+1)})},o)}_handleSseStream(t,r,n){if(!t)return;let{onresumptiontoken:o,replayMessageId:s}=r,i,a=!1,c=!1;(async()=>{try{let u=t.pipeThrough(new TextDecoderStream).pipeThrough(new Zs({onRetry:m=>{this._serverRetryMs=m}})).getReader();for(;;){let{value:m,done:h}=await u.read();if(h)break;if(m.id&&(i=m.id,a=!0,o?.(m.id)),!!m.data&&(!m.event||m.event==="message"))try{let g=Or.parse(JSON.parse(m.data));Qt(g)&&(c=!0,s!==void 0&&(g.id=s)),this.onmessage?.(g)}catch(g){this.onerror?.(g)}}(n||a)&&!c&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:i,onresumptiontoken:o,replayMessageId:s},0)}catch(u){if(this.onerror?.(new Error(`SSE stream disconnected: ${u}`)),(n||a)&&!c&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:i,onresumptiontoken:o,replayMessageId:s},0)}catch(m){this.onerror?.(new Error(`Failed to reconnect: ${m instanceof Error?m.message:String(m)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(t){if(!this._authProvider)throw new It("No auth provider");if(await _o(this._authProvider,{serverUrl:this._url,authorizationCode:t,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new It("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(t,r){try{let{resumptionToken:n,onresumptiontoken:o}=r||{};if(n){this._startOrAuthSse({resumptionToken:n,replayMessageId:wn(t)?t.id:void 0}).catch(f=>this.onerror?.(f));return}let s=await this._commonHeaders();s.set("content-type","application/json"),s.set("accept","application/json, text/event-stream");let i={...this._requestInit,method:"POST",headers:s,body:JSON.stringify(t),signal:this._abortController?.signal},a=await(this._fetch??fetch)(this._url,i),c=a.headers.get("mcp-session-id");if(c&&(this._sessionId=c),!a.ok){let f=await a.text().catch(()=>null);if(a.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new Vt(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:m,scope:h}=Pu(a);if(this._resourceMetadataUrl=m,this._scope=h,await _o(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new It;return this._hasCompletedAuthFlow=!0,this.send(t)}if(a.status===403&&this._authProvider){let{resourceMetadataUrl:m,scope:h,error:g}=Pu(a);if(g==="insufficient_scope"){let y=a.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===y)throw new Vt(403,"Server returned 403 after trying upscoping");if(h&&(this._scope=h),m&&(this._resourceMetadataUrl=m),this._lastUpscopingHeader=y??void 0,await _o(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new It;return this.send(t)}}throw new Vt(a.status,`Error POSTing to endpoint: ${f}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,a.status===202){await a.body?.cancel(),Pf(t)&&this._startOrAuthSse({resumptionToken:void 0}).catch(f=>this.onerror?.(f));return}let u=(Array.isArray(t)?t:[t]).filter(f=>"method"in f&&"id"in f&&f.id!==void 0).length>0,d=a.headers.get("content-type");if(u)if(d?.includes("text/event-stream"))this._handleSseStream(a.body,{onresumptiontoken:o},!1);else if(d?.includes("application/json")){let f=await a.json(),m=Array.isArray(f)?f.map(h=>Or.parse(h)):[Or.parse(f)];for(let h of m)this.onmessage?.(h)}else throw await a.body?.cancel(),new Vt(-1,`Unexpected content type: ${d}`);else await a.body?.cancel()}catch(n){throw this.onerror?.(n),n}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let t=await this._commonHeaders(),r={...this._requestInit,method:"DELETE",headers:t,signal:this._abortController?.signal},n=await(this._fetch??fetch)(this._url,r);if(await n.body?.cancel(),!n.ok&&n.status!==405)throw new Vt(n.status,`Failed to terminate session: ${n.statusText}`);this._sessionId=void 0}catch(t){throw this.onerror?.(t),t}}setProtocolVersion(t){this._protocolVersion=t}get protocolVersion(){return this._protocolVersion}async resumeStream(t,r){await this._startOrAuthSse({resumptionToken:t,onresumptiontoken:r?.onresumptiontoken})}};import*as Ne from"node:fs";import{randomBytes as Lz}from"node:crypto";import{homedir as Qg}from"node:os";import{resolve as Ls,join as Eu,dirname as Iu,basename as Fz}from"node:path";var vo=["owner","shared","open"],en={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:Ls(Qg(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function bo(){return process.env.OURS_CONFIG??Eu(Qg(),".ours","config.json")}function Vz(){let e;try{e=Ne.readFileSync(bo(),"utf8")}catch{return{}}let t;try{t=JSON.parse(e)}catch{return{}}let r={};if(typeof t.brokerUrl=="string"&&(r.brokerUrl=t.brokerUrl),typeof t.port=="number"&&Number.isFinite(t.port)&&(r.port=t.port),typeof t.stateDir=="string"&&(r.stateDir=Ls(t.stateDir)),typeof t.gcIntervalMs=="number"&&Number.isFinite(t.gcIntervalMs)&&(r.gcIntervalMs=t.gcIntervalMs),typeof t.autoStart=="boolean"&&(r.autoStart=t.autoStart),typeof t.apiVisibility=="string"&&vo.includes(t.apiVisibility)&&(r.apiVisibility=t.apiVisibility),typeof t.apiToken=="string"&&t.apiToken.trim()&&(r.apiToken=t.apiToken.trim()),t.stt&&typeof t.stt=="object"){let n=t.stt,o={};typeof n.provider=="string"&&(o.provider=n.provider),typeof n.apiKey=="string"&&(o.apiKey=n.apiKey),typeof n.model=="string"&&(o.model=n.model),typeof n.baseUrl=="string"&&(o.baseUrl=n.baseUrl),typeof n.language=="string"&&(o.language=n.language),typeof n.maxBytes=="number"&&Number.isFinite(n.maxBytes)&&(o.maxBytes=n.maxBytes),typeof n.timeoutMs=="number"&&Number.isFinite(n.timeoutMs)&&(o.timeoutMs=n.timeoutMs),n.custom&&typeof n.custom=="object"&&(o.custom=n.custom),r.stt=o}return r}function Hz(){let e=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return e&&vo.includes(e)?e:void 0}function Bz(e){let t=process.env[e];if(t!==void 0)return t==="1"||t.toLowerCase()==="true"}function Yg(e){let t=process.env[e];if(t===void 0)return;let r=parseInt(t,10);return Number.isNaN(r)?void 0:r}function Ou(){let e=Vz();return{brokerUrl:process.env.OURS_BROKER_URL??e.brokerUrl??en.brokerUrl,port:Yg("OURS_PORT")??e.port??en.port,stateDir:Ls(process.env.OURS_STATE_DIR??e.stateDir??en.stateDir),gcIntervalMs:Yg("OURS_GC_INTERVAL_MS")??e.gcIntervalMs??en.gcIntervalMs,autoStart:Bz("OURS_AUTOSTART")??e.autoStart??en.autoStart,apiVisibility:Hz()??e.apiVisibility??en.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||e.apiToken,stt:Kz(e.stt)}}function Kz(e){let t={};process.env.OURS_STT_PROVIDER?.trim()&&(t.provider=process.env.OURS_STT_PROVIDER.trim()),process.env.OURS_STT_API_KEY?.trim()&&(t.apiKey=process.env.OURS_STT_API_KEY.trim()),process.env.OURS_STT_MODEL?.trim()&&(t.model=process.env.OURS_STT_MODEL.trim()),process.env.OURS_STT_BASE_URL?.trim()&&(t.baseUrl=process.env.OURS_STT_BASE_URL.trim()),process.env.OURS_STT_LANGUAGE?.trim()&&(t.language=process.env.OURS_STT_LANGUAGE.trim());let r={...e??{},...t};return Object.keys(r).length?r:void 0}var Jz="daemon-token";function Gz(e){return Eu(e.stateDir,Jz)}function Au(e,t={}){let r=process.env.OURS_API_TOKEN?.trim();if(r)return{token:r,source:"env"};let n=e.apiToken?.trim();if(n)return{token:n,source:"config"};let o=Gz(e);try{let i=Ne.readFileSync(o,"utf8").trim();if(i)return{token:i,source:"file"}}catch{}if(!t.generate)return null;let s=Lz(32).toString("hex");try{Ne.mkdirSync(Iu(o),{recursive:!0}),Ne.writeFileSync(o,s+`
45
- `,{mode:384}),Ne.chmodSync(o,384)}catch{}return{token:s,source:"generated"}}function Xg(e){let t=bo();Ne.mkdirSync(Iu(t),{recursive:!0}),Ne.writeFileSync(t,JSON.stringify(e,null,2)+`
46
- `,{mode:384});try{Ne.chmodSync(t,384)}catch{}return t}var qs=".ours-identity";function Fs(e){if(!e.name.trim())throw new Error("identity name must not be empty");let t={identity:e.name.trim()};return e.force&&(t.force=!0),t.expose_local=e.exposeLocal??!0,t.local_auto_accept=e.localAutoAccept??!0,t}function Cu(e){let t=Ls(e);return Fz(t)===qs?t:Eu(t,qs)}function e_(e,t,r=!1){let n=Fs(t),o=Cu(e);if(!r&&Ne.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return Ne.mkdirSync(Iu(o),{recursive:!0}),Ne.writeFileSync(o,JSON.stringify(n,null,2)+`
47
- `),o}import r_ from"node:process";var Vs=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
48
- `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),Wz(r)}clear(){this._buffer=void 0}};function Wz(e){return Or.parse(JSON.parse(e))}function t_(e){return JSON.stringify(e)+`
49
- `}var Hs=class{constructor(t=r_.stdin,r=r_.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new Vs,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let n=t_(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};function n_(e){let{selfVersion:t,daemonVersion:r}=e;return!r||r===t?null:`ours: version mismatch \u2014 this plugin/connector is v${t}, the running daemon is v${r}. Everything still works; for the best experience run matching versions. The daemon is a shared singleton and is never restarted automatically, so when no other session is mid-task run \`ours-mcp stop\` (the next session starts the daemon at the new version) \u2014 or update the lagging side to match. No action is required; this is advisory.`}import{mkdirSync as o_,writeFileSync as Yz,readFileSync as Qz,readdirSync as Xz,statSync as Nu,unlinkSync as eP,chmodSync as s_,createWriteStream as tP,accessSync as rP,constants as nP}from"node:fs";import{join as Bs,dirname as oP,resolve as sP}from"node:path";import{homedir as iP}from"node:os";import{Readable as aP}from"node:stream";import{pipeline as cP}from"node:stream/promises";var uP="0.16.0",lP=new Set(["choose_identity","create_identity","create_root_identity"]),dP="save_file",pP="get_files",fP=["1","true","yes","on"].includes((process.env.OURS_FILES_ALWAYS_PROMPT??"").trim().toLowerCase()),mP=e=>{try{return rP(e,nP.R_OK),!0}catch{return!1}},hP=e=>` \u2022 ${e.filename} \u2014 ${e.mime||"application/octet-stream"}, ${e.size} B, sha256 ${e.sha256} \u2014 from ${e.sender} \u2014 wire_id ${e.wire_id}`;function gP(e,t){let r=e;if(!r||r.isError)return!1;let n=r.structuredContent?.files;if(!Array.isArray(n))return!1;let o=n.filter(a=>!!a&&typeof a=="object"&&typeof a.path=="string"&&typeof a.wire_id=="string");if(o.length===0)return!1;let s=o.filter(a=>a.kind!=="voice_message"&&!t(a.path));for(let a of o)a.readable=t(a.path);if(s.length===0)return!1;let i=[`${s.length} of ${o.length} received file(s) are NOT readable by your OS user: the ours daemon runs as a different OS user and keeps its files dir private. Nothing was lost \u2014 the bytes are safely on disk. IGNORE the on-disk paths reported below for these files; you cannot open them.`,"","TELL THE USER what arrived (details below) and ASK WHERE TO SAVE each file on this filesystem. Then call save_file({ wire_id, dest_path }) with the path they choose: the ours connector streams the bytes daemon\u2192proxy\u2192disk and writes them as YOUR OS user. The bytes never enter this conversation.","","Awaiting a destination:",...s.map(hP)];return r.content=[{type:"text",text:i.join(`
50
- `)},...r.content??[]],!0}var i_=e=>new Promise(t=>setTimeout(t,e)),ju=e=>typeof e?.method=="string"&&e.id!==void 0&&e.id!==null,_P=e=>e&&typeof e=="object"&&!("method"in e)&&e.id!==void 0&&e.id!==null,a_=e=>{let t=e.result;return!!e.error||!!(t&&t.isError)},c_=Number(process.env.OURS_RESTORE_TTL_MS)>0?Number(process.env.OURS_RESTORE_TTL_MS):7*24*60*60*1e3,u_=["1","true","yes","on"].includes((process.env.OURS_NO_AUTORESTORE??"").trim().toLowerCase());async function l_(e){let t=new URL(e.url),r=(...k)=>process.stderr.write(`[ours-proxy] ${k.join(" ")}
51
- `),n=k=>Number.isInteger(k)&&k>1,o=Number(process.env.OURS_CLIENT_PID),s=n(o)?o:n(process.ppid)?process.ppid:process.pid,i=(process.env.CLAUDE_CODE_SESSION_ID??"").trim()||`client:${s}`,a=null,c=null,l,u=null,d=new Map,f=new Set,m=null,h=u_?null:(process.env.CLAUDE_CODE_SESSION_ID??"").trim()||null,g=e.stateDir??process.env.OURS_STATE_DIR??Bs(iP(),".ours"),y=Bs(g,"session-restore"),S=h&&/^[A-Za-z0-9._-]{1,200}$/.test(h)?h:null,$=S?Bs(y,`${S}.json`):null,w=!1,T=null;function v(k){if($)try{o_(y,{recursive:!0,mode:448}),Yz($,JSON.stringify({claudeSessionId:h,identity:k,boundAt:new Date().toISOString()}),{mode:384}),s_(y,448),s_($,384)}catch(N){r("restore persist failed (non-fatal):",String(N))}}function x(){if(!$)return null;try{if(Date.now()-Nu($).mtimeMs>c_)return null;let k=JSON.parse(Qz($,"utf8"));return(typeof k.identity=="string"?k.identity.trim():"")||null}catch{return null}}function A(){try{let k=Date.now();for(let N of Xz(y)){if(!N.endsWith(".json"))continue;let C=Bs(y,N);try{k-Nu(C).mtimeMs>c_&&(eP(C),r("session-restore: pruned expired record",N))}catch{}}}catch{}}let B=(()=>{let k=(process.env.OURS_REQUEST_TIMEOUT_MS??"").trim();if(k==="")return 12e4;let N=Number(k);return Number.isFinite(N)&&N>=0?N:12e4})(),J=new Map,_e=new Map;function We(k,N,C){let K=J.get(k);if(!K)return;J.delete(k),K.progressToken!==void 0&&_e.delete(K.progressToken);let M=Date.now()-K.sentAt;r(`FAILING BACK request id=${String(k)} method=${K.method} waited_ms=${M} reason=${C}`),ft.send({jsonrpc:"2.0",id:k,error:{code:N,message:`ours proxy: no response from the ours daemon for "${K.method}" after ${M}ms (${C}). The request was NOT retried \u2014 retry it yourself if it is safe to repeat.`,data:{reason:C,method:K.method,waitedMs:M}}}).catch(Z=>r("fail-back send failed:",String(Z)))}B>0&&setInterval(()=>{let N=Date.now();for(let[C,K]of[...J])K.deadline<=N&&We(C,-32001,"watchdog timeout")},1e3).unref?.();let wr=6e4,Jt=3,Ye=0,$t=0;function F_(k,N){ft.send({jsonrpc:"2.0",method:"notifications/message",params:{level:k,logger:"ours-proxy",data:N}}).catch(C=>r("downstream notify failed:",String(C)))}let Ze=null,V_=()=>Ze,xo=!1,sn=!1,an=!1,cn=[],H_="__ours_proxy_init__",ei=0,un=new Set,ti=new Set,ft=new Hs;ft.onmessage=k=>{let N=[],C=!1;for(let K of Ks(k)){let M=K;if(M.method==="notifications/initialized"&&(C=!0),ju(M)){if(M.method==="initialize"&&(a=M,c)){r("absorbed re-initialize locally \u2014 upstream session kept stable"),ft.send({jsonrpc:"2.0",id:M.id,result:c}).catch(Z=>r("local initialize reply failed:",String(Z)));continue}if(M.method==="tools/call"){let Z=M.params;if(Z&&lP.has(Z.name??"")&&typeof Z.arguments?.name=="string"&&d.set(M.id,Z.arguments.name),Z?.name===pP&&f.add(M.id),Z?.name===dP){let ye=M.params?.arguments??{};J_(M.id,ye);continue}}if(B>0){let Z=M.id,ye=M.params?._meta,we=Date.now();J.set(Z,{method:typeof M.method=="string"?M.method:"unknown",sentAt:we,deadline:we+B,transport:null,progressToken:ye?.progressToken}),ye?.progressToken!==void 0&&_e.set(ye.progressToken,Z)}}N.push(M)}if(N.length){let K=Array.isArray(k)?N:N[0];Ku(K)}C&&B_()},ft.onclose=()=>void ni(0),ft.onerror=k=>r("downstream error:",String(k));function B_(){if(w||!u)return;w=!0;let k=`__ours_proxy_restore_${++ei}__`;un.add(k),T=k,r("session-restore: self-recovering bound identity",`"${u}"`),Ku({jsonrpc:"2.0",id:k,method:"tools/call",params:{name:"choose_identity",arguments:{name:u}}})}function K_(k,N){if(!(B<=0))for(let C of Ks(k)){let K=C.id;if(K===void 0)continue;let M=J.get(K);M&&(M.transport=N)}}async function J_(k,N){let C=String(N.wire_id??"").trim(),K=String(N.dest_path??"").trim(),M=(Z,ye=!1)=>ft.send({jsonrpc:"2.0",id:k,result:{content:[{type:"text",text:Z}],isError:ye}}).catch(we=>r("save_file reply failed:",String(we)));if(!C||!K){await M("save_file: both `wire_id` and `dest_path` are required.",!0);return}if(!/^[A-Za-z0-9]+$/.test(C)){await M("save_file: invalid wire_id.",!0);return}try{let Z=new URL(t.href);Z.pathname=`/files/${encodeURIComponent(C)}`,Z.search="";let ye={"x-ours-lease-token":i};e.apiToken&&(ye["x-ours-api-token"]=e.apiToken);let we=await fetch(Z,{headers:ye});if(we.status===401||we.status===403){await M("save_file: ours daemon authentication failed; the monitor may be disarmed.",!0);return}if(we.status===404){await M(`save_file: no file with wire_id ${C} is available to the bound identity. Run get_files first; it may already be saved, or it belongs to another identity.`,!0);return}if(!we.ok||!we.body){await M(`save_file: ours daemon returned HTTP ${we.status}. Your ours daemon may be too old to support save_file \u2014 update it, or use get_files and copy the returned path yourself.`,!0);return}let je=sP(K);o_(oP(je),{recursive:!0}),await cP(aP.fromWeb(we.body),tP(je));let Q_=Nu(je).size;await M(`Saved file (wire_id ${C}) to ${je} (${Q_} bytes). The bytes were streamed daemon\u2192proxy\u2192disk and never entered this result.`)}catch(Z){await M(`save_file failed: ${String(Z)}`,!0)}}function Ku(k){if(xo&&Ze){let N=Ze;K_(k,N),Ze.send(k).catch(C=>{r("upstream send failed:",String(C));let K=Ks(k),M=K.filter(Z=>!ju(Z));M.length&&cn.push(Array.isArray(k)?M:M[0]);for(let Z of K){let ye=Z;ju(ye)&&J.has(ye.id)&&We(ye.id,-32e3,"upstream send failed")}ri(N,"send failed")})}else cn.push(k)}function ri(k,N){if(sn||an||Ze!==null&&k!==Ze)return;r(`upstream dropped (${N}) \u2014 reconnecting`),xo=!1;let C=Ze;Ze=null;try{C?.close?.()}catch{}if(C)for(let[K,M]of[...J])M.transport===C&&We(K,-32e3,`upstream dropped (${N})`);W_()}function G_(k){k.onmessage=N=>{let C=[];for(let K of Ks(N)){let M=K;if(M.method==="notifications/progress"){let Z=M.params?.progressToken;if(Z!==void 0){let ye=_e.get(Z),we=ye!==void 0?J.get(ye):void 0;we&&(we.deadline=Date.now()+B)}}if(_P(M)){let Z=M.id,ye=J.get(Z);ye&&(J.delete(Z),ye.progressToken!==void 0&&_e.delete(ye.progressToken));let we=M.result?.protocolVersion;if(we&&(ti.has(Z)||Ju(Z))){l=we;try{Ze?.setProtocolVersion?.(we)}catch{}if(c==null&&Ju(Z)&&!un.has(Z)){let je=M.result??null;je&&m&&(je.instructions=`${je.instructions?je.instructions+`
34
+ path: iss.path ? [${Wt($)}, ...iss.path] : [${Wt($)}]
35
+ })));`),p.write(`newResult[${Wt($)}] = ${w}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let S=p.compile();return($,w)=>S(d,$,w)},o,s=xr,i=!Po.jitless,c=i&&hi.value,u=t.catchall,l;e._zod.parse=(d,p)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),d;let h=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(t.shape)),d=o(d,p);else{d.value={};let w=l.shape;for(let T of l.keys){let v=w[T],k=v._zod.run({value:m[T],issues:[]},p),C=v._zod.optin==="optional"&&v._zod.optout==="optional";k instanceof Promise?h.push(k.then(W=>C?ed(W,d,T,m):No(W,d,T))):C?ed(k,d,T,m):No(k,d,T)}}if(!u)return h.length?Promise.all(h).then(()=>d):d;let g=[],y=l.keySet,S=u._zod,$=S.def.type;for(let w of Object.keys(m)){if(y.has(w))continue;if($==="never"){g.push(w);continue}let T=S.run({value:m[w],issues:[]},p);T instanceof Promise?h.push(T.then(v=>No(v,d,w))):No(T,d,w)}return g.length&&d.issues.push({code:"unrecognized_keys",keys:g,input:m,inst:e}),h.length?Promise.all(h).then(()=>d):d}});function td(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>ot(s,n,Ke())))}),t}var Ii=_("$ZodUnion",(e,t)=>{te.init(e,t),ae(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ae(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ae(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ae(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>hn(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of t.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=>td(i,r,e,n)):td(s,r,e,n)}}),Ld=_("$ZodDiscriminatedUnion",(e,t)=>{Ii.init(e,t);let r=e._zod.parse;ae(e._zod,"propValues",()=>{let o={};for(let s of t.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.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=fn(()=>{let o=t.options,s=new Map;for(let i of o){let a=i._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.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});e._zod.parse=(o,s)=>{let i=o.value;if(!xr(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=n.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Fd=_("$ZodIntersection",(e,t)=>{te.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>rd(r,c,u)):rd(r,s,i)}});function Ri(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(kr(e)&&kr(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let i=Ri(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=Ri(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 rd(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),Yt(e))return e;let n=Ri(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var Vd=_("$ZodRecord",(e,t)=>{te.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!kr(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=t.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...mt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...mt(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:e,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.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=>ot(u,n,Ke())),input:i,path:[i],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...mt(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...mt(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Hd=_("$ZodEnum",(e,t)=>{te.init(e,t);let r=di(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>gi.has(typeof n)).map(n=>typeof n=="string"?Nt(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return e._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:e}),n}}),Bd=_("$ZodLiteral",(e,t)=>{te.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Nt(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Kd=_("$ZodTransform",(e,t)=>{te.init(e,t),e._zod.parse=(r,n)=>{let o=t.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 xt;return r.value=o,r}}),Jd=_("$ZodOptional",(e,t)=>{te.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ae(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ae(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${hn(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Gd=_("$ZodNullable",(e,t)=>{te.init(e,t),ae(e._zod,"optin",()=>t.innerType._zod.optin),ae(e._zod,"optout",()=>t.innerType._zod.optout),ae(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${hn(r.source)}|null)$`):void 0}),ae(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Wd=_("$ZodDefault",(e,t)=>{te.init(e,t),e._zod.optin="optional",ae(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>nd(s,t)):nd(o,t)}});function nd(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Yd=_("$ZodPrefault",(e,t)=>{te.init(e,t),e._zod.optin="optional",ae(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Qd=_("$ZodNonOptional",(e,t)=>{te.init(e,t),ae(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>od(s,e)):od(o,e)}});function od(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Xd=_("$ZodCatch",(e,t)=>{te.init(e,t),e._zod.optin="optional",ae(e._zod,"optout",()=>t.innerType._zod.optout),ae(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(i=>ot(i,n,Ke()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>ot(s,n,Ke()))},input:r.value}),r.issues=[]),r)}});var ep=_("$ZodPipe",(e,t)=>{te.init(e,t),ae(e._zod,"values",()=>t.in._zod.values),ae(e._zod,"optin",()=>t.in._zod.optin),ae(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>sd(s,t,n)):sd(o,t,n)}});function sd(e,t,r){return Yt(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var tp=_("$ZodReadonly",(e,t)=>{te.init(e,t),ae(e._zod,"propValues",()=>t.innerType._zod.propValues),ae(e._zod,"values",()=>t.innerType._zod.values),ae(e._zod,"optin",()=>t.innerType._zod.optin),ae(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(id):id(o)}});function id(e){return e.value=Object.freeze(e.value),e}var rp=_("$ZodCustom",(e,t)=>{Oe.init(e,t),te.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>ad(s,r,n,e));ad(o,r,n,e)}});function ad(e,t,r,n){if(!e){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),t.issues.push(vi(o))}}var Ay=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},Cy=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Ay(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Eo(n.values[0])}`:`Invalid option: expected one of ${To(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(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=t(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":""}: ${To(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 np(){return{localeError:Cy()}}var Ny=Symbol("ZodOutput"),jy=Symbol("ZodInput"),Oi=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function op(){return new Oi}var zr=op();function sp(e,t){return new e({type:"string",...A(t)})}function ip(e,t){return new e({type:"string",coerce:!0,...A(t)})}function ap(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...A(t)})}function Ai(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...A(t)})}function cp(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...A(t)})}function up(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...A(t)})}function lp(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...A(t)})}function dp(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...A(t)})}function Ci(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...A(t)})}function pp(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...A(t)})}function fp(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...A(t)})}function mp(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...A(t)})}function hp(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...A(t)})}function gp(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...A(t)})}function _p(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...A(t)})}function yp(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...A(t)})}function vp(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...A(t)})}function bp(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...A(t)})}function wp(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...A(t)})}function $p(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...A(t)})}function Sp(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...A(t)})}function xp(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...A(t)})}function kp(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...A(t)})}function zp(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...A(t)})}function Pp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...A(t)})}function Tp(e,t){return new e({type:"string",format:"date",check:"string_format",...A(t)})}function Rp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...A(t)})}function Ep(e,t){return new e({type:"string",format:"duration",check:"string_format",...A(t)})}function Ip(e,t){return new e({type:"number",checks:[],...A(t)})}function Op(e,t){return new e({type:"number",coerce:!0,checks:[],...A(t)})}function Ap(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...A(t)})}function Cp(e,t){return new e({type:"boolean",...A(t)})}function Np(e,t){return new e({type:"boolean",coerce:!0,...A(t)})}function jp(e,t){return new e({type:"bigint",coerce:!0,...A(t)})}function Mp(e,t){return new e({type:"null",...A(t)})}function Up(e){return new e({type:"any"})}function Dp(e){return new e({type:"unknown"})}function Zp(e,t){return new e({type:"never",...A(t)})}function qp(e,t){return new e({type:"date",coerce:!0,...A(t)})}function Pr(e,t){return new Pi({check:"less_than",...A(t),value:e,inclusive:!1})}function kt(e,t){return new Pi({check:"less_than",...A(t),value:e,inclusive:!0})}function Tr(e,t){return new Ti({check:"greater_than",...A(t),value:e,inclusive:!1})}function st(e,t){return new Ti({check:"greater_than",...A(t),value:e,inclusive:!0})}function vn(e,t){return new Dl({check:"multiple_of",...A(t),value:e})}function Mo(e,t){return new ql({check:"max_length",...A(t),maximum:e})}function Rr(e,t){return new Ll({check:"min_length",...A(t),minimum:e})}function Uo(e,t){return new Fl({check:"length_equals",...A(t),length:e})}function Ni(e,t){return new Vl({check:"string_format",format:"regex",...A(t),pattern:e})}function ji(e){return new Hl({check:"string_format",format:"lowercase",...A(e)})}function Mi(e){return new Bl({check:"string_format",format:"uppercase",...A(e)})}function Ui(e,t){return new Kl({check:"string_format",format:"includes",...A(t),includes:e})}function Di(e,t){return new Jl({check:"string_format",format:"starts_with",...A(t),prefix:e})}function Zi(e,t){return new Gl({check:"string_format",format:"ends_with",...A(t),suffix:e})}function Qt(e){return new Wl({check:"overwrite",tx:e})}function qi(e){return Qt(t=>t.normalize(e))}function Li(){return Qt(e=>e.trim())}function Fi(){return Qt(e=>e.toLowerCase())}function Vi(){return Qt(e=>e.toUpperCase())}function Lp(e,t,r){return new e({type:"array",element:t,...A(r)})}function Fp(e,t,r){let n=A(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Vp(e,t,r){return new e({type:"custom",check:"custom",fn:t,...A(r)})}function Ir(e){return!!e._zod}function it(e,t){return Ir(e)?_n(e,t):e.safeParse(t)}function Do(e){if(!e)return;let t;if(Ir(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Hp(e){if(Ir(e)){let s=e._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=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var bn={};ai(bn,{ZodISODate:()=>Kp,ZodISODateTime:()=>Bp,ZodISODuration:()=>Gp,ZodISOTime:()=>Jp,date:()=>Bi,datetime:()=>Hi,duration:()=>Ji,time:()=>Ki});var Bp=_("ZodISODateTime",(e,t)=>{vd.init(e,t),me.init(e,t)});function Hi(e){return Pp(Bp,e)}var Kp=_("ZodISODate",(e,t)=>{bd.init(e,t),me.init(e,t)});function Bi(e){return Tp(Kp,e)}var Jp=_("ZodISOTime",(e,t)=>{wd.init(e,t),me.init(e,t)});function Ki(e){return Rp(Jp,e)}var Gp=_("ZodISODuration",(e,t)=>{$d.init(e,t),me.init(e,t)});function Ji(e){return Ep(Gp,e)}var Yp=(e,t)=>{Io.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>$i(e,r)},flatten:{value:r=>wi(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},mR=_("ZodError",Yp),wn=_("ZodError",Yp,{Parent:Error});var Qp=il(wn),Xp=al(wn),ef=Si(wn),tf=xi(wn);var ce=_("ZodType",(e,t)=>(te.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>nt(e,r,n),e.brand=()=>e,e.register=(r,n)=>(r.add(e,n),e),e.parse=(r,n)=>Qp(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>ef(e,r,n),e.parseAsync=async(r,n)=>Xp(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>tf(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(Ev(r,n)),e.superRefine=r=>e.check(Iv(r)),e.overwrite=r=>e.check(Qt(r)),e.optional=()=>ge(e),e.nullable=()=>of(e),e.nullish=()=>ge(of(e)),e.nonoptional=r=>Sv(e,r),e.array=()=>z(e),e.or=r=>de([e,r]),e.and=r=>Lo(e,r),e.transform=r=>Wi(e,hf(r)),e.default=r=>bv(e,r),e.prefault=r=>$v(e,r),e.catch=r=>kv(e,r),e.pipe=r=>Wi(e,r),e.readonly=()=>Tv(e),e.describe=r=>{let n=e.clone();return zr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return zr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return zr.get(e);let n=e.clone();return zr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),sf=_("_ZodString",(e,t)=>{jo.init(e,t),ce.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Ni(...n)),e.includes=(...n)=>e.check(Ui(...n)),e.startsWith=(...n)=>e.check(Di(...n)),e.endsWith=(...n)=>e.check(Zi(...n)),e.min=(...n)=>e.check(Rr(...n)),e.max=(...n)=>e.check(Mo(...n)),e.length=(...n)=>e.check(Uo(...n)),e.nonempty=(...n)=>e.check(Rr(1,...n)),e.lowercase=n=>e.check(ji(n)),e.uppercase=n=>e.check(Mi(n)),e.trim=()=>e.check(Li()),e.normalize=(...n)=>e.check(qi(...n)),e.toLowerCase=()=>e.check(Fi()),e.toUpperCase=()=>e.check(Vi())}),Yi=_("ZodString",(e,t)=>{jo.init(e,t),sf.init(e,t),e.email=r=>e.check(ap(Vy,r)),e.url=r=>e.check(Ci(af,r)),e.jwt=r=>e.check(zp(sv,r)),e.emoji=r=>e.check(pp(Hy,r)),e.guid=r=>e.check(Ai(rf,r)),e.uuid=r=>e.check(cp(Zo,r)),e.uuidv4=r=>e.check(up(Zo,r)),e.uuidv6=r=>e.check(lp(Zo,r)),e.uuidv7=r=>e.check(dp(Zo,r)),e.nanoid=r=>e.check(fp(By,r)),e.guid=r=>e.check(Ai(rf,r)),e.cuid=r=>e.check(mp(Ky,r)),e.cuid2=r=>e.check(hp(Jy,r)),e.ulid=r=>e.check(gp(Gy,r)),e.base64=r=>e.check(Sp(rv,r)),e.base64url=r=>e.check(xp(nv,r)),e.xid=r=>e.check(_p(Wy,r)),e.ksuid=r=>e.check(yp(Yy,r)),e.ipv4=r=>e.check(vp(Qy,r)),e.ipv6=r=>e.check(bp(Xy,r)),e.cidrv4=r=>e.check(wp(ev,r)),e.cidrv6=r=>e.check($p(tv,r)),e.e164=r=>e.check(kp(ov,r)),e.datetime=r=>e.check(Hi(r)),e.date=r=>e.check(Bi(r)),e.time=r=>e.check(Ki(r)),e.duration=r=>e.check(Ji(r))});function f(e){return sp(Yi,e)}var me=_("ZodStringFormat",(e,t)=>{le.init(e,t),sf.init(e,t)}),Vy=_("ZodEmail",(e,t)=>{ld.init(e,t),me.init(e,t)});var rf=_("ZodGUID",(e,t)=>{cd.init(e,t),me.init(e,t)});var Zo=_("ZodUUID",(e,t)=>{ud.init(e,t),me.init(e,t)});var af=_("ZodURL",(e,t)=>{dd.init(e,t),me.init(e,t)});function cf(e){return Ci(af,e)}var Hy=_("ZodEmoji",(e,t)=>{pd.init(e,t),me.init(e,t)});var By=_("ZodNanoID",(e,t)=>{fd.init(e,t),me.init(e,t)});var Ky=_("ZodCUID",(e,t)=>{md.init(e,t),me.init(e,t)});var Jy=_("ZodCUID2",(e,t)=>{hd.init(e,t),me.init(e,t)});var Gy=_("ZodULID",(e,t)=>{gd.init(e,t),me.init(e,t)});var Wy=_("ZodXID",(e,t)=>{_d.init(e,t),me.init(e,t)});var Yy=_("ZodKSUID",(e,t)=>{yd.init(e,t),me.init(e,t)});var Qy=_("ZodIPv4",(e,t)=>{Sd.init(e,t),me.init(e,t)});var Xy=_("ZodIPv6",(e,t)=>{xd.init(e,t),me.init(e,t)});var ev=_("ZodCIDRv4",(e,t)=>{kd.init(e,t),me.init(e,t)});var tv=_("ZodCIDRv6",(e,t)=>{zd.init(e,t),me.init(e,t)});var rv=_("ZodBase64",(e,t)=>{Td.init(e,t),me.init(e,t)});var nv=_("ZodBase64URL",(e,t)=>{Rd.init(e,t),me.init(e,t)});var ov=_("ZodE164",(e,t)=>{Ed.init(e,t),me.init(e,t)});var sv=_("ZodJWT",(e,t)=>{Id.init(e,t),me.init(e,t)});var qo=_("ZodNumber",(e,t)=>{Ei.init(e,t),ce.init(e,t),e.gt=(n,o)=>e.check(Tr(n,o)),e.gte=(n,o)=>e.check(st(n,o)),e.min=(n,o)=>e.check(st(n,o)),e.lt=(n,o)=>e.check(Pr(n,o)),e.lte=(n,o)=>e.check(kt(n,o)),e.max=(n,o)=>e.check(kt(n,o)),e.int=n=>e.check(nf(n)),e.safe=n=>e.check(nf(n)),e.positive=n=>e.check(Tr(0,n)),e.nonnegative=n=>e.check(st(0,n)),e.negative=n=>e.check(Pr(0,n)),e.nonpositive=n=>e.check(kt(0,n)),e.multipleOf=(n,o)=>e.check(vn(n,o)),e.step=(n,o)=>e.check(vn(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function Y(e){return Ip(qo,e)}var iv=_("ZodNumberFormat",(e,t)=>{Od.init(e,t),qo.init(e,t)});function nf(e){return Ap(iv,e)}var Qi=_("ZodBoolean",(e,t)=>{Ad.init(e,t),ce.init(e,t)});function ne(e){return Cp(Qi,e)}var uf=_("ZodBigInt",(e,t)=>{Cd.init(e,t),ce.init(e,t),e.gte=(n,o)=>e.check(st(n,o)),e.min=(n,o)=>e.check(st(n,o)),e.gt=(n,o)=>e.check(Tr(n,o)),e.gte=(n,o)=>e.check(st(n,o)),e.min=(n,o)=>e.check(st(n,o)),e.lt=(n,o)=>e.check(Pr(n,o)),e.lte=(n,o)=>e.check(kt(n,o)),e.max=(n,o)=>e.check(kt(n,o)),e.positive=n=>e.check(Tr(BigInt(0),n)),e.negative=n=>e.check(Pr(BigInt(0),n)),e.nonpositive=n=>e.check(kt(BigInt(0),n)),e.nonnegative=n=>e.check(st(BigInt(0),n)),e.multipleOf=(n,o)=>e.check(vn(n,o));let r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null});var av=_("ZodNull",(e,t)=>{Nd.init(e,t),ce.init(e,t)});function lf(e){return Mp(av,e)}var cv=_("ZodAny",(e,t)=>{jd.init(e,t),ce.init(e,t)});function df(){return Up(cv)}var uv=_("ZodUnknown",(e,t)=>{Md.init(e,t),ce.init(e,t)});function he(){return Dp(uv)}var lv=_("ZodNever",(e,t)=>{Ud.init(e,t),ce.init(e,t)});function dv(e){return Zp(lv,e)}var pf=_("ZodDate",(e,t)=>{Dd.init(e,t),ce.init(e,t),e.min=(n,o)=>e.check(st(n,o)),e.max=(n,o)=>e.check(kt(n,o));let r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null});var pv=_("ZodArray",(e,t)=>{Zd.init(e,t),ce.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Rr(r,n)),e.nonempty=r=>e.check(Rr(1,r)),e.max=(r,n)=>e.check(Mo(r,n)),e.length=(r,n)=>e.check(Uo(r,n)),e.unwrap=()=>e.element});function z(e,t){return Lp(pv,e,t)}var ff=_("ZodObject",(e,t)=>{qd.init(e,t),ce.init(e,t),X.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Le(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:he()}),e.loose=()=>e.clone({...e._zod.def,catchall:he()}),e.strict=()=>e.clone({...e._zod.def,catchall:dv()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>X.extend(e,r),e.merge=r=>X.merge(e,r),e.pick=r=>X.pick(e,r),e.omit=r=>X.omit(e,r),e.partial=(...r)=>X.partial(gf,e,r[0]),e.required=(...r)=>X.required(_f,e,r[0])});function P(e,t){let r={type:"object",get shape(){return X.assignProp(this,"shape",{...e}),this.shape},...X.normalizeParams(t)};return new ff(r)}function Se(e,t){return new ff({type:"object",get shape(){return X.assignProp(this,"shape",{...e}),this.shape},catchall:he(),...X.normalizeParams(t)})}var mf=_("ZodUnion",(e,t)=>{Ii.init(e,t),ce.init(e,t),e.options=t.options});function de(e,t){return new mf({type:"union",options:e,...X.normalizeParams(t)})}var fv=_("ZodDiscriminatedUnion",(e,t)=>{mf.init(e,t),Ld.init(e,t)});function Xi(e,t,r){return new fv({type:"union",options:t,discriminator:e,...X.normalizeParams(r)})}var mv=_("ZodIntersection",(e,t)=>{Fd.init(e,t),ce.init(e,t)});function Lo(e,t){return new mv({type:"intersection",left:e,right:t})}var hv=_("ZodRecord",(e,t)=>{Vd.init(e,t),ce.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ue(e,t,r){return new hv({type:"record",keyType:e,valueType:t,...X.normalizeParams(r)})}var Gi=_("ZodEnum",(e,t)=>{Hd.init(e,t),ce.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Gi({...t,checks:[],...X.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.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 Gi({...t,checks:[],...X.normalizeParams(o),entries:s})}});function Le(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Gi({type:"enum",entries:r,...X.normalizeParams(t)})}var gv=_("ZodLiteral",(e,t)=>{Bd.init(e,t),ce.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function E(e,t){return new gv({type:"literal",values:Array.isArray(e)?e:[e],...X.normalizeParams(t)})}var _v=_("ZodTransform",(e,t)=>{Kd.init(e,t),ce.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(X.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),r.issues.push(X.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function hf(e){return new _v({type:"transform",transform:e})}var gf=_("ZodOptional",(e,t)=>{Jd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ge(e){return new gf({type:"optional",innerType:e})}var yv=_("ZodNullable",(e,t)=>{Gd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function of(e){return new yv({type:"nullable",innerType:e})}var vv=_("ZodDefault",(e,t)=>{Wd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function bv(e,t){return new vv({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var wv=_("ZodPrefault",(e,t)=>{Yd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function $v(e,t){return new wv({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var _f=_("ZodNonOptional",(e,t)=>{Qd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Sv(e,t){return new _f({type:"nonoptional",innerType:e,...X.normalizeParams(t)})}var xv=_("ZodCatch",(e,t)=>{Xd.init(e,t),ce.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function kv(e,t){return new xv({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var zv=_("ZodPipe",(e,t)=>{ep.init(e,t),ce.init(e,t),e.in=t.in,e.out=t.out});function Wi(e,t){return new zv({type:"pipe",in:e,out:t})}var Pv=_("ZodReadonly",(e,t)=>{tp.init(e,t),ce.init(e,t)});function Tv(e){return new Pv({type:"readonly",innerType:e})}var yf=_("ZodCustom",(e,t)=>{rp.init(e,t),ce.init(e,t)});function Rv(e){let t=new Oe({check:"custom"});return t._zod.check=e,t}function vf(e,t){return Fp(yf,e??(()=>!0),t)}function Ev(e,t={}){return Vp(yf,e,t)}function Iv(e){let t=Rv(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(X.issue(n,r.value,t._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=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(X.issue(o))}},e(r.value,r)));return t}function ea(e,t){return Wi(hf(e),t)}var bf={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var Fo={};ai(Fo,{bigint:()=>Nv,boolean:()=>Cv,date:()=>jv,number:()=>Av,string:()=>Ov});function Ov(e){return ip(Yi,e)}function Av(e){return Op(qo,e)}function Cv(e){return Np(Qi,e)}function Nv(e){return jp(uf,e)}function jv(e){return qp(pf,e)}Ke(np());var Ar="2025-11-25";var wf=[Ar,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],jt="io.modelcontextprotocol/related-task",Ho="2.0",xe=vf(e=>e!==null&&(typeof e=="object"||typeof e=="function")),$f=de([f(),Y().int()]),Sf=f(),cE=Se({ttl:Y().optional(),pollInterval:Y().optional()}),Uv=P({ttl:Y().optional()}),Dv=P({taskId:f()}),ra=Se({progressToken:$f.optional(),[jt]:Dv.optional()}),Je=P({_meta:ra.optional()}),$n=Je.extend({task:Uv.optional()}),xf=e=>$n.safeParse(e).success,ke=P({method:f(),params:Je.loose().optional()}),Ye=P({_meta:ra.optional()}),Qe=P({method:f(),params:Ye.loose().optional()}),ze=Se({_meta:ra.optional()}),Bo=de([f(),Y().int()]),kf=P({jsonrpc:E(Ho),id:Bo,...ke.shape}).strict(),Sn=e=>kf.safeParse(e).success,zf=P({jsonrpc:E(Ho),...Qe.shape}).strict(),Pf=e=>zf.safeParse(e).success,na=P({jsonrpc:E(Ho),id:Bo,result:ze}).strict(),Xt=e=>na.safeParse(e).success;var U;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(U||(U={}));var oa=P({jsonrpc:E(Ho),id:Bo.optional(),error:P({code:Y().int(),message:f(),data:he().optional()})}).strict();var Tf=e=>oa.safeParse(e).success;var Cr=de([kf,zf,na,oa]),uE=de([na,oa]),er=ze.strict(),Zv=Ye.extend({requestId:Bo.optional(),reason:f().optional()}),Ko=Qe.extend({method:E("notifications/cancelled"),params:Zv}),qv=P({src:f(),mimeType:f().optional(),sizes:z(f()).optional(),theme:Le(["light","dark"]).optional()}),xn=P({icons:z(qv).optional()}),Or=P({name:f(),title:f().optional()}),Rf=Or.extend({...Or.shape,...xn.shape,version:f(),websiteUrl:f().optional(),description:f().optional()}),Lv=Lo(P({applyDefaults:ne().optional()}),ue(f(),he())),Fv=ea(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Lo(P({form:Lv.optional(),url:xe.optional()}),ue(f(),he()).optional())),Vv=Se({list:xe.optional(),cancel:xe.optional(),requests:Se({sampling:Se({createMessage:xe.optional()}).optional(),elicitation:Se({create:xe.optional()}).optional()}).optional()}),Hv=Se({list:xe.optional(),cancel:xe.optional(),requests:Se({tools:Se({call:xe.optional()}).optional()}).optional()}),Bv=P({experimental:ue(f(),xe).optional(),sampling:P({context:xe.optional(),tools:xe.optional()}).optional(),elicitation:Fv.optional(),roots:P({listChanged:ne().optional()}).optional(),tasks:Vv.optional(),extensions:ue(f(),xe).optional()}),Kv=Je.extend({protocolVersion:f(),capabilities:Bv,clientInfo:Rf}),Jv=ke.extend({method:E("initialize"),params:Kv});var Gv=P({experimental:ue(f(),xe).optional(),logging:xe.optional(),completions:xe.optional(),prompts:P({listChanged:ne().optional()}).optional(),resources:P({subscribe:ne().optional(),listChanged:ne().optional()}).optional(),tools:P({listChanged:ne().optional()}).optional(),tasks:Hv.optional(),extensions:ue(f(),xe).optional()}),sa=ze.extend({protocolVersion:f(),capabilities:Gv,serverInfo:Rf,instructions:f().optional()}),Ef=Qe.extend({method:E("notifications/initialized"),params:Ye.optional()}),If=e=>Ef.safeParse(e).success,Jo=ke.extend({method:E("ping"),params:Je.optional()}),Wv=P({progress:Y(),total:ge(Y()),message:ge(f())}),Yv=P({...Ye.shape,...Wv.shape,progressToken:$f}),Go=Qe.extend({method:E("notifications/progress"),params:Yv}),Qv=Je.extend({cursor:Sf.optional()}),kn=ke.extend({params:Qv.optional()}),zn=ze.extend({nextCursor:Sf.optional()}),Xv=Le(["working","input_required","completed","failed","cancelled"]),Pn=P({taskId:f(),status:Xv,ttl:de([Y(),lf()]),createdAt:f(),lastUpdatedAt:f(),pollInterval:ge(Y()),statusMessage:ge(f())}),tr=ze.extend({task:Pn}),eb=Ye.merge(Pn),Tn=Qe.extend({method:E("notifications/tasks/status"),params:eb}),Wo=ke.extend({method:E("tasks/get"),params:Je.extend({taskId:f()})}),Yo=ze.merge(Pn),Qo=ke.extend({method:E("tasks/result"),params:Je.extend({taskId:f()})}),lE=ze.loose(),Xo=kn.extend({method:E("tasks/list")}),es=zn.extend({tasks:z(Pn)}),ts=ke.extend({method:E("tasks/cancel"),params:Je.extend({taskId:f()})}),Of=ze.merge(Pn),Af=P({uri:f(),mimeType:ge(f()),_meta:ue(f(),he()).optional()}),Cf=Af.extend({text:f()}),ia=f().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Nf=Af.extend({blob:ia}),Rn=Le(["user","assistant"]),Nr=P({audience:z(Rn).optional(),priority:Y().min(0).max(1).optional(),lastModified:bn.datetime({offset:!0}).optional()}),jf=P({...Or.shape,...xn.shape,uri:f(),description:ge(f()),mimeType:ge(f()),size:ge(Y()),annotations:Nr.optional(),_meta:ge(Se({}))}),tb=P({...Or.shape,...xn.shape,uriTemplate:f(),description:ge(f()),mimeType:ge(f()),annotations:Nr.optional(),_meta:ge(Se({}))}),rb=kn.extend({method:E("resources/list")}),aa=zn.extend({resources:z(jf)}),nb=kn.extend({method:E("resources/templates/list")}),ca=zn.extend({resourceTemplates:z(tb)}),ua=Je.extend({uri:f()}),ob=ua,sb=ke.extend({method:E("resources/read"),params:ob}),la=ze.extend({contents:z(de([Cf,Nf]))}),da=Qe.extend({method:E("notifications/resources/list_changed"),params:Ye.optional()}),ib=ua,ab=ke.extend({method:E("resources/subscribe"),params:ib}),cb=ua,ub=ke.extend({method:E("resources/unsubscribe"),params:cb}),lb=Ye.extend({uri:f()}),db=Qe.extend({method:E("notifications/resources/updated"),params:lb}),pb=P({name:f(),description:ge(f()),required:ge(ne())}),fb=P({...Or.shape,...xn.shape,description:ge(f()),arguments:ge(z(pb)),_meta:ge(Se({}))}),mb=kn.extend({method:E("prompts/list")}),pa=zn.extend({prompts:z(fb)}),hb=Je.extend({name:f(),arguments:ue(f(),f()).optional()}),gb=ke.extend({method:E("prompts/get"),params:hb}),fa=P({type:E("text"),text:f(),annotations:Nr.optional(),_meta:ue(f(),he()).optional()}),ma=P({type:E("image"),data:ia,mimeType:f(),annotations:Nr.optional(),_meta:ue(f(),he()).optional()}),ha=P({type:E("audio"),data:ia,mimeType:f(),annotations:Nr.optional(),_meta:ue(f(),he()).optional()}),_b=P({type:E("tool_use"),name:f(),id:f(),input:ue(f(),he()),_meta:ue(f(),he()).optional()}),yb=P({type:E("resource"),resource:de([Cf,Nf]),annotations:Nr.optional(),_meta:ue(f(),he()).optional()}),vb=jf.extend({type:E("resource_link")}),ga=de([fa,ma,ha,vb,yb]),bb=P({role:Rn,content:ga}),_a=ze.extend({description:f().optional(),messages:z(bb)}),ya=Qe.extend({method:E("notifications/prompts/list_changed"),params:Ye.optional()}),wb=P({title:f().optional(),readOnlyHint:ne().optional(),destructiveHint:ne().optional(),idempotentHint:ne().optional(),openWorldHint:ne().optional()}),$b=P({taskSupport:Le(["required","optional","forbidden"]).optional()}),Mf=P({...Or.shape,...xn.shape,description:f().optional(),inputSchema:P({type:E("object"),properties:ue(f(),xe).optional(),required:z(f()).optional()}).catchall(he()),outputSchema:P({type:E("object"),properties:ue(f(),xe).optional(),required:z(f()).optional()}).catchall(he()).optional(),annotations:wb.optional(),execution:$b.optional(),_meta:ue(f(),he()).optional()}),Sb=kn.extend({method:E("tools/list")}),va=zn.extend({tools:z(Mf)}),jr=ze.extend({content:z(ga).default([]),structuredContent:ue(f(),he()).optional(),isError:ne().optional()}),dE=jr.or(ze.extend({toolResult:he()})),xb=$n.extend({name:f(),arguments:ue(f(),he()).optional()}),kb=ke.extend({method:E("tools/call"),params:xb}),ba=Qe.extend({method:E("notifications/tools/list_changed"),params:Ye.optional()}),Uf=P({autoRefresh:ne().default(!0),debounceMs:Y().int().nonnegative().default(300)}),Df=Le(["debug","info","notice","warning","error","critical","alert","emergency"]),zb=Je.extend({level:Df}),Pb=ke.extend({method:E("logging/setLevel"),params:zb}),Tb=Ye.extend({level:Df,logger:f().optional(),data:he()}),Rb=Qe.extend({method:E("notifications/message"),params:Tb}),Eb=P({name:f().optional()}),Ib=P({hints:z(Eb).optional(),costPriority:Y().min(0).max(1).optional(),speedPriority:Y().min(0).max(1).optional(),intelligencePriority:Y().min(0).max(1).optional()}),Ob=P({mode:Le(["auto","required","none"]).optional()}),Ab=P({type:E("tool_result"),toolUseId:f().describe("The unique identifier for the corresponding tool call."),content:z(ga).default([]),structuredContent:P({}).loose().optional(),isError:ne().optional(),_meta:ue(f(),he()).optional()}),Cb=Xi("type",[fa,ma,ha]),Vo=Xi("type",[fa,ma,ha,_b,Ab]),Nb=P({role:Rn,content:de([Vo,z(Vo)]),_meta:ue(f(),he()).optional()}),jb=$n.extend({messages:z(Nb),modelPreferences:Ib.optional(),systemPrompt:f().optional(),includeContext:Le(["none","thisServer","allServers"]).optional(),temperature:Y().optional(),maxTokens:Y().int(),stopSequences:z(f()).optional(),metadata:xe.optional(),tools:z(Mf).optional(),toolChoice:Ob.optional()}),wa=ke.extend({method:E("sampling/createMessage"),params:jb}),$a=ze.extend({model:f(),stopReason:ge(Le(["endTurn","stopSequence","maxTokens"]).or(f())),role:Rn,content:Cb}),Sa=ze.extend({model:f(),stopReason:ge(Le(["endTurn","stopSequence","maxTokens","toolUse"]).or(f())),role:Rn,content:de([Vo,z(Vo)])}),Mb=P({type:E("boolean"),title:f().optional(),description:f().optional(),default:ne().optional()}),Ub=P({type:E("string"),title:f().optional(),description:f().optional(),minLength:Y().optional(),maxLength:Y().optional(),format:Le(["email","uri","date","date-time"]).optional(),default:f().optional()}),Db=P({type:Le(["number","integer"]),title:f().optional(),description:f().optional(),minimum:Y().optional(),maximum:Y().optional(),default:Y().optional()}),Zb=P({type:E("string"),title:f().optional(),description:f().optional(),enum:z(f()),default:f().optional()}),qb=P({type:E("string"),title:f().optional(),description:f().optional(),oneOf:z(P({const:f(),title:f()})),default:f().optional()}),Lb=P({type:E("string"),title:f().optional(),description:f().optional(),enum:z(f()),enumNames:z(f()).optional(),default:f().optional()}),Fb=de([Zb,qb]),Vb=P({type:E("array"),title:f().optional(),description:f().optional(),minItems:Y().optional(),maxItems:Y().optional(),items:P({type:E("string"),enum:z(f())}),default:z(f()).optional()}),Hb=P({type:E("array"),title:f().optional(),description:f().optional(),minItems:Y().optional(),maxItems:Y().optional(),items:P({anyOf:z(P({const:f(),title:f()}))}),default:z(f()).optional()}),Bb=de([Vb,Hb]),Kb=de([Lb,Fb,Bb]),Jb=de([Kb,Mb,Ub,Db]),Gb=$n.extend({mode:E("form").optional(),message:f(),requestedSchema:P({type:E("object"),properties:ue(f(),Jb),required:z(f()).optional()})}),Wb=$n.extend({mode:E("url"),message:f(),elicitationId:f(),url:f().url()}),Yb=de([Gb,Wb]),xa=ke.extend({method:E("elicitation/create"),params:Yb}),Qb=Ye.extend({elicitationId:f()}),Xb=Qe.extend({method:E("notifications/elicitation/complete"),params:Qb}),ka=ze.extend({action:Le(["accept","decline","cancel"]),content:ea(e=>e===null?void 0:e,ue(f(),de([f(),Y(),ne(),z(f())])).optional())}),ew=P({type:E("ref/resource"),uri:f()});var tw=P({type:E("ref/prompt"),name:f()}),rw=Je.extend({ref:de([tw,ew]),argument:P({name:f(),value:f()}),context:P({arguments:ue(f(),f()).optional()}).optional()}),nw=ke.extend({method:E("completion/complete"),params:rw});var za=ze.extend({completion:Se({values:z(f()).max(100),total:ge(Y().int()),hasMore:ge(ne())})}),ow=P({uri:f().startsWith("file://"),name:f().optional(),_meta:ue(f(),he()).optional()}),sw=ke.extend({method:E("roots/list"),params:Je.optional()}),iw=ze.extend({roots:z(ow)}),aw=Qe.extend({method:E("notifications/roots/list_changed"),params:Ye.optional()}),pE=de([Jo,Jv,nw,Pb,gb,mb,rb,nb,sb,ab,ub,kb,Sb,Wo,Qo,Xo,ts]),fE=de([Ko,Go,Ef,aw,Tn]),mE=de([er,$a,Sa,ka,iw,Yo,es,tr]),hE=de([Jo,wa,xa,sw,Wo,Qo,Xo,ts]),gE=de([Ko,Go,Rb,db,da,ba,ya,Tn,Xb]),_E=de([er,sa,za,_a,pa,aa,ca,la,jr,va,Yo,es,tr]),j=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===U.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new ta(o.elicitations,r)}return new e(t,r,n)}},ta=class extends j{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(U.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Mt(e){return e==="completed"||e==="failed"||e==="cancelled"}var cw=Symbol("Let zodToJsonSchema decide on which parser to use");var WE=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Pa(e){let r=Do(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Hp(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Ta(e,t){let r=it(e,t);if(!r.success)throw r.error;return r.data}var mw=6e4,rs=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Ko,r=>{this._oncancel(r)}),this.setNotificationHandler(Go,r=>{this._onprogress(r)}),this.setRequestHandler(Jo,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Wo,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new j(U.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Qo,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 j(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 j(U.InvalidParams,`Task not found: ${s}`);if(!Mt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Mt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[jt]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Xo,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 j(U.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ts,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new j(U.InvalidParams,`Task not found: ${r.params.taskId}`);if(Mt(o.status))throw new j(U.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 j(U.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof j?o:new j(U.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),j.fromError(U.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Xt(s)||Tf(s)?this._onresponse(s):Sn(s)?this._onrequest(s,i):Pf(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=j.fromError(U.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[jt]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:t.id,error:{code:U.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(t.id,i);let a=xf(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:t.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{if(i.signal.aborted)throw new j(U.ConnectionClosed,"Request was cancelled");let m={...p,relatedRequestId:t.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let h=m.relatedTask?.taskId??s;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:t.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:t.id,error:{code:Number.isSafeInteger(l.code)?l.code:U.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(t.id)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.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(t)}`));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(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Xt(t))n(t);else{let i=new j(t.error.code,t.error.message,t.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(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Xt(t)&&t.result&&typeof t.result=="object"){let i=t.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),Xt(t))o(t);else{let i=j.fromError(t.error.code,t.error.message,t.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(i){yield{type:"error",error:i instanceof j?i:new j(U.InternalError,String(i))}}return}let s;try{let i=await this.request(t,tr,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new j(U.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Mt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new j(U.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new j(U.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 j?i:new j(U.InternalError,String(i))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=$=>{l($)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch($){d($);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,m={...t,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),m.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[jt]:c}});let h=$=>{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($)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(T=>this._onerror(new Error(`Failed to send cancellation: ${T}`)));let w=$ instanceof j?$:new j(U.RequestTimeout,String($));l(w)};this._responseHandlers.set(p,$=>{if(!n?.signal?.aborted){if($ instanceof Error)return l($);try{let w=it(r,$.result);w.success?u(w.data):l(w.error)}catch(w){l(w)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??mw,y=()=>h(j.fromError(U.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,y,n?.resetTimeoutOnProgress??!1);let S=c?.taskId;if(S){let $=w=>{let T=this._responseHandlers.get(p);T?T(w):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,$),this._enqueueTaskMessage(S,{type:"request",message:m,timestamp:Date.now()}).catch(w=>{this._cleanupTimeout(p),l(w)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch($=>{this._cleanupTimeout(p),l($)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Yo,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},es,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Of,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[jt]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[jt]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[jt]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(t,r){let n=Pa(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=Ta(t,o);return Promise.resolve(r(i,s))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=Pa(t);this._notificationHandlers.set(n,o=>{let s=Ta(t,o);return Promise.resolve(r(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&Sn(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new j(U.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new j(U.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new j(U.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new j(U.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=Tn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Mt(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 j(U.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Mt(a.status))throw new j(U.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=Tn.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Mt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Zf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function qf(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];Zf(i)&&Zf(s)?r[o]={...i,...s}:r[o]=s}return r}var Og=tl(mu(),1),Ag=tl(Ig(),1);function yz(){let e=new Og.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Ag.default)(e),e}var Ms=class{constructor(t){this._ajv=t??yz()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Us=class{constructor(t){this._client=t}async*callToolStream(t,r=jr,n){let o=this._client,s={...n,task:n?.task??(o.isToolTask(t.name)?{}:void 0)},i=o.requestStream({method:"tools/call",params:t},r,s),a=o.getToolOutputValidator(t.name);for await(let c of i){if(c.type==="result"&&a){let u=c.result;if(!u.structuredContent&&!u.isError){yield{type:"error",error:new j(U.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`)};return}if(u.structuredContent)try{let l=a(u.structuredContent);if(!l.valid){yield{type:"error",error:new j(U.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof j){yield{type:"error",error:l};return}yield{type:"error",error:new j(U.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield c}}async getTask(t,r){return this._client.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._client.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._client.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._client.cancelTask({taskId:t},r)}requestStream(t,r,n){return this._client.requestStream(t,r,n)}};function Cg(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Ng(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}function Ds(e,t){if(!(!e||t===null||typeof t!="object")){if(e.type==="object"&&e.properties&&typeof e.properties=="object"){let r=t,n=e.properties;for(let o of Object.keys(n)){let s=n[o];r[o]===void 0&&Object.prototype.hasOwnProperty.call(s,"default")&&(r[o]=s.default),r[o]!==void 0&&Ds(s,r[o])}}if(Array.isArray(e.anyOf))for(let r of e.anyOf)typeof r!="boolean"&&Ds(r,t);if(Array.isArray(e.oneOf))for(let r of e.oneOf)typeof r!="boolean"&&Ds(r,t)}}function vz(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,r=e.url!==void 0;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}var Zs=class extends rs{constructor(t,r){super(r),this._clientInfo=t,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new Ms,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(t){t.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",ba,t.tools,async()=>(await this.listTools()).tools),t.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",ya,t.prompts,async()=>(await this.listPrompts()).prompts),t.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",da,t.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Us(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=qf(this._capabilities,t)}setRequestHandler(t,r){let o=Do(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Ir(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");let i=s;if(i==="elicitation/create"){let a=async(c,u)=>{let l=it(xa,c);if(!l.success){let $=l.error instanceof Error?l.error.message:String(l.error);throw new j(U.InvalidParams,`Invalid elicitation request: ${$}`)}let{params:d}=l.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:m}=vz(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new j(U.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!m)throw new j(U.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,u));if(d.task){let $=it(tr,h);if(!$.success){let w=$.error instanceof Error?$.error.message:String($.error);throw new j(U.InvalidParams,`Invalid task creation result: ${w}`)}return $.data}let g=it(ka,h);if(!g.success){let $=g.error instanceof Error?g.error.message:String(g.error);throw new j(U.InvalidParams,`Invalid elicitation result: ${$}`)}let y=g.data,S=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&y.action==="accept"&&y.content&&S&&this._capabilities.elicitation?.form?.applyDefaults)try{Ds(S,y.content)}catch{}return y};return super.setRequestHandler(t,a)}if(i==="sampling/createMessage"){let a=async(c,u)=>{let l=it(wa,c);if(!l.success){let y=l.error instanceof Error?l.error.message:String(l.error);throw new j(U.InvalidParams,`Invalid sampling request: ${y}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let y=it(tr,p);if(!y.success){let S=y.error instanceof Error?y.error.message:String(y.error);throw new j(U.InvalidParams,`Invalid task creation result: ${S}`)}return y.data}let h=d.tools||d.toolChoice?Sa:$a,g=it(h,p);if(!g.success){let y=g.error instanceof Error?g.error.message:String(g.error);throw new j(U.InvalidParams,`Invalid sampling result: ${y}`)}return g.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapability(t,r){if(!this._serverCapabilities?.[t])throw new Error(`Server does not support ${t} (required for ${r})`)}async connect(t,r){if(await super.connect(t),t.sessionId===void 0)try{let n=await this.request({method:"initialize",params:{protocolVersion:Ar,capabilities:this._capabilities,clientInfo:this._clientInfo}},sa,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!wf.includes(n.protocolVersion))throw new Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,t.setProtocolVersion&&t.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(n){throw this.close(),n}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(t){switch(t){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${t})`);if(t==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${t})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${t})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${t})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${t})`);break;case"ping":break}}assertTaskCapability(t){Cg(this._serverCapabilities?.tasks?.requests,t,"Server")}assertTaskHandlerCapability(t){this._capabilities&&Ng(this._capabilities.tasks?.requests,t,"Client")}async ping(t){return this.request({method:"ping"},er,t)}async complete(t,r){return this.request({method:"completion/complete",params:t},za,r)}async setLoggingLevel(t,r){return this.request({method:"logging/setLevel",params:{level:t}},er,r)}async getPrompt(t,r){return this.request({method:"prompts/get",params:t},_a,r)}async listPrompts(t,r){return this.request({method:"prompts/list",params:t},pa,r)}async listResources(t,r){return this.request({method:"resources/list",params:t},aa,r)}async listResourceTemplates(t,r){return this.request({method:"resources/templates/list",params:t},ca,r)}async readResource(t,r){return this.request({method:"resources/read",params:t},la,r)}async subscribeResource(t,r){return this.request({method:"resources/subscribe",params:t},er,r)}async unsubscribeResource(t,r){return this.request({method:"resources/unsubscribe",params:t},er,r)}async callTool(t,r=jr,n){if(this.isToolTaskRequired(t.name))throw new j(U.InvalidRequest,`Tool "${t.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let o=await this.request({method:"tools/call",params:t},r,n),s=this.getToolOutputValidator(t.name);if(s){if(!o.structuredContent&&!o.isError)throw new j(U.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`);if(o.structuredContent)try{let i=s(o.structuredContent);if(!i.valid)throw new j(U.InvalidParams,`Structured content does not match the tool's output schema: ${i.errorMessage}`)}catch(i){throw i instanceof j?i:new j(U.InvalidParams,`Failed to validate structured content: ${i instanceof Error?i.message:String(i)}`)}}return o}isToolTask(t){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(t):!1}isToolTaskRequired(t){return this._cachedRequiredTaskTools.has(t)}cacheToolMetadata(t){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of t){if(r.outputSchema){let o=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,o)}let n=r.execution?.taskSupport;(n==="required"||n==="optional")&&this._cachedKnownTaskTools.add(r.name),n==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(t){return this._cachedToolOutputValidators.get(t)}async listTools(t,r){let n=await this.request({method:"tools/list",params:t},va,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(t,r,n,o){let s=Uf.safeParse(n);if(!s.success)throw new Error(`Invalid ${t} listChanged options: ${s.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${t} listChanged options: onChanged must be a function`);let{autoRefresh:i,debounceMs:a}=s.data,{onChanged:c}=n,u=async()=>{if(!i){c(null,null);return}try{let d=await o();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},l=()=>{if(a){let d=this._listChangedDebounceTimers.get(t);d&&clearTimeout(d);let p=setTimeout(u,a);this._listChangedDebounceTimers.set(t,p)}else u()};this.setNotificationHandler(r,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};function qs(e){return e?e instanceof Headers?Object.fromEntries(e.entries()):Array.isArray(e)?Object.fromEntries(e):{...e}:{}}function jg(e=fetch,t){return t?async(r,n)=>{let o={...t,...n,headers:n?.headers?{...qs(t.headers),...qs(n.headers)}:t.headers};return e(r,o)}:e}var $u;$u=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then(e=>e.webcrypto);async function bz(e){return(await $u).getRandomValues(new Uint8Array(e))}async function wz(e){let t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",r=Math.pow(2,8)-Math.pow(2,8)%t.length,n="";for(;n.length<e;){let o=await bz(e-n.length);for(let s of o)s<r&&(n+=t[s%t.length])}return n}async function $z(e){return await wz(e)}async function Sz(e){let t=await(await $u).subtle.digest("SHA-256",new TextEncoder().encode(e));return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function Su(e){if(e||(e=43),e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await $z(e),r=await Sz(t);return{code_verifier:t,code_challenge:r}}var Ee=cf().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:bf.custom,message:"URL must be parseable",fatal:!0}),ci}).refine(e=>{let t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Ug=Se({resource:f().url(),authorization_servers:z(Ee).optional(),jwks_uri:f().url().optional(),scopes_supported:z(f()).optional(),bearer_methods_supported:z(f()).optional(),resource_signing_alg_values_supported:z(f()).optional(),resource_name:f().optional(),resource_documentation:f().optional(),resource_policy_uri:f().url().optional(),resource_tos_uri:f().url().optional(),tls_client_certificate_bound_access_tokens:ne().optional(),authorization_details_types_supported:z(f()).optional(),dpop_signing_alg_values_supported:z(f()).optional(),dpop_bound_access_tokens_required:ne().optional()}),xu=Se({issuer:f(),authorization_endpoint:Ee,token_endpoint:Ee,registration_endpoint:Ee.optional(),scopes_supported:z(f()).optional(),response_types_supported:z(f()),response_modes_supported:z(f()).optional(),grant_types_supported:z(f()).optional(),token_endpoint_auth_methods_supported:z(f()).optional(),token_endpoint_auth_signing_alg_values_supported:z(f()).optional(),service_documentation:Ee.optional(),revocation_endpoint:Ee.optional(),revocation_endpoint_auth_methods_supported:z(f()).optional(),revocation_endpoint_auth_signing_alg_values_supported:z(f()).optional(),introspection_endpoint:f().optional(),introspection_endpoint_auth_methods_supported:z(f()).optional(),introspection_endpoint_auth_signing_alg_values_supported:z(f()).optional(),code_challenge_methods_supported:z(f()).optional(),client_id_metadata_document_supported:ne().optional()}),xz=Se({issuer:f(),authorization_endpoint:Ee,token_endpoint:Ee,userinfo_endpoint:Ee.optional(),jwks_uri:Ee,registration_endpoint:Ee.optional(),scopes_supported:z(f()).optional(),response_types_supported:z(f()),response_modes_supported:z(f()).optional(),grant_types_supported:z(f()).optional(),acr_values_supported:z(f()).optional(),subject_types_supported:z(f()),id_token_signing_alg_values_supported:z(f()),id_token_encryption_alg_values_supported:z(f()).optional(),id_token_encryption_enc_values_supported:z(f()).optional(),userinfo_signing_alg_values_supported:z(f()).optional(),userinfo_encryption_alg_values_supported:z(f()).optional(),userinfo_encryption_enc_values_supported:z(f()).optional(),request_object_signing_alg_values_supported:z(f()).optional(),request_object_encryption_alg_values_supported:z(f()).optional(),request_object_encryption_enc_values_supported:z(f()).optional(),token_endpoint_auth_methods_supported:z(f()).optional(),token_endpoint_auth_signing_alg_values_supported:z(f()).optional(),display_values_supported:z(f()).optional(),claim_types_supported:z(f()).optional(),claims_supported:z(f()).optional(),service_documentation:f().optional(),claims_locales_supported:z(f()).optional(),ui_locales_supported:z(f()).optional(),claims_parameter_supported:ne().optional(),request_parameter_supported:ne().optional(),request_uri_parameter_supported:ne().optional(),require_request_uri_registration:ne().optional(),op_policy_uri:Ee.optional(),op_tos_uri:Ee.optional(),client_id_metadata_document_supported:ne().optional()}),Dg=P({...xz.shape,...xu.pick({code_challenge_methods_supported:!0}).shape}),Zg=P({access_token:f(),id_token:f().optional(),token_type:f(),expires_in:Fo.number().optional(),scope:f().optional(),refresh_token:f().optional()}).strip(),qg=P({error:f(),error_description:f().optional(),error_uri:f().optional()}),Mg=Ee.optional().or(E("").transform(()=>{})),kz=P({redirect_uris:z(Ee),token_endpoint_auth_method:f().optional(),grant_types:z(f()).optional(),response_types:z(f()).optional(),client_name:f().optional(),client_uri:Ee.optional(),logo_uri:Mg,scope:f().optional(),contacts:z(f()).optional(),tos_uri:Mg,policy_uri:f().optional(),jwks_uri:Ee.optional(),jwks:df().optional(),software_id:f().optional(),software_version:f().optional(),software_statement:f().optional()}).strip(),zz=P({client_id:f(),client_secret:f().optional(),client_id_issued_at:Y().optional(),client_secret_expires_at:Y().optional()}).strip(),Lg=kz.merge(zz),$1=P({error:f(),error_description:f().optional()}).strip(),S1=P({token:f(),token_type_hint:f().optional()}).strip();function Fg(e){let t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function Vg({requestedResource:e,configuredResource:t}){let r=typeof e=="string"?new URL(e):new URL(e.href),n=typeof t=="string"?new URL(t):new URL(t.href);if(r.origin!==n.origin||r.pathname.length<n.pathname.length)return!1;let o=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",s=n.pathname.endsWith("/")?n.pathname:n.pathname+"/";return o.startsWith(s)}var be=class extends Error{constructor(t,r){super(t),this.errorUri=r,this.name=this.constructor.name}toResponseObject(){let t={error:this.errorCode,error_description:this.message};return this.errorUri&&(t.error_uri=this.errorUri),t}get errorCode(){return this.constructor.errorCode}},io=class extends be{};io.errorCode="invalid_request";var fr=class extends be{};fr.errorCode="invalid_client";var mr=class extends be{};mr.errorCode="invalid_grant";var hr=class extends be{};hr.errorCode="unauthorized_client";var ao=class extends be{};ao.errorCode="unsupported_grant_type";var co=class extends be{};co.errorCode="invalid_scope";var uo=class extends be{};uo.errorCode="access_denied";var It=class extends be{};It.errorCode="server_error";var lo=class extends be{};lo.errorCode="temporarily_unavailable";var po=class extends be{};po.errorCode="unsupported_response_type";var fo=class extends be{};fo.errorCode="unsupported_token_type";var mo=class extends be{};mo.errorCode="invalid_token";var ho=class extends be{};ho.errorCode="method_not_allowed";var go=class extends be{};go.errorCode="too_many_requests";var gr=class extends be{};gr.errorCode="invalid_client_metadata";var _o=class extends be{};_o.errorCode="insufficient_scope";var yo=class extends be{};yo.errorCode="invalid_target";var Hg={[io.errorCode]:io,[fr.errorCode]:fr,[mr.errorCode]:mr,[hr.errorCode]:hr,[ao.errorCode]:ao,[co.errorCode]:co,[uo.errorCode]:uo,[It.errorCode]:It,[lo.errorCode]:lo,[po.errorCode]:po,[fo.errorCode]:fo,[mo.errorCode]:mo,[ho.errorCode]:ho,[go.errorCode]:go,[gr.errorCode]:gr,[_o.errorCode]:_o,[yo.errorCode]:yo};var Ot=class extends Error{constructor(t){super(t??"Unauthorized")}};function Pz(e){return["client_secret_basic","client_secret_post","none"].includes(e)}var ku="code",zu="S256";function Tz(e,t){let r=e.client_secret!==void 0;return"token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&Pz(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method))?e.token_endpoint_auth_method:t.length===0?r?"client_secret_basic":"none":r&&t.includes("client_secret_basic")?"client_secret_basic":r&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":r?"client_secret_post":"none"}function Rz(e,t,r,n){let{client_id:o,client_secret:s}=t;switch(e){case"client_secret_basic":Ez(o,s,r);return;case"client_secret_post":Iz(o,s,n);return;case"none":Oz(o,n);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function Ez(e,t,r){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");let n=btoa(`${e}:${t}`);r.set("Authorization",`Basic ${n}`)}function Iz(e,t,r){r.set("client_id",e),t&&r.set("client_secret",t)}function Oz(e,t){t.set("client_id",e)}async function Kg(e){let t=e instanceof Response?e.status:void 0,r=e instanceof Response?await e.text():e;try{let n=qg.parse(JSON.parse(r)),{error:o,error_description:s,error_uri:i}=n,a=Hg[o]||It;return new a(s||"",i)}catch(n){let o=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${n}. Raw body: ${r}`;return new It(o)}}async function vo(e,t){try{return await Pu(e,t)}catch(r){if(r instanceof fr||r instanceof hr)return await e.invalidateCredentials?.("all"),await Pu(e,t);if(r instanceof mr)return await e.invalidateCredentials?.("tokens"),await Pu(e,t);throw r}}async function Pu(e,{serverUrl:t,authorizationCode:r,scope:n,resourceMetadataUrl:o,fetchFn:s}){let i=await e.discoveryState?.(),a,c,u,l=o;if(!l&&i?.resourceMetadataUrl&&(l=new URL(i.resourceMetadataUrl)),i?.authorizationServerUrl){if(c=i.authorizationServerUrl,a=i.resourceMetadata,u=i.authorizationServerMetadata??await Gg(c,{fetchFn:s}),!a)try{a=await Jg(t,{resourceMetadataUrl:l},s)}catch{}(u!==i.authorizationServerMetadata||a!==i.resourceMetadata)&&await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}else{let w=await Dz(t,{resourceMetadataUrl:l,fetchFn:s});c=w.authorizationServerUrl,u=w.authorizationServerMetadata,a=w.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}let d=await Cz(t,e,a),p=n||a?.scopes_supported?.join(" ")||e.clientMetadata.scope,m=await Promise.resolve(e.clientInformation());if(!m){if(r!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");let w=u?.client_id_metadata_document_supported===!0,T=e.clientMetadataUrl;if(T&&!Az(T))throw new gr(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${T}`);if(w&&T)m={client_id:T},await e.saveClientInformation?.(m);else{if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");let k=await Vz(c,{metadata:u,clientMetadata:e.clientMetadata,scope:p,fetchFn:s});await e.saveClientInformation(k),m=k}}let h=!e.redirectUrl;if(r!==void 0||h){let w=await Fz(e,c,{metadata:u,resource:d,authorizationCode:r,fetchFn:s});return await e.saveTokens(w),"AUTHORIZED"}let g=await e.tokens();if(g?.refresh_token)try{let w=await Lz(c,{metadata:u,clientInformation:m,refreshToken:g.refresh_token,resource:d,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await e.saveTokens(w),"AUTHORIZED"}catch(w){if(!(!(w instanceof be)||w instanceof It))throw w}let y=e.state?await e.state():void 0,{authorizationUrl:S,codeVerifier:$}=await Zz(c,{metadata:u,clientInformation:m,state:y,redirectUrl:e.redirectUrl,scope:p,resource:d});return await e.saveCodeVerifier($),await e.redirectToAuthorization(S),"REDIRECT"}function Az(e){if(!e)return!1;try{let t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function Cz(e,t,r){let n=Fg(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(r){if(!Vg({requestedResource:n,configuredResource:r.resource}))throw new Error(`Protected resource ${r.resource} does not match expected ${n} (or origin)`);return new URL(r.resource)}}function Ru(e){let t=e.headers.get("WWW-Authenticate");if(!t)return{};let[r,n]=t.split(" ");if(r.toLowerCase()!=="bearer"||!n)return{};let o=Tu(e,"resource_metadata")||void 0,s;if(o)try{s=new URL(o)}catch{}let i=Tu(e,"scope")||void 0,a=Tu(e,"error")||void 0;return{resourceMetadataUrl:s,scope:i,error:a}}function Tu(e,t){let r=e.headers.get("WWW-Authenticate");if(!r)return null;let n=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),o=r.match(n);return o?o[1]||o[2]:null}async function Jg(e,t,r=fetch){let n=await Mz(e,"oauth-protected-resource",r,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!n||n.status===404)throw await n?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!n.ok)throw await n.body?.cancel(),new Error(`HTTP ${n.status} trying to load well-known OAuth protected resource metadata.`);return Ug.parse(await n.json())}async function Eu(e,t,r=fetch){try{return await r(e,{headers:t})}catch(n){if(n instanceof TypeError)return t?Eu(e,void 0,r):void 0;throw n}}function Nz(e,t="",r={}){return t.endsWith("/")&&(t=t.slice(0,-1)),r.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function Bg(e,t,r=fetch){return await Eu(e,{"MCP-Protocol-Version":t},r)}function jz(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function Mz(e,t,r,n){let o=new URL(e),s=n?.protocolVersion??Ar,i;if(n?.metadataUrl)i=new URL(n.metadataUrl);else{let c=Nz(t,o.pathname);i=new URL(c,n?.metadataServerUrl??o),i.search=o.search}let a=await Bg(i,s,r);if(!n?.metadataUrl&&jz(a,o.pathname)){let c=new URL(`/.well-known/${t}`,o);a=await Bg(c,s,r)}return a}function Uz(e){let t=typeof e=="string"?new URL(e):e,r=t.pathname!=="/",n=[];if(!r)return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),n;let o=t.pathname;return o.endsWith("/")&&(o=o.slice(0,-1)),n.push({url:new URL(`/.well-known/oauth-authorization-server${o}`,t.origin),type:"oauth"}),n.push({url:new URL(`/.well-known/openid-configuration${o}`,t.origin),type:"oidc"}),n.push({url:new URL(`${o}/.well-known/openid-configuration`,t.origin),type:"oidc"}),n}async function Gg(e,{fetchFn:t=fetch,protocolVersion:r=Ar}={}){let n={"MCP-Protocol-Version":r,Accept:"application/json"},o=Uz(e);for(let{url:s,type:i}of o){let a=await Eu(s,n,t);if(a){if(!a.ok){if(await a.body?.cancel(),a.status>=400&&a.status<500)continue;throw new Error(`HTTP ${a.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${s}`)}return i==="oauth"?xu.parse(await a.json()):Dg.parse(await a.json())}}}async function Dz(e,t){let r,n;try{r=await Jg(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),r.authorization_servers&&r.authorization_servers.length>0&&(n=r.authorization_servers[0])}catch{}n||(n=String(new URL("/",e)));let o=await Gg(n,{fetchFn:t?.fetchFn});return{authorizationServerUrl:n,authorizationServerMetadata:o,resourceMetadata:r}}async function Zz(e,{metadata:t,clientInformation:r,redirectUrl:n,scope:o,state:s,resource:i}){let a;if(t){if(a=new URL(t.authorization_endpoint),!t.response_types_supported.includes(ku))throw new Error(`Incompatible auth server: does not support response type ${ku}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(zu))throw new Error(`Incompatible auth server: does not support code challenge method ${zu}`)}else a=new URL("/authorize",e);let c=await Su(),u=c.code_verifier,l=c.code_challenge;return a.searchParams.set("response_type",ku),a.searchParams.set("client_id",r.client_id),a.searchParams.set("code_challenge",l),a.searchParams.set("code_challenge_method",zu),a.searchParams.set("redirect_uri",String(n)),s&&a.searchParams.set("state",s),o&&a.searchParams.set("scope",o),o?.includes("offline_access")&&a.searchParams.append("prompt","consent"),i&&a.searchParams.set("resource",i.href),{authorizationUrl:a,codeVerifier:u}}function qz(e,t,r){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(r)})}async function Wg(e,{metadata:t,tokenRequestParams:r,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:i}){let a=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(s&&r.set("resource",s.href),o)await o(c,r,a,t);else if(n){let l=t?.token_endpoint_auth_methods_supported??[],d=Tz(n,l);Rz(d,n,c,r)}let u=await(i??fetch)(a,{method:"POST",headers:c,body:r});if(!u.ok)throw await Kg(u);return Zg.parse(await u.json())}async function Lz(e,{metadata:t,clientInformation:r,refreshToken:n,resource:o,addClientAuthentication:s,fetchFn:i}){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:n}),c=await Wg(e,{metadata:t,tokenRequestParams:a,clientInformation:r,addClientAuthentication:s,resource:o,fetchFn:i});return{refresh_token:n,...c}}async function Fz(e,t,{metadata:r,resource:n,authorizationCode:o,fetchFn:s}={}){let i=e.clientMetadata.scope,a;if(e.prepareTokenRequest&&(a=await e.prepareTokenRequest(i)),!a){if(!o)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");let u=await e.codeVerifier();a=qz(o,u,e.redirectUrl)}let c=await e.clientInformation();return Wg(t,{metadata:r,tokenRequestParams:a,clientInformation:c??void 0,addClientAuthentication:e.addClientAuthentication,resource:n,fetchFn:s})}async function Vz(e,{metadata:t,clientMetadata:r,scope:n,fetchFn:o}){let s;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");s=new URL(t.registration_endpoint)}else s=new URL("/register",e);let i=await(o??fetch)(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,...n!==void 0?{scope:n}:{}})});if(!i.ok)throw await Kg(i);return Lg.parse(await i.json())}var bo=class extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}},Yg=10,Hz=13,_r=32;function Iu(e){}function e_(e){if(typeof e=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Iu,onError:r=Iu,onRetry:n=Iu,onComment:o,maxBufferSize:s}=e,i=[],a=0,c=!0,u,l="",d=0,p,m=!1;function h(v){if(m)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,v.charCodeAt(0)===239&&v.charCodeAt(1)===187&&v.charCodeAt(2)===191&&(v=v.slice(3))),i.length===0){let W=y(v);W!==""&&(i.push(W),a=W.length),g();return}if(v.indexOf(`
36
+ `)===-1&&v.indexOf("\r")===-1){i.push(v),a+=v.length,g();return}i.push(v);let k=i.join("");i.length=0,a=0;let C=y(k);C!==""&&(i.push(C),a=C.length),g()}function g(){s!==void 0&&(a+l.length<=s||(m=!0,i.length=0,a=0,u=void 0,l="",d=0,p=void 0,r(new bo(`Buffered data exceeded max buffer size of ${s} characters`,{type:"max-buffer-size-exceeded"}))))}function y(v){let k=0;if(v.indexOf("\r")===-1){let C=v.indexOf(`
37
+ `,k);for(;C!==-1;){if(k===C){d>0&&t({id:u,event:p,data:l}),u=void 0,l="",d=0,p=void 0,k=C+1,C=v.indexOf(`
38
+ `,k);continue}let W=v.charCodeAt(k);if(Qg(v,k,W)){let ie=v.charCodeAt(k+5)===_r?k+6:k+5,_e=v.slice(ie,C);if(d===0&&v.charCodeAt(C+1)===Yg){t({id:u,event:p,data:_e}),u=void 0,l="",p=void 0,k=C+2,C=v.indexOf(`
39
+ `,k);continue}l=d===0?_e:`${l}
40
+ ${_e}`,d++}else Xg(v,k,W)?p=v.slice(v.charCodeAt(k+6)===_r?k+7:k+6,C)||void 0:S(v,k,C);k=C+1,C=v.indexOf(`
41
+ `,k)}return v.slice(k)}for(;k<v.length;){let C=v.indexOf("\r",k),W=v.indexOf(`
42
+ `,k),ie=-1;if(C!==-1&&W!==-1?ie=C<W?C:W:C!==-1?C===v.length-1?ie=-1:ie=C:W!==-1&&(ie=W),ie===-1)break;S(v,k,ie),k=ie+1,v.charCodeAt(k-1)===Hz&&v.charCodeAt(k)===Yg&&k++}return v.slice(k)}function S(v,k,C){if(k===C){w();return}let W=v.charCodeAt(k);if(Qg(v,k,W)){let pt=v.charCodeAt(k+5)===_r?k+6:k+5,cn=v.slice(pt,C);l=d===0?cn:`${l}
43
+ ${cn}`,d++;return}if(Xg(v,k,W)){p=v.slice(v.charCodeAt(k+6)===_r?k+7:k+6,C)||void 0;return}if(W===105&&v.charCodeAt(k+1)===100&&v.charCodeAt(k+2)===58){let pt=v.slice(v.charCodeAt(k+3)===_r?k+4:k+3,C);u=pt.includes("\0")?void 0:pt;return}if(W===58){if(o){let pt=v.slice(k,C);o(pt.slice(v.charCodeAt(k+1)===_r?2:1))}return}let ie=v.slice(k,C),_e=ie.indexOf(":");if(_e===-1){$(ie,"",ie);return}let we=ie.slice(0,_e),$t=ie.charCodeAt(_e+1)===_r?2:1,Ct=ie.slice(_e+$t);$(we,Ct,ie)}function $(v,k,C){switch(v){case"event":p=k||void 0;break;case"data":l=d===0?k:`${l}
44
+ ${k}`,d++;break;case"id":u=k.includes("\0")?void 0:k;break;case"retry":/^\d+$/.test(k)?n(parseInt(k,10)):r(new bo(`Invalid \`retry\` value: "${k}"`,{type:"invalid-retry",value:k,line:C}));break;default:r(new bo(`Unknown field "${v.length>20?`${v.slice(0,20)}\u2026`:v}"`,{type:"unknown-field",field:v,value:k,line:C}));break}}function w(){d>0&&t({id:u,event:p,data:l}),u=void 0,l="",d=0,p=void 0}function T(v={}){if(v.consume&&i.length>0){let k=i.join("");S(k,0,k.length)}c=!0,u=void 0,l="",d=0,p=void 0,i.length=0,a=0,m=!1}return{feed:h,reset:T}}function Qg(e,t,r){return r===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Xg(e,t,r){return r===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}var Ls=class extends TransformStream{constructor({onError:t,onRetry:r,onComment:n,maxBufferSize:o}={}){let s;super({start(i){s=e_({onEvent:a=>{i.enqueue(a)},onError(a){typeof t=="function"&&t(a),(t==="terminate"||a.type==="max-buffer-size-exceeded")&&i.error(a)},onRetry:r,onComment:n,maxBufferSize:o})},transform(i){s.feed(i)}})}};var Bz={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},Bt=class extends Error{constructor(t,r){super(`Streamable HTTP error: ${r}`),this.code=t}},tn=class{constructor(t,r){this._hasCompletedAuthFlow=!1,this._url=t,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=r?.requestInit,this._authProvider=r?.authProvider,this._fetch=r?.fetch,this._fetchWithInit=jg(r?.fetch,r?.requestInit),this._sessionId=r?.sessionId,this._reconnectionOptions=r?.reconnectionOptions??Bz}async _authThenStart(){if(!this._authProvider)throw new Ot("No auth provider");let t;try{t=await vo(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(r){throw this.onerror?.(r),r}if(t!=="AUTHORIZED")throw new Ot;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let t={};if(this._authProvider){let n=await this._authProvider.tokens();n&&(t.Authorization=`Bearer ${n.access_token}`)}this._sessionId&&(t["mcp-session-id"]=this._sessionId),this._protocolVersion&&(t["mcp-protocol-version"]=this._protocolVersion);let r=qs(this._requestInit?.headers);return new Headers({...t,...r})}async _startOrAuthSse(t){let{resumptionToken:r}=t;try{let n=await this._commonHeaders();n.set("Accept","text/event-stream"),r&&n.set("last-event-id",r);let o=await(this._fetch??fetch)(this._url,{method:"GET",headers:n,signal:this._abortController?.signal});if(!o.ok){if(await o.body?.cancel(),o.status===401&&this._authProvider)return await this._authThenStart();if(o.status===405)return;throw new Bt(o.status,`Failed to open SSE stream: ${o.statusText}`)}this._handleSseStream(o.body,t,!0)}catch(n){throw this.onerror?.(n),n}}_getNextReconnectionDelay(t){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let r=this._reconnectionOptions.initialReconnectionDelay,n=this._reconnectionOptions.reconnectionDelayGrowFactor,o=this._reconnectionOptions.maxReconnectionDelay;return Math.min(r*Math.pow(n,t),o)}_scheduleReconnection(t,r=0){let n=this._reconnectionOptions.maxRetries;if(r>=n){this.onerror?.(new Error(`Maximum reconnection attempts (${n}) exceeded.`));return}let o=this._getNextReconnectionDelay(r);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(t).catch(s=>{this.onerror?.(new Error(`Failed to reconnect SSE stream: ${s instanceof Error?s.message:String(s)}`)),this._scheduleReconnection(t,r+1)})},o)}_handleSseStream(t,r,n){if(!t)return;let{onresumptiontoken:o,replayMessageId:s}=r,i,a=!1,c=!1;(async()=>{try{let l=t.pipeThrough(new TextDecoderStream).pipeThrough(new Ls({onRetry:m=>{this._serverRetryMs=m}})).getReader();for(;;){let{value:m,done:h}=await l.read();if(h)break;if(m.id&&(i=m.id,a=!0,o?.(m.id)),!!m.data&&(!m.event||m.event==="message"))try{let g=Cr.parse(JSON.parse(m.data));Xt(g)&&(c=!0,s!==void 0&&(g.id=s)),this.onmessage?.(g)}catch(g){this.onerror?.(g)}}(n||a)&&!c&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:i,onresumptiontoken:o,replayMessageId:s},0)}catch(l){if(this.onerror?.(new Error(`SSE stream disconnected: ${l}`)),(n||a)&&!c&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:i,onresumptiontoken:o,replayMessageId:s},0)}catch(m){this.onerror?.(new Error(`Failed to reconnect: ${m instanceof Error?m.message:String(m)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(t){if(!this._authProvider)throw new Ot("No auth provider");if(await vo(this._authProvider,{serverUrl:this._url,authorizationCode:t,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Ot("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(t,r){try{let{resumptionToken:n,onresumptiontoken:o}=r||{};if(n){this._startOrAuthSse({resumptionToken:n,replayMessageId:Sn(t)?t.id:void 0}).catch(p=>this.onerror?.(p));return}let s=await this._commonHeaders();s.set("content-type","application/json"),s.set("accept","application/json, text/event-stream");let i={...this._requestInit,method:"POST",headers:s,body:JSON.stringify(t),signal:this._abortController?.signal},a=await(this._fetch??fetch)(this._url,i),c=a.headers.get("mcp-session-id");if(c&&(this._sessionId=c),!a.ok){let p=await a.text().catch(()=>null);if(a.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new Bt(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:m,scope:h}=Ru(a);if(this._resourceMetadataUrl=m,this._scope=h,await vo(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Ot;return this._hasCompletedAuthFlow=!0,this.send(t)}if(a.status===403&&this._authProvider){let{resourceMetadataUrl:m,scope:h,error:g}=Ru(a);if(g==="insufficient_scope"){let y=a.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===y)throw new Bt(403,"Server returned 403 after trying upscoping");if(h&&(this._scope=h),m&&(this._resourceMetadataUrl=m),this._lastUpscopingHeader=y??void 0,await vo(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new Ot;return this.send(t)}}throw new Bt(a.status,`Error POSTing to endpoint: ${p}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,a.status===202){await a.body?.cancel(),If(t)&&this._startOrAuthSse({resumptionToken:void 0}).catch(p=>this.onerror?.(p));return}let l=(Array.isArray(t)?t:[t]).filter(p=>"method"in p&&"id"in p&&p.id!==void 0).length>0,d=a.headers.get("content-type");if(l)if(d?.includes("text/event-stream"))this._handleSseStream(a.body,{onresumptiontoken:o},!1);else if(d?.includes("application/json")){let p=await a.json(),m=Array.isArray(p)?p.map(h=>Cr.parse(h)):[Cr.parse(p)];for(let h of m)this.onmessage?.(h)}else throw await a.body?.cancel(),new Bt(-1,`Unexpected content type: ${d}`);else await a.body?.cancel()}catch(n){throw this.onerror?.(n),n}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let t=await this._commonHeaders(),r={...this._requestInit,method:"DELETE",headers:t,signal:this._abortController?.signal},n=await(this._fetch??fetch)(this._url,r);if(await n.body?.cancel(),!n.ok&&n.status!==405)throw new Bt(n.status,`Failed to terminate session: ${n.statusText}`);this._sessionId=void 0}catch(t){throw this.onerror?.(t),t}}setProtocolVersion(t){this._protocolVersion=t}get protocolVersion(){return this._protocolVersion}async resumeStream(t,r){await this._startOrAuthSse({resumptionToken:t,onresumptiontoken:r?.onresumptiontoken})}};import*as je from"node:fs";import{randomBytes as Kz}from"node:crypto";import{homedir as r_}from"node:os";import{resolve as Vs,join as Ou,dirname as Au,basename as Jz}from"node:path";var wo=["owner","shared","open"],rn={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:Vs(r_(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function $o(){return process.env.OURS_CONFIG??Ou(r_(),".ours","config.json")}function Gz(){let e;try{e=je.readFileSync($o(),"utf8")}catch{return{}}let t;try{t=JSON.parse(e)}catch{return{}}let r={};if(typeof t.brokerUrl=="string"&&(r.brokerUrl=t.brokerUrl),typeof t.port=="number"&&Number.isFinite(t.port)&&(r.port=t.port),typeof t.stateDir=="string"&&(r.stateDir=Vs(t.stateDir)),typeof t.gcIntervalMs=="number"&&Number.isFinite(t.gcIntervalMs)&&(r.gcIntervalMs=t.gcIntervalMs),typeof t.autoStart=="boolean"&&(r.autoStart=t.autoStart),typeof t.apiVisibility=="string"&&wo.includes(t.apiVisibility)&&(r.apiVisibility=t.apiVisibility),typeof t.apiToken=="string"&&t.apiToken.trim()&&(r.apiToken=t.apiToken.trim()),t.stt&&typeof t.stt=="object"){let n=t.stt,o={};typeof n.provider=="string"&&(o.provider=n.provider),typeof n.apiKey=="string"&&(o.apiKey=n.apiKey),typeof n.model=="string"&&(o.model=n.model),typeof n.baseUrl=="string"&&(o.baseUrl=n.baseUrl),typeof n.language=="string"&&(o.language=n.language),typeof n.maxBytes=="number"&&Number.isFinite(n.maxBytes)&&(o.maxBytes=n.maxBytes),typeof n.timeoutMs=="number"&&Number.isFinite(n.timeoutMs)&&(o.timeoutMs=n.timeoutMs),n.custom&&typeof n.custom=="object"&&(o.custom=n.custom),r.stt=o}return r}function Wz(){let e=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return e&&wo.includes(e)?e:void 0}function Yz(e){let t=process.env[e];if(t!==void 0)return t==="1"||t.toLowerCase()==="true"}function t_(e){let t=process.env[e];if(t===void 0)return;let r=parseInt(t,10);return Number.isNaN(r)?void 0:r}function Cu(){let e=Gz();return{brokerUrl:process.env.OURS_BROKER_URL??e.brokerUrl??rn.brokerUrl,port:t_("OURS_PORT")??e.port??rn.port,stateDir:Vs(process.env.OURS_STATE_DIR??e.stateDir??rn.stateDir),gcIntervalMs:t_("OURS_GC_INTERVAL_MS")??e.gcIntervalMs??rn.gcIntervalMs,autoStart:Yz("OURS_AUTOSTART")??e.autoStart??rn.autoStart,apiVisibility:Wz()??e.apiVisibility??rn.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||e.apiToken,stt:Qz(e.stt)}}function Qz(e){let t={};process.env.OURS_STT_PROVIDER?.trim()&&(t.provider=process.env.OURS_STT_PROVIDER.trim()),process.env.OURS_STT_API_KEY?.trim()&&(t.apiKey=process.env.OURS_STT_API_KEY.trim()),process.env.OURS_STT_MODEL?.trim()&&(t.model=process.env.OURS_STT_MODEL.trim()),process.env.OURS_STT_BASE_URL?.trim()&&(t.baseUrl=process.env.OURS_STT_BASE_URL.trim()),process.env.OURS_STT_LANGUAGE?.trim()&&(t.language=process.env.OURS_STT_LANGUAGE.trim());let r={...e??{},...t};return Object.keys(r).length?r:void 0}var Xz="daemon-token";function eP(e){return Ou(e.stateDir,Xz)}function Nu(e,t={}){let r=process.env.OURS_API_TOKEN?.trim();if(r)return{token:r,source:"env"};let n=e.apiToken?.trim();if(n)return{token:n,source:"config"};let o=eP(e);try{let i=je.readFileSync(o,"utf8").trim();if(i)return{token:i,source:"file"}}catch{}if(!t.generate)return null;let s=Kz(32).toString("hex");try{je.mkdirSync(Au(o),{recursive:!0}),je.writeFileSync(o,s+`
45
+ `,{mode:384}),je.chmodSync(o,384)}catch{}return{token:s,source:"generated"}}function n_(e){let t=$o();je.mkdirSync(Au(t),{recursive:!0}),je.writeFileSync(t,JSON.stringify(e,null,2)+`
46
+ `,{mode:384});try{je.chmodSync(t,384)}catch{}return t}var Fs=".ours-identity";function Hs(e){if(!e.name.trim())throw new Error("identity name must not be empty");let t={identity:e.name.trim()};return e.force&&(t.force=!0),t.expose_local=e.exposeLocal??!0,t.local_auto_accept=e.localAutoAccept??!0,t}function ju(e){let t=Vs(e);return Jz(t)===Fs?t:Ou(t,Fs)}function o_(e,t,r=!1){let n=Hs(t),o=ju(e);if(!r&&je.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return je.mkdirSync(Au(o),{recursive:!0}),je.writeFileSync(o,JSON.stringify(n,null,2)+`
47
+ `),o}import i_ from"node:process";var Bs=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
48
+ `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),tP(r)}clear(){this._buffer=void 0}};function tP(e){return Cr.parse(JSON.parse(e))}function s_(e){return JSON.stringify(e)+`
49
+ `}var Ks=class{constructor(t=i_.stdin,r=i_.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new Bs,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(t){return new Promise(r=>{let n=s_(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};function a_(e){let{selfVersion:t,daemonVersion:r}=e;return!r||r===t?null:`ours: version mismatch \u2014 this plugin/connector is v${t}, the running daemon is v${r}. Everything still works; for the best experience run matching versions. The daemon is a shared singleton and is never restarted automatically, so when no other session is mid-task run \`ours-mcp stop\` (the next session starts the daemon at the new version) \u2014 or update the lagging side to match. No action is required; this is advisory.`}import{mkdirSync as c_,writeFileSync as rP,readFileSync as nP,readdirSync as oP,statSync as Mu,unlinkSync as sP,chmodSync as u_,createWriteStream as iP,accessSync as aP,constants as cP}from"node:fs";import{join as Js,dirname as uP,resolve as lP}from"node:path";import{homedir as dP}from"node:os";import{Readable as pP}from"node:stream";import{pipeline as fP}from"node:stream/promises";var mP="0.16.1",hP=new Set(["choose_identity","create_identity","create_root_identity"]),gP="save_file",_P="get_files",yP=["1","true","yes","on"].includes((process.env.OURS_FILES_ALWAYS_PROMPT??"").trim().toLowerCase()),vP=e=>{try{return aP(e,cP.R_OK),!0}catch{return!1}},bP=e=>` \u2022 ${e.filename} \u2014 ${e.mime||"application/octet-stream"}, ${e.size} B, sha256 ${e.sha256} \u2014 from ${e.sender} \u2014 wire_id ${e.wire_id}`;function wP(e,t){let r=e;if(!r||r.isError)return!1;let n=r.structuredContent?.files;if(!Array.isArray(n))return!1;let o=n.filter(a=>!!a&&typeof a=="object"&&typeof a.path=="string"&&typeof a.wire_id=="string");if(o.length===0)return!1;let s=o.filter(a=>a.kind!=="voice_message"&&!t(a.path));for(let a of o)a.readable=t(a.path);if(s.length===0)return!1;let i=[`${s.length} of ${o.length} received file(s) are NOT readable by your OS user: the ours daemon runs as a different OS user and keeps its files dir private. Nothing was lost \u2014 the bytes are safely on disk. IGNORE the on-disk paths reported below for these files; you cannot open them.`,"","TELL THE USER what arrived (details below) and ASK WHERE TO SAVE each file on this filesystem. Then call save_file({ wire_id, dest_path }) with the path they choose: the ours connector streams the bytes daemon\u2192proxy\u2192disk and writes them as YOUR OS user. The bytes never enter this conversation.","","Awaiting a destination:",...s.map(bP)];return r.content=[{type:"text",text:i.join(`
50
+ `)},...r.content??[]],!0}var l_=e=>new Promise(t=>setTimeout(t,e)),Uu=e=>typeof e?.method=="string"&&e.id!==void 0&&e.id!==null,$P=e=>e&&typeof e=="object"&&!("method"in e)&&e.id!==void 0&&e.id!==null,d_=e=>{let t=e.result;return!!e.error||!!(t&&t.isError)},p_=Number(process.env.OURS_RESTORE_TTL_MS)>0?Number(process.env.OURS_RESTORE_TTL_MS):7*24*60*60*1e3,f_=["1","true","yes","on"].includes((process.env.OURS_NO_AUTORESTORE??"").trim().toLowerCase());async function m_(e){let t=new URL(e.url),r=!1,n=(...x)=>{if(!r)try{process.stderr.write(`[ours-proxy] ${x.join(" ")}
51
+ `)}catch{r=!0,St(0)}},o=()=>{r=!0,St(0)};process.stderr.on("error",o),process.stdout.on("error",o);let s=x=>Number.isInteger(x)&&x>1,i=Number(process.env.OURS_CLIENT_PID),a=s(i)?i:s(process.ppid)?process.ppid:process.pid,c=(process.env.CLAUDE_CODE_SESSION_ID??"").trim()||`client:${a}`,u=null,l=null,d,p=null,m=new Map,h=new Set,g=null,y=f_?null:(process.env.CLAUDE_CODE_SESSION_ID??"").trim()||null,S=e.stateDir??process.env.OURS_STATE_DIR??Js(dP(),".ours"),$=Js(S,"session-restore"),w=y&&/^[A-Za-z0-9._-]{1,200}$/.test(y)?y:null,T=w?Js($,`${w}.json`):null,v=!1,k=null;function C(x){if(T)try{c_($,{recursive:!0,mode:448}),rP(T,JSON.stringify({claudeSessionId:y,identity:x,boundAt:new Date().toISOString()}),{mode:384}),u_($,448),u_(T,384)}catch(I){n("restore persist failed (non-fatal):",String(I))}}function W(){if(!T)return null;try{if(Date.now()-Mu(T).mtimeMs>p_)return null;let x=JSON.parse(nP(T,"utf8"));return(typeof x.identity=="string"?x.identity.trim():"")||null}catch{return null}}function ie(){try{let x=Date.now();for(let I of oP($)){if(!I.endsWith(".json"))continue;let N=Js($,I);try{x-Mu(N).mtimeMs>p_&&(sP(N),n("session-restore: pruned expired record",I))}catch{}}}catch{}}let _e=(()=>{let x=(process.env.OURS_REQUEST_TIMEOUT_MS??"").trim();if(x==="")return 12e4;let I=Number(x);return Number.isFinite(I)&&I>=0?I:12e4})(),we=new Map,$t=new Map;function Ct(x,I,N){let B=we.get(x);if(!B)return;we.delete(x),B.progressToken!==void 0&&$t.delete(B.progressToken);let M=Date.now()-B.sentAt;n(`FAILING BACK request id=${String(x)} method=${B.method} waited_ms=${M} reason=${N}`),ft.send({jsonrpc:"2.0",id:x,error:{code:I,message:`ours proxy: no response from the ours daemon for "${B.method}" after ${M}ms (${N}). The request was NOT retried \u2014 retry it yourself if it is safe to repeat.`,data:{reason:N,method:B.method,waitedMs:M}}}).catch(Z=>n("fail-back send failed:",String(Z)))}_e>0&&setInterval(()=>{let I=Date.now();for(let[N,B]of[...we])B.deadline<=I&&Ct(N,-32001,"watchdog timeout")},1e3).unref?.();let pt=6e4,cn=3,ri=0,$r=0;function K_(x,I){ft.send({jsonrpc:"2.0",method:"notifications/message",params:{level:x,logger:"ours-proxy",data:I}}).catch(N=>n("downstream notify failed:",String(N)))}let qe=null,J_=()=>qe,zo=!1,un=!1,Sr=!1,ln=[],G_="__ours_proxy_init__",ni=0,dn=new Set,oi=new Set,ft=new Ks;ft.onmessage=x=>{let I=[],N=!1;for(let B of Gs(x)){let M=B;if(M.method==="notifications/initialized"&&(N=!0),Uu(M)){if(M.method==="initialize"&&(u=M,l)){n("absorbed re-initialize locally \u2014 upstream session kept stable"),ft.send({jsonrpc:"2.0",id:M.id,result:l}).catch(Z=>n("local initialize reply failed:",String(Z)));continue}if(M.method==="tools/call"){let Z=M.params;if(Z&&hP.has(Z.name??"")&&typeof Z.arguments?.name=="string"&&m.set(M.id,Z.arguments.name),Z?.name===_P&&h.add(M.id),Z?.name===gP){let ye=M.params?.arguments??{};Q_(M.id,ye);continue}}if(_e>0){let Z=M.id,ye=M.params?._meta,$e=Date.now();we.set(Z,{method:typeof M.method=="string"?M.method:"unknown",sentAt:$e,deadline:$e+_e,transport:null,progressToken:ye?.progressToken}),ye?.progressToken!==void 0&&$t.set(ye.progressToken,Z)}}I.push(M)}if(I.length){let B=Array.isArray(x)?I:I[0];Wu(B)}N&&W_()},ft.onclose=()=>void St(0),ft.onerror=x=>n("downstream error:",String(x));let Gu=x=>{n(`stdin ${x} \u2014 the client is gone; shutting down`),St(0)};process.stdin.once("end",()=>Gu("reached EOF")),process.stdin.once("close",()=>Gu("closed"));function W_(){if(v||!p)return;v=!0;let x=`__ours_proxy_restore_${++ni}__`;dn.add(x),k=x,n("session-restore: self-recovering bound identity",`"${p}"`),Wu({jsonrpc:"2.0",id:x,method:"tools/call",params:{name:"choose_identity",arguments:{name:p}}})}function Y_(x,I){if(!(_e<=0))for(let N of Gs(x)){let B=N.id;if(B===void 0)continue;let M=we.get(B);M&&(M.transport=I)}}async function Q_(x,I){let N=String(I.wire_id??"").trim(),B=String(I.dest_path??"").trim(),M=(Z,ye=!1)=>ft.send({jsonrpc:"2.0",id:x,result:{content:[{type:"text",text:Z}],isError:ye}}).catch($e=>n("save_file reply failed:",String($e)));if(!N||!B){await M("save_file: both `wire_id` and `dest_path` are required.",!0);return}if(!/^[A-Za-z0-9]+$/.test(N)){await M("save_file: invalid wire_id.",!0);return}try{let Z=new URL(t.href);Z.pathname=`/files/${encodeURIComponent(N)}`,Z.search="";let ye={"x-ours-lease-token":c};e.apiToken&&(ye["x-ours-api-token"]=e.apiToken);let $e=await fetch(Z,{headers:ye});if($e.status===401||$e.status===403){await M("save_file: ours daemon authentication failed; the monitor may be disarmed.",!0);return}if($e.status===404){await M(`save_file: no file with wire_id ${N} is available to the bound identity. Run get_files first; it may already be saved, or it belongs to another identity.`,!0);return}if(!$e.ok||!$e.body){await M(`save_file: ours daemon returned HTTP ${$e.status}. Your ours daemon may be too old to support save_file \u2014 update it, or use get_files and copy the returned path yourself.`,!0);return}let Me=lP(B);c_(uP(Me),{recursive:!0}),await fP(pP.fromWeb($e.body),iP(Me));let ny=Mu(Me).size;await M(`Saved file (wire_id ${N}) to ${Me} (${ny} bytes). The bytes were streamed daemon\u2192proxy\u2192disk and never entered this result.`)}catch(Z){await M(`save_file failed: ${String(Z)}`,!0)}}function Wu(x){if(zo&&qe){let I=qe;Y_(x,I),qe.send(x).catch(N=>{n("upstream send failed:",String(N));let B=Gs(x),M=B.filter(Z=>!Uu(Z));M.length&&ln.push(Array.isArray(x)?M:M[0]);for(let Z of B){let ye=Z;Uu(ye)&&we.has(ye.id)&&Ct(ye.id,-32e3,"upstream send failed")}si(I,"send failed")})}else ln.push(x)}function si(x,I){if(un||Sr||qe!==null&&x!==qe)return;n(`upstream dropped (${I}) \u2014 reconnecting`),zo=!1;let N=qe;qe=null;try{N?.close?.()}catch{}if(N)for(let[B,M]of[...we])M.transport===N&&Ct(B,-32e3,`upstream dropped (${I})`);ty()}function X_(x){x.onmessage=I=>{let N=[];for(let B of Gs(I)){let M=B;if(M.method==="notifications/progress"){let Z=M.params?.progressToken;if(Z!==void 0){let ye=$t.get(Z),$e=ye!==void 0?we.get(ye):void 0;$e&&($e.deadline=Date.now()+_e)}}if($P(M)){let Z=M.id,ye=we.get(Z);ye&&(we.delete(Z),ye.progressToken!==void 0&&$t.delete(ye.progressToken));let $e=M.result?.protocolVersion;if($e&&(oi.has(Z)||Yu(Z))){d=$e;try{qe?.setProtocolVersion?.($e)}catch{}if(l==null&&Yu(Z)&&!dn.has(Z)){let Me=M.result??null;Me&&g&&(Me.instructions=`${Me.instructions?Me.instructions+`
52
52
 
53
- `:""}${m}`),c=je}ti.delete(Z)}if(un.has(Z)){un.delete(Z),Z===T&&(T=null,a_(M)&&(u=null,r("session-restore: re-bind refused (identity live elsewhere) \u2014 staying unbound")));continue}if(f.has(Z)&&(f.delete(Z),gP(M.result,fP?()=>!1:mP)&&r("get_files: daemon copy unreadable by this OS user \u2014 asked the agent for a destination")),d.has(Z)){let je=d.get(Z);d.delete(Z),a_(M)||(u=je,r("bound identity tracked:",je),v(je))}}C.push(M)}if(C.length){let K=Array.isArray(N)?C:C[0];ft.send(K).catch(M=>r("downstream send failed:",String(M)))}},k.onerror=N=>{let C=String(N);if(r("upstream error:",C),!/Maximum reconnection attempts \(\d+\) exceeded/.test(C))return;let K=Date.now();if(K-Ye<wr){r(`notification stream exhausted again within cooldown \u2014 not escalating (${Math.round((K-Ye)/1e3)}s since last)`);return}if(Ye=K,$t++,$t>Jt){r(`NOTIFICATION STREAM DEAD \u2014 ${$t-1} reconnect escalations exhausted; server\u2192client notifications are NOT arriving`),F_("error",`ours proxy: the server\u2192client notification stream could not be re-established after ${$t-1} attempts. Tool calls still work, but you will NOT receive new-mail or other server notifications until this session reconnects. Treat any "waiting for a message" as unreliable.`);return}r(`notification stream exhausted its retries \u2014 escalating to a full reconnect (${$t}/${Jt})`),ri(k,"notification stream exhausted")},k.onclose=()=>ri(k,"closed")}let Ju=k=>a!=null&&a.id===k;async function Gu(){e.ensureDaemon&&await e.ensureDaemon().catch(N=>r("ensureDaemon:",String(N)));let k=new Xr(t,{reconnectionOptions:{initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:5},requestInit:{headers:{"x-ours-lease-token":i,"x-ours-client-pid":String(s),...e.apiToken?{"x-ours-api-token":e.apiToken}:{}}}});if(G_(k),await k.start(),l)try{k.setProtocolVersion?.(l)}catch{}Ze=k}async function Wu(k,N){N&&k.id!==void 0&&un.add(k.id),await Ze.send(k)}async function W_(){if(an||sn)return;an=!0;let k=500;for(;;){if(sn){an=!1;return}try{if(await Gu(),a){let C=`${H_}${ei}`;ti.add(C),await Wu({...a,id:C},!0),await Ze.send({jsonrpc:"2.0",method:"notifications/initialized"})}if(u){let C=`__ours_proxy_rebind_${++ei}__`;await Wu({jsonrpc:"2.0",id:C,method:"tools/call",params:{name:"choose_identity",arguments:{name:u}}},!0)}xo=!0;let N=cn.splice(0);for(let C of N)await Ze.send(C).catch(K=>r("flush failed:",String(K)));r("upstream reconnected",u?`(re-bound "${u}")`:""),$t=0,an=!1;return}catch(N){r("reconnect attempt failed:",String(N)),await i_(k),k=Math.min(Math.floor(k*1.5),1e4)}}}async function ni(k){if(!sn){sn=!0;try{await Ze?.close()}catch{}try{await ft.close()}catch{}process.exit(k)}}process.on("SIGINT",()=>void ni(0)),process.on("SIGTERM",()=>void ni(0)),process.on("unhandledRejection",k=>{r("UNHANDLED REJECTION (proxy stays up):",k instanceof Error?k.stack??k.message:String(k))}),process.on("uncaughtException",k=>{r("UNCAUGHT EXCEPTION (proxy stays up):",k?.stack??String(k))});async function Y_(){let k=new URL(t.href);k.pathname="/state-dir";let N;try{N=await(await fetch(k,{signal:AbortSignal.timeout(3e3)})).json()}catch(C){r("compat handshake: could not read daemon /state-dir, proceeding:",String(C));return}m=n_({selfVersion:uP,daemonVersion:typeof N?.version=="string"?N.version:null}),m&&r(m)}if((async()=>{e.ensureDaemon&&await e.ensureDaemon().catch(C=>r("ensureDaemon:",String(C))),await Y_();let k=500;for(;;)try{await Gu();break}catch(C){r("initial upstream connect failed, retrying:",String(C)),await i_(k),k=Math.min(Math.floor(k*1.5),1e4)}xo=!0;let N=cn.splice(0);for(let C=0;C<N.length;C++){let K=V_();if(!K){cn.unshift(...N.slice(C));break}await K.send(N[C]).catch(M=>r("flush failed:",String(M)))}r(`upstream ready \u2014 stdio \u21C4 ${t.href}`)})(),h){A();let k=x();k&&(u=k,r("session-restore: found prior binding for this session \u2014 will self-recover",`"${k}"`))}else u_&&r("session-restore: disabled via OURS_NO_AUTORESTORE \u2014 pure in-memory binding");await ft.start(),r("proxy started (stdio transport up)")}function Ks(e){return Array.isArray(e)?e:[e]}var Mu=["openai-compatible","elevenlabs","deepgram","custom"],rN=5*1024*1024;function wo(e){let t="configure it in config.json `stt: {}` or via OURS_STT_* env";if(!e?.provider)return{ready:!1,reason:`no STT provider configured (stt.provider: ${Mu.join(" | ")}) \u2014 ${t}`};let r=e.provider.trim().toLowerCase();if(!Mu.includes(r))return{ready:!1,reason:`unknown STT provider "${e.provider}" (expected: ${Mu.join(" | ")})`};if(!e.apiKey?.trim())return{ready:!1,reason:`STT provider "${r}" is set but the API key is missing (stt.apiKey / OURS_STT_API_KEY)`};if(r==="openai-compatible"){if(!e.baseUrl?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.baseUrl / OURS_STT_BASE_URL (e.g. your provider's /v1 root) \u2014 no endpoint is assumed"};if(!e.model?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.model / OURS_STT_MODEL (passed to the provider verbatim) \u2014 no model is assumed"}}if(r==="elevenlabs"&&!e.model?.trim())return{ready:!1,reason:"elevenlabs STT needs stt.model / OURS_STT_MODEL (the model_id, e.g. from your ElevenLabs account) \u2014 no model is assumed"};if(r==="custom"){if(!e.custom?.url?.trim())return{ready:!1,reason:"custom STT needs stt.custom.url (the full endpoint URL of your provider)"};if((e.custom.url.includes("{model}")||e.custom.modelField!==void 0&&e.custom.modelField!=="")&&!e.model?.trim())return{ready:!1,reason:"the custom STT template references a model (url {model} or modelField) but stt.model / OURS_STT_MODEL is not set"}}return{ready:!0,provider:r}}function yP(e){let t=e.lastIndexOf(")");if(t<0)return null;let r=e.slice(t+1).trimStart();return/^[A-Za-z](?:\s|$)/.test(r)?r[0]:null}function d_(e){let t=yP(e);return t==="Z"||t==="X"||t==="x"}import{chmodSync as p_,closeSync as vP,existsSync as h_,mkdirSync as bP,openSync as f_,readFileSync as g_,readSync as __,renameSync as wP,statSync as $P,unlinkSync as y_,writeFileSync as SP,writeSync as xP}from"node:fs";import{spawnSync as Js}from"node:child_process";import{dirname as kP}from"node:path";var Je=[{value:"openai-compatible",label:"OpenAI-compatible",detail:"an OpenAI-style /v1 transcription endpoint"},{value:"elevenlabs",label:"ElevenLabs",detail:"ElevenLabs speech-to-text"},{value:"deepgram",label:"Deepgram",detail:"Deepgram speech-to-text"},{value:"custom",label:"Custom HTTP endpoint",detail:"a fully specified transcription URL"}],Ee=class extends Error{constructor(r){super(r);this.reason=r}};function zP(e){if(!h_(e))return{};let t=JSON.parse(g_(e,"utf8"));if(!t||typeof t!="object"||Array.isArray(t))throw new Error("config root must be a JSON object");return t}function PP(e){return h_(e)?{exists:!0,text:g_(e,"utf8"),mode:$P(e).mode&511}:{exists:!1}}function TP(e,t){v_(e,`${JSON.stringify(t,null,2)}
54
- `,384)}function v_(e,t,r){bP(kP(e),{recursive:!0,mode:448});let n=`${e}.tmp-${process.pid}-${Date.now()}`;try{SP(n,t,{encoding:"utf8",mode:r,flag:"wx"}),p_(n,r),wP(n,e),p_(e,r)}catch(o){try{y_(n)}catch{}throw o}}function RP(e,t){if(!t.exists){try{y_(e)}catch{}return}v_(e,t.text,t.mode)}async function EP(e,t,r,n){let o=PP(e);try{TP(e,t)}catch{return{ok:!1,stage:"write",rolledBack:!0,daemonRestored:!0}}if(r!=="managed")return{ok:!0,stage:"write"};let s;try{s=n?await n():{ok:!1}}catch{s={ok:!1}}if(s.ok)return{ok:!0,stage:"apply"};try{RP(e,o)}catch{return{ok:!1,stage:"rollback",rolledBack:!1,daemonRestored:!1}}let i;try{i=n?await n():{ok:!1}}catch{i={ok:!1}}return{ok:!1,stage:i.ok?"apply":"rollback",rolledBack:!0,daemonRestored:i.ok}}function m_(e,t){let r={...e},n=[["provider",t.OURS_STT_PROVIDER],["apiKey",t.OURS_STT_API_KEY],["model",t.OURS_STT_MODEL],["baseUrl",t.OURS_STT_BASE_URL],["language",t.OURS_STT_LANGUAGE]];for(let[o,s]of n)s?.trim()&&(r[o]=s.trim());return r}function IP(e){let t=e.trim();return t.length<8?{ok:!1,reason:"API key must contain at least 8 characters"}:/[\s\x00-\x1f\x7f]/.test(t)?{ok:!1,reason:"API key must not contain whitespace or control characters"}:{ok:!0,value:t}}function OP(){try{return f_("/dev/tty","r+")}catch{if(process.stdin.isTTY&&process.stdout.isTTY)try{return f_("/dev/stdin","r+")}catch{}return null}}function Ge(e,t){xP(e,t)}function Uu(e){let t=Buffer.alloc(1);try{return __(e,t,0,1,null)===1?t[0]:null}catch(r){throw r.code==="EINTR"?new Ee("cancel"):r}}function b_(e){let t="";for(let r=0;r<12;r++){let n=Uu(e);if(n===null)break;let o=String.fromCharCode(n);if(t+=o,/[A-Za-z~]$/.test(t))break}return t}function w_(e,t){let r=Js("stty",["-g"],{stdio:[e,"pipe","ignore"],encoding:"utf8"}),n=(r.stdout||"").trim();if(r.status!==0||!n)throw new Ee("unavailable");if(Js("stty",["-icanon","-echo","-isig","min","1","time","0"],{stdio:[e,"ignore","ignore"]}).status!==0)throw new Ee("unavailable");let s=!1,i=()=>{if(s)return;s=!0,Js("stty",[n],{stdio:[e,"ignore","ignore"]}).status!==0&&Js("stty",["sane"],{stdio:[e,"ignore","ignore"]})};process.once("exit",i);try{return t()}finally{process.removeListener("exit",i),i()}}function AP(e,t,r,n){return w_(e,()=>{Ge(e,t);let o="";for(;;){let i=Uu(e);if(i===null||i===4)throw new Ee("eof");if(i===3)throw new Ee("cancel");if(i===10||i===13){Ge(e,`
55
- `);break}if(i===127||i===8){o.length&&(o=o.slice(0,-1),n||Ge(e,"\b \b"));continue}if(i===27){b_(e);continue}if(i<32||o.length>=16384)continue;let a=String.fromCharCode(i);o+=a,n||Ge(e,a)}let s=o.trim();return s===""?r:s})}function Gs(e,t,r=""){Ge(e,t);let n=[],o=0;for(;;){let i=Buffer.alloc(1024),a;try{a=__(e,i,0,i.length,null)}catch(u){throw u.code==="EINTR"?new Ee("cancel"):u}if(a===0)throw new Ee("eof");let c=i.subarray(0,a).indexOf(10),l=c>=0?i.subarray(0,c):i.subarray(0,a);if(n.push(l),o+=l.length,o>16384)throw new Error("prompt input too long");if(c>=0)break}let s=Buffer.concat(n).toString("utf8").replace(/\r$/,"").trim();return s===""?r:s}function bt(e,t,r="",n=!1){try{return AP(e,t,r,n)}catch(o){if(o instanceof Ee&&o.reason==="unavailable"&&!n)return Gs(e,t,r);throw o}}function CP(e,t,r){let n=bt(e,`${t} ${r?"[Y/n]":"[y/N]"} `,r?"y":"n");return/^y(?:es)?$/i.test(n)}function NP(e,t){let r=Je.findIndex(n=>n.value===t);r<0&&(r=0);try{return w_(e,()=>{Ge(e,`Choose one transcription provider (\u2191/\u2193 or j/k, then Enter; q cancels):
56
- `);let n=!1,o=()=>{n&&Ge(e,`\x1B[${Je.length}A`),n=!0,Je.forEach((s,i)=>{Ge(e,`\r\x1B[K ${i===r?">":" "} ${i===r?"(*)":"( )"} ${s.label} \u2014 ${s.detail}
57
- `)})};for(o();;){let s=Uu(e);if(s===null||s===4)throw new Ee("eof");if(s===3||s===113||s===81)throw new Ee("cancel");if(s===10||s===13)return Ge(e,`
58
- `),Je[r].value;if(s>=49&&s<=52)r=s-49;else if(s===107||s===75)r=(r-1+Je.length)%Je.length;else if(s===106||s===74)r=(r+1)%Je.length;else if(s===27){let i=b_(e);i==="[A"||i==="OA"?r=(r-1+Je.length)%Je.length:(i==="[B"||i==="OB")&&(r=(r+1)%Je.length)}else continue;o()}})}catch(n){if(!(n instanceof Ee)||n.reason!=="unavailable")throw n;Ge(e,`Choose one transcription provider:
59
- `),Je.forEach((s,i)=>{Ge(e,` ${i+1}. ${s.label} \u2014 ${s.detail}
60
- `)});let o=Gs(e,`Select 1-${Je.length}: `);if(!/^[1-4]$/.test(o))throw new Ee("cancel");return Je[Number(o)-1].value}}function jP(e){let t=e.stt;return t&&typeof t=="object"&&!Array.isArray(t)?{...t}:{}}async function $_(e){let t=e.env??process.env,r=e.stdout??(i=>process.stdout.write(i)),n=(i="")=>r(`${i}
61
- `),o=e.daemonState??"stopped",s=null;try{let i;try{i=zP(e.configFile)}catch{return n(`voice setup: ${e.configFile} is not valid JSON; no changes made.`),1}let a=jP(i),c=wo(m_(a,t)),l=t.OURS_STT_API_KEY?.trim()?"environment":a.apiKey?.trim()?"config":"missing";if(s=t.OURS_ASSUME_YES?null:OP(),n(`ours-mcp voice-setup \u2014 ${e.configFile}`),c.ready){if(n(`voice transcription is already ready (${c.provider}; API key from ${l}).`),s===null)return 0;if(!CP(s,"Change the current voice settings?",!1))return n("kept the current voice settings; no changes made."),0}else if(n("Voice transcription is not ready. This command keeps the provider key hidden."),s===null)return n("No interactive terminal is available; no changes made."),n("Run `ours-mcp voice-setup` in a terminal, or configure OURS_STT_* environment values."),0;n("");let u=String(t.OURS_STT_PROVIDER||a.provider||"").trim().toLowerCase(),d=NP(s,u),f=String(t.OURS_STT_MODEL||a.model||"").trim(),m=String(t.OURS_STT_BASE_URL||a.baseUrl||"").trim(),h=String(a.custom?.url||"").trim();d==="openai-compatible"?(m=bt(s,`Provider /v1 base URL${m?` [${m}]`:""}: `,m),f=bt(s,`Model name (sent verbatim)${f?` [${f}]`:""}: `,f)):d==="elevenlabs"?(f=bt(s,`ElevenLabs model id${f?` [${f}]`:""}: `,f),m=bt(s,`Custom base URL (Enter for provider default)${m?` [${m}]`:""}: `,m)):d==="deepgram"?(f=bt(s,`Model (optional; Enter for provider default)${f?` [${f}]`:""}: `,f),m=bt(s,`Custom base URL (optional)${m?` [${m}]`:""}: `,m)):(h=bt(s,`Full transcription endpoint URL${h?` [${h}]`:""}: `,h),f=bt(s,`Model (optional unless URL contains {model})${f?` [${f}]`:""}: `,f));let g=t.OURS_STT_API_KEY?.trim(),y=String(a.apiKey||"").trim();if(g)n("API key: using OURS_STT_API_KEY from the environment; it will not be copied to config.");else{let v=y?"Provider API key [configured; Enter keeps it]: ":"Provider API key (input hidden): ",x;try{x=bt(s,v,y,!0)}catch(B){if(!(B instanceof Ee)||B.reason!=="unavailable")throw B;if(Ge(s,`
53
+ `:""}${g}`),l=Me}oi.delete(Z)}if(dn.has(Z)){dn.delete(Z),Z===k&&(k=null,d_(M)&&(p=null,n("session-restore: re-bind refused (identity live elsewhere) \u2014 staying unbound")));continue}if(h.has(Z)&&(h.delete(Z),wP(M.result,yP?()=>!1:vP)&&n("get_files: daemon copy unreadable by this OS user \u2014 asked the agent for a destination")),m.has(Z)){let Me=m.get(Z);m.delete(Z),d_(M)||(p=Me,n("bound identity tracked:",Me),C(Me))}}N.push(M)}if(N.length){let B=Array.isArray(I)?N:N[0];ft.send(B).catch(M=>n("downstream send failed:",String(M)))}},x.onerror=I=>{let N=String(I);if(n("upstream error:",N),!/Maximum reconnection attempts \(\d+\) exceeded/.test(N))return;let B=Date.now();if(B-ri<pt){n(`notification stream exhausted again within cooldown \u2014 not escalating (${Math.round((B-ri)/1e3)}s since last)`);return}if(ri=B,$r++,$r>cn){n(`NOTIFICATION STREAM DEAD \u2014 ${$r-1} reconnect escalations exhausted; server\u2192client notifications are NOT arriving`),K_("error",`ours proxy: the server\u2192client notification stream could not be re-established after ${$r-1} attempts. Tool calls still work, but you will NOT receive new-mail or other server notifications until this session reconnects. Treat any "waiting for a message" as unreliable.`);return}n(`notification stream exhausted its retries \u2014 escalating to a full reconnect (${$r}/${cn})`),si(x,"notification stream exhausted")},x.onclose=()=>si(x,"closed")}let Yu=x=>u!=null&&u.id===x;async function Qu(){e.ensureDaemon&&await e.ensureDaemon().catch(I=>n("ensureDaemon:",String(I)));let x=new tn(t,{reconnectionOptions:{initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:5},requestInit:{headers:{"x-ours-lease-token":c,"x-ours-client-pid":String(a),...e.apiToken?{"x-ours-api-token":e.apiToken}:{}}}});if(X_(x),await x.start(),d)try{x.setProtocolVersion?.(d)}catch{}qe=x}async function Xu(x,I){I&&x.id!==void 0&&dn.add(x.id),await qe.send(x)}let ey=()=>{if(a===process.pid)return!0;try{return process.kill(a,0),!0}catch(x){return x.code!=="ESRCH"}};async function ty(){if(Sr||un)return;Sr=!0;let x=500;for(;;){if(un){Sr=!1;return}if(!ey()){n(`client pid ${a} is gone \u2014 abandoning reconnect instead of churning the daemon's sessions`),Sr=!1,St(0);return}try{if(await Qu(),u){let N=`${G_}${ni}`;oi.add(N),await Xu({...u,id:N},!0),await qe.send({jsonrpc:"2.0",method:"notifications/initialized"})}if(p){let N=`__ours_proxy_rebind_${++ni}__`;await Xu({jsonrpc:"2.0",id:N,method:"tools/call",params:{name:"choose_identity",arguments:{name:p}}},!0)}zo=!0;let I=ln.splice(0);for(let N of I)await qe.send(N).catch(B=>n("flush failed:",String(B)));n("upstream reconnected",p?`(re-bound "${p}")`:""),$r=0,Sr=!1;return}catch(I){n("reconnect attempt failed:",String(I)),await l_(x),x=Math.min(Math.floor(x*1.5),1e4)}}}async function St(x){if(!un){un=!0;try{await qe?.close()}catch{}try{await ft.close()}catch{}process.exit(x)}}process.on("SIGINT",()=>void St(0)),process.on("SIGTERM",()=>void St(0));let el=x=>{let I=x?.code;return I==="EPIPE"||I==="ECONNRESET"||I==="ERR_STREAM_DESTROYED"||I==="ERR_STREAM_WRITE_AFTER_END"};process.on("unhandledRejection",x=>{if(el(x)){r=!0,St(0);return}n("UNHANDLED REJECTION (proxy stays up):",x instanceof Error?x.stack??x.message:String(x))}),process.on("uncaughtException",x=>{if(el(x)){r=!0,St(0);return}n("UNCAUGHT EXCEPTION (proxy stays up):",x?.stack??String(x))});async function ry(){let x=new URL(t.href);x.pathname="/state-dir";let I;try{I=await(await fetch(x,{signal:AbortSignal.timeout(3e3)})).json()}catch(N){n("compat handshake: could not read daemon /state-dir, proceeding:",String(N));return}g=a_({selfVersion:mP,daemonVersion:typeof I?.version=="string"?I.version:null}),g&&n(g)}if((async()=>{e.ensureDaemon&&await e.ensureDaemon().catch(N=>n("ensureDaemon:",String(N))),await ry();let x=500;for(;;)try{await Qu();break}catch(N){n("initial upstream connect failed, retrying:",String(N)),await l_(x),x=Math.min(Math.floor(x*1.5),1e4)}zo=!0;let I=ln.splice(0);for(let N=0;N<I.length;N++){let B=J_();if(!B){ln.unshift(...I.slice(N));break}await B.send(I[N]).catch(M=>n("flush failed:",String(M)))}n(`upstream ready \u2014 stdio \u21C4 ${t.href}`)})(),y){ie();let x=W();x&&(p=x,n("session-restore: found prior binding for this session \u2014 will self-recover",`"${x}"`))}else f_&&n("session-restore: disabled via OURS_NO_AUTORESTORE \u2014 pure in-memory binding");await ft.start(),n("proxy started (stdio transport up)")}function Gs(e){return Array.isArray(e)?e:[e]}var Du=["openai-compatible","elevenlabs","deepgram","custom"],aN=5*1024*1024;function So(e){let t="configure it in config.json `stt: {}` or via OURS_STT_* env";if(!e?.provider)return{ready:!1,reason:`no STT provider configured (stt.provider: ${Du.join(" | ")}) \u2014 ${t}`};let r=e.provider.trim().toLowerCase();if(!Du.includes(r))return{ready:!1,reason:`unknown STT provider "${e.provider}" (expected: ${Du.join(" | ")})`};if(!e.apiKey?.trim())return{ready:!1,reason:`STT provider "${r}" is set but the API key is missing (stt.apiKey / OURS_STT_API_KEY)`};if(r==="openai-compatible"){if(!e.baseUrl?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.baseUrl / OURS_STT_BASE_URL (e.g. your provider's /v1 root) \u2014 no endpoint is assumed"};if(!e.model?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.model / OURS_STT_MODEL (passed to the provider verbatim) \u2014 no model is assumed"}}if(r==="elevenlabs"&&!e.model?.trim())return{ready:!1,reason:"elevenlabs STT needs stt.model / OURS_STT_MODEL (the model_id, e.g. from your ElevenLabs account) \u2014 no model is assumed"};if(r==="custom"){if(!e.custom?.url?.trim())return{ready:!1,reason:"custom STT needs stt.custom.url (the full endpoint URL of your provider)"};if((e.custom.url.includes("{model}")||e.custom.modelField!==void 0&&e.custom.modelField!=="")&&!e.model?.trim())return{ready:!1,reason:"the custom STT template references a model (url {model} or modelField) but stt.model / OURS_STT_MODEL is not set"}}return{ready:!0,provider:r}}function SP(e){let t=e.lastIndexOf(")");if(t<0)return null;let r=e.slice(t+1).trimStart();return/^[A-Za-z](?:\s|$)/.test(r)?r[0]:null}function h_(e){let t=SP(e);return t==="Z"||t==="X"||t==="x"}import{chmodSync as g_,closeSync as xP,existsSync as v_,mkdirSync as kP,openSync as __,readFileSync as b_,readSync as w_,renameSync as zP,statSync as PP,unlinkSync as $_,writeFileSync as TP,writeSync as RP}from"node:fs";import{spawnSync as Ws}from"node:child_process";import{dirname as EP}from"node:path";var Ge=[{value:"openai-compatible",label:"OpenAI-compatible",detail:"an OpenAI-style /v1 transcription endpoint"},{value:"elevenlabs",label:"ElevenLabs",detail:"ElevenLabs speech-to-text"},{value:"deepgram",label:"Deepgram",detail:"Deepgram speech-to-text"},{value:"custom",label:"Custom HTTP endpoint",detail:"a fully specified transcription URL"}],Ie=class extends Error{constructor(r){super(r);this.reason=r}};function IP(e){if(!v_(e))return{};let t=JSON.parse(b_(e,"utf8"));if(!t||typeof t!="object"||Array.isArray(t))throw new Error("config root must be a JSON object");return t}function OP(e){return v_(e)?{exists:!0,text:b_(e,"utf8"),mode:PP(e).mode&511}:{exists:!1}}function AP(e,t){S_(e,`${JSON.stringify(t,null,2)}
54
+ `,384)}function S_(e,t,r){kP(EP(e),{recursive:!0,mode:448});let n=`${e}.tmp-${process.pid}-${Date.now()}`;try{TP(n,t,{encoding:"utf8",mode:r,flag:"wx"}),g_(n,r),zP(n,e),g_(e,r)}catch(o){try{$_(n)}catch{}throw o}}function CP(e,t){if(!t.exists){try{$_(e)}catch{}return}S_(e,t.text,t.mode)}async function NP(e,t,r,n){let o=OP(e);try{AP(e,t)}catch{return{ok:!1,stage:"write",rolledBack:!0,daemonRestored:!0}}if(r!=="managed")return{ok:!0,stage:"write"};let s;try{s=n?await n():{ok:!1}}catch{s={ok:!1}}if(s.ok)return{ok:!0,stage:"apply"};try{CP(e,o)}catch{return{ok:!1,stage:"rollback",rolledBack:!1,daemonRestored:!1}}let i;try{i=n?await n():{ok:!1}}catch{i={ok:!1}}return{ok:!1,stage:i.ok?"apply":"rollback",rolledBack:!0,daemonRestored:i.ok}}function y_(e,t){let r={...e},n=[["provider",t.OURS_STT_PROVIDER],["apiKey",t.OURS_STT_API_KEY],["model",t.OURS_STT_MODEL],["baseUrl",t.OURS_STT_BASE_URL],["language",t.OURS_STT_LANGUAGE]];for(let[o,s]of n)s?.trim()&&(r[o]=s.trim());return r}function jP(e){let t=e.trim();return t.length<8?{ok:!1,reason:"API key must contain at least 8 characters"}:/[\s\x00-\x1f\x7f]/.test(t)?{ok:!1,reason:"API key must not contain whitespace or control characters"}:{ok:!0,value:t}}function MP(){try{return __("/dev/tty","r+")}catch{if(process.stdin.isTTY&&process.stdout.isTTY)try{return __("/dev/stdin","r+")}catch{}return null}}function We(e,t){RP(e,t)}function Zu(e){let t=Buffer.alloc(1);try{return w_(e,t,0,1,null)===1?t[0]:null}catch(r){throw r.code==="EINTR"?new Ie("cancel"):r}}function x_(e){let t="";for(let r=0;r<12;r++){let n=Zu(e);if(n===null)break;let o=String.fromCharCode(n);if(t+=o,/[A-Za-z~]$/.test(t))break}return t}function k_(e,t){let r=Ws("stty",["-g"],{stdio:[e,"pipe","ignore"],encoding:"utf8"}),n=(r.stdout||"").trim();if(r.status!==0||!n)throw new Ie("unavailable");if(Ws("stty",["-icanon","-echo","-isig","min","1","time","0"],{stdio:[e,"ignore","ignore"]}).status!==0)throw new Ie("unavailable");let s=!1,i=()=>{if(s)return;s=!0,Ws("stty",[n],{stdio:[e,"ignore","ignore"]}).status!==0&&Ws("stty",["sane"],{stdio:[e,"ignore","ignore"]})};process.once("exit",i);try{return t()}finally{process.removeListener("exit",i),i()}}function UP(e,t,r,n){return k_(e,()=>{We(e,t);let o="";for(;;){let i=Zu(e);if(i===null||i===4)throw new Ie("eof");if(i===3)throw new Ie("cancel");if(i===10||i===13){We(e,`
55
+ `);break}if(i===127||i===8){o.length&&(o=o.slice(0,-1),n||We(e,"\b \b"));continue}if(i===27){x_(e);continue}if(i<32||o.length>=16384)continue;let a=String.fromCharCode(i);o+=a,n||We(e,a)}let s=o.trim();return s===""?r:s})}function Ys(e,t,r=""){We(e,t);let n=[],o=0;for(;;){let i=Buffer.alloc(1024),a;try{a=w_(e,i,0,i.length,null)}catch(l){throw l.code==="EINTR"?new Ie("cancel"):l}if(a===0)throw new Ie("eof");let c=i.subarray(0,a).indexOf(10),u=c>=0?i.subarray(0,c):i.subarray(0,a);if(n.push(u),o+=u.length,o>16384)throw new Error("prompt input too long");if(c>=0)break}let s=Buffer.concat(n).toString("utf8").replace(/\r$/,"").trim();return s===""?r:s}function bt(e,t,r="",n=!1){try{return UP(e,t,r,n)}catch(o){if(o instanceof Ie&&o.reason==="unavailable"&&!n)return Ys(e,t,r);throw o}}function DP(e,t,r){let n=bt(e,`${t} ${r?"[Y/n]":"[y/N]"} `,r?"y":"n");return/^y(?:es)?$/i.test(n)}function ZP(e,t){let r=Ge.findIndex(n=>n.value===t);r<0&&(r=0);try{return k_(e,()=>{We(e,`Choose one transcription provider (\u2191/\u2193 or j/k, then Enter; q cancels):
56
+ `);let n=!1,o=()=>{n&&We(e,`\x1B[${Ge.length}A`),n=!0,Ge.forEach((s,i)=>{We(e,`\r\x1B[K ${i===r?">":" "} ${i===r?"(*)":"( )"} ${s.label} \u2014 ${s.detail}
57
+ `)})};for(o();;){let s=Zu(e);if(s===null||s===4)throw new Ie("eof");if(s===3||s===113||s===81)throw new Ie("cancel");if(s===10||s===13)return We(e,`
58
+ `),Ge[r].value;if(s>=49&&s<=52)r=s-49;else if(s===107||s===75)r=(r-1+Ge.length)%Ge.length;else if(s===106||s===74)r=(r+1)%Ge.length;else if(s===27){let i=x_(e);i==="[A"||i==="OA"?r=(r-1+Ge.length)%Ge.length:(i==="[B"||i==="OB")&&(r=(r+1)%Ge.length)}else continue;o()}})}catch(n){if(!(n instanceof Ie)||n.reason!=="unavailable")throw n;We(e,`Choose one transcription provider:
59
+ `),Ge.forEach((s,i)=>{We(e,` ${i+1}. ${s.label} \u2014 ${s.detail}
60
+ `)});let o=Ys(e,`Select 1-${Ge.length}: `);if(!/^[1-4]$/.test(o))throw new Ie("cancel");return Ge[Number(o)-1].value}}function qP(e){let t=e.stt;return t&&typeof t=="object"&&!Array.isArray(t)?{...t}:{}}async function z_(e){let t=e.env??process.env,r=e.stdout??(i=>process.stdout.write(i)),n=(i="")=>r(`${i}
61
+ `),o=e.daemonState??"stopped",s=null;try{let i;try{i=IP(e.configFile)}catch{return n(`voice setup: ${e.configFile} is not valid JSON; no changes made.`),1}let a=qP(i),c=So(y_(a,t)),u=t.OURS_STT_API_KEY?.trim()?"environment":a.apiKey?.trim()?"config":"missing";if(s=t.OURS_ASSUME_YES?null:MP(),n(`ours-mcp voice-setup \u2014 ${e.configFile}`),c.ready){if(n(`voice transcription is already ready (${c.provider}; API key from ${u}).`),s===null)return 0;if(!DP(s,"Change the current voice settings?",!1))return n("kept the current voice settings; no changes made."),0}else if(n("Voice transcription is not ready. This command keeps the provider key hidden."),s===null)return n("No interactive terminal is available; no changes made."),n("Run `ours-mcp voice-setup` in a terminal, or configure OURS_STT_* environment values."),0;n("");let l=String(t.OURS_STT_PROVIDER||a.provider||"").trim().toLowerCase(),d=ZP(s,l),p=String(t.OURS_STT_MODEL||a.model||"").trim(),m=String(t.OURS_STT_BASE_URL||a.baseUrl||"").trim(),h=String(a.custom?.url||"").trim();d==="openai-compatible"?(m=bt(s,`Provider /v1 base URL${m?` [${m}]`:""}: `,m),p=bt(s,`Model name (sent verbatim)${p?` [${p}]`:""}: `,p)):d==="elevenlabs"?(p=bt(s,`ElevenLabs model id${p?` [${p}]`:""}: `,p),m=bt(s,`Custom base URL (Enter for provider default)${m?` [${m}]`:""}: `,m)):d==="deepgram"?(p=bt(s,`Model (optional; Enter for provider default)${p?` [${p}]`:""}: `,p),m=bt(s,`Custom base URL (optional)${m?` [${m}]`:""}: `,m)):(h=bt(s,`Full transcription endpoint URL${h?` [${h}]`:""}: `,h),p=bt(s,`Model (optional unless URL contains {model})${p?` [${p}]`:""}: `,p));let g=t.OURS_STT_API_KEY?.trim(),y=String(a.apiKey||"").trim();if(g)n("API key: using OURS_STT_API_KEY from the environment; it will not be copied to config.");else{let v=y?"Provider API key [configured; Enter keeps it]: ":"Provider API key (input hidden): ",k;try{k=bt(s,v,y,!0)}catch(W){if(!(W instanceof Ie)||W.reason!=="unavailable")throw W;if(We(s,`
62
62
  Secure hidden input is unavailable on this terminal.
63
- `),Ge(s,`Visible fallback will echo the token on screen and may leave it in scrollback.
64
- `),Gs(s,"Type SHOW to enter the token visibly, or press Enter to cancel: ")!=="SHOW")throw new Ee("cancel");x=Gs(s,"Provider API key (VISIBLE): ",y)}let A=IP(x);if(!A.ok)return n(`Voice setup was not saved: ${A.reason}.`),1;y=A.value}let S={...a,provider:d,...y?{apiKey:y}:{},...f?{model:f}:{},...m?{baseUrl:m}:{},...d==="custom"&&h?{custom:{...a.custom??{},url:h}}:{}},$=wo(m_(S,t));if(!$.ready)return n(`Voice setup was not saved: ${$.reason}.`),1;if(e.dryRun)return n(`voice transcription would be configured (${d}); API key stays hidden.`),n("dry-run: config, daemon, and existing settings were not changed."),0;let w={...i,stt:S};o==="managed"&&n("Restarting ours-mcp to apply and verify voice transcription\u2026");let T=await EP(e.configFile,w,o,e.apply);return!T.ok&&T.stage==="write"?(n(`Could not write ${e.configFile}; the prior config is intact.`),1):o==="stopped"?(n(`voice transcription configured (${d}); API key saved in mode-0600 config.`),n("The daemon is stopped; run `ours-mcp start` to apply it."),0):o==="external"?(n(`voice transcription configured (${d}); API key saved in mode-0600 config.`),n("The daemon has no managed PID; restart its external launcher to apply the new settings."),0):T.ok?(n(`voice transcription: ready (${d}).`),n("API key saved in mode-0600 config and never displayed."),0):T.rolledBack?(n("Voice readiness check failed; restored the exact prior config."),T.daemonRestored?(n("The prior config and daemon state were restored; voice setup was not changed."),2):(n("The prior config is restored, but the daemon did not restart; run `ours-mcp status`."),2)):(n("Voice setup failed and automatic config rollback also failed; inspect the config before restarting."),2)}catch(i){return i instanceof Ee?i.reason==="cancel"?(n(""),n("voice setup cancelled; no configuration changes were made."),130):i.reason==="eof"?(n(""),n("voice setup ended at EOF; no configuration changes were made."),1):(n("Secure interactive input is unavailable on this terminal; no changes made."),1):(n("voice setup failed unexpectedly; no credential was displayed."),1)}finally{if(s!==null)try{vP(s)}catch{}}}var S_=`ours-mcp voice-setup \u2014 configure voice transcription securely
63
+ `),We(s,`Visible fallback will echo the token on screen and may leave it in scrollback.
64
+ `),Ys(s,"Type SHOW to enter the token visibly, or press Enter to cancel: ")!=="SHOW")throw new Ie("cancel");k=Ys(s,"Provider API key (VISIBLE): ",y)}let C=jP(k);if(!C.ok)return n(`Voice setup was not saved: ${C.reason}.`),1;y=C.value}let S={...a,provider:d,...y?{apiKey:y}:{},...p?{model:p}:{},...m?{baseUrl:m}:{},...d==="custom"&&h?{custom:{...a.custom??{},url:h}}:{}},$=So(y_(S,t));if(!$.ready)return n(`Voice setup was not saved: ${$.reason}.`),1;if(e.dryRun)return n(`voice transcription would be configured (${d}); API key stays hidden.`),n("dry-run: config, daemon, and existing settings were not changed."),0;let w={...i,stt:S};o==="managed"&&n("Restarting ours-mcp to apply and verify voice transcription\u2026");let T=await NP(e.configFile,w,o,e.apply);return!T.ok&&T.stage==="write"?(n(`Could not write ${e.configFile}; the prior config is intact.`),1):o==="stopped"?(n(`voice transcription configured (${d}); API key saved in mode-0600 config.`),n("The daemon is stopped; run `ours-mcp start` to apply it."),0):o==="external"?(n(`voice transcription configured (${d}); API key saved in mode-0600 config.`),n("The daemon has no managed PID; restart its external launcher to apply the new settings."),0):T.ok?(n(`voice transcription: ready (${d}).`),n("API key saved in mode-0600 config and never displayed."),0):T.rolledBack?(n("Voice readiness check failed; restored the exact prior config."),T.daemonRestored?(n("The prior config and daemon state were restored; voice setup was not changed."),2):(n("The prior config is restored, but the daemon did not restart; run `ours-mcp status`."),2)):(n("Voice setup failed and automatic config rollback also failed; inspect the config before restarting."),2)}catch(i){return i instanceof Ie?i.reason==="cancel"?(n(""),n("voice setup cancelled; no configuration changes were made."),130):i.reason==="eof"?(n(""),n("voice setup ended at EOF; no configuration changes were made."),1):(n("Secure interactive input is unavailable on this terminal; no changes made."),1):(n("voice setup failed unexpectedly; no credential was displayed."),1)}finally{if(s!==null)try{xP(s)}catch{}}}var P_=`ours-mcp voice-setup \u2014 configure voice transcription securely
65
65
 
66
66
  Usage: ours-mcp voice-setup [--dry-run]
67
67
 
@@ -76,53 +76,53 @@ exact prior config.
76
76
 
77
77
  Headless automation remains environment-driven through OURS_STT_PROVIDER,
78
78
  OURS_STT_API_KEY, OURS_STT_MODEL, OURS_STT_BASE_URL, and OURS_STT_LANGUAGE.
79
- Exit 2 means restart/readiness failed after a write and rollback was attempted.`;import*as _r from"node:fs";import{join as MP}from"node:path";var UP="startup-progress.json",DP=1,x_={initializing:"Initializing daemon",wrapper:"Starting protocol runtime",registrar:"Starting local contact book",identities:"Restoring identities",reconciliation:"Reconciling restored identities",server:"Opening local API",ready:"Daemon ready",failed:"Daemon startup failed"};function ZP(e){return MP(e,UP)}function qP(e){return typeof e=="string"&&Object.hasOwn(x_,e)}function k_(e){try{let t=JSON.parse(_r.readFileSync(ZP(e),"utf8"));return t.version!==DP||!Number.isInteger(t.pid)||(t.pid??0)<=0||typeof t.bootId!="string"||!t.bootId||!qP(t.phase)||!Number.isFinite(t.startedAt)||!Number.isFinite(t.updatedAt)||(t.completed!==void 0||t.total!==void 0)&&(!Number.isInteger(t.completed)||!Number.isInteger(t.total)||(t.completed??-1)<0||(t.total??-1)<0||(t.completed??0)>(t.total??0))?null:t}catch{return null}}function Du(e){let t=x_[e.phase];return e.phase==="identities"&&e.completed!==void 0&&e.total!==void 0?`${t} ${e.completed}/${e.total}`:t}function z_(e,t){let r=`startup: ${Du(e)}`;return t?`\r${r}\x1B[K`:`${r}
80
- `}async function P_(e){let t=e.now??Date.now,r=e.sleep??(c=>new Promise(l=>setTimeout(l,c))),n=t(),o=n,s=-1,i="",a=null;for(;;){if(await e.isReady())return{ok:!0,elapsedMs:t()-n,lastProgress:a};let c=e.readProgress();if(c?.pid===e.pid){a=c,c.updatedAt>s&&(s=c.updatedAt,o=t());let f=`${c.phase}:${c.completed??""}:${c.total??""}`;if(f!==i&&(i=f,e.onProgress?.(c)),c.phase==="failed")return{ok:!1,reason:"daemon-reported-failure",elapsedMs:t()-n,lastProgress:a}}if(!e.isProcessAlive())return{ok:!1,reason:"process-exited",elapsedMs:t()-n,lastProgress:a};let l=t()-n;if(l>=e.absoluteMs)return{ok:!1,reason:"absolute-timeout",elapsedMs:l,lastProgress:a};if(t()-o>=e.inactivityMs)return{ok:!1,reason:"inactivity-timeout",elapsedMs:l,lastProgress:a};let u=e.absoluteMs-l,d=e.inactivityMs-(t()-o);await r(Math.max(1,Math.min(e.pollMs,u,d)))}}if(!process.env.XDG_RUNTIME_DIR&&typeof process.getuid=="function"){let e=`/run/user/${process.getuid()}`;H.existsSync(e)&&(process.env.XDG_RUNTIME_DIR=e)}var wt=Ou(),De=wt.stateDir,ie=wt.port,So=()=>{let e=Au(wt,{generate:!1})?.token??null;return e?{"x-ours-api-token":e}:{}},nn=wt.brokerUrl,br=Ot(De,"daemon.pid"),yr=Ot(De,"daemon.log"),Bt=FP(import.meta.url),b=(...e)=>process.stdout.write(`${e.join(" ")}
81
- `),te=(...e)=>process.stderr.write(`${e.join(" ")}
82
- `),vr="0.16.0";async function Vu(){for(let e of["/version","/state-dir"])try{let t=new AbortController,r=setTimeout(()=>t.abort(),1500),n=await fetch(`http://127.0.0.1:${ie}${e}`,{signal:t.signal});if(clearTimeout(r),n.ok){let o=await n.json();if(o&&typeof o.version=="string")return o}}catch{}return null}function T_(e){if(b(` cli: v${vr}`),e?.version){let t=e.version!==vr;b(` daemon: v${e.version}${e.compat?` (compat ${e.compat})`:""}`+(t?` \u26A0 differs from CLI \u2014 \`ours-mcp restart\` to load v${vr}`:""))}else b(" daemon: version unknown (running build predates /version \u2014 restart to update)")}var Xs=e=>new Promise(t=>setTimeout(t,e));function HP(){try{let e=parseInt(H.readFileSync(br,"utf8").trim(),10);return Number.isFinite(e)?e:null}catch{return null}}function Ys(e){try{if(process.kill(e,0),process.platform==="linux")try{if(d_(H.readFileSync(`/proc/${e}/stat`,"utf8")))return!1}catch{try{process.kill(e,0)}catch{return!1}}return!0}catch{return!1}}function on(){let e=HP();if(e&&Ys(e))return e;if(e)try{H.rmSync(br,{force:!0})}catch{}return null}function Kt(e,t=1e3){return new Promise(r=>{let n=LP({host:"127.0.0.1",port:e}),o=s=>{n.destroy(),r(s)};n.setTimeout(t),n.once("connect",()=>o(!0)),n.once("timeout",()=>o(!1)),n.once("error",()=>o(!1))})}async function BP(e,t=3e4){let r=Date.now()+t;for(;Date.now()<r;){if(await Kt(e))return!0;await Xs(400)}return!1}function Bu(e,t){let r=Number(process.env[e]||"");return Number.isFinite(r)&&r>0?r:t}var j_=Bu("OURS_TEST_STARTUP_ABSOLUTE_MS",18e4),M_=Bu("OURS_TEST_STARTUP_INACTIVITY_MS",3e4),U_=Bu("OURS_TEST_STARTUP_POLL_MS",400);async function KP(e){let t=new AbortController,r=setTimeout(()=>t.abort(),Math.min(1e3,U_));try{let n=await fetch(`http://127.0.0.1:${e}/identities`,{signal:t.signal,headers:So()}),o=n.ok;try{await n.body?.cancel()}catch{}return o}catch{return!1}finally{clearTimeout(r)}}function R_(e){return e<1e3?`${Math.round(e)}ms`:e%6e4===0?`${e/6e4}m`:`${Math.round(e/1e3)}s`}function JP(e,t){let r=t?` Last phase: ${Du(t)}.`:"";return e==="process-exited"||e==="daemon-reported-failure"?`daemon exited before becoming ready.${r}`:e==="inactivity-timeout"?`daemon startup made no observable progress for ${R_(M_)}.${r} The process is still running, but startup is stalled.`:`daemon startup did not finish within ${R_(j_)}.${r} The bounded wait expired.`}async function E_(){let e=on();if(e){b(`ours-mcp is already running (pid ${e}, port ${ie}).`);return}H.mkdirSync(De,{recursive:!0});let t=H.openSync(yr,"a"),r=A_(process.execPath,[Bt,"serve"],{detached:!0,stdio:["ignore",t,t],env:{...process.env,OURS_TRANSPORT:"http",OURS_PORT:String(ie),OURS_BROKER_URL:nn,OURS_STATE_DIR:De}});r.unref(),r.pid||(te("failed to spawn the daemon."),process.exit(1)),H.writeFileSync(br,String(r.pid)),b(`starting ours-mcp (pid ${r.pid})\u2026`);let n=!!process.stderr.isTTY,o=!1,s=await P_({pid:r.pid,absoluteMs:j_,inactivityMs:M_,pollMs:U_,isProcessAlive:()=>Ys(r.pid),isReady:()=>KP(ie),readProgress:()=>k_(De),onProgress:i=>{o=!0,process.stderr.write(z_(i,n))}});o&&n&&process.stderr.write(`
83
- `),s.ok?(b(`ours-mcp is up on http://localhost:${ie}/mcp`),b(` broker: ${nn}`),b(` state: ${De}`),b(` logs: ${yr}`)):(te(`${JP(s.reason,s.lastProgress)} Check ${yr}.`),process.exit(1))}async function GP(){if(!await Kt(ie)){if(!on()){H.mkdirSync(De,{recursive:!0});let e=H.openSync(yr,"a"),t=A_(process.execPath,[Bt,"serve"],{detached:!0,stdio:["ignore",e,e],env:{...process.env,OURS_TRANSPORT:"http",OURS_PORT:String(ie),OURS_BROKER_URL:nn,OURS_STATE_DIR:De}});if(t.unref(),t.pid)try{H.writeFileSync(br,String(t.pid))}catch{}}await BP(ie)}}async function Qs(){let e=on();if(!e){b("ours-mcp is not running.");return}b(`stopping ours-mcp (pid ${e})\u2026`);try{process.kill(e,"SIGTERM")}catch(t){te(`failed to signal pid ${e}: ${String(t)}`)}for(let t=0;t<25&&Ys(e);t++)await Xs(200);if(Ys(e)){te(`pid ${e} did not exit; sending SIGKILL.`);try{process.kill(e,"SIGKILL")}catch{}}try{H.rmSync(br,{force:!0})}catch{}b("stopped.")}async function WP(){let e=on();if(!e){if(await Kt(ie)){let n=await Vu();b("ours-mcp: running (no pidfile \u2014 likely a stale process or external launcher)"),b(` url: http://localhost:${ie}/mcp (reachable)`),T_(n);return}b("ours-mcp: stopped"),b(` cli: v${vr}`),process.exitCode=1;return}let t=await Kt(ie),r=t?await Vu():null;b("ours-mcp: running"),b(` pid: ${e}`),b(` url: http://localhost:${ie}/mcp ${t?"(reachable)":"(port not answering!)"}`),b(` broker: ${nn}`),b(` state: ${De}`),b(` logs: ${yr}`),T_(r)}async function YP(){if(b(`ours-mcp v${vr}`),await Kt(ie)){let e=await Vu();e?.version?b(`running daemon: v${e.version}`+(e.version!==vr?" (differs \u2014 restart to update)":"")):b("running daemon: version unknown (predates /version)")}else b("daemon: not running")}async function QP(){let e=Ou(),t=bo();b(`ours-mcp setup \u2014 ${t}`),b("Enter a value, or press Enter to keep the current [bracketed] one."),b("");let r=Ws({input:process.stdin,output:process.stdout}),n;try{let u=async(J,_e)=>{let We=(await r.question(` ${J} [${_e}]: `)).trim();return We===""?_e:We},d=await u("broker URL",e.brokerUrl),f=await u("HTTP port",String(e.port)),m=await u("state dir",e.stateDir),h=await u("GC interval (ms)",String(e.gcIntervalMs)),g=await u("proxy auto-starts daemon (true/false)",String(e.autoStart)),y=await u("HTTP visibility (owner=same-user only / shared=cross-user w/ token / open=all local users)",e.apiVisibility);b(""),b(" Voice-message transcription (STT). Leave provider empty to keep it off \u2014"),b(" agents then deterministically tell users voice messages cannot be read."),b(" No provider or model is assumed; model strings pass to your provider verbatim.");let S=(await r.question(` STT provider (openai-compatible / elevenlabs / deepgram / custom, empty=off) [${e.stt?.provider??""}]: `)).trim()||(e.stt?.provider??""),$=e.stt?.model??"",w=e.stt?.baseUrl??"";S&&($=await u("STT model (verbatim, e.g. whisper-large-v3-turbo / scribe_v1 / nova-2)",$),w=await u("STT base URL (required for openai-compatible; empty = provider default)",w),b(" (API key is not echoed here. Run `ours-mcp voice-setup` for guided hidden input,"),b(" or set OURS_STT_API_KEY for environment-only secret injection.)"));let T=parseInt(f,10);(!Number.isFinite(T)||T<=0)&&(te(`invalid port: ${f}`),process.exit(1));let v=parseInt(h,10);(!Number.isFinite(v)||v<=0)&&(te(`invalid GC interval: ${h}`),process.exit(1));let x=g.toLowerCase()==="true"||g==="1",A=y.trim().toLowerCase();vo.includes(A)||(te(`invalid visibility: ${y} (expected one of ${vo.join(", ")})`),process.exit(1));let B=S?{...e.stt??{},provider:S,...$?{model:$}:{},...w?{baseUrl:w}:{}}:e.stt;n={brokerUrl:d,port:T,stateDir:N_(m),gcIntervalMs:v,autoStart:x,apiVisibility:A,...e.apiToken?{apiToken:e.apiToken}:{},...B?{stt:B}:{}}}finally{r.close()}Xg(n),b(""),b(`wrote ${t} (mode 0600):`);let o={...n,...n.apiToken?{apiToken:"[redacted]"}:{},...n.stt?{stt:{...n.stt,...n.stt.apiKey?{apiKey:"[redacted]"}:{}}}:{}};b(JSON.stringify(o,null,2));let s=["OURS_BROKER_URL","OURS_PORT","OURS_STATE_DIR","OURS_GC_INTERVAL_MS","OURS_AUTOSTART","OURS_API_VISIBILITY","OURS_API_TOKEN","OURS_STT_PROVIDER","OURS_STT_API_KEY","OURS_STT_MODEL","OURS_STT_BASE_URL","OURS_STT_LANGUAGE"].filter(u=>process.env[u]!==void 0);s.length&&(b(""),b(`note: these env vars are set and OVERRIDE the file at runtime: ${s.join(", ")}`));let i=on();if(!i)return;let a=Ws({input:process.stdin,output:process.stdout}),c=!1;try{let u=(await a.question(`
84
- daemon is running (pid ${i}); restart now to apply? [y/N]: `)).trim().toLowerCase();c=u==="y"||u==="yes"}finally{a.close()}if(!c){b("not restarting \u2014 changes apply on the next `ours-mcp restart`.");return}await Qs();let l=rn(process.execPath,[Bt,"start"],{stdio:"inherit"});l.status!==0&&process.exit(l.status??1)}function XP(e){let t=wo(wt.stt),r=wt.stt?.provider?.trim().toLowerCase()||null,n=process.env.OURS_STT_API_KEY?.trim()?"environment":wt.stt?.apiKey?.trim()?"config":"missing",o=t.ready?{ready:!0,provider:t.provider,apiKey:"configured",keySource:n}:{ready:!1,provider:r,apiKey:n==="missing"?"missing":"configured",keySource:n,reason:t.reason};if(e.includes("--json")){b(JSON.stringify(o));return}o.ready?b(`voice transcription: ready (${o.provider}; API key from ${o.keySource})`):b(`voice transcription: not ready \u2014 ${o.reason}`)}async function eT(e){if(e.includes("--help")||e.includes("-h")){b(S_);return}let t=new Set(["--dry-run"]);if(e.filter(i=>!t.has(i)).length){te("voice-setup: unsupported command-line option or argument"),te("The provider key is never accepted as a CLI argument. Run `ours-mcp voice-setup --help`."),process.exitCode=1;return}let n=on()!==null,o=await Kt(ie),s=await $_({configFile:bo(),env:process.env,dryRun:e.includes("--dry-run"),daemonState:n?"managed":o?"external":"stopped",apply:async()=>{let i=rn(process.execPath,[Bt,"restart"],{stdio:"inherit"});if(i.error||i.status!==0)return{ok:!1};let a=rn(process.execPath,[Bt,"voice-status","--json"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]});if(a.error||a.status!==0)return{ok:!1};try{return{ok:JSON.parse(a.stdout||"{}").ready===!0}}catch{return{ok:!1}}}});s!==0&&(process.exitCode=s)}function qu(e,t,r){return e.includes(r)?{value:!1,set:!0}:e.includes(t)?{value:!0,set:!0}:{value:void 0,set:!1}}function Lu(e,t){let r=e.indexOf(t);return r>=0&&r+1<e.length?e[r+1]:void 0}async function tT(e){let t=Lu(e,"--name"),r=qu(e,"--force-bind","--no-force-bind"),n=qu(e,"--local-book","--no-local-book"),o=qu(e,"--auto-accept-local","--no-auto-accept-local"),s=e.includes("--overwrite"),i=e.includes("--print"),a=Lu(e,"--path")??Lu(e,"--dir")??process.cwd(),c=t!==void 0||r.set||n.set||o.set||i,l;if(c?((!t||!t.trim())&&(te("define-local-identity-file: --name is required in non-interactive mode."),process.exit(1)),l={name:t.trim(),force:r.value??!1,exposeLocal:n.value??!0,localAutoAccept:o.value??!0}):l=await rT(),i){b(JSON.stringify(Fs(l),null,2));return}let u=Cu(a);if(!s&&H.existsSync(u)){c&&(te(`define-local-identity-file: ${u} already exists \u2014 pass --overwrite to replace it.`),process.exit(1));let f=Ws({input:process.stdin,output:process.stdout}),m=!1;try{let h=(await f.question(`
85
- ${u} already exists \u2014 overwrite? [y/N]: `)).trim().toLowerCase();m=h==="y"||h==="yes"}finally{f.close()}if(!m){b("aborted \u2014 nothing written.");return}}let d=e_(a,l,!0);b(""),b(`wrote ${d}:`),b(JSON.stringify(Fs(l),null,2))}async function rT(){b("ours-mcp define-local-identity-file \u2014 interactive"),b(`Answer the prompts; the result is written to ${Ot(process.cwd(),qs)}.`),b("");let e=Ws({input:process.stdin,output:process.stdout});try{let t=async(i,a)=>{let c=a?"Y/n":"y/N",l=(await e.question(` ${i} [${c}]: `)).trim().toLowerCase();return l===""?a:l==="y"||l==="yes"},r="";for(;!r;)r=(await e.question(" Identity name: ")).trim(),r||b(" (name is required)");let n=await t("Force-bind (pin pre-authorizes evicting another session)?",!1),o=await t("Add to the host-local contact book?",!0),s=await t("Auto-accept local invites/introductions?",!0);return{name:r,force:n,exposeLocal:o,localAutoAccept:s}}finally{e.close()}}async function nT(e){let t=(e[0]??"").trim();(!t||t.startsWith("--"))&&(te('usage: ours-mcp create-root "<your name>"'),process.exit(1)),await Kt(ie)||(te(`create-root: the daemon is not running on port ${ie} \u2014 start it with \`ours-mcp start\`.`),process.exit(1));let r=new Xr(new URL(`http://127.0.0.1:${ie}/mcp`),{requestInit:{headers:So()}}),n=new Us({name:"ours-mcp-cli",version:vr});try{await n.connect(r);let o=await n.callTool({name:"create_root_identity",arguments:{name:t,skip_if_root_exists:!0}}),s=(Array.isArray(o.content)?o.content:[]).map(i=>typeof i.text=="string"?i.text:"").join(" ").split(/\n\nAsk the user\b/)[0].replace(/^create_root_identity failed: /,"").trim();if(o.isError){if(/a root identity already exists/i.test(s)){b(`create-root: ${s.split("\u2014")[0].trim()} \u2014 nothing to do.`);return}te(`create-root failed: ${s}`),process.exit(1)}b(s)}finally{try{await r.terminateSession()}catch{}try{await n.close()}catch{}}}function D_(e,t){t.event==="message_received"?b(`[${e}] new message from ${t.from??"?"}`+(t.msg_id!==void 0?` (#${t.msg_id})`:"")+(t.date?` (${t.date})`:"")):t.event==="file_received"?b(`[${e}] new file ${t.filename??"?"} from ${t.from??"?"}`+(t.bytes!==void 0?` (${t.bytes} B)`:"")+(t.file_id!==void 0?` (#${t.file_id})`:"")+(t.date?` (${t.date})`:"")):t.event==="local_contact_request"?b(`[${e}] pending local introduction from ${t.from??"?"} \u2014 respond_to_introduction to approve/reject`):t.event==="pending_message"&&b(`[${e}] ${t.from??"?"} queued a message awaiting introduction approval (${t.queued??"?"} queued)`)}function Ht(e){te(`ours-mcp watch: ${e}`),process.exit(1)}async function oT(){try{let e=new AbortController,t=setTimeout(()=>e.abort(),1500),r=await fetch(`http://127.0.0.1:${ie}/state-dir`,{signal:e.signal});if(clearTimeout(t),r.ok){let n=await r.json();return typeof n.stateDir=="string"&&n.stateDir?N_(n.stateDir):De}}catch{}return null}var sT=e=>`http://127.0.0.1:${ie}/identities/${encodeURIComponent(e)}/notifications`;async function I_(e){let t=async o=>{let s=new AbortController,i=setTimeout(()=>s.abort(),35e3),a;try{a=await fetch(`${sT(e)}?since=${o}`,{headers:So(),signal:s.signal})}finally{clearTimeout(i)}if(a.status===401&&Ht(`daemon rejected the API token (401) for identity "${e}". Set OURS_API_TOKEN to the daemon's token (shared mode) or run watch as the daemon owner (owner mode).`),!a.ok)throw new Error(`daemon returned HTTP ${a.status}`);return await a.json()},r=(await t("tip")).cursor??0,n=0;for(;;)try{let o=await t(String(r));if(n=0,Array.isArray(o.events))for(let s of o.events)D_(e,s);typeof o.cursor=="number"&&(r=o.cursor)}catch(o){n=Math.min(n+1e3,5e3),te(`ours-mcp watch: notifications stream for "${e}" hiccupped (${String(o?.message??o)}), retrying\u2026`),await Xs(n)}}async function iT(e){if(e){await I_(e);return}let t=new Set;for(;;){try{let r=await fetch(`http://127.0.0.1:${ie}/identities`,{headers:So()});if(r.status===401&&Ht("daemon rejected the API token (401). Set OURS_API_TOKEN or run watch as the daemon owner."),r.ok){let n=await r.json();for(let o of n.identities??[]){let s=typeof o?.name=="string"?o.name:void 0;s&&!t.has(s)&&(t.add(s),I_(s))}}}catch{}await Xs(3e3)}}var Fu=e=>{let t=e?.code;return t==="EACCES"||t==="EPERM"};function aT(e,t){try{H.readdirSync(e)}catch(i){Ht(`cannot watch \u2014 the daemon API is unreachable AND ${e} is not readable (${i?.code??i}). On a multi-user host, run watch as the daemon owner, or enable the daemon API (start the daemon) so watch can stream over HTTP.`)}if(t)try{H.readdirSync(Ot(e,t))}catch(i){Ht(`cannot watch identity "${t}" \u2014 ${Ot(e,t)} is not readable (${i?.code??i}). Is the daemon running and the name correct?`)}let r=new Map,n=i=>{let a;try{a=H.readdirSync(e,{withFileTypes:!0}).filter(c=>c.isDirectory()).map(c=>c.name)}catch(c){Fu(c)&&Ht(`lost read access to ${e} (${c.code}) \u2014 cannot watch.`);return}for(let c of a){if(t&&c!==t)continue;let l=Ot(e,c,"notifications.log"),u;try{u=H.statSync(l).size}catch(m){Fu(m)&&Ht(`cannot read ${l} (${m.code}) \u2014 cannot watch identity "${c}".`);continue}let d=r.get(l);if(d===void 0&&(d=i?u:0,r.set(l,d),i))continue;if(u<=d){u<d&&r.set(l,u);continue}let f;try{let m=H.openSync(l,"r"),h=Buffer.alloc(u-d);H.readSync(m,h,0,h.length,d),H.closeSync(m),f=h.toString("utf8")}catch(m){Fu(m)&&Ht(`cannot read ${l} (${m.code}) \u2014 cannot watch identity "${c}".`);continue}r.set(l,u);for(let m of f.split(`
86
- `))if(m.trim())try{D_(c,JSON.parse(m))}catch{}}};te(`ours-mcp watch: daemon API unreachable \u2014 falling back to file poll of ${e} (Ctrl-C to stop)`),n(!0);let o=setInterval(()=>n(!1),1e3),s=()=>{clearInterval(o),process.exit(0)};process.on("SIGINT",s),process.on("SIGTERM",s)}async function cT(){try{let e=await fetch(`http://127.0.0.1:${ie}/identities`,{headers:So()});return e.status===401&&Ht("daemon rejected the API token (401). Set OURS_API_TOKEN to the daemon's token (shared mode) or run watch as the daemon owner (owner mode)."),e.status===404?"file":e.ok?"api":"file"}catch{return"file"}}async function uT(e){let t=()=>process.exit(0);if(process.on("SIGINT",t),process.on("SIGTERM",t),await oT()!==null&&await cT()==="api"){te(`ours-mcp watch: streaming ${e?`identity "${e}"`:"all identities"} from the daemon API on port ${ie} (Ctrl-C to stop)`),await iT(e);return}aT(De,e)}var $o="ours.service",Z_="solutions.adaptframework.ours";function q_(){return Ot(C_(),".config","systemd","user",$o)}function L_(){return Ot(C_(),"Library","LaunchAgents",`${Z_}.plist`)}function tn(e,t){return rn(e,t,{stdio:"inherit"}).status===0}function lT(){let e=q_();H.mkdirSync(Hu(e),{recursive:!0});let t=`[Unit]
79
+ Exit 2 means restart/readiness failed after a write and rollback was attempted.`;import*as yr from"node:fs";import{join as LP}from"node:path";var FP="startup-progress.json",VP=1,T_={initializing:"Initializing daemon",wrapper:"Starting protocol runtime",registrar:"Starting local contact book",identities:"Restoring identities",reconciliation:"Reconciling restored identities",server:"Opening local API",ready:"Daemon ready",failed:"Daemon startup failed"};function HP(e){return LP(e,FP)}function BP(e){return typeof e=="string"&&Object.hasOwn(T_,e)}function R_(e){try{let t=JSON.parse(yr.readFileSync(HP(e),"utf8"));return t.version!==VP||!Number.isInteger(t.pid)||(t.pid??0)<=0||typeof t.bootId!="string"||!t.bootId||!BP(t.phase)||!Number.isFinite(t.startedAt)||!Number.isFinite(t.updatedAt)||(t.completed!==void 0||t.total!==void 0)&&(!Number.isInteger(t.completed)||!Number.isInteger(t.total)||(t.completed??-1)<0||(t.total??-1)<0||(t.completed??0)>(t.total??0))?null:t}catch{return null}}function qu(e){let t=T_[e.phase];return e.phase==="identities"&&e.completed!==void 0&&e.total!==void 0?`${t} ${e.completed}/${e.total}`:t}function E_(e,t){let r=`startup: ${qu(e)}`;return t?`\r${r}\x1B[K`:`${r}
80
+ `}async function I_(e){let t=e.now??Date.now,r=e.sleep??(c=>new Promise(u=>setTimeout(u,c))),n=t(),o=n,s=-1,i="",a=null;for(;;){if(await e.isReady())return{ok:!0,elapsedMs:t()-n,lastProgress:a};let c=e.readProgress();if(c?.pid===e.pid){a=c,c.updatedAt>s&&(s=c.updatedAt,o=t());let p=`${c.phase}:${c.completed??""}:${c.total??""}`;if(p!==i&&(i=p,e.onProgress?.(c)),c.phase==="failed")return{ok:!1,reason:"daemon-reported-failure",elapsedMs:t()-n,lastProgress:a}}if(!e.isProcessAlive())return{ok:!1,reason:"process-exited",elapsedMs:t()-n,lastProgress:a};let u=t()-n;if(u>=e.absoluteMs)return{ok:!1,reason:"absolute-timeout",elapsedMs:u,lastProgress:a};if(t()-o>=e.inactivityMs)return{ok:!1,reason:"inactivity-timeout",elapsedMs:u,lastProgress:a};let l=e.absoluteMs-u,d=e.inactivityMs-(t()-o);await r(Math.max(1,Math.min(e.pollMs,l,d)))}}if(!process.env.XDG_RUNTIME_DIR&&typeof process.getuid=="function"){let e=`/run/user/${process.getuid()}`;H.existsSync(e)&&(process.env.XDG_RUNTIME_DIR=e)}var wt=Cu(),Ze=wt.stateDir,se=wt.port,ko=()=>{let e=Nu(wt,{generate:!1})?.token??null;return e?{"x-ours-api-token":e}:{}},sn=wt.brokerUrl,wr=At(Ze,"daemon.pid"),vr=At(Ze,"daemon.log"),Jt=JP(import.meta.url),b=(...e)=>process.stdout.write(`${e.join(" ")}
81
+ `),ee=(...e)=>process.stderr.write(`${e.join(" ")}
82
+ `),br="0.16.1";async function Bu(){for(let e of["/version","/state-dir"])try{let t=new AbortController,r=setTimeout(()=>t.abort(),1500),n=await fetch(`http://127.0.0.1:${se}${e}`,{signal:t.signal});if(clearTimeout(r),n.ok){let o=await n.json();if(o&&typeof o.version=="string")return o}}catch{}return null}function O_(e){if(b(` cli: v${br}`),e?.version){let t=e.version!==br;b(` daemon: v${e.version}${e.compat?` (compat ${e.compat})`:""}`+(t?` \u26A0 differs from CLI \u2014 \`ours-mcp restart\` to load v${br}`:""))}else b(" daemon: version unknown (running build predates /version \u2014 restart to update)")}var ti=e=>new Promise(t=>setTimeout(t,e));function WP(){try{let e=parseInt(H.readFileSync(wr,"utf8").trim(),10);return Number.isFinite(e)?e:null}catch{return null}}function Xs(e){try{if(process.kill(e,0),process.platform==="linux")try{if(h_(H.readFileSync(`/proc/${e}/stat`,"utf8")))return!1}catch{try{process.kill(e,0)}catch{return!1}}return!0}catch{return!1}}function an(){let e=WP();if(e&&Xs(e))return e;if(e)try{H.rmSync(wr,{force:!0})}catch{}return null}function Gt(e,t=1e3){return new Promise(r=>{let n=KP({host:"127.0.0.1",port:e}),o=s=>{n.destroy(),r(s)};n.setTimeout(t),n.once("connect",()=>o(!0)),n.once("timeout",()=>o(!1)),n.once("error",()=>o(!1))})}async function YP(e,t=3e4){let r=Date.now()+t;for(;Date.now()<r;){if(await Gt(e))return!0;await ti(400)}return!1}function Ju(e,t){let r=Number(process.env[e]||"");return Number.isFinite(r)&&r>0?r:t}var Z_=Ju("OURS_TEST_STARTUP_ABSOLUTE_MS",18e4),q_=Ju("OURS_TEST_STARTUP_INACTIVITY_MS",3e4),L_=Ju("OURS_TEST_STARTUP_POLL_MS",400);async function QP(e){let t=new AbortController,r=setTimeout(()=>t.abort(),Math.min(1e3,L_));try{let n=await fetch(`http://127.0.0.1:${e}/identities`,{signal:t.signal,headers:ko()}),o=n.ok;try{await n.body?.cancel()}catch{}return o}catch{return!1}finally{clearTimeout(r)}}function A_(e){return e<1e3?`${Math.round(e)}ms`:e%6e4===0?`${e/6e4}m`:`${Math.round(e/1e3)}s`}function XP(e,t){let r=t?` Last phase: ${qu(t)}.`:"";return e==="process-exited"||e==="daemon-reported-failure"?`daemon exited before becoming ready.${r}`:e==="inactivity-timeout"?`daemon startup made no observable progress for ${A_(q_)}.${r} The process is still running, but startup is stalled.`:`daemon startup did not finish within ${A_(Z_)}.${r} The bounded wait expired.`}async function C_(){let e=an();if(e){b(`ours-mcp is already running (pid ${e}, port ${se}).`);return}H.mkdirSync(Ze,{recursive:!0});let t=H.openSync(vr,"a"),r=M_(process.execPath,[Jt,"serve"],{detached:!0,stdio:["ignore",t,t],env:{...process.env,OURS_TRANSPORT:"http",OURS_PORT:String(se),OURS_BROKER_URL:sn,OURS_STATE_DIR:Ze}});r.unref(),r.pid||(ee("failed to spawn the daemon."),process.exit(1)),H.writeFileSync(wr,String(r.pid)),b(`starting ours-mcp (pid ${r.pid})\u2026`);let n=!!process.stderr.isTTY,o=!1,s=await I_({pid:r.pid,absoluteMs:Z_,inactivityMs:q_,pollMs:L_,isProcessAlive:()=>Xs(r.pid),isReady:()=>QP(se),readProgress:()=>R_(Ze),onProgress:i=>{o=!0,process.stderr.write(E_(i,n))}});o&&n&&process.stderr.write(`
83
+ `),s.ok?(b(`ours-mcp is up on http://localhost:${se}/mcp`),b(` broker: ${sn}`),b(` state: ${Ze}`),b(` logs: ${vr}`)):(ee(`${XP(s.reason,s.lastProgress)} Check ${vr}.`),process.exit(1))}async function eT(){if(!await Gt(se)){if(!an()){H.mkdirSync(Ze,{recursive:!0});let e=H.openSync(vr,"a"),t=M_(process.execPath,[Jt,"serve"],{detached:!0,stdio:["ignore",e,e],env:{...process.env,OURS_TRANSPORT:"http",OURS_PORT:String(se),OURS_BROKER_URL:sn,OURS_STATE_DIR:Ze}});if(t.unref(),t.pid)try{H.writeFileSync(wr,String(t.pid))}catch{}}await YP(se)}}async function ei(){let e=an();if(!e){b("ours-mcp is not running.");return}b(`stopping ours-mcp (pid ${e})\u2026`);try{process.kill(e,"SIGTERM")}catch(t){ee(`failed to signal pid ${e}: ${String(t)}`)}for(let t=0;t<25&&Xs(e);t++)await ti(200);if(Xs(e)){ee(`pid ${e} did not exit; sending SIGKILL.`);try{process.kill(e,"SIGKILL")}catch{}}try{H.rmSync(wr,{force:!0})}catch{}b("stopped.")}async function tT(){let e=an();if(!e){if(await Gt(se)){let n=await Bu();b("ours-mcp: running (no pidfile \u2014 likely a stale process or external launcher)"),b(` url: http://localhost:${se}/mcp (reachable)`),O_(n);return}b("ours-mcp: stopped"),b(` cli: v${br}`),process.exitCode=1;return}let t=await Gt(se),r=t?await Bu():null;b("ours-mcp: running"),b(` pid: ${e}`),b(` url: http://localhost:${se}/mcp ${t?"(reachable)":"(port not answering!)"}`),b(` broker: ${sn}`),b(` state: ${Ze}`),b(` logs: ${vr}`),O_(r)}async function rT(){if(b(`ours-mcp v${br}`),await Gt(se)){let e=await Bu();e?.version?b(`running daemon: v${e.version}`+(e.version!==br?" (differs \u2014 restart to update)":"")):b("running daemon: version unknown (predates /version)")}else b("daemon: not running")}async function nT(){let e=Cu(),t=$o();b(`ours-mcp setup \u2014 ${t}`),b("Enter a value, or press Enter to keep the current [bracketed] one."),b("");let r=Qs({input:process.stdin,output:process.stdout}),n;try{let l=async(ie,_e)=>{let we=(await r.question(` ${ie} [${_e}]: `)).trim();return we===""?_e:we},d=await l("broker URL",e.brokerUrl),p=await l("HTTP port",String(e.port)),m=await l("state dir",e.stateDir),h=await l("GC interval (ms)",String(e.gcIntervalMs)),g=await l("proxy auto-starts daemon (true/false)",String(e.autoStart)),y=await l("HTTP visibility (owner=same-user only / shared=cross-user w/ token / open=all local users)",e.apiVisibility);b(""),b(" Voice-message transcription (STT). Leave provider empty to keep it off \u2014"),b(" agents then deterministically tell users voice messages cannot be read."),b(" No provider or model is assumed; model strings pass to your provider verbatim.");let S=(await r.question(` STT provider (openai-compatible / elevenlabs / deepgram / custom, empty=off) [${e.stt?.provider??""}]: `)).trim()||(e.stt?.provider??""),$=e.stt?.model??"",w=e.stt?.baseUrl??"";S&&($=await l("STT model (verbatim, e.g. whisper-large-v3-turbo / scribe_v1 / nova-2)",$),w=await l("STT base URL (required for openai-compatible; empty = provider default)",w),b(" (API key is not echoed here. Run `ours-mcp voice-setup` for guided hidden input,"),b(" or set OURS_STT_API_KEY for environment-only secret injection.)"));let T=parseInt(p,10);(!Number.isFinite(T)||T<=0)&&(ee(`invalid port: ${p}`),process.exit(1));let v=parseInt(h,10);(!Number.isFinite(v)||v<=0)&&(ee(`invalid GC interval: ${h}`),process.exit(1));let k=g.toLowerCase()==="true"||g==="1",C=y.trim().toLowerCase();wo.includes(C)||(ee(`invalid visibility: ${y} (expected one of ${wo.join(", ")})`),process.exit(1));let W=S?{...e.stt??{},provider:S,...$?{model:$}:{},...w?{baseUrl:w}:{}}:e.stt;n={brokerUrl:d,port:T,stateDir:D_(m),gcIntervalMs:v,autoStart:k,apiVisibility:C,...e.apiToken?{apiToken:e.apiToken}:{},...W?{stt:W}:{}}}finally{r.close()}n_(n),b(""),b(`wrote ${t} (mode 0600):`);let o={...n,...n.apiToken?{apiToken:"[redacted]"}:{},...n.stt?{stt:{...n.stt,...n.stt.apiKey?{apiKey:"[redacted]"}:{}}}:{}};b(JSON.stringify(o,null,2));let s=["OURS_BROKER_URL","OURS_PORT","OURS_STATE_DIR","OURS_GC_INTERVAL_MS","OURS_AUTOSTART","OURS_API_VISIBILITY","OURS_API_TOKEN","OURS_STT_PROVIDER","OURS_STT_API_KEY","OURS_STT_MODEL","OURS_STT_BASE_URL","OURS_STT_LANGUAGE"].filter(l=>process.env[l]!==void 0);s.length&&(b(""),b(`note: these env vars are set and OVERRIDE the file at runtime: ${s.join(", ")}`));let i=an();if(!i)return;let a=Qs({input:process.stdin,output:process.stdout}),c=!1;try{let l=(await a.question(`
84
+ daemon is running (pid ${i}); restart now to apply? [y/N]: `)).trim().toLowerCase();c=l==="y"||l==="yes"}finally{a.close()}if(!c){b("not restarting \u2014 changes apply on the next `ours-mcp restart`.");return}await ei();let u=on(process.execPath,[Jt,"start"],{stdio:"inherit"});u.status!==0&&process.exit(u.status??1)}function oT(e){let t=So(wt.stt),r=wt.stt?.provider?.trim().toLowerCase()||null,n=process.env.OURS_STT_API_KEY?.trim()?"environment":wt.stt?.apiKey?.trim()?"config":"missing",o=t.ready?{ready:!0,provider:t.provider,apiKey:"configured",keySource:n}:{ready:!1,provider:r,apiKey:n==="missing"?"missing":"configured",keySource:n,reason:t.reason};if(e.includes("--json")){b(JSON.stringify(o));return}o.ready?b(`voice transcription: ready (${o.provider}; API key from ${o.keySource})`):b(`voice transcription: not ready \u2014 ${o.reason}`)}async function sT(e){if(e.includes("--help")||e.includes("-h")){b(P_);return}let t=new Set(["--dry-run"]);if(e.filter(i=>!t.has(i)).length){ee("voice-setup: unsupported command-line option or argument"),ee("The provider key is never accepted as a CLI argument. Run `ours-mcp voice-setup --help`."),process.exitCode=1;return}let n=an()!==null,o=await Gt(se),s=await z_({configFile:$o(),env:process.env,dryRun:e.includes("--dry-run"),daemonState:n?"managed":o?"external":"stopped",apply:async()=>{let i=on(process.execPath,[Jt,"restart"],{stdio:"inherit"});if(i.error||i.status!==0)return{ok:!1};let a=on(process.execPath,[Jt,"voice-status","--json"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]});if(a.error||a.status!==0)return{ok:!1};try{return{ok:JSON.parse(a.stdout||"{}").ready===!0}}catch{return{ok:!1}}}});s!==0&&(process.exitCode=s)}function Fu(e,t,r){return e.includes(r)?{value:!1,set:!0}:e.includes(t)?{value:!0,set:!0}:{value:void 0,set:!1}}function Vu(e,t){let r=e.indexOf(t);return r>=0&&r+1<e.length?e[r+1]:void 0}async function iT(e){let t=Vu(e,"--name"),r=Fu(e,"--force-bind","--no-force-bind"),n=Fu(e,"--local-book","--no-local-book"),o=Fu(e,"--auto-accept-local","--no-auto-accept-local"),s=e.includes("--overwrite"),i=e.includes("--print"),a=Vu(e,"--path")??Vu(e,"--dir")??process.cwd(),c=t!==void 0||r.set||n.set||o.set||i,u;if(c?((!t||!t.trim())&&(ee("define-local-identity-file: --name is required in non-interactive mode."),process.exit(1)),u={name:t.trim(),force:r.value??!1,exposeLocal:n.value??!0,localAutoAccept:o.value??!0}):u=await aT(),i){b(JSON.stringify(Hs(u),null,2));return}let l=ju(a);if(!s&&H.existsSync(l)){c&&(ee(`define-local-identity-file: ${l} already exists \u2014 pass --overwrite to replace it.`),process.exit(1));let p=Qs({input:process.stdin,output:process.stdout}),m=!1;try{let h=(await p.question(`
85
+ ${l} already exists \u2014 overwrite? [y/N]: `)).trim().toLowerCase();m=h==="y"||h==="yes"}finally{p.close()}if(!m){b("aborted \u2014 nothing written.");return}}let d=o_(a,u,!0);b(""),b(`wrote ${d}:`),b(JSON.stringify(Hs(u),null,2))}async function aT(){b("ours-mcp define-local-identity-file \u2014 interactive"),b(`Answer the prompts; the result is written to ${At(process.cwd(),Fs)}.`),b("");let e=Qs({input:process.stdin,output:process.stdout});try{let t=async(i,a)=>{let c=a?"Y/n":"y/N",u=(await e.question(` ${i} [${c}]: `)).trim().toLowerCase();return u===""?a:u==="y"||u==="yes"},r="";for(;!r;)r=(await e.question(" Identity name: ")).trim(),r||b(" (name is required)");let n=await t("Force-bind (pin pre-authorizes evicting another session)?",!1),o=await t("Add to the host-local contact book?",!0),s=await t("Auto-accept local invites/introductions?",!0);return{name:r,force:n,exposeLocal:o,localAutoAccept:s}}finally{e.close()}}async function cT(e){let t=(e[0]??"").trim();(!t||t.startsWith("--"))&&(ee('usage: ours-mcp create-root "<your name>"'),process.exit(1)),await Gt(se)||(ee(`create-root: the daemon is not running on port ${se} \u2014 start it with \`ours-mcp start\`.`),process.exit(1));let r=new tn(new URL(`http://127.0.0.1:${se}/mcp`),{requestInit:{headers:ko()}}),n=new Zs({name:"ours-mcp-cli",version:br});try{await n.connect(r);let o=await n.callTool({name:"create_root_identity",arguments:{name:t,skip_if_root_exists:!0}}),s=(Array.isArray(o.content)?o.content:[]).map(i=>typeof i.text=="string"?i.text:"").join(" ").split(/\n\nAsk the user\b/)[0].replace(/^create_root_identity failed: /,"").trim();if(o.isError){if(/a root identity already exists/i.test(s)){b(`create-root: ${s.split("\u2014")[0].trim()} \u2014 nothing to do.`);return}ee(`create-root failed: ${s}`),process.exit(1)}b(s)}finally{try{await r.terminateSession()}catch{}try{await n.close()}catch{}}}function F_(e,t){t.event==="message_received"?b(`[${e}] new message from ${t.from??"?"}`+(t.msg_id!==void 0?` (#${t.msg_id})`:"")+(t.date?` (${t.date})`:"")):t.event==="file_received"?b(`[${e}] new file ${t.filename??"?"} from ${t.from??"?"}`+(t.bytes!==void 0?` (${t.bytes} B)`:"")+(t.file_id!==void 0?` (#${t.file_id})`:"")+(t.date?` (${t.date})`:"")):t.event==="local_contact_request"?b(`[${e}] pending local introduction from ${t.from??"?"} \u2014 respond_to_introduction to approve/reject`):t.event==="pending_message"&&b(`[${e}] ${t.from??"?"} queued a message awaiting introduction approval (${t.queued??"?"} queued)`)}function Kt(e){ee(`ours-mcp watch: ${e}`),process.exit(1)}async function uT(){try{let e=new AbortController,t=setTimeout(()=>e.abort(),1500),r=await fetch(`http://127.0.0.1:${se}/state-dir`,{signal:e.signal});if(clearTimeout(t),r.ok){let n=await r.json();return typeof n.stateDir=="string"&&n.stateDir?D_(n.stateDir):Ze}}catch{}return null}var lT=e=>`http://127.0.0.1:${se}/identities/${encodeURIComponent(e)}/notifications`;async function N_(e){let t=async o=>{let s=new AbortController,i=setTimeout(()=>s.abort(),35e3),a;try{a=await fetch(`${lT(e)}?since=${o}`,{headers:ko(),signal:s.signal})}finally{clearTimeout(i)}if(a.status===401&&Kt(`daemon rejected the API token (401) for identity "${e}". Set OURS_API_TOKEN to the daemon's token (shared mode) or run watch as the daemon owner (owner mode).`),!a.ok)throw new Error(`daemon returned HTTP ${a.status}`);return await a.json()},r=(await t("tip")).cursor??0,n=0;for(;;)try{let o=await t(String(r));if(n=0,Array.isArray(o.events))for(let s of o.events)F_(e,s);typeof o.cursor=="number"&&(r=o.cursor)}catch(o){n=Math.min(n+1e3,5e3),ee(`ours-mcp watch: notifications stream for "${e}" hiccupped (${String(o?.message??o)}), retrying\u2026`),await ti(n)}}async function dT(e){if(e){await N_(e);return}let t=new Set;for(;;){try{let r=await fetch(`http://127.0.0.1:${se}/identities`,{headers:ko()});if(r.status===401&&Kt("daemon rejected the API token (401). Set OURS_API_TOKEN or run watch as the daemon owner."),r.ok){let n=await r.json();for(let o of n.identities??[]){let s=typeof o?.name=="string"?o.name:void 0;s&&!t.has(s)&&(t.add(s),N_(s))}}}catch{}await ti(3e3)}}var Hu=e=>{let t=e?.code;return t==="EACCES"||t==="EPERM"};function pT(e,t){try{H.readdirSync(e)}catch(i){Kt(`cannot watch \u2014 the daemon API is unreachable AND ${e} is not readable (${i?.code??i}). On a multi-user host, run watch as the daemon owner, or enable the daemon API (start the daemon) so watch can stream over HTTP.`)}if(t)try{H.readdirSync(At(e,t))}catch(i){Kt(`cannot watch identity "${t}" \u2014 ${At(e,t)} is not readable (${i?.code??i}). Is the daemon running and the name correct?`)}let r=new Map,n=i=>{let a;try{a=H.readdirSync(e,{withFileTypes:!0}).filter(c=>c.isDirectory()).map(c=>c.name)}catch(c){Hu(c)&&Kt(`lost read access to ${e} (${c.code}) \u2014 cannot watch.`);return}for(let c of a){if(t&&c!==t)continue;let u=At(e,c,"notifications.log"),l;try{l=H.statSync(u).size}catch(m){Hu(m)&&Kt(`cannot read ${u} (${m.code}) \u2014 cannot watch identity "${c}".`);continue}let d=r.get(u);if(d===void 0&&(d=i?l:0,r.set(u,d),i))continue;if(l<=d){l<d&&r.set(u,l);continue}let p;try{let m=H.openSync(u,"r"),h=Buffer.alloc(l-d);H.readSync(m,h,0,h.length,d),H.closeSync(m),p=h.toString("utf8")}catch(m){Hu(m)&&Kt(`cannot read ${u} (${m.code}) \u2014 cannot watch identity "${c}".`);continue}r.set(u,l);for(let m of p.split(`
86
+ `))if(m.trim())try{F_(c,JSON.parse(m))}catch{}}};ee(`ours-mcp watch: daemon API unreachable \u2014 falling back to file poll of ${e} (Ctrl-C to stop)`),n(!0);let o=setInterval(()=>n(!1),1e3),s=()=>{clearInterval(o),process.exit(0)};process.on("SIGINT",s),process.on("SIGTERM",s)}async function fT(){try{let e=await fetch(`http://127.0.0.1:${se}/identities`,{headers:ko()});return e.status===401&&Kt("daemon rejected the API token (401). Set OURS_API_TOKEN to the daemon's token (shared mode) or run watch as the daemon owner (owner mode)."),e.status===404?"file":e.ok?"api":"file"}catch{return"file"}}async function mT(e){let t=()=>process.exit(0);if(process.on("SIGINT",t),process.on("SIGTERM",t),await uT()!==null&&await fT()==="api"){ee(`ours-mcp watch: streaming ${e?`identity "${e}"`:"all identities"} from the daemon API on port ${se} (Ctrl-C to stop)`),await dT(e);return}pT(Ze,e)}var xo="ours.service",V_="solutions.adaptframework.ours";function H_(){return At(U_(),".config","systemd","user",xo)}function B_(){return At(U_(),"Library","LaunchAgents",`${V_}.plist`)}function nn(e,t){return on(e,t,{stdio:"inherit"}).status===0}function hT(){let e=H_();H.mkdirSync(Ku(e),{recursive:!0});let t=`[Unit]
87
87
  Description=ours MCP daemon (secure agent-to-agent messaging over ADAPT)
88
88
  After=network-online.target
89
89
  Wants=network-online.target
90
90
 
91
91
  [Service]
92
92
  Type=simple
93
- ExecStart=${process.execPath} ${Bt} serve
93
+ ExecStart=${process.execPath} ${Jt} serve
94
94
  Environment=OURS_TRANSPORT=http
95
- Environment=OURS_PORT=${ie}
96
- Environment=OURS_BROKER_URL=${nn}
97
- Environment=OURS_STATE_DIR=${De}
95
+ Environment=OURS_PORT=${se}
96
+ Environment=OURS_BROKER_URL=${sn}
97
+ Environment=OURS_STATE_DIR=${Ze}
98
98
  Restart=on-failure
99
99
  RestartSec=2
100
100
 
101
101
  [Install]
102
102
  WantedBy=default.target
103
- `;H.writeFileSync(e,t),b(`wrote ${e}`),tn("systemctl",["--user","daemon-reload"]),tn("systemctl",["--user","enable","--now",$o])||(te("failed to enable/start the service via systemctl --user."),process.env.XDG_RUNTIME_DIR||(te(`hint: no user runtime dir \u2014 enable linger: sudo loginctl enable-linger ${Zu().username}`),te(" (if linger is already on: export XDG_RUNTIME_DIR=/run/user/$(id -u))")),process.exit(1)),tn("loginctl",["enable-linger",Zu().username])||(te("warning: could not enable linger \u2014 the daemon may not start until you log in."),te(` run manually: loginctl enable-linger ${Zu().username}`)),b(""),b("ours-mcp installed as a systemd user service and started."),b(` status: systemctl --user status ${$o}`),b(` logs: journalctl --user -u ${$o} -f`),b(" remove: ours-mcp uninstall-service")}function dT(){tn("systemctl",["--user","disable","--now",$o]);let e=q_();try{H.rmSync(e,{force:!0}),b(`removed ${e}`)}catch(t){te(`failed to remove ${e}: ${String(t)}`)}tn("systemctl",["--user","daemon-reload"]),b("ours-mcp service uninstalled.")}function pT(){let e=L_();H.mkdirSync(Hu(e),{recursive:!0});let t=`<?xml version="1.0" encoding="UTF-8"?>
103
+ `;H.writeFileSync(e,t),b(`wrote ${e}`),nn("systemctl",["--user","daemon-reload"]),nn("systemctl",["--user","enable","--now",xo])||(ee("failed to enable/start the service via systemctl --user."),process.env.XDG_RUNTIME_DIR||(ee(`hint: no user runtime dir \u2014 enable linger: sudo loginctl enable-linger ${Lu().username}`),ee(" (if linger is already on: export XDG_RUNTIME_DIR=/run/user/$(id -u))")),process.exit(1)),nn("loginctl",["enable-linger",Lu().username])||(ee("warning: could not enable linger \u2014 the daemon may not start until you log in."),ee(` run manually: loginctl enable-linger ${Lu().username}`)),b(""),b("ours-mcp installed as a systemd user service and started."),b(` status: systemctl --user status ${xo}`),b(` logs: journalctl --user -u ${xo} -f`),b(" remove: ours-mcp uninstall-service")}function gT(){nn("systemctl",["--user","disable","--now",xo]);let e=H_();try{H.rmSync(e,{force:!0}),b(`removed ${e}`)}catch(t){ee(`failed to remove ${e}: ${String(t)}`)}nn("systemctl",["--user","daemon-reload"]),b("ours-mcp service uninstalled.")}function _T(){let e=B_();H.mkdirSync(Ku(e),{recursive:!0});let t=`<?xml version="1.0" encoding="UTF-8"?>
104
104
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
105
105
  <plist version="1.0">
106
106
  <dict>
107
- <key>Label</key><string>${Z_}</string>
107
+ <key>Label</key><string>${V_}</string>
108
108
  <key>ProgramArguments</key>
109
109
  <array>
110
110
  <string>${process.execPath}</string>
111
- <string>${Bt}</string>
111
+ <string>${Jt}</string>
112
112
  <string>serve</string>
113
113
  </array>
114
114
  <key>EnvironmentVariables</key>
115
115
  <dict>
116
116
  <key>OURS_TRANSPORT</key><string>http</string>
117
- <key>OURS_PORT</key><string>${ie}</string>
118
- <key>OURS_BROKER_URL</key><string>${nn}</string>
119
- <key>OURS_STATE_DIR</key><string>${De}</string>
117
+ <key>OURS_PORT</key><string>${se}</string>
118
+ <key>OURS_BROKER_URL</key><string>${sn}</string>
119
+ <key>OURS_STATE_DIR</key><string>${Ze}</string>
120
120
  </dict>
121
121
  <key>RunAtLoad</key><true/>
122
122
  <key>KeepAlive</key><true/>
123
- <key>StandardOutPath</key><string>${yr}</string>
124
- <key>StandardErrorPath</key><string>${yr}</string>
123
+ <key>StandardOutPath</key><string>${vr}</string>
124
+ <key>StandardErrorPath</key><string>${vr}</string>
125
125
  </dict>
126
126
  </plist>
127
- `;H.writeFileSync(e,t),b(`wrote ${e}`);let r=`gui/${process.getuid()}`;rn("launchctl",["bootout",r,e],{stdio:"ignore"}),tn("launchctl",["bootstrap",r,e])||(te("failed to load the launchd agent."),process.exit(1)),b(""),b("ours-mcp installed as a launchd agent and started."),b(" remove: ours-mcp uninstall-service")}function fT(){let e=L_(),t=`gui/${process.getuid()}`;rn("launchctl",["bootout",t,e],{stdio:"ignore"});try{H.rmSync(e,{force:!0}),b(`removed ${e}`)}catch(r){te(`failed to remove ${e}: ${String(r)}`)}b("ours-mcp service uninstalled.")}async function mT(){if(await Qs(),process.platform==="linux")return lT();if(process.platform==="darwin")return pT();te(`install-service: unsupported platform "${process.platform}" (only linux/systemd and macOS/launchd).`),process.exit(1)}function hT(){if(process.platform==="linux")return dT();if(process.platform==="darwin")return fT();te(`uninstall-service: unsupported platform "${process.platform}".`),process.exit(1)}function O_(){b("ours-mcp \u2014 daemon for the ours MCP server"),b(""),b("Usage: ours-mcp <command>"),b(" start start in the background; show structured progress until ready"),b(" stop stop the running daemon"),b(" restart stop then start; healthy slow restores may take up to 3 minutes"),b(" status show whether the daemon is running (incl. CLI + running-daemon version)"),b(" version print the CLI version and the running daemon version (GET /version)"),b(" setup interactively edit the config file (broker / port / state dir / gc)"),b(" voice-setup [--dry-run] securely choose a provider and configure its hidden API key"),b(" voice-status [--json] check voice-transcription readiness (never prints the API key)"),b(" serve run in the foreground (used by start; handy for debugging)"),b(" watch [identity] stream one line per new inbound message (wake source for a Monitor)"),b(" proxy per-session stdio shim \u2192 daemon (stable binding; for the MCP client config)"),b(""),b(' create-root "<name>" create THE root human identity (one per host) via the running'),b(" daemon \u2014 quiet no-op if a root already exists (installer seam)"),b(""),b(" define-local-identity-file write a .ours-identity workspace pin"),b(" interactive (default): 4-question survey, writes to CWD"),b(" scripted: --name <s> [--force-bind] [--local-book] [--auto-accept-local]"),b(" negate with --no-force-bind / --no-local-book / --no-auto-accept-local"),b(" --dir <path> | --path <file> (default CWD) \xB7 --overwrite \xB7 --print"),b(""),b(" install-service install + start a boot-persistent service (systemd/launchd)"),b(" uninstall-service stop + remove that service"),b(""),b("Config precedence (per field): env var > config.json > default."),b(" config.json: OURS_CONFIG, else ~/.ours/config.json \u2014 edit with `setup`."),b(" env: OURS_BROKER_URL, OURS_PORT (3050), OURS_STATE_DIR (~/.ours), OURS_GC_INTERVAL_MS (3600000), OURS_AUTOSTART (off)"),b("(install-service bakes the resolved config values into the service definition.)")}async function gT(){let e=process.argv[2]??"help";switch(e){case"serve":case"run":process.env.OURS_TRANSPORT||(process.env.OURS_TRANSPORT="http"),H.mkdirSync(De,{recursive:!0}),H.writeFileSync(br,String(process.pid));{let t=()=>{try{H.rmSync(br,{force:!0})}catch{}};process.on("exit",t);for(let r of["SIGTERM","SIGINT"])process.on(r,()=>{t(),process.exit(0)})}await import(VP(Ot(Hu(Bt),"index.js")).href);break;case"start":await E_();break;case"stop":await Qs();break;case"restart":await Qs(),await E_();break;case"status":await WP();break;case"version":case"--version":case"-v":await YP();break;case"setup":await QP();break;case"voice-status":case"stt-status":XP(process.argv.slice(3));break;case"voice-setup":case"stt-setup":await eT(process.argv.slice(3));break;case"create-root":await nT(process.argv.slice(3));break;case"define-local-identity-file":await tT(process.argv.slice(3));break;case"watch":await uT(process.argv[3]);break;case"proxy":!wt.autoStart&&!await Kt(ie)&&(te(`ours-mcp daemon is not running on port ${ie} \u2014 start it with \`ours-mcp start\`.`),te("(or enable auto-start: `ours-mcp setup` \u2192 autoStart, or OURS_AUTOSTART=1)"),process.exit(1)),await l_({url:`http://127.0.0.1:${ie}/mcp`,ensureDaemon:wt.autoStart?GP:void 0,stateDir:De,apiToken:Au(wt,{generate:!1})?.token});break;case"install-service":await mT();break;case"uninstall-service":hT();break;case"help":case"--help":case"-h":O_();break;default:te(`unknown command: ${e}
128
- `),O_(),process.exit(1)}}gT().catch(e=>{te(`ours-mcp error: ${e?.stack??e}`),process.exit(1)});
127
+ `;H.writeFileSync(e,t),b(`wrote ${e}`);let r=`gui/${process.getuid()}`;on("launchctl",["bootout",r,e],{stdio:"ignore"}),nn("launchctl",["bootstrap",r,e])||(ee("failed to load the launchd agent."),process.exit(1)),b(""),b("ours-mcp installed as a launchd agent and started."),b(" remove: ours-mcp uninstall-service")}function yT(){let e=B_(),t=`gui/${process.getuid()}`;on("launchctl",["bootout",t,e],{stdio:"ignore"});try{H.rmSync(e,{force:!0}),b(`removed ${e}`)}catch(r){ee(`failed to remove ${e}: ${String(r)}`)}b("ours-mcp service uninstalled.")}async function vT(){if(await ei(),process.platform==="linux")return hT();if(process.platform==="darwin")return _T();ee(`install-service: unsupported platform "${process.platform}" (only linux/systemd and macOS/launchd).`),process.exit(1)}function bT(){if(process.platform==="linux")return gT();if(process.platform==="darwin")return yT();ee(`uninstall-service: unsupported platform "${process.platform}".`),process.exit(1)}function j_(){b("ours-mcp \u2014 daemon for the ours MCP server"),b(""),b("Usage: ours-mcp <command>"),b(" start start in the background; show structured progress until ready"),b(" stop stop the running daemon"),b(" restart stop then start; healthy slow restores may take up to 3 minutes"),b(" status show whether the daemon is running (incl. CLI + running-daemon version)"),b(" version print the CLI version and the running daemon version (GET /version)"),b(" setup interactively edit the config file (broker / port / state dir / gc)"),b(" voice-setup [--dry-run] securely choose a provider and configure its hidden API key"),b(" voice-status [--json] check voice-transcription readiness (never prints the API key)"),b(" serve run in the foreground (used by start; handy for debugging)"),b(" watch [identity] stream one line per new inbound message (wake source for a Monitor)"),b(" proxy per-session stdio shim \u2192 daemon (stable binding; for the MCP client config)"),b(""),b(' create-root "<name>" create THE root human identity (one per host) via the running'),b(" daemon \u2014 quiet no-op if a root already exists (installer seam)"),b(""),b(" define-local-identity-file write a .ours-identity workspace pin"),b(" interactive (default): 4-question survey, writes to CWD"),b(" scripted: --name <s> [--force-bind] [--local-book] [--auto-accept-local]"),b(" negate with --no-force-bind / --no-local-book / --no-auto-accept-local"),b(" --dir <path> | --path <file> (default CWD) \xB7 --overwrite \xB7 --print"),b(""),b(" install-service install + start a boot-persistent service (systemd/launchd)"),b(" uninstall-service stop + remove that service"),b(""),b("Config precedence (per field): env var > config.json > default."),b(" config.json: OURS_CONFIG, else ~/.ours/config.json \u2014 edit with `setup`."),b(" env: OURS_BROKER_URL, OURS_PORT (3050), OURS_STATE_DIR (~/.ours), OURS_GC_INTERVAL_MS (3600000), OURS_AUTOSTART (off)"),b("(install-service bakes the resolved config values into the service definition.)")}async function wT(){let e=process.argv[2]??"help";switch(e){case"serve":case"run":process.env.OURS_TRANSPORT||(process.env.OURS_TRANSPORT="http"),H.mkdirSync(Ze,{recursive:!0}),H.writeFileSync(wr,String(process.pid));{let t=()=>{try{H.rmSync(wr,{force:!0})}catch{}};process.on("exit",t);for(let r of["SIGTERM","SIGINT"])process.on(r,()=>{t(),process.exit(0)})}await import(GP(At(Ku(Jt),"index.js")).href);break;case"start":await C_();break;case"stop":await ei();break;case"restart":await ei(),await C_();break;case"status":await tT();break;case"version":case"--version":case"-v":await rT();break;case"setup":await nT();break;case"voice-status":case"stt-status":oT(process.argv.slice(3));break;case"voice-setup":case"stt-setup":await sT(process.argv.slice(3));break;case"create-root":await cT(process.argv.slice(3));break;case"define-local-identity-file":await iT(process.argv.slice(3));break;case"watch":await mT(process.argv[3]);break;case"proxy":!wt.autoStart&&!await Gt(se)&&(ee(`ours-mcp daemon is not running on port ${se} \u2014 start it with \`ours-mcp start\`.`),ee("(or enable auto-start: `ours-mcp setup` \u2192 autoStart, or OURS_AUTOSTART=1)"),process.exit(1)),await m_({url:`http://127.0.0.1:${se}/mcp`,ensureDaemon:wt.autoStart?eT:void 0,stateDir:Ze,apiToken:Nu(wt,{generate:!1})?.token});break;case"install-service":await vT();break;case"uninstall-service":bT();break;case"help":case"--help":case"-h":j_();break;default:ee(`unknown command: ${e}
128
+ `),j_(),process.exit(1)}}wT().catch(e=>{ee(`ours-mcp error: ${e?.stack??e}`),process.exit(1)});