@augmentcode/onison 0.0.21 → 1.0.76-prerelease.202608100950
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/auggie-v2.mjs +8474 -2061
- package/auggie-v2.mjs.d/extensions/manifest.json +8 -0
- package/auggie-v2.mjs.d/extensions/mcp/index.js +116 -55
- package/auggie-v2.mjs.d/extensions/migration/index.js +10 -0
- package/auggie-v2.mjs.d/extensions/otel/index.js +30 -0
- package/indexing-worker.mjs +234 -164
- package/package.json +2 -1
- package/vfs-prefetch-worker.mjs +35 -0
|
@@ -1,90 +1,151 @@
|
|
|
1
|
-
import{createRequire as bL}from"node:module";var AL=Object.create;var{getPrototypeOf:OL,defineProperty:P6,getOwnPropertyNames:NL}=Object;var UL=Object.prototype.hasOwnProperty;function ML(Q){return this[Q]}var wL,PL,j6=(Q,X,Y)=>{var J=Q!=null&&typeof Q==="object";if(J){var W=X?wL??=new WeakMap:PL??=new WeakMap,$=W.get(Q);if($)return $}Y=Q!=null?AL(OL(Q)):{};let B=X||!Q||!Q.__esModule?P6(Y,"default",{value:Q,enumerable:!0}):Y;for(let G of NL(Q))if(!UL.call(B,G))P6(B,G,{get:ML.bind(Q,G),enumerable:!0});if(J)W.set(Q,B);return B};var w=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var jL=(Q)=>Q;function IL(Q,X){this[Q]=jL.bind(null,X)}var I6=(Q,X)=>{for(var Y in X)P6(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:IL.bind(X,Y)})};var o0=bL(import.meta.url);var X8=w((B3)=>{Object.defineProperty(B3,"__esModule",{value:!0});B3.regexpCode=B3.getEsmExportName=B3.getProperty=B3.safeStringify=B3.stringify=B3.strConcat=B3.addCodeArg=B3.str=B3._=B3.nil=B3._Code=B3.Name=B3.IDENTIFIER=B3._CodeOrName=void 0;class zQ{}B3._CodeOrName=zQ;B3.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class X9 extends zQ{constructor(Q){super();if(!B3.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}B3.Name=X9;class h0 extends zQ{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof X9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}B3._Code=h0;B3.nil=new h0("");function W3(Q,...X){let Y=[Q[0]],J=0;while(J<X.length)$X(Y,X[J]),Y.push(Q[++J]);return new h0(Y)}B3._=W3;var WX=new h0("+");function $3(Q,...X){let Y=[Q8(Q[0])],J=0;while(J<X.length)Y.push(WX),$X(Y,X[J]),Y.push(WX,Q8(Q[++J]));return jz(Y),new h0(Y)}B3.str=$3;function $X(Q,X){if(X instanceof h0)Q.push(...X._items);else if(X instanceof X9)Q.push(X);else Q.push(Tz(X))}B3.addCodeArg=$X;function jz(Q){let X=1;while(X<Q.length-1){if(Q[X]===WX){let Y=Iz(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function Iz(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof X9||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof X9))return`"${Q}${X.slice(1)}`;return}function bz(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:$3`${Q}${X}`}B3.strConcat=bz;function Tz(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:Q8(Array.isArray(Q)?Q.join(","):Q)}function Rz(Q){return new h0(Q8(Q))}B3.stringify=Rz;function Q8(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}B3.safeStringify=Q8;function Ez(Q){return typeof Q=="string"&&B3.IDENTIFIER.test(Q)?new h0(`.${Q}`):W3`[${Q}]`}B3.getProperty=Ez;function Sz(Q){if(typeof Q=="string"&&B3.IDENTIFIER.test(Q))return new h0(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}B3.getEsmExportName=Sz;function Cz(Q){return new h0(Q.toString())}B3.regexpCode=Cz});var KX=w((Z3)=>{Object.defineProperty(Z3,"__esModule",{value:!0});Z3.ValueScope=Z3.ValueScopeName=Z3.Scope=Z3.varKinds=Z3.UsedValueState=void 0;var M0=X8();class H3 extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var AQ;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(AQ||(Z3.UsedValueState=AQ={}));Z3.varKinds={const:new M0.Name("const"),let:new M0.Name("let"),var:new M0.Name("var")};class GX{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof M0.Name?Q:this.name(Q)}name(Q){return new M0.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}Z3.Scope=GX;class HX extends M0.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=M0._`.${new M0.Name(X)}[${Y}]`}}Z3.ValueScopeName=HX;var pz=M0._`\n`;class K3 extends GX{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?pz:M0.nil}}get(){return this._scope}name(Q){return new HX(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let J=this.toName(Q),{prefix:W}=J,$=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,B=this._values[W];if(B){let H=B.get($);if(H)return H}else B=this._values[W]=new Map;B.set($,J);let G=this._scope[W]||(this._scope[W]=[]),K=G.length;return G[K]=X.ref,J.setValue(X,{property:W,itemIndex:K}),J}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return M0._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(J)=>{if(J.value===void 0)throw Error(`CodeGen: name "${J}" has no value`);return J.value.code},X,Y)}_reduceValues(Q,X,Y={},J){let W=M0.nil;for(let $ in Q){let B=Q[$];if(!B)continue;let G=Y[$]=Y[$]||new Map;B.forEach((K)=>{if(G.has(K))return;G.set(K,AQ.Started);let H=X(K);if(H){let Z=this.opts.es5?Z3.varKinds.var:Z3.varKinds.const;W=M0._`${W}${Z} ${K} = ${H};${this.opts._n}`}else if(H=J===null||J===void 0?void 0:J(K))W=M0._`${W}${H}${this.opts._n}`;else throw new H3(K);G.set(K,AQ.Completed)})}return W}}Z3.ValueScope=K3});var x=w((w0)=>{Object.defineProperty(w0,"__esModule",{value:!0});w0.or=w0.and=w0.not=w0.CodeGen=w0.operators=w0.varKinds=w0.ValueScopeName=w0.ValueScope=w0.Scope=w0.Name=w0.regexpCode=w0.stringify=w0.getProperty=w0.nil=w0.strConcat=w0.str=w0._=void 0;var g=X8(),u0=KX(),O1=X8();Object.defineProperty(w0,"_",{enumerable:!0,get:function(){return O1._}});Object.defineProperty(w0,"str",{enumerable:!0,get:function(){return O1.str}});Object.defineProperty(w0,"strConcat",{enumerable:!0,get:function(){return O1.strConcat}});Object.defineProperty(w0,"nil",{enumerable:!0,get:function(){return O1.nil}});Object.defineProperty(w0,"getProperty",{enumerable:!0,get:function(){return O1.getProperty}});Object.defineProperty(w0,"stringify",{enumerable:!0,get:function(){return O1.stringify}});Object.defineProperty(w0,"regexpCode",{enumerable:!0,get:function(){return O1.regexpCode}});Object.defineProperty(w0,"Name",{enumerable:!0,get:function(){return O1.Name}});var PQ=KX();Object.defineProperty(w0,"Scope",{enumerable:!0,get:function(){return PQ.Scope}});Object.defineProperty(w0,"ValueScope",{enumerable:!0,get:function(){return PQ.ValueScope}});Object.defineProperty(w0,"ValueScopeName",{enumerable:!0,get:function(){return PQ.ValueScopeName}});Object.defineProperty(w0,"varKinds",{enumerable:!0,get:function(){return PQ.varKinds}});w0.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("+")};class N1{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class V3 extends N1{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?u0.varKinds.var:this.varKind,J=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${J};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=J9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof g._CodeOrName?this.rhs.names:{}}}class VX extends N1{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof g.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=J9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof g.Name?{}:{...this.lhs.names};return wQ(Q,this.rhs)}}class D3 extends VX{constructor(Q,X,Y,J){super(Q,Y,J);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class q3 extends N1{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class z3 extends N1{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class F3 extends N1{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class A3 extends N1{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=J9(this.code,Q,X),this}get names(){return this.code instanceof g._CodeOrName?this.code.names:{}}}class jQ extends N1{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,J=Y.length;while(J--){let W=Y[J];if(W.optimizeNames(Q,X))continue;oz(Q,W.names),Y.splice(J,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>k1(Q,X.names),{})}}class U1 extends jQ{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class O3 extends jQ{}class Y8 extends U1{}Y8.kind="else";class Y1 extends U1{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new Y8(Y):Y}if(X){if(Q===!1)return X instanceof Y1?X:X.nodes;if(this.nodes.length)return this;return new Y1(P3(Q),X instanceof Y1?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=J9(this.condition,Q,X),this}get names(){let Q=super.names;if(wQ(Q,this.condition),this.else)k1(Q,this.else.names);return Q}}Y1.kind="if";class Y9 extends U1{}Y9.kind="for";class N3 extends Y9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=J9(this.iteration,Q,X),this}get names(){return k1(super.names,this.iteration.names)}}class U3 extends Y9{constructor(Q,X,Y,J){super();this.varKind=Q,this.name=X,this.from=Y,this.to=J}render(Q){let X=Q.es5?u0.varKinds.var:this.varKind,{name:Y,from:J,to:W}=this;return`for(${X} ${Y}=${J}; ${Y}<${W}; ${Y}++)`+super.render(Q)}get names(){let Q=wQ(super.names,this.from);return wQ(Q,this.to)}}class ZX extends Y9{constructor(Q,X,Y,J){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=J}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=J9(this.iterable,Q,X),this}get names(){return k1(super.names,this.iterable.names)}}class OQ extends U1{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}OQ.kind="func";class NQ extends jQ{render(Q){return"return "+super.render(Q)}}NQ.kind="return";class M3 extends U1{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,J;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(J=this.finally)===null||J===void 0||J.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)k1(Q,this.catch.names);if(this.finally)k1(Q,this.finally.names);return Q}}class UQ extends U1{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}UQ.kind="catch";class MQ extends U1{render(Q){return"finally"+super.render(Q)}}MQ.kind="finally";class w3{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
|
|
2
|
-
`:""},this._extScope=Q,this._scope=new u0.Scope({parent:Q}),this._nodes=[new O3]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,J){let W=this._scope.toName(X);if(Y!==void 0&&J)this._constants[W.str]=Y;return this._leafNode(new V3(Q,W,Y)),W}const(Q,X,Y){return this._def(u0.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(u0.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(u0.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new VX(Q,X,Y))}add(Q,X){return this._leafNode(new D3(Q,w0.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==g.nil)this._leafNode(new A3(Q));return this}object(...Q){let X=["{"];for(let[Y,J]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==J||this.opts.es5)X.push(":"),(0,g.addCodeArg)(X,J)}return X.push("}"),new g._Code(X)}if(Q,X,Y){if(this._blockNode(new Y1(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new Y1(Q))}else(){return this._elseNode(new Y8)}endIf(){return this._endBlockNode(Y1,Y8)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new N3(Q),X)}forRange(Q,X,Y,J,W=this.opts.es5?u0.varKinds.var:u0.varKinds.let){let $=this._scope.toName(Q);return this._for(new U3(W,$,X,Y),()=>J($))}forOf(Q,X,Y,J=u0.varKinds.const){let W=this._scope.toName(Q);if(this.opts.es5){let $=X instanceof g.Name?X:this.var("_arr",X);return this.forRange("_i",0,g._`${$}.length`,(B)=>{this.var(W,g._`${$}[${B}]`),Y(W)})}return this._for(new ZX("of",J,W,X),()=>Y(W))}forIn(Q,X,Y,J=this.opts.es5?u0.varKinds.var:u0.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,g._`Object.keys(${X})`,Y);let W=this._scope.toName(Q);return this._for(new ZX("in",J,W,X),()=>Y(W))}endFor(){return this._endBlockNode(Y9)}label(Q){return this._leafNode(new q3(Q))}break(Q){return this._leafNode(new z3(Q))}return(Q){let X=new NQ;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(NQ)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let J=new M3;if(this._blockNode(J),this.code(Q),X){let W=this.name("e");this._currNode=J.catch=new UQ(W),X(W)}if(Y)this._currNode=J.finally=new MQ,this.code(Y);return this._endBlockNode(UQ,MQ)}throw(Q){return this._leafNode(new F3(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=g.nil,Y,J){if(this._blockNode(new OQ(Q,X,Y)),J)this.code(J).endFunc();return this}endFunc(){return this._endBlockNode(OQ)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof Y1))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}w0.CodeGen=w3;function k1(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function wQ(Q,X){return X instanceof g._CodeOrName?k1(Q,X.names):Q}function J9(Q,X,Y){if(Q instanceof g.Name)return J(Q);if(!W(Q))return Q;return new g._Code(Q._items.reduce(($,B)=>{if(B instanceof g.Name)B=J(B);if(B instanceof g._Code)$.push(...B._items);else $.push(B);return $},[]));function J($){let B=Y[$.str];if(B===void 0||X[$.str]!==1)return $;return delete X[$.str],B}function W($){return $ instanceof g._Code&&$._items.some((B)=>B instanceof g.Name&&X[B.str]===1&&Y[B.str]!==void 0)}}function oz(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function P3(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:g._`!${LX(Q)}`}w0.not=P3;var rz=j3(w0.operators.AND);function tz(...Q){return Q.reduce(rz)}w0.and=tz;var az=j3(w0.operators.OR);function sz(...Q){return Q.reduce(az)}w0.or=sz;function j3(Q){return(X,Y)=>X===g.nil?Y:Y===g.nil?X:g._`${LX(X)} ${Q} ${LX(Y)}`}function LX(Q){return Q instanceof g.Name?Q:g._`(${Q})`}});var f=w((_3)=>{Object.defineProperty(_3,"__esModule",{value:!0});_3.checkStrictMode=_3.getErrorPath=_3.Type=_3.useFunc=_3.setEvaluated=_3.evaluatedPropsToName=_3.mergeEvaluated=_3.eachItem=_3.unescapeJsonPointer=_3.escapeJsonPointer=_3.escapeFragment=_3.unescapeFragment=_3.schemaRefOrVal=_3.schemaHasRulesButRef=_3.schemaHasRules=_3.checkUnknownRules=_3.alwaysValidSchema=_3.toHash=void 0;var d=x(),YF=X8();function JF(Q){let X={};for(let Y of Q)X[Y]=!0;return X}_3.toHash=JF;function WF(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return R3(Q,X),!E3(X,Q.self.RULES.all)}_3.alwaysValidSchema=WF;function R3(Q,X=Q.schema){let{opts:Y,self:J}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let W=J.RULES.keywords;for(let $ in X)if(!W[$])k3(Q,`unknown keyword: "${$}"`)}_3.checkUnknownRules=R3;function E3(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}_3.schemaHasRules=E3;function $F(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}_3.schemaHasRulesButRef=$F;function BF({topSchemaRef:Q,schemaPath:X},Y,J,W){if(!W){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return d._`${Y}`}return d._`${Q}${X}${(0,d.getProperty)(J)}`}_3.schemaRefOrVal=BF;function GF(Q){return S3(decodeURIComponent(Q))}_3.unescapeFragment=GF;function HF(Q){return encodeURIComponent(qX(Q))}_3.escapeFragment=HF;function qX(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}_3.escapeJsonPointer=qX;function S3(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}_3.unescapeJsonPointer=S3;function KF(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}_3.eachItem=KF;function b3({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:J}){return(W,$,B,G)=>{let K=B===void 0?$:B instanceof d.Name?($ instanceof d.Name?Q(W,$,B):X(W,$,B),B):$ instanceof d.Name?(X(W,B,$),$):Y($,B);return G===d.Name&&!(K instanceof d.Name)?J(W,K):K}}_3.mergeEvaluated={props:b3({mergeNames:(Q,X,Y)=>Q.if(d._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(d._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,d._`${Y} || {}`).code(d._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(d._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,d._`${Y} || {}`),zX(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:C3}),items:b3({mergeNames:(Q,X,Y)=>Q.if(d._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,d._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(d._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:d._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function C3(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",d._`{}`);if(X!==void 0)zX(Q,Y,X);return Y}_3.evaluatedPropsToName=C3;function zX(Q,X,Y){Object.keys(Y).forEach((J)=>Q.assign(d._`${X}${(0,d.getProperty)(J)}`,!0))}_3.setEvaluated=zX;var T3={};function ZF(Q,X){return Q.scopeValue("func",{ref:X,code:T3[X.code]||(T3[X.code]=new YF._Code(X.code))})}_3.useFunc=ZF;var DX;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(DX||(_3.Type=DX={}));function LF(Q,X,Y){if(Q instanceof d.Name){let J=X===DX.Num;return Y?J?d._`"[" + ${Q} + "]"`:d._`"['" + ${Q} + "']"`:J?d._`"/" + ${Q}`:d._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,d.getProperty)(Q).toString():"/"+qX(Q)}_3.getErrorPath=LF;function k3(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}_3.checkStrictMode=k3});var J1=w((v3)=>{Object.defineProperty(v3,"__esModule",{value:!0});var q0=x(),EF={data:new q0.Name("data"),valCxt:new q0.Name("valCxt"),instancePath:new q0.Name("instancePath"),parentData:new q0.Name("parentData"),parentDataProperty:new q0.Name("parentDataProperty"),rootData:new q0.Name("rootData"),dynamicAnchors:new q0.Name("dynamicAnchors"),vErrors:new q0.Name("vErrors"),errors:new q0.Name("errors"),this:new q0.Name("this"),self:new q0.Name("self"),scope:new q0.Name("scope"),json:new q0.Name("json"),jsonPos:new q0.Name("jsonPos"),jsonLen:new q0.Name("jsonLen"),jsonPart:new q0.Name("jsonPart")};v3.default=EF});var J8=w((h3)=>{Object.defineProperty(h3,"__esModule",{value:!0});h3.extendErrors=h3.resetErrorsCount=h3.reportExtraError=h3.reportError=h3.keyword$DataError=h3.keywordError=void 0;var h=x(),bQ=f(),F0=J1();h3.keywordError={message:({keyword:Q})=>h.str`must pass "${Q}" keyword validation`};h3.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?h.str`"${Q}" keyword must be ${X} ($data)`:h.str`"${Q}" keyword is invalid ($data)`};function CF(Q,X=h3.keywordError,Y,J){let{it:W}=Q,{gen:$,compositeRule:B,allErrors:G}=W,K=f3(Q,X,Y);if(J!==null&&J!==void 0?J:B||G)y3($,K);else g3(W,h._`[${K}]`)}h3.reportError=CF;function kF(Q,X=h3.keywordError,Y){let{it:J}=Q,{gen:W,compositeRule:$,allErrors:B}=J,G=f3(Q,X,Y);if(y3(W,G),!($||B))g3(J,F0.default.vErrors)}h3.reportExtraError=kF;function _F(Q,X){Q.assign(F0.default.errors,X),Q.if(h._`${F0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(h._`${F0.default.vErrors}.length`,X),()=>Q.assign(F0.default.vErrors,null)))}h3.resetErrorsCount=_F;function xF({gen:Q,keyword:X,schemaValue:Y,data:J,errsCount:W,it:$}){if(W===void 0)throw Error("ajv implementation error");let B=Q.name("err");Q.forRange("i",W,F0.default.errors,(G)=>{if(Q.const(B,h._`${F0.default.vErrors}[${G}]`),Q.if(h._`${B}.instancePath === undefined`,()=>Q.assign(h._`${B}.instancePath`,(0,h.strConcat)(F0.default.instancePath,$.errorPath))),Q.assign(h._`${B}.schemaPath`,h.str`${$.errSchemaPath}/${X}`),$.opts.verbose)Q.assign(h._`${B}.schema`,Y),Q.assign(h._`${B}.data`,J)})}h3.extendErrors=xF;function y3(Q,X){let Y=Q.const("err",X);Q.if(h._`${F0.default.vErrors} === null`,()=>Q.assign(F0.default.vErrors,h._`[${Y}]`),h._`${F0.default.vErrors}.push(${Y})`),Q.code(h._`${F0.default.errors}++`)}function g3(Q,X){let{gen:Y,validateName:J,schemaEnv:W}=Q;if(W.$async)Y.throw(h._`new ${Q.ValidationError}(${X})`);else Y.assign(h._`${J}.errors`,X),Y.return(!1)}var _1={keyword:new h.Name("keyword"),schemaPath:new h.Name("schemaPath"),params:new h.Name("params"),propertyName:new h.Name("propertyName"),message:new h.Name("message"),schema:new h.Name("schema"),parentSchema:new h.Name("parentSchema")};function f3(Q,X,Y){let{createErrors:J}=Q.it;if(J===!1)return h._`{}`;return vF(Q,X,Y)}function vF(Q,X,Y={}){let{gen:J,it:W}=Q,$=[yF(W,Y),gF(Q,Y)];return fF(Q,X,$),J.object(...$)}function yF({errorPath:Q},{instancePath:X}){let Y=X?h.str`${Q}${(0,bQ.getErrorPath)(X,bQ.Type.Str)}`:Q;return[F0.default.instancePath,(0,h.strConcat)(F0.default.instancePath,Y)]}function gF({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:J}){let W=J?X:h.str`${X}/${Q}`;if(Y)W=h.str`${W}${(0,bQ.getErrorPath)(Y,bQ.Type.Str)}`;return[_1.schemaPath,W]}function fF(Q,{params:X,message:Y},J){let{keyword:W,data:$,schemaValue:B,it:G}=Q,{opts:K,propertyName:H,topSchemaRef:Z,schemaPath:L}=G;if(J.push([_1.keyword,W],[_1.params,typeof X=="function"?X(Q):X||h._`{}`]),K.messages)J.push([_1.message,typeof Y=="function"?Y(Q):Y]);if(K.verbose)J.push([_1.schema,B],[_1.parentSchema,h._`${Z}${L}`],[F0.default.data,$]);if(H)J.push([_1.propertyName,H])}});var p3=w((l3)=>{Object.defineProperty(l3,"__esModule",{value:!0});l3.boolOrEmptySchema=l3.topBoolOrEmptySchema=void 0;var cF=J8(),pF=x(),dF=J1(),iF={message:"boolean schema is false"};function nF(Q){let{gen:X,schema:Y,validateName:J}=Q;if(Y===!1)m3(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(dF.default.data);else X.assign(pF._`${J}.errors`,null),X.return(!0)}l3.topBoolOrEmptySchema=nF;function oF(Q,X){let{gen:Y,schema:J}=Q;if(J===!1)Y.var(X,!1),m3(Q);else Y.var(X,!0)}l3.boolOrEmptySchema=oF;function m3(Q,X){let{gen:Y,data:J}=Q,W={gen:Y,keyword:"false schema",data:J,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,cF.reportError)(W,iF,void 0,X)}});var AX=w((d3)=>{Object.defineProperty(d3,"__esModule",{value:!0});d3.getRules=d3.isJSONType=void 0;var tF=["string","number","integer","boolean","null","object","array"],aF=new Set(tF);function sF(Q){return typeof Q=="string"&&aF.has(Q)}d3.isJSONType=sF;function eF(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}d3.getRules=eF});var OX=w((r3)=>{Object.defineProperty(r3,"__esModule",{value:!0});r3.shouldUseRule=r3.shouldUseGroup=r3.schemaHasRulesForType=void 0;function XA({schema:Q,self:X},Y){let J=X.RULES.types[Y];return J&&J!==!0&&n3(Q,J)}r3.schemaHasRulesForType=XA;function n3(Q,X){return X.rules.some((Y)=>o3(Q,Y))}r3.shouldUseGroup=n3;function o3(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((J)=>Q[J]!==void 0))}r3.shouldUseRule=o3});var W8=w((QB)=>{Object.defineProperty(QB,"__esModule",{value:!0});QB.reportTypeError=QB.checkDataTypes=QB.checkDataType=QB.coerceAndCheckDataType=QB.getJSONTypes=QB.getSchemaTypes=QB.DataType=void 0;var WA=AX(),$A=OX(),BA=J8(),_=x(),a3=f(),W9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(W9||(QB.DataType=W9={}));function GA(Q){let X=s3(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}QB.getSchemaTypes=GA;function s3(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(WA.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}QB.getJSONTypes=s3;function HA(Q,X){let{gen:Y,data:J,opts:W}=Q,$=KA(X,W.coerceTypes),B=X.length>0&&!($.length===0&&X.length===1&&(0,$A.schemaHasRulesForType)(Q,X[0]));if(B){let G=UX(X,J,W.strictNumbers,W9.Wrong);Y.if(G,()=>{if($.length)ZA(Q,X,$);else MX(Q)})}return B}QB.coerceAndCheckDataType=HA;var e3=new Set(["string","number","integer","boolean","null"]);function KA(Q,X){return X?Q.filter((Y)=>e3.has(Y)||X==="array"&&Y==="array"):[]}function ZA(Q,X,Y){let{gen:J,data:W,opts:$}=Q,B=J.let("dataType",_._`typeof ${W}`),G=J.let("coerced",_._`undefined`);if($.coerceTypes==="array")J.if(_._`${B} == 'object' && Array.isArray(${W}) && ${W}.length == 1`,()=>J.assign(W,_._`${W}[0]`).assign(B,_._`typeof ${W}`).if(UX(X,W,$.strictNumbers),()=>J.assign(G,W)));J.if(_._`${G} !== undefined`);for(let H of Y)if(e3.has(H)||H==="array"&&$.coerceTypes==="array")K(H);J.else(),MX(Q),J.endIf(),J.if(_._`${G} !== undefined`,()=>{J.assign(W,G),LA(Q,G)});function K(H){switch(H){case"string":J.elseIf(_._`${B} == "number" || ${B} == "boolean"`).assign(G,_._`"" + ${W}`).elseIf(_._`${W} === null`).assign(G,_._`""`);return;case"number":J.elseIf(_._`${B} == "boolean" || ${W} === null
|
|
3
|
-
|| (${
|
|
4
|
-
|| (${
|
|
5
|
-
|| ${B} === "boolean" || ${W} === null`).assign(G,_._`[${W}]`)}}}function LA({gen:Q,parentData:X,parentDataProperty:Y},J){Q.if(_._`${X} !== undefined`,()=>Q.assign(_._`${X}[${Y}]`,J))}function NX(Q,X,Y,J=W9.Correct){let W=J===W9.Correct?_.operators.EQ:_.operators.NEQ,$;switch(Q){case"null":return _._`${X} ${W} null`;case"array":$=_._`Array.isArray(${X})`;break;case"object":$=_._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":$=B(_._`!(${X} % 1) && !isNaN(${X})`);break;case"number":$=B();break;default:return _._`typeof ${X} ${W} ${Q}`}return J===W9.Correct?$:(0,_.not)($);function B(G=_.nil){return(0,_.and)(_._`typeof ${X} == "number"`,G,Y?_._`isFinite(${X})`:_.nil)}}QB.checkDataType=NX;function UX(Q,X,Y,J){if(Q.length===1)return NX(Q[0],X,Y,J);let W,$=(0,a3.toHash)(Q);if($.array&&$.object){let B=_._`typeof ${X} != "object"`;W=$.null?B:_._`!${X} || ${B}`,delete $.null,delete $.array,delete $.object}else W=_.nil;if($.number)delete $.integer;for(let B in $)W=(0,_.and)(W,NX(B,X,Y,J));return W}QB.checkDataTypes=UX;var VA={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?_._`{type: ${Q}}`:_._`{type: ${X}}`};function MX(Q){let X=DA(Q);(0,BA.reportError)(X,VA)}QB.reportTypeError=MX;function DA(Q){let{gen:X,data:Y,schema:J}=Q,W=(0,a3.schemaRefOrVal)(Q,J,"type");return{gen:X,keyword:"type",data:Y,schema:J.type,schemaCode:W,schemaValue:W,parentSchema:J,params:{},it:Q}}});var $B=w((JB)=>{Object.defineProperty(JB,"__esModule",{value:!0});JB.assignDefaults=void 0;var $9=x(),UA=f();function MA(Q,X){let{properties:Y,items:J}=Q.schema;if(X==="object"&&Y)for(let W in Y)YB(Q,W,Y[W].default);else if(X==="array"&&Array.isArray(J))J.forEach((W,$)=>YB(Q,$,W.default))}JB.assignDefaults=MA;function YB(Q,X,Y){let{gen:J,compositeRule:W,data:$,opts:B}=Q;if(Y===void 0)return;let G=$9._`${$}${(0,$9.getProperty)(X)}`;if(W){(0,UA.checkStrictMode)(Q,`default is ignored for: ${G}`);return}let K=$9._`${G} === undefined`;if(B.useDefaults==="empty")K=$9._`${K} || ${G} === null || ${G} === ""`;J.if(K,$9._`${G} = ${(0,$9.stringify)(Y)}`)}});var x0=w((HB)=>{Object.defineProperty(HB,"__esModule",{value:!0});HB.validateUnion=HB.validateArray=HB.usePattern=HB.callValidateCode=HB.schemaProperties=HB.allSchemaProperties=HB.noPropertyInData=HB.propertyInData=HB.isOwnProperty=HB.hasPropFunc=HB.reportMissingProp=HB.checkMissingProp=HB.checkReportMissingProp=void 0;var t=x(),wX=f(),M1=J1(),wA=f();function PA(Q,X){let{gen:Y,data:J,it:W}=Q;Y.if(jX(Y,J,X,W.opts.ownProperties),()=>{Q.setParams({missingProperty:t._`${X}`},!0),Q.error()})}HB.checkReportMissingProp=PA;function jA({gen:Q,data:X,it:{opts:Y}},J,W){return(0,t.or)(...J.map(($)=>(0,t.and)(jX(Q,X,$,Y.ownProperties),t._`${W} = ${$}`)))}HB.checkMissingProp=jA;function IA(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}HB.reportMissingProp=IA;function BB(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:t._`Object.prototype.hasOwnProperty`})}HB.hasPropFunc=BB;function PX(Q,X,Y){return t._`${BB(Q)}.call(${X}, ${Y})`}HB.isOwnProperty=PX;function bA(Q,X,Y,J){let W=t._`${X}${(0,t.getProperty)(Y)} !== undefined`;return J?t._`${W} && ${PX(Q,X,Y)}`:W}HB.propertyInData=bA;function jX(Q,X,Y,J){let W=t._`${X}${(0,t.getProperty)(Y)} === undefined`;return J?(0,t.or)(W,(0,t.not)(PX(Q,X,Y))):W}HB.noPropertyInData=jX;function GB(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}HB.allSchemaProperties=GB;function TA(Q,X){return GB(X).filter((Y)=>!(0,wX.alwaysValidSchema)(Q,X[Y]))}HB.schemaProperties=TA;function RA({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:J,schemaPath:W,errorPath:$},it:B},G,K,H){let Z=H?t._`${Q}, ${X}, ${J}${W}`:X,L=[[M1.default.instancePath,(0,t.strConcat)(M1.default.instancePath,$)],[M1.default.parentData,B.parentData],[M1.default.parentDataProperty,B.parentDataProperty],[M1.default.rootData,M1.default.rootData]];if(B.opts.dynamicRef)L.push([M1.default.dynamicAnchors,M1.default.dynamicAnchors]);let V=t._`${Z}, ${Y.object(...L)}`;return K!==t.nil?t._`${G}.call(${K}, ${V})`:t._`${G}(${V})`}HB.callValidateCode=RA;var EA=t._`new RegExp`;function SA({gen:Q,it:{opts:X}},Y){let J=X.unicodeRegExp?"u":"",{regExp:W}=X.code,$=W(Y,J);return Q.scopeValue("pattern",{key:$.toString(),ref:$,code:t._`${W.code==="new RegExp"?EA:(0,wA.useFunc)(Q,W)}(${Y}, ${J})`})}HB.usePattern=SA;function CA(Q){let{gen:X,data:Y,keyword:J,it:W}=Q,$=X.name("valid");if(W.allErrors){let G=X.let("valid",!0);return B(()=>X.assign(G,!1)),G}return X.var($,!0),B(()=>X.break()),$;function B(G){let K=X.const("len",t._`${Y}.length`);X.forRange("i",0,K,(H)=>{Q.subschema({keyword:J,dataProp:H,dataPropType:wX.Type.Num},$),X.if((0,t.not)($),G)})}}HB.validateArray=CA;function kA(Q){let{gen:X,schema:Y,keyword:J,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((K)=>(0,wX.alwaysValidSchema)(W,K))&&!W.opts.unevaluated)return;let B=X.let("valid",!1),G=X.name("_valid");X.block(()=>Y.forEach((K,H)=>{let Z=Q.subschema({keyword:J,schemaProp:H,compositeRule:!0},G);if(X.assign(B,t._`${B} || ${G}`),!Q.mergeValidEvaluated(Z,G))X.if((0,t.not)(B))})),Q.result(B,()=>Q.reset(),()=>Q.error(!0))}HB.validateUnion=kA});var qB=w((VB)=>{Object.defineProperty(VB,"__esModule",{value:!0});VB.validateKeywordUsage=VB.validSchemaType=VB.funcKeywordCode=VB.macroKeywordCode=void 0;var A0=x(),x1=J1(),dA=x0(),iA=J8();function nA(Q,X){let{gen:Y,keyword:J,schema:W,parentSchema:$,it:B}=Q,G=X.macro.call(B.self,W,$,B),K=LB(Y,J,G);if(B.opts.validateSchema!==!1)B.self.validateSchema(G,!0);let H=Y.name("valid");Q.subschema({schema:G,schemaPath:A0.nil,errSchemaPath:`${B.errSchemaPath}/${J}`,topSchemaRef:K,compositeRule:!0},H),Q.pass(H,()=>Q.error(!0))}VB.macroKeywordCode=nA;function oA(Q,X){var Y;let{gen:J,keyword:W,schema:$,parentSchema:B,$data:G,it:K}=Q;tA(K,X);let H=!G&&X.compile?X.compile.call(K.self,$,B,K):X.validate,Z=LB(J,W,H),L=J.let("valid");Q.block$data(L,V),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:L);function V(){if(X.errors===!1){if(A(),X.modifying)ZB(Q);N(()=>Q.error())}else{let F=X.async?D():z();if(X.modifying)ZB(Q);N(()=>rA(Q,F))}}function D(){let F=J.let("ruleErrs",null);return J.try(()=>A(A0._`await `),(U)=>J.assign(L,!1).if(A0._`${U} instanceof ${K.ValidationError}`,()=>J.assign(F,A0._`${U}.errors`),()=>J.throw(U))),F}function z(){let F=A0._`${Z}.errors`;return J.assign(F,null),A(A0.nil),F}function A(F=X.async?A0._`await `:A0.nil){let U=K.opts.passContext?x1.default.this:x1.default.self,M=!(("compile"in X)&&!G||X.schema===!1);J.assign(L,A0._`${F}${(0,dA.callValidateCode)(Q,Z,U,M)}`,X.modifying)}function N(F){var U;J.if((0,A0.not)((U=X.valid)!==null&&U!==void 0?U:L),F)}}VB.funcKeywordCode=oA;function ZB(Q){let{gen:X,data:Y,it:J}=Q;X.if(J.parentData,()=>X.assign(Y,A0._`${J.parentData}[${J.parentDataProperty}]`))}function rA(Q,X){let{gen:Y}=Q;Y.if(A0._`Array.isArray(${X})`,()=>{Y.assign(x1.default.vErrors,A0._`${x1.default.vErrors} === null ? ${X} : ${x1.default.vErrors}.concat(${X})`).assign(x1.default.errors,A0._`${x1.default.vErrors}.length`),(0,iA.extendErrors)(Q)},()=>Q.error())}function tA({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function LB(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,A0.stringify)(Y)})}function aA(Q,X,Y=!1){return!X.length||X.some((J)=>J==="array"?Array.isArray(Q):J==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==J||Y&&typeof Q>"u")}VB.validSchemaType=aA;function sA({schema:Q,opts:X,self:Y,errSchemaPath:J},W,$){if(Array.isArray(W.keyword)?!W.keyword.includes($):W.keyword!==$)throw Error("ajv implementation error");let B=W.dependencies;if(B===null||B===void 0?void 0:B.some((G)=>!Object.prototype.hasOwnProperty.call(Q,G)))throw Error(`parent schema must have dependencies of ${$}: ${B.join(",")}`);if(W.validateSchema){if(!W.validateSchema(Q[$])){let K=`keyword "${$}" value is invalid at path "${J}": `+Y.errorsText(W.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(K);else throw Error(K)}}}VB.validateKeywordUsage=sA});var OB=w((FB)=>{Object.defineProperty(FB,"__esModule",{value:!0});FB.extendSubschemaMode=FB.extendSubschemaData=FB.getSubschema=void 0;var i0=x(),zB=f();function YO(Q,{keyword:X,schemaProp:Y,schema:J,schemaPath:W,errSchemaPath:$,topSchemaRef:B}){if(X!==void 0&&J!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let G=Q.schema[X];return Y===void 0?{schema:G,schemaPath:i0._`${Q.schemaPath}${(0,i0.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:G[Y],schemaPath:i0._`${Q.schemaPath}${(0,i0.getProperty)(X)}${(0,i0.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,zB.escapeFragment)(Y)}`}}if(J!==void 0){if(W===void 0||$===void 0||B===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:J,schemaPath:W,topSchemaRef:B,errSchemaPath:$}}throw Error('either "keyword" or "schema" must be passed')}FB.getSubschema=YO;function JO(Q,X,{dataProp:Y,dataPropType:J,data:W,dataTypes:$,propertyName:B}){if(W!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:G}=X;if(Y!==void 0){let{errorPath:H,dataPathArr:Z,opts:L}=X,V=G.let("data",i0._`${X.data}${(0,i0.getProperty)(Y)}`,!0);K(V),Q.errorPath=i0.str`${H}${(0,zB.getErrorPath)(Y,J,L.jsPropertySyntax)}`,Q.parentDataProperty=i0._`${Y}`,Q.dataPathArr=[...Z,Q.parentDataProperty]}if(W!==void 0){let H=W instanceof i0.Name?W:G.let("data",W,!0);if(K(H),B!==void 0)Q.propertyName=B}if($)Q.dataTypes=$;function K(H){Q.data=H,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,H]}}FB.extendSubschemaData=JO;function WO(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:J,createErrors:W,allErrors:$}){if(J!==void 0)Q.compositeRule=J;if(W!==void 0)Q.createErrors=W;if($!==void 0)Q.allErrors=$;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}FB.extendSubschemaMode=WO});var IX=w((_C,NB)=>{NB.exports=function Q(X,Y){if(X===Y)return!0;if(X&&Y&&typeof X=="object"&&typeof Y=="object"){if(X.constructor!==Y.constructor)return!1;var J,W,$;if(Array.isArray(X)){if(J=X.length,J!=Y.length)return!1;for(W=J;W--!==0;)if(!Q(X[W],Y[W]))return!1;return!0}if(X.constructor===RegExp)return X.source===Y.source&&X.flags===Y.flags;if(X.valueOf!==Object.prototype.valueOf)return X.valueOf()===Y.valueOf();if(X.toString!==Object.prototype.toString)return X.toString()===Y.toString();if($=Object.keys(X),J=$.length,J!==Object.keys(Y).length)return!1;for(W=J;W--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,$[W]))return!1;for(W=J;W--!==0;){var B=$[W];if(!Q(X[B],Y[B]))return!1}return!0}return X!==X&&Y!==Y}});var MB=w((xC,UB)=>{var w1=UB.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var J=typeof Y=="function"?Y:Y.pre||function(){},W=Y.post||function(){};TQ(X,J,W,Q,"",Q)};w1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};w1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};w1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};w1.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 TQ(Q,X,Y,J,W,$,B,G,K,H){if(J&&typeof J=="object"&&!Array.isArray(J)){X(J,W,$,B,G,K,H);for(var Z in J){var L=J[Z];if(Array.isArray(L)){if(Z in w1.arrayKeywords)for(var V=0;V<L.length;V++)TQ(Q,X,Y,L[V],W+"/"+Z+"/"+V,$,W,Z,J,V)}else if(Z in w1.propsKeywords){if(L&&typeof L=="object")for(var D in L)TQ(Q,X,Y,L[D],W+"/"+Z+"/"+GO(D),$,W,Z,J,D)}else if(Z in w1.keywords||Q.allKeys&&!(Z in w1.skipKeywords))TQ(Q,X,Y,L,W+"/"+Z,$,W,Z,J)}Y(J,W,$,B,G,K,H)}}function GO(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var $8=w((IB)=>{Object.defineProperty(IB,"__esModule",{value:!0});IB.getSchemaRefs=IB.resolveUrl=IB.normalizeId=IB._getFullPath=IB.getFullPath=IB.inlineRef=void 0;var HO=f(),KO=IX(),ZO=MB(),LO=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function VO(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!bX(Q);if(!X)return!1;return wB(Q)<=X}IB.inlineRef=VO;var DO=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function bX(Q){for(let X in Q){if(DO.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(bX))return!0;if(typeof Y=="object"&&bX(Y))return!0}return!1}function wB(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,LO.has(Y))continue;if(typeof Q[Y]=="object")(0,HO.eachItem)(Q[Y],(J)=>X+=wB(J));if(X===1/0)return 1/0}return X}function PB(Q,X="",Y){if(Y!==!1)X=B9(X);let J=Q.parse(X);return jB(Q,J)}IB.getFullPath=PB;function jB(Q,X){return Q.serialize(X).split("#")[0]+"#"}IB._getFullPath=jB;var qO=/#\/?$/;function B9(Q){return Q?Q.replace(qO,""):""}IB.normalizeId=B9;function zO(Q,X,Y){return Y=B9(Y),Q.resolve(X,Y)}IB.resolveUrl=zO;var FO=/^[a-z_][-a-z0-9._]*$/i;function AO(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:J}=this.opts,W=B9(Q[Y]||X),$={"":W},B=PB(J,W,!1),G={},K=new Set;return ZO(Q,{allKeys:!0},(L,V,D,z)=>{if(z===void 0)return;let A=B+V,N=$[z];if(typeof L[Y]=="string")N=F.call(this,L[Y]);U.call(this,L.$anchor),U.call(this,L.$dynamicAnchor),$[V]=N;function F(M){let b=this.opts.uriResolver.resolve;if(M=B9(N?b(N,M):M),K.has(M))throw Z(M);K.add(M);let P=this.refs[M];if(typeof P=="string")P=this.refs[P];if(typeof P=="object")H(L,P.schema,M);else if(M!==B9(A))if(M[0]==="#")H(L,G[M],M),G[M]=L;else this.refs[M]=A;return M}function U(M){if(typeof M=="string"){if(!FO.test(M))throw Error(`invalid anchor "${M}"`);F.call(this,`#${M}`)}}}),G;function H(L,V,D){if(V!==void 0&&!KO(L,V))throw Z(D)}function Z(L){return Error(`reference "${L}" resolves to more than one schema`)}}IB.getSchemaRefs=AO});var H8=w((mB)=>{Object.defineProperty(mB,"__esModule",{value:!0});mB.getData=mB.KeywordCxt=mB.validateFunctionCode=void 0;var CB=p3(),TB=W8(),RX=OX(),RQ=W8(),PO=$B(),G8=qB(),TX=OB(),R=x(),k=J1(),jO=$8(),W1=f(),B8=J8();function IO(Q){if(xB(Q)){if(vB(Q),_B(Q)){RO(Q);return}}kB(Q,()=>(0,CB.topBoolOrEmptySchema)(Q))}mB.validateFunctionCode=IO;function kB({gen:Q,validateName:X,schema:Y,schemaEnv:J,opts:W},$){if(W.code.es5)Q.func(X,R._`${k.default.data}, ${k.default.valCxt}`,J.$async,()=>{Q.code(R._`"use strict"; ${RB(Y,W)}`),TO(Q,W),Q.code($)});else Q.func(X,R._`${k.default.data}, ${bO(W)}`,J.$async,()=>Q.code(RB(Y,W)).code($))}function bO(Q){return R._`{${k.default.instancePath}="", ${k.default.parentData}, ${k.default.parentDataProperty}, ${k.default.rootData}=${k.default.data}${Q.dynamicRef?R._`, ${k.default.dynamicAnchors}={}`:R.nil}}={}`}function TO(Q,X){Q.if(k.default.valCxt,()=>{if(Q.var(k.default.instancePath,R._`${k.default.valCxt}.${k.default.instancePath}`),Q.var(k.default.parentData,R._`${k.default.valCxt}.${k.default.parentData}`),Q.var(k.default.parentDataProperty,R._`${k.default.valCxt}.${k.default.parentDataProperty}`),Q.var(k.default.rootData,R._`${k.default.valCxt}.${k.default.rootData}`),X.dynamicRef)Q.var(k.default.dynamicAnchors,R._`${k.default.valCxt}.${k.default.dynamicAnchors}`)},()=>{if(Q.var(k.default.instancePath,R._`""`),Q.var(k.default.parentData,R._`undefined`),Q.var(k.default.parentDataProperty,R._`undefined`),Q.var(k.default.rootData,k.default.data),X.dynamicRef)Q.var(k.default.dynamicAnchors,R._`{}`)})}function RO(Q){let{schema:X,opts:Y,gen:J}=Q;kB(Q,()=>{if(Y.$comment&&X.$comment)gB(Q);if(_O(Q),J.let(k.default.vErrors,null),J.let(k.default.errors,0),Y.unevaluated)EO(Q);yB(Q),yO(Q)});return}function EO(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",R._`${Y}.evaluated`),X.if(R._`${Q.evaluated}.dynamicProps`,()=>X.assign(R._`${Q.evaluated}.props`,R._`undefined`)),X.if(R._`${Q.evaluated}.dynamicItems`,()=>X.assign(R._`${Q.evaluated}.items`,R._`undefined`))}function RB(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?R._`/*# sourceURL=${Y} */`:R.nil}function SO(Q,X){if(xB(Q)){if(vB(Q),_B(Q)){CO(Q,X);return}}(0,CB.boolOrEmptySchema)(Q,X)}function _B({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function xB(Q){return typeof Q.schema!="boolean"}function CO(Q,X){let{schema:Y,gen:J,opts:W}=Q;if(W.$comment&&Y.$comment)gB(Q);xO(Q),vO(Q);let $=J.const("_errs",k.default.errors);yB(Q,$),J.var(X,R._`${$} === ${k.default.errors}`)}function vB(Q){(0,W1.checkUnknownRules)(Q),kO(Q)}function yB(Q,X){if(Q.opts.jtd)return EB(Q,[],!1,X);let Y=(0,TB.getSchemaTypes)(Q.schema),J=(0,TB.coerceAndCheckDataType)(Q,Y);EB(Q,Y,!J,X)}function kO(Q){let{schema:X,errSchemaPath:Y,opts:J,self:W}=Q;if(X.$ref&&J.ignoreKeywordsWithRef&&(0,W1.schemaHasRulesButRef)(X,W.RULES))W.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function _O(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,W1.checkStrictMode)(Q,"default is ignored in the schema root")}function xO(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,jO.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function vO(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function gB({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:J,opts:W}){let $=Y.$comment;if(W.$comment===!0)Q.code(R._`${k.default.self}.logger.log(${$})`);else if(typeof W.$comment=="function"){let B=R.str`${J}/$comment`,G=Q.scopeValue("root",{ref:X.root});Q.code(R._`${k.default.self}.opts.$comment(${$}, ${B}, ${G}.schema)`)}}function yO(Q){let{gen:X,schemaEnv:Y,validateName:J,ValidationError:W,opts:$}=Q;if(Y.$async)X.if(R._`${k.default.errors} === 0`,()=>X.return(k.default.data),()=>X.throw(R._`new ${W}(${k.default.vErrors})`));else{if(X.assign(R._`${J}.errors`,k.default.vErrors),$.unevaluated)gO(Q);X.return(R._`${k.default.errors} === 0`)}}function gO({gen:Q,evaluated:X,props:Y,items:J}){if(Y instanceof R.Name)Q.assign(R._`${X}.props`,Y);if(J instanceof R.Name)Q.assign(R._`${X}.items`,J)}function EB(Q,X,Y,J){let{gen:W,schema:$,data:B,allErrors:G,opts:K,self:H}=Q,{RULES:Z}=H;if($.$ref&&(K.ignoreKeywordsWithRef||!(0,W1.schemaHasRulesButRef)($,Z))){W.block(()=>hB(Q,"$ref",Z.all.$ref.definition));return}if(!K.jtd)fO(Q,X);W.block(()=>{for(let V of Z.rules)L(V);L(Z.post)});function L(V){if(!(0,RX.shouldUseGroup)($,V))return;if(V.type){if(W.if((0,RQ.checkDataType)(V.type,B,K.strictNumbers)),SB(Q,V),X.length===1&&X[0]===V.type&&Y)W.else(),(0,RQ.reportTypeError)(Q);W.endIf()}else SB(Q,V);if(!G)W.if(R._`${k.default.errors} === ${J||0}`)}}function SB(Q,X){let{gen:Y,schema:J,opts:{useDefaults:W}}=Q;if(W)(0,PO.assignDefaults)(Q,X.type);Y.block(()=>{for(let $ of X.rules)if((0,RX.shouldUseRule)(J,$))hB(Q,$.keyword,$.definition,X.type)})}function fO(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(hO(Q,X),!Q.opts.allowUnionTypes)uO(Q,X);mO(Q,Q.dataTypes)}function hO(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!fB(Q.dataTypes,Y))EX(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),cO(Q,X)}function uO(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))EX(Q,"use allowUnionTypes to allow union type keyword")}function mO(Q,X){let Y=Q.self.RULES.all;for(let J in Y){let W=Y[J];if(typeof W=="object"&&(0,RX.shouldUseRule)(Q.schema,W)){let{type:$}=W.definition;if($.length&&!$.some((B)=>lO(X,B)))EX(Q,`missing type "${$.join(",")}" for keyword "${J}"`)}}}function lO(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function fB(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function cO(Q,X){let Y=[];for(let J of Q.dataTypes)if(fB(X,J))Y.push(J);else if(X.includes("integer")&&J==="number")Y.push("integer");Q.dataTypes=Y}function EX(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,W1.checkStrictMode)(Q,X,Q.opts.strictTypes)}class SX{constructor(Q,X,Y){if((0,G8.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,W1.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",uB(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,G8.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",k.default.errors)}result(Q,X,Y){this.failResult((0,R.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,R.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(R._`${X} !== undefined && (${(0,R.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?B8.reportExtraError:B8.reportError)(this,this.def.error,X)}$dataError(){(0,B8.reportError)(this,this.def.$dataError||B8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,B8.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=R.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=R.nil,X=R.nil){if(!this.$data)return;let{gen:Y,schemaCode:J,schemaType:W,def:$}=this;if(Y.if((0,R.or)(R._`${J} === undefined`,X)),Q!==R.nil)Y.assign(Q,!0);if(W.length||$.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==R.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:J,it:W}=this;return(0,R.or)($(),B());function $(){if(Y.length){if(!(X instanceof R.Name))throw Error("ajv implementation error");let G=Array.isArray(Y)?Y:[Y];return R._`${(0,RQ.checkDataTypes)(G,X,W.opts.strictNumbers,RQ.DataType.Wrong)}`}return R.nil}function B(){if(J.validateSchema){let G=Q.scopeValue("validate$data",{ref:J.validateSchema});return R._`!${G}(${X})`}return R.nil}}subschema(Q,X){let Y=(0,TX.getSubschema)(this.it,Q);(0,TX.extendSubschemaData)(Y,this.it,Q),(0,TX.extendSubschemaMode)(Y,Q);let J={...this.it,...Y,items:void 0,props:void 0};return SO(J,X),J}mergeEvaluated(Q,X){let{it:Y,gen:J}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=W1.mergeEvaluated.props(J,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=W1.mergeEvaluated.items(J,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:J}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return J.if(X,()=>this.mergeEvaluated(Q,R.Name)),!0}}mB.KeywordCxt=SX;function hB(Q,X,Y,J){let W=new SX(Q,Y,X);if("code"in Y)Y.code(W,J);else if(W.$data&&Y.validate)(0,G8.funcKeywordCode)(W,Y);else if("macro"in Y)(0,G8.macroKeywordCode)(W,Y);else if(Y.compile||Y.validate)(0,G8.funcKeywordCode)(W,Y)}var pO=/^\/(?:[^~]|~0|~1)*$/,dO=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function uB(Q,{dataLevel:X,dataNames:Y,dataPathArr:J}){let W,$;if(Q==="")return k.default.rootData;if(Q[0]==="/"){if(!pO.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);W=Q,$=k.default.rootData}else{let H=dO.exec(Q);if(!H)throw Error(`Invalid JSON-pointer: ${Q}`);let Z=+H[1];if(W=H[2],W==="#"){if(Z>=X)throw Error(K("property/index",Z));return J[X-Z]}if(Z>X)throw Error(K("data",Z));if($=Y[X-Z],!W)return $}let B=$,G=W.split("/");for(let H of G)if(H)$=R._`${$}${(0,R.getProperty)((0,W1.unescapeJsonPointer)(H))}`,B=R._`${B} && ${$}`;return B;function K(H,Z){return`Cannot access ${H} ${Z} levels up, current level is ${X}`}}mB.getData=uB});var EQ=w((pB)=>{Object.defineProperty(pB,"__esModule",{value:!0});class cB extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}pB.default=cB});var K8=w((iB)=>{Object.defineProperty(iB,"__esModule",{value:!0});var CX=$8();class dB extends Error{constructor(Q,X,Y,J){super(J||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,CX.resolveUrl)(Q,X,Y),this.missingSchema=(0,CX.normalizeId)((0,CX.getFullPath)(Q,this.missingRef))}}iB.default=dB});var CQ=w((rB)=>{Object.defineProperty(rB,"__esModule",{value:!0});rB.resolveSchema=rB.getCompilingSchema=rB.resolveRef=rB.compileSchema=rB.SchemaEnv=void 0;var m0=x(),tO=EQ(),v1=J1(),l0=$8(),nB=f(),aO=H8();class Z8{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,l0.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}rB.SchemaEnv=Z8;function _X(Q){let X=oB.call(this,Q);if(X)return X;let Y=(0,l0.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:J,lines:W}=this.opts.code,{ownProperties:$}=this.opts,B=new m0.CodeGen(this.scope,{es5:J,lines:W,ownProperties:$}),G;if(Q.$async)G=B.scopeValue("Error",{ref:tO.default,code:m0._`require("ajv/dist/runtime/validation_error").default`});let K=B.scopeName("validate");Q.validateName=K;let H={gen:B,allErrors:this.opts.allErrors,data:v1.default.data,parentData:v1.default.parentData,parentDataProperty:v1.default.parentDataProperty,dataNames:[v1.default.data],dataPathArr:[m0.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:B.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,m0.stringify)(Q.schema)}:{ref:Q.schema}),validateName:K,ValidationError:G,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:m0.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:m0._`""`,opts:this.opts,self:this},Z;try{this._compilations.add(Q),(0,aO.validateFunctionCode)(H),B.optimize(this.opts.code.optimize);let L=B.toString();if(Z=`${B.scopeRefs(v1.default.scope)}return ${L}`,this.opts.code.process)Z=this.opts.code.process(Z,Q);let D=Function(`${v1.default.self}`,`${v1.default.scope}`,Z)(this,this.scope.get());if(this.scope.value(K,{ref:D}),D.errors=null,D.schema=Q.schema,D.schemaEnv=Q,Q.$async)D.$async=!0;if(this.opts.code.source===!0)D.source={validateName:K,validateCode:L,scopeValues:B._values};if(this.opts.unevaluated){let{props:z,items:A}=H;if(D.evaluated={props:z instanceof m0.Name?void 0:z,items:A instanceof m0.Name?void 0:A,dynamicProps:z instanceof m0.Name,dynamicItems:A instanceof m0.Name},D.source)D.source.evaluated=(0,m0.stringify)(D.evaluated)}return Q.validate=D,Q}catch(L){if(delete Q.validate,delete Q.validateName,Z)this.logger.error("Error compiling schema, function code:",Z);throw L}finally{this._compilations.delete(Q)}}rB.compileSchema=_X;function sO(Q,X,Y){var J;Y=(0,l0.resolveUrl)(this.opts.uriResolver,X,Y);let W=Q.refs[Y];if(W)return W;let $=XN.call(this,Q,Y);if($===void 0){let B=(J=Q.localRefs)===null||J===void 0?void 0:J[Y],{schemaId:G}=this.opts;if(B)$=new Z8({schema:B,schemaId:G,root:Q,baseId:X})}if($===void 0)return;return Q.refs[Y]=eO.call(this,$)}rB.resolveRef=sO;function eO(Q){if((0,l0.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:_X.call(this,Q)}function oB(Q){for(let X of this._compilations)if(QN(X,Q))return X}rB.getCompilingSchema=oB;function QN(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function XN(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||SQ.call(this,Q,X)}function SQ(Q,X){let Y=this.opts.uriResolver.parse(X),J=(0,l0._getFullPath)(this.opts.uriResolver,Y),W=(0,l0.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&J===W)return kX.call(this,Y,Q);let $=(0,l0.normalizeId)(J),B=this.refs[$]||this.schemas[$];if(typeof B=="string"){let G=SQ.call(this,Q,B);if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;return kX.call(this,Y,G)}if(typeof(B===null||B===void 0?void 0:B.schema)!=="object")return;if(!B.validate)_X.call(this,B);if($===(0,l0.normalizeId)(X)){let{schema:G}=B,{schemaId:K}=this.opts,H=G[K];if(H)W=(0,l0.resolveUrl)(this.opts.uriResolver,W,H);return new Z8({schema:G,schemaId:K,root:Q,baseId:W})}return kX.call(this,Y,B)}rB.resolveSchema=SQ;var YN=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function kX(Q,{baseId:X,schema:Y,root:J}){var W;if(((W=Q.fragment)===null||W===void 0?void 0:W[0])!=="/")return;for(let G of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let K=Y[(0,nB.unescapeFragment)(G)];if(K===void 0)return;Y=K;let H=typeof Y==="object"&&Y[this.opts.schemaId];if(!YN.has(G)&&H)X=(0,l0.resolveUrl)(this.opts.uriResolver,X,H)}let $;if(typeof Y!="boolean"&&Y.$ref&&!(0,nB.schemaHasRulesButRef)(Y,this.RULES)){let G=(0,l0.resolveUrl)(this.opts.uriResolver,X,Y.$ref);$=SQ.call(this,J,G)}let{schemaId:B}=this.opts;if($=$||new Z8({schema:Y,schemaId:B,root:J,baseId:X}),$.schema!==$.root.schema)return $;return}});var aB=w((uC,GN)=>{GN.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 yX=w((mC,JG)=>{var HN=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),eB=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),xX=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),QG=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),KN=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function vX(Q){let X="",Y=0,J=0;for(J=0;J<Q.length;J++){if(Y=Q[J].charCodeAt(0),Y===48)continue;if(!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[J];break}for(J+=1;J<Q.length;J++){if(Y=Q[J].charCodeAt(0),!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[J]}return X}var ZN=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function sB(Q){return Q.length=0,!0}function LN(Q,X,Y){if(Q.length){let J=vX(Q);if(J!=="")X.push(J);else return Y.error=!0,!1;Q.length=0}return!0}function VN(Q){let X=0,Y={error:!1,address:"",zone:""},J=[],W=[],$=!1,B=!1,G=LN;for(let K=0;K<Q.length;K++){let H=Q[K];if(H==="["||H==="]")continue;if(H===":"){if($===!0)B=!0;if(!G(W,J,Y))break;if(++X>7){Y.error=!0;break}if(K>0&&Q[K-1]===":")$=!0;J.push(":");continue}else if(H==="%"){if(!G(W,J,Y))break;G=sB}else{W.push(H);continue}}if(W.length)if(G===sB)Y.zone=W.join("");else if(B)J.push(W.join(""));else J.push(vX(W));return Y.address=J.join(""),Y}function XG(Q){if(DN(Q,":")<2)return{host:Q,isIPV6:!1};let X=VN(Q);if(!X.error){let{address:Y,address:J}=X;if(X.zone)Y+="%"+X.zone,J+="%25"+X.zone;return{host:Y,isIPV6:!0,escapedHost:J}}else return{host:Q,isIPV6:!1}}function DN(Q,X){let Y=0;for(let J=0;J<Q.length;J++)if(Q[J]===X)Y++;return Y}function qN(Q){let X=Q,Y=[],J=-1,W=0;while(W=X.length){if(W===1)if(X===".")break;else if(X==="/"){Y.push("/");break}else{Y.push(X);break}else if(W===2){if(X[0]==="."){if(X[1]===".")break;else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."||X[1]==="/"){Y.push("/");break}}}else if(W===3){if(X==="/.."){if(Y.length!==0)Y.pop();Y.push("/");break}}if(X[0]==="."){if(X[1]==="."){if(X[2]==="/"){X=X.slice(3);continue}}else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."){if(X[2]==="/"){X=X.slice(2);continue}else if(X[2]==="."){if(X[3]==="/"){if(X=X.slice(3),Y.length!==0)Y.pop();continue}}}}if((J=X.indexOf("/",1))===-1){Y.push(X);break}else Y.push(X.slice(0,J)),X=X.slice(J)}return Y.join("")}var zN={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},FN=/[@/?#:]/g,AN=/[@/?#]/g;function YG(Q,X){let Y=X?AN:FN;return Y.lastIndex=0,Q.replace(Y,(J)=>zN[J])}function ON(Q,X=!1){if(Q.indexOf("%")===-1)return Q;let Y="";for(let J=0;J<Q.length;J++){if(Q[J]==="%"&&J+2<Q.length){let W=Q.slice(J+1,J+3);if(xX(W)){let $=W.toUpperCase(),B=String.fromCharCode(parseInt($,16));if(X&&QG(B))Y+=B;else Y+="%"+$;J+=2;continue}}Y+=Q[J]}return Y}function NN(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let J=Q.slice(Y+1,Y+3);if(xX(J)){let W=J.toUpperCase(),$=String.fromCharCode(parseInt(W,16));if($!=="."&&QG($))X+=$;else X+="%"+W;Y+=2;continue}}if(KN(Q[Y]))X+=Q[Y];else X+=escape(Q[Y])}return X}function UN(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let J=Q.slice(Y+1,Y+3);if(xX(J)){X+="%"+J.toUpperCase(),Y+=2;continue}}X+=escape(Q[Y])}return X}function MN(Q){let X=[];if(Q.userinfo!==void 0)X.push(Q.userinfo),X.push("@");if(Q.host!==void 0){let Y=unescape(Q.host);if(!eB(Y)){let J=XG(Y);if(J.isIPV6===!0)Y=`[${J.escapedHost}]`;else Y=YG(Y,!1)}X.push(Y)}if(typeof Q.port==="number"||typeof Q.port==="string")X.push(":"),X.push(String(Q.port));return X.length?X.join(""):void 0}JG.exports={nonSimpleDomain:ZN,recomposeAuthority:MN,reescapeHostDelimiters:YG,normalizePercentEncoding:ON,normalizePathEncoding:NN,escapePreservingEscapes:UN,removeDotSegments:qN,isIPv4:eB,isUUID:HN,normalizeIPv6:XG,stringArrayToHexStripped:vX}});var HG=w((lC,GG)=>{var{isUUID:wN}=yX(),PN=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,jN=["http","https","ws","wss","urn","urn:uuid"];function IN(Q){return jN.indexOf(Q)!==-1}function gX(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function WG(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function $G(Q){let X=String(Q.scheme).toLowerCase()==="https";if(Q.port===(X?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function bN(Q){return Q.secure=gX(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function TN(Q){if(Q.port===(gX(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[X,Y]=Q.resourceName.split("?");Q.path=X&&X!=="/"?X:void 0,Q.query=Y,Q.resourceName=void 0}return Q.fragment=void 0,Q}function RN(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(PN);if(Y){let J=X.scheme||Q.scheme||"urn";Q.nid=Y[1].toLowerCase(),Q.nss=Y[2];let W=`${J}:${X.nid||Q.nid}`,$=fX(W);if(Q.path=void 0,$)Q=$.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function EN(Q,X){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let Y=X.scheme||Q.scheme||"urn",J=Q.nid.toLowerCase(),W=`${Y}:${X.nid||J}`,$=fX(W);if($)Q=$.serialize(Q,X);let B=Q,G=Q.nss;return B.path=`${J||X.nid}:${G}`,X.skipEscape=!0,B}function SN(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!wN(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function CN(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var BG={scheme:"http",domainHost:!0,parse:WG,serialize:$G},kN={scheme:"https",domainHost:BG.domainHost,parse:WG,serialize:$G},kQ={scheme:"ws",domainHost:!0,parse:bN,serialize:TN},_N={scheme:"wss",domainHost:kQ.domainHost,parse:kQ.parse,serialize:kQ.serialize},xN={scheme:"urn",parse:RN,serialize:EN,skipNormalize:!0},vN={scheme:"urn:uuid",parse:SN,serialize:CN,skipNormalize:!0},_Q={http:BG,https:kN,ws:kQ,wss:_N,urn:xN,"urn:uuid":vN};Object.setPrototypeOf(_Q,null);function fX(Q){return Q&&(_Q[Q]||_Q[Q.toLowerCase()])||void 0}GG.exports={wsIsSecure:gX,SCHEMES:_Q,isValidSchemeName:IN,getSchemeHandler:fX}});var qG=w((cC,xQ)=>{var{normalizeIPv6:yN,removeDotSegments:L8,recomposeAuthority:gN,normalizePercentEncoding:fN,normalizePathEncoding:hN,escapePreservingEscapes:uN,reescapeHostDelimiters:mN,isIPv4:lN,nonSimpleDomain:cN}=yX(),{SCHEMES:pN,getSchemeHandler:ZG}=HG();function dN(Q,X){if(typeof Q==="string")Q=tN(Q,X);else if(typeof Q==="object")Q=G9(y1(Q,X),X);return Q}function iN(Q,X,Y){let J=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},W=LG(G9(Q,J),G9(X,J),J,!0);return J.skipEscape=!0,y1(W,J)}function LG(Q,X,Y,J){let W={};if(!J)Q=G9(y1(Q,Y),Y),X=G9(y1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)W.scheme=X.scheme,W.userinfo=X.userinfo,W.host=X.host,W.port=X.port,W.path=L8(X.path||""),W.query=X.query;else{if(X.userinfo!==void 0||X.host!==void 0||X.port!==void 0)W.userinfo=X.userinfo,W.host=X.host,W.port=X.port,W.path=L8(X.path||""),W.query=X.query;else{if(!X.path)if(W.path=Q.path,X.query!==void 0)W.query=X.query;else W.query=Q.query;else{if(X.path[0]==="/")W.path=L8(X.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)W.path="/"+X.path;else if(!Q.path)W.path=X.path;else W.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+X.path;W.path=L8(W.path)}W.query=X.query}W.userinfo=Q.userinfo,W.host=Q.host,W.port=Q.port}W.scheme=Q.scheme}return W.fragment=X.fragment,W}function nN(Q,X,Y){let J=KG(Q,Y),W=KG(X,Y);return J!==void 0&&W!==void 0&&J.toLowerCase()===W.toLowerCase()}function y1(Q,X){let Y={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},J=Object.assign({},X),W=[],$=ZG(J.scheme||Y.scheme);if($&&$.serialize)$.serialize(Y,J);if(Y.path!==void 0)if(!J.skipEscape){if(Y.path=uN(Y.path),Y.scheme!==void 0)Y.path=Y.path.split("%3A").join(":")}else Y.path=fN(Y.path);if(J.reference!=="suffix"&&Y.scheme)W.push(Y.scheme,":");let B=gN(Y);if(B!==void 0){if(J.reference!=="suffix")W.push("//");if(W.push(B),Y.path&&Y.path[0]!=="/")W.push("/")}if(Y.path!==void 0){let G=Y.path;if(!J.absolutePath&&(!$||!$.absolutePath))G=L8(G);if(B===void 0&&G[0]==="/"&&G[1]==="/")G="/%2F"+G.slice(2);W.push(G)}if(Y.query!==void 0)W.push("?",Y.query);if(Y.fragment!==void 0)W.push("#",Y.fragment);return W.join("")}var oN=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function rN(Q,X){if(X[2]!==void 0&&Q.path&&Q.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof Q.port==="number"&&(Q.port<0||Q.port>65535))return"URI port is malformed.";return}function VG(Q,X){let Y=Object.assign({},X),J={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},W=!1,$=!1;if(Y.reference==="suffix")if(Y.scheme)Q=Y.scheme+":"+Q;else Q="//"+Q;let B=Q.match(oN);if(B){if(J.scheme=B[1],J.userinfo=B[3],J.host=B[4],J.port=parseInt(B[5],10),J.path=B[6]||"",J.query=B[7],J.fragment=B[8],isNaN(J.port))J.port=B[5];let G=rN(J,B);if(G!==void 0)J.error=J.error||G,W=!0;if(J.host)if(lN(J.host)===!1){let Z=yN(J.host);J.host=Z.host.toLowerCase(),$=Z.isIPV6}else $=!0;if(J.scheme===void 0&&J.userinfo===void 0&&J.host===void 0&&J.port===void 0&&J.query===void 0&&!J.path)J.reference="same-document";else if(J.scheme===void 0)J.reference="relative";else if(J.fragment===void 0)J.reference="absolute";else J.reference="uri";if(Y.reference&&Y.reference!=="suffix"&&Y.reference!==J.reference)J.error=J.error||"URI is not a "+Y.reference+" reference.";let K=ZG(Y.scheme||J.scheme);if(!Y.unicodeSupport&&(!K||!K.unicodeSupport)){if(J.host&&(Y.domainHost||K&&K.domainHost)&&$===!1&&cN(J.host))try{J.host=URL.domainToASCII(J.host.toLowerCase())}catch(H){J.error=J.error||"Host's domain name can not be converted to ASCII: "+H}}if(!K||K&&!K.skipNormalize){if(Q.indexOf("%")!==-1){if(J.scheme!==void 0)J.scheme=unescape(J.scheme);if(J.host!==void 0)J.host=mN(unescape(J.host),$)}if(J.path)J.path=hN(J.path);if(J.fragment)try{J.fragment=encodeURI(decodeURIComponent(J.fragment))}catch{J.error=J.error||"URI malformed"}}if(K&&K.parse)K.parse(J,Y)}else J.error=J.error||"URI can not be parsed.";return{parsed:J,malformedAuthorityOrPort:W}}function G9(Q,X){return VG(Q,X).parsed}function tN(Q,X){return DG(Q,X).normalized}function DG(Q,X){let{parsed:Y,malformedAuthorityOrPort:J}=VG(Q,X);return{normalized:J?Q:y1(Y,X),malformedAuthorityOrPort:J}}function KG(Q,X){if(typeof Q==="string"){let{normalized:Y,malformedAuthorityOrPort:J}=DG(Q,X);return J?void 0:Y}if(typeof Q==="object")return y1(Q,X)}var hX={SCHEMES:pN,normalize:dN,resolve:iN,resolveComponent:LG,equal:nN,serialize:y1,parse:G9};xQ.exports=hX;xQ.exports.default=hX;xQ.exports.fastUri=hX});var AG=w((FG)=>{Object.defineProperty(FG,"__esModule",{value:!0});var zG=qG();zG.code='require("ajv/dist/runtime/uri").default';FG.default=zG});var IG=w(($1)=>{Object.defineProperty($1,"__esModule",{value:!0});$1.CodeGen=$1.Name=$1.nil=$1.stringify=$1.str=$1._=$1.KeywordCxt=void 0;var sN=H8();Object.defineProperty($1,"KeywordCxt",{enumerable:!0,get:function(){return sN.KeywordCxt}});var H9=x();Object.defineProperty($1,"_",{enumerable:!0,get:function(){return H9._}});Object.defineProperty($1,"str",{enumerable:!0,get:function(){return H9.str}});Object.defineProperty($1,"stringify",{enumerable:!0,get:function(){return H9.stringify}});Object.defineProperty($1,"nil",{enumerable:!0,get:function(){return H9.nil}});Object.defineProperty($1,"Name",{enumerable:!0,get:function(){return H9.Name}});Object.defineProperty($1,"CodeGen",{enumerable:!0,get:function(){return H9.CodeGen}});var eN=EQ(),wG=K8(),QU=AX(),V8=CQ(),XU=x(),D8=$8(),vQ=W8(),mX=f(),OG=aB(),YU=AG(),PG=(Q,X)=>new RegExp(Q,X);PG.code="new RegExp";var JU=["removeAdditional","useDefaults","coerceTypes"],WU=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),$U={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."},BU={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},NG=200;function GU(Q){var X,Y,J,W,$,B,G,K,H,Z,L,V,D,z,A,N,F,U,M,b,P,n,O0,T1,E9;let E0=Q.strict,l1=(X=Q.code)===null||X===void 0?void 0:X.optimize,eY=l1===!0||l1===void 0?1:l1||0,QJ=(J=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&J!==void 0?J:PG,FL=(W=Q.uriResolver)!==null&&W!==void 0?W:YU.default;return{strictSchema:(B=($=Q.strictSchema)!==null&&$!==void 0?$:E0)!==null&&B!==void 0?B:!0,strictNumbers:(K=(G=Q.strictNumbers)!==null&&G!==void 0?G:E0)!==null&&K!==void 0?K:!0,strictTypes:(Z=(H=Q.strictTypes)!==null&&H!==void 0?H:E0)!==null&&Z!==void 0?Z:"log",strictTuples:(V=(L=Q.strictTuples)!==null&&L!==void 0?L:E0)!==null&&V!==void 0?V:"log",strictRequired:(z=(D=Q.strictRequired)!==null&&D!==void 0?D:E0)!==null&&z!==void 0?z:!1,code:Q.code?{...Q.code,optimize:eY,regExp:QJ}:{optimize:eY,regExp:QJ},loopRequired:(A=Q.loopRequired)!==null&&A!==void 0?A:NG,loopEnum:(N=Q.loopEnum)!==null&&N!==void 0?N:NG,meta:(F=Q.meta)!==null&&F!==void 0?F:!0,messages:(U=Q.messages)!==null&&U!==void 0?U:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(b=Q.schemaId)!==null&&b!==void 0?b:"$id",addUsedSchema:(P=Q.addUsedSchema)!==null&&P!==void 0?P:!0,validateSchema:(n=Q.validateSchema)!==null&&n!==void 0?n:!0,validateFormats:(O0=Q.validateFormats)!==null&&O0!==void 0?O0:!0,unicodeRegExp:(T1=Q.unicodeRegExp)!==null&&T1!==void 0?T1:!0,int32range:(E9=Q.int32range)!==null&&E9!==void 0?E9:!0,uriResolver:FL}}class yQ{constructor(Q={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...GU(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new XU.ValueScope({scope:{},prefixes:WU,es5:X,lines:Y}),this.logger=DU(Q.logger);let J=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,QU.getRules)(),UG.call(this,$U,Q,"NOT SUPPORTED"),UG.call(this,BU,Q,"DEPRECATED","warn"),this._metaOpts=LU.call(this),Q.formats)KU.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)ZU.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);HU.call(this),Q.validateFormats=J}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,J=OG;if(Y==="id")J={...OG},J.id=J.$id,delete J.$id;if(X&&Q)this.addMetaSchema(J,J[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let J=Y(X);if(!("$async"in Y))this.errors=Y.errors;return J}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return J.call(this,Q,X);async function J(H,Z){await W.call(this,H.$schema);let L=this._addSchema(H,Z);return L.validate||$.call(this,L)}async function W(H){if(H&&!this.getSchema(H))await J.call(this,{$ref:H},!0)}async function $(H){try{return this._compileSchemaEnv(H)}catch(Z){if(!(Z instanceof wG.default))throw Z;return B.call(this,Z),await G.call(this,Z.missingSchema),$.call(this,H)}}function B({missingSchema:H,missingRef:Z}){if(this.refs[H])throw Error(`AnySchema ${H} is loaded but ${Z} cannot be resolved`)}async function G(H){let Z=await K.call(this,H);if(!this.refs[H])await W.call(this,Z.$schema);if(!this.refs[H])this.addSchema(Z,H,X)}async function K(H){let Z=this._loading[H];if(Z)return Z;try{return await(this._loading[H]=Y(H))}finally{delete this._loading[H]}}}addSchema(Q,X,Y,J=this.opts.validateSchema){if(Array.isArray(Q)){for(let $ of Q)this.addSchema($,void 0,Y,J);return this}let W;if(typeof Q==="object"){let{schemaId:$}=this.opts;if(W=Q[$],W!==void 0&&typeof W!="string")throw Error(`schema ${$} must be string`)}return X=(0,D8.normalizeId)(X||W),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,J,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let J=this.validate(Y,Q);if(!J&&X){let W="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(W);else throw Error(W)}return J}getSchema(Q){let X;while(typeof(X=MG.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,J=new V8.SchemaEnv({schema:{},schemaId:Y});if(X=V8.resolveSchema.call(this,J,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=MG.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,D8.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(zU.call(this,Y,X),!X)return(0,mX.eachItem)(Y,(W)=>uX.call(this,W)),this;AU.call(this,X);let J={...X,type:(0,vQ.getJSONTypes)(X.type),schemaType:(0,vQ.getJSONTypes)(X.schemaType)};return(0,mX.eachItem)(Y,J.type.length===0?(W)=>uX.call(this,W,J):(W)=>J.type.forEach(($)=>uX.call(this,W,J,$))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let J=Y.rules.findIndex((W)=>W.keyword===Q);if(J>=0)Y.rules.splice(J,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((J)=>`${Y}${J.instancePath} ${J.message}`).reduce((J,W)=>J+X+W)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let J of X){let W=J.split("/").slice(1),$=Q;for(let B of W)$=$[B];for(let B in Y){let G=Y[B];if(typeof G!="object")continue;let{$data:K}=G.definition,H=$[B];if(K&&H)$[B]=jG(H)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let J=Q[Y];if(!X||X.test(Y)){if(typeof J=="string")delete Q[Y];else if(J&&!J.meta)this._cache.delete(J.schema),delete Q[Y]}}}_addSchema(Q,X,Y,J=this.opts.validateSchema,W=this.opts.addUsedSchema){let $,{schemaId:B}=this.opts;if(typeof Q=="object")$=Q[B];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let G=this._cache.get(Q);if(G!==void 0)return G;Y=(0,D8.normalizeId)($||Y);let K=D8.getSchemaRefs.call(this,Q,Y);if(G=new V8.SchemaEnv({schema:Q,schemaId:B,meta:X,baseId:Y,localRefs:K}),this._cache.set(G.schema,G),W&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=G}if(J)this.validateSchema(Q,!0);return G}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else V8.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{V8.compileSchema.call(this,Q)}finally{this.opts=X}}}yQ.ValidationError=eN.default;yQ.MissingRefError=wG.default;$1.default=yQ;function UG(Q,X,Y,J="error"){for(let W in Q){let $=W;if($ in X)this.logger[J](`${Y}: option ${W}. ${Q[$]}`)}}function MG(Q){return Q=(0,D8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function HU(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function KU(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function ZU(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function LU(){let Q={...this.opts};for(let X of JU)delete Q[X];return Q}var VU={log(){},warn(){},error(){}};function DU(Q){if(Q===!1)return VU;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var qU=/^[a-z_$][a-z0-9_$:-]*$/i;function zU(Q,X){let{RULES:Y}=this;if((0,mX.eachItem)(Q,(J)=>{if(Y.keywords[J])throw Error(`Keyword ${J} is already defined`);if(!qU.test(J))throw Error(`Keyword ${J} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function uX(Q,X,Y){var J;let W=X===null||X===void 0?void 0:X.post;if(Y&&W)throw Error('keyword with "post" flag cannot have "type"');let{RULES:$}=this,B=W?$.post:$.rules.find(({type:K})=>K===Y);if(!B)B={type:Y,rules:[]},$.rules.push(B);if($.keywords[Q]=!0,!X)return;let G={keyword:Q,definition:{...X,type:(0,vQ.getJSONTypes)(X.type),schemaType:(0,vQ.getJSONTypes)(X.schemaType)}};if(X.before)FU.call(this,B,G,X.before);else B.rules.push(G);$.all[Q]=G,(J=X.implements)===null||J===void 0||J.forEach((K)=>this.addKeyword(K))}function FU(Q,X,Y){let J=Q.rules.findIndex((W)=>W.keyword===Y);if(J>=0)Q.rules.splice(J,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function AU(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=jG(X);Q.validateSchema=this.compile(X,!0)}var OU={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function jG(Q){return{anyOf:[Q,OU]}}});var TG=w((bG)=>{Object.defineProperty(bG,"__esModule",{value:!0});var MU={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};bG.default=MU});var _G=w((CG)=>{Object.defineProperty(CG,"__esModule",{value:!0});CG.callRef=CG.getValidate=void 0;var PU=K8(),RG=x0(),P0=x(),K9=J1(),EG=CQ(),gQ=f(),jU={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:J}=Q,{baseId:W,schemaEnv:$,validateName:B,opts:G,self:K}=J,{root:H}=$;if((Y==="#"||Y==="#/")&&W===H.baseId)return L();let Z=EG.resolveRef.call(K,H,W,Y);if(Z===void 0)throw new PU.default(J.opts.uriResolver,W,Y);if(Z instanceof EG.SchemaEnv)return V(Z);return D(Z);function L(){if($===H)return fQ(Q,B,$,$.$async);let z=X.scopeValue("root",{ref:H});return fQ(Q,P0._`${z}.validate`,H,H.$async)}function V(z){let A=SG(Q,z);fQ(Q,A,z,z.$async)}function D(z){let A=X.scopeValue("schema",G.code.source===!0?{ref:z,code:(0,P0.stringify)(z)}:{ref:z}),N=X.name("valid"),F=Q.subschema({schema:z,dataTypes:[],schemaPath:P0.nil,topSchemaRef:A,errSchemaPath:Y},N);Q.mergeEvaluated(F),Q.ok(N)}}};function SG(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):P0._`${Y.scopeValue("wrapper",{ref:X})}.validate`}CG.getValidate=SG;function fQ(Q,X,Y,J){let{gen:W,it:$}=Q,{allErrors:B,schemaEnv:G,opts:K}=$,H=K.passContext?K9.default.this:P0.nil;if(J)Z();else L();function Z(){if(!G.$async)throw Error("async schema referenced by sync schema");let z=W.let("valid");W.try(()=>{if(W.code(P0._`await ${(0,RG.callValidateCode)(Q,X,H)}`),D(X),!B)W.assign(z,!0)},(A)=>{if(W.if(P0._`!(${A} instanceof ${$.ValidationError})`,()=>W.throw(A)),V(A),!B)W.assign(z,!1)}),Q.ok(z)}function L(){Q.result((0,RG.callValidateCode)(Q,X,H),()=>D(X),()=>V(X))}function V(z){let A=P0._`${z}.errors`;W.assign(K9.default.vErrors,P0._`${K9.default.vErrors} === null ? ${A} : ${K9.default.vErrors}.concat(${A})`),W.assign(K9.default.errors,P0._`${K9.default.vErrors}.length`)}function D(z){var A;if(!$.opts.unevaluated)return;let N=(A=Y===null||Y===void 0?void 0:Y.validate)===null||A===void 0?void 0:A.evaluated;if($.props!==!0)if(N&&!N.dynamicProps){if(N.props!==void 0)$.props=gQ.mergeEvaluated.props(W,N.props,$.props)}else{let F=W.var("props",P0._`${z}.evaluated.props`);$.props=gQ.mergeEvaluated.props(W,F,$.props,P0.Name)}if($.items!==!0)if(N&&!N.dynamicItems){if(N.items!==void 0)$.items=gQ.mergeEvaluated.items(W,N.items,$.items)}else{let F=W.var("items",P0._`${z}.evaluated.items`);$.items=gQ.mergeEvaluated.items(W,F,$.items,P0.Name)}}}CG.callRef=fQ;CG.default=jU});var vG=w((xG)=>{Object.defineProperty(xG,"__esModule",{value:!0});var TU=TG(),RU=_G(),EU=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",TU.default,RU.default];xG.default=EU});var gG=w((yG)=>{Object.defineProperty(yG,"__esModule",{value:!0});var hQ=x(),P1=hQ.operators,uQ={maximum:{okStr:"<=",ok:P1.LTE,fail:P1.GT},minimum:{okStr:">=",ok:P1.GTE,fail:P1.LT},exclusiveMaximum:{okStr:"<",ok:P1.LT,fail:P1.GTE},exclusiveMinimum:{okStr:">",ok:P1.GT,fail:P1.LTE}},CU={message:({keyword:Q,schemaCode:X})=>hQ.str`must be ${uQ[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>hQ._`{comparison: ${uQ[Q].okStr}, limit: ${X}}`},kU={keyword:Object.keys(uQ),type:"number",schemaType:"number",$data:!0,error:CU,code(Q){let{keyword:X,data:Y,schemaCode:J}=Q;Q.fail$data(hQ._`${Y} ${uQ[X].fail} ${J} || isNaN(${Y})`)}};yG.default=kU});var hG=w((fG)=>{Object.defineProperty(fG,"__esModule",{value:!0});var q8=x(),xU={message:({schemaCode:Q})=>q8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>q8._`{multipleOf: ${Q}}`},vU={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:xU,code(Q){let{gen:X,data:Y,schemaCode:J,it:W}=Q,$=W.opts.multipleOfPrecision,B=X.let("res"),G=$?q8._`Math.abs(Math.round(${B}) - ${B}) > 1e-${$}`:q8._`${B} !== parseInt(${B})`;Q.fail$data(q8._`(${J} === 0 || (${B} = ${Y}/${J}, ${G}))`)}};fG.default=vU});var lG=w((mG)=>{Object.defineProperty(mG,"__esModule",{value:!0});function uG(Q){let X=Q.length,Y=0,J=0,W;while(J<X)if(Y++,W=Q.charCodeAt(J++),W>=55296&&W<=56319&&J<X){if(W=Q.charCodeAt(J),(W&64512)===56320)J++}return Y}mG.default=uG;uG.code='require("ajv/dist/runtime/ucs2length").default'});var pG=w((cG)=>{Object.defineProperty(cG,"__esModule",{value:!0});var g1=x(),fU=f(),hU=lG(),uU={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return g1.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>g1._`{limit: ${Q}}`},mU={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:uU,code(Q){let{keyword:X,data:Y,schemaCode:J,it:W}=Q,$=X==="maxLength"?g1.operators.GT:g1.operators.LT,B=W.opts.unicode===!1?g1._`${Y}.length`:g1._`${(0,fU.useFunc)(Q.gen,hU.default)}(${Y})`;Q.fail$data(g1._`${B} ${$} ${J}`)}};cG.default=mU});var iG=w((dG)=>{Object.defineProperty(dG,"__esModule",{value:!0});var cU=x0(),pU=f(),Z9=x(),dU={message:({schemaCode:Q})=>Z9.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>Z9._`{pattern: ${Q}}`},iU={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:dU,code(Q){let{gen:X,data:Y,$data:J,schema:W,schemaCode:$,it:B}=Q,G=B.opts.unicodeRegExp?"u":"";if(J){let{regExp:K}=B.opts.code,H=K.code==="new RegExp"?Z9._`new RegExp`:(0,pU.useFunc)(X,K),Z=X.let("valid");X.try(()=>X.assign(Z,Z9._`${H}(${$}, ${G}).test(${Y})`),()=>X.assign(Z,!1)),Q.fail$data(Z9._`!${Z}`)}else{let K=(0,cU.usePattern)(Q,W);Q.fail$data(Z9._`!${K}.test(${Y})`)}}};dG.default=iU});var oG=w((nG)=>{Object.defineProperty(nG,"__esModule",{value:!0});var z8=x(),oU={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return z8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>z8._`{limit: ${Q}}`},rU={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:oU,code(Q){let{keyword:X,data:Y,schemaCode:J}=Q,W=X==="maxProperties"?z8.operators.GT:z8.operators.LT;Q.fail$data(z8._`Object.keys(${Y}).length ${W} ${J}`)}};nG.default=rU});var tG=w((rG)=>{Object.defineProperty(rG,"__esModule",{value:!0});var F8=x0(),A8=x(),aU=f(),sU={message:({params:{missingProperty:Q}})=>A8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>A8._`{missingProperty: ${Q}}`},eU={keyword:"required",type:"object",schemaType:"array",$data:!0,error:sU,code(Q){let{gen:X,schema:Y,schemaCode:J,data:W,$data:$,it:B}=Q,{opts:G}=B;if(!$&&Y.length===0)return;let K=Y.length>=G.loopRequired;if(B.allErrors)H();else Z();if(G.strictRequired){let D=Q.parentSchema.properties,{definedProperties:z}=Q.it;for(let A of Y)if((D===null||D===void 0?void 0:D[A])===void 0&&!z.has(A)){let N=B.schemaEnv.baseId+B.errSchemaPath,F=`required property "${A}" is not defined at "${N}" (strictRequired)`;(0,aU.checkStrictMode)(B,F,B.opts.strictRequired)}}function H(){if(K||$)Q.block$data(A8.nil,L);else for(let D of Y)(0,F8.checkReportMissingProp)(Q,D)}function Z(){let D=X.let("missing");if(K||$){let z=X.let("valid",!0);Q.block$data(z,()=>V(D,z)),Q.ok(z)}else X.if((0,F8.checkMissingProp)(Q,Y,D)),(0,F8.reportMissingProp)(Q,D),X.else()}function L(){X.forOf("prop",J,(D)=>{Q.setParams({missingProperty:D}),X.if((0,F8.noPropertyInData)(X,W,D,G.ownProperties),()=>Q.error())})}function V(D,z){Q.setParams({missingProperty:D}),X.forOf(D,J,()=>{X.assign(z,(0,F8.propertyInData)(X,W,D,G.ownProperties)),X.if((0,A8.not)(z),()=>{Q.error(),X.break()})},A8.nil)}}};rG.default=eU});var sG=w((aG)=>{Object.defineProperty(aG,"__esModule",{value:!0});var O8=x(),XM={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return O8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>O8._`{limit: ${Q}}`},YM={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:XM,code(Q){let{keyword:X,data:Y,schemaCode:J}=Q,W=X==="maxItems"?O8.operators.GT:O8.operators.LT;Q.fail$data(O8._`${Y}.length ${W} ${J}`)}};aG.default=YM});var mQ=w((QH)=>{Object.defineProperty(QH,"__esModule",{value:!0});var eG=IX();eG.code='require("ajv/dist/runtime/equal").default';QH.default=eG});var YH=w((XH)=>{Object.defineProperty(XH,"__esModule",{value:!0});var lX=W8(),V0=x(),$M=f(),BM=mQ(),GM={message:({params:{i:Q,j:X}})=>V0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>V0._`{i: ${Q}, j: ${X}}`},HM={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:GM,code(Q){let{gen:X,data:Y,$data:J,schema:W,parentSchema:$,schemaCode:B,it:G}=Q;if(!J&&!W)return;let K=X.let("valid"),H=$.items?(0,lX.getSchemaTypes)($.items):[];Q.block$data(K,Z,V0._`${B} === false`),Q.ok(K);function Z(){let z=X.let("i",V0._`${Y}.length`),A=X.let("j");Q.setParams({i:z,j:A}),X.assign(K,!0),X.if(V0._`${z} > 1`,()=>(L()?V:D)(z,A))}function L(){return H.length>0&&!H.some((z)=>z==="object"||z==="array")}function V(z,A){let N=X.name("item"),F=(0,lX.checkDataTypes)(H,N,G.opts.strictNumbers,lX.DataType.Wrong),U=X.const("indices",V0._`{}`);X.for(V0._`;${z}--;`,()=>{if(X.let(N,V0._`${Y}[${z}]`),X.if(F,V0._`continue`),H.length>1)X.if(V0._`typeof ${N} == "string"`,V0._`${N} += "_"`);X.if(V0._`typeof ${U}[${N}] == "number"`,()=>{X.assign(A,V0._`${U}[${N}]`),Q.error(),X.assign(K,!1).break()}).code(V0._`${U}[${N}] = ${z}`)})}function D(z,A){let N=(0,$M.useFunc)(X,BM.default),F=X.name("outer");X.label(F).for(V0._`;${z}--;`,()=>X.for(V0._`${A} = ${z}; ${A}--;`,()=>X.if(V0._`${N}(${Y}[${z}], ${Y}[${A}])`,()=>{Q.error(),X.assign(K,!1).break(F)})))}}};XH.default=HM});var WH=w((JH)=>{Object.defineProperty(JH,"__esModule",{value:!0});var cX=x(),ZM=f(),LM=mQ(),VM={message:"must be equal to constant",params:({schemaCode:Q})=>cX._`{allowedValue: ${Q}}`},DM={keyword:"const",$data:!0,error:VM,code(Q){let{gen:X,data:Y,$data:J,schemaCode:W,schema:$}=Q;if(J||$&&typeof $=="object")Q.fail$data(cX._`!${(0,ZM.useFunc)(X,LM.default)}(${Y}, ${W})`);else Q.fail(cX._`${$} !== ${Y}`)}};JH.default=DM});var BH=w(($H)=>{Object.defineProperty($H,"__esModule",{value:!0});var N8=x(),zM=f(),FM=mQ(),AM={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>N8._`{allowedValues: ${Q}}`},OM={keyword:"enum",schemaType:"array",$data:!0,error:AM,code(Q){let{gen:X,data:Y,$data:J,schema:W,schemaCode:$,it:B}=Q;if(!J&&W.length===0)throw Error("enum must have non-empty array");let G=W.length>=B.opts.loopEnum,K,H=()=>K!==null&&K!==void 0?K:K=(0,zM.useFunc)(X,FM.default),Z;if(G||J)Z=X.let("valid"),Q.block$data(Z,L);else{if(!Array.isArray(W))throw Error("ajv implementation error");let D=X.const("vSchema",$);Z=(0,N8.or)(...W.map((z,A)=>V(D,A)))}Q.pass(Z);function L(){X.assign(Z,!1),X.forOf("v",$,(D)=>X.if(N8._`${H()}(${Y}, ${D})`,()=>X.assign(Z,!0).break()))}function V(D,z){let A=W[z];return typeof A==="object"&&A!==null?N8._`${H()}(${Y}, ${D}[${z}])`:N8._`${Y} === ${A}`}}};$H.default=OM});var HH=w((GH)=>{Object.defineProperty(GH,"__esModule",{value:!0});var UM=gG(),MM=hG(),wM=pG(),PM=iG(),jM=oG(),IM=tG(),bM=sG(),TM=YH(),RM=WH(),EM=BH(),SM=[UM.default,MM.default,wM.default,PM.default,jM.default,IM.default,bM.default,TM.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},RM.default,EM.default];GH.default=SM});var dX=w((ZH)=>{Object.defineProperty(ZH,"__esModule",{value:!0});ZH.validateAdditionalItems=void 0;var f1=x(),pX=f(),kM={message:({params:{len:Q}})=>f1.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>f1._`{limit: ${Q}}`},_M={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:kM,code(Q){let{parentSchema:X,it:Y}=Q,{items:J}=X;if(!Array.isArray(J)){(0,pX.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}KH(Q,J)}};function KH(Q,X){let{gen:Y,schema:J,data:W,keyword:$,it:B}=Q;B.items=!0;let G=Y.const("len",f1._`${W}.length`);if(J===!1)Q.setParams({len:X.length}),Q.pass(f1._`${G} <= ${X.length}`);else if(typeof J=="object"&&!(0,pX.alwaysValidSchema)(B,J)){let H=Y.var("valid",f1._`${G} <= ${X.length}`);Y.if((0,f1.not)(H),()=>K(H)),Q.ok(H)}function K(H){Y.forRange("i",X.length,G,(Z)=>{if(Q.subschema({keyword:$,dataProp:Z,dataPropType:pX.Type.Num},H),!B.allErrors)Y.if((0,f1.not)(H),()=>Y.break())})}}ZH.validateAdditionalItems=KH;ZH.default=_M});var iX=w((qH)=>{Object.defineProperty(qH,"__esModule",{value:!0});qH.validateTuple=void 0;var VH=x(),lQ=f(),vM=x0(),yM={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return DH(Q,"additionalItems",X);if(Y.items=!0,(0,lQ.alwaysValidSchema)(Y,X))return;Q.ok((0,vM.validateArray)(Q))}};function DH(Q,X,Y=Q.schema){let{gen:J,parentSchema:W,data:$,keyword:B,it:G}=Q;if(Z(W),G.opts.unevaluated&&Y.length&&G.items!==!0)G.items=lQ.mergeEvaluated.items(J,Y.length,G.items);let K=J.name("valid"),H=J.const("len",VH._`${$}.length`);Y.forEach((L,V)=>{if((0,lQ.alwaysValidSchema)(G,L))return;J.if(VH._`${H} > ${V}`,()=>Q.subschema({keyword:B,schemaProp:V,dataProp:V},K)),Q.ok(K)});function Z(L){let{opts:V,errSchemaPath:D}=G,z=Y.length,A=z===L.minItems&&(z===L.maxItems||L[X]===!1);if(V.strictTuples&&!A){let N=`"${B}" is ${z}-tuple, but minItems or maxItems/${X} are not specified or different at path "${D}"`;(0,lQ.checkStrictMode)(G,N,V.strictTuples)}}}qH.validateTuple=DH;qH.default=yM});var AH=w((FH)=>{Object.defineProperty(FH,"__esModule",{value:!0});var fM=iX(),hM={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,fM.validateTuple)(Q,"items")};FH.default=hM});var UH=w((NH)=>{Object.defineProperty(NH,"__esModule",{value:!0});var OH=x(),mM=f(),lM=x0(),cM=dX(),pM={message:({params:{len:Q}})=>OH.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>OH._`{limit: ${Q}}`},dM={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:pM,code(Q){let{schema:X,parentSchema:Y,it:J}=Q,{prefixItems:W}=Y;if(J.items=!0,(0,mM.alwaysValidSchema)(J,X))return;if(W)(0,cM.validateAdditionalItems)(Q,W);else Q.ok((0,lM.validateArray)(Q))}};NH.default=dM});var wH=w((MH)=>{Object.defineProperty(MH,"__esModule",{value:!0});var v0=x(),cQ=f(),nM={message:({params:{min:Q,max:X}})=>X===void 0?v0.str`must contain at least ${Q} valid item(s)`:v0.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?v0._`{minContains: ${Q}}`:v0._`{minContains: ${Q}, maxContains: ${X}}`},oM={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:nM,code(Q){let{gen:X,schema:Y,parentSchema:J,data:W,it:$}=Q,B,G,{minContains:K,maxContains:H}=J;if($.opts.next)B=K===void 0?1:K,G=H;else B=1;let Z=X.const("len",v0._`${W}.length`);if(Q.setParams({min:B,max:G}),G===void 0&&B===0){(0,cQ.checkStrictMode)($,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(G!==void 0&&B>G){(0,cQ.checkStrictMode)($,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,cQ.alwaysValidSchema)($,Y)){let A=v0._`${Z} >= ${B}`;if(G!==void 0)A=v0._`${A} && ${Z} <= ${G}`;Q.pass(A);return}$.items=!0;let L=X.name("valid");if(G===void 0&&B===1)D(L,()=>X.if(L,()=>X.break()));else if(B===0){if(X.let(L,!0),G!==void 0)X.if(v0._`${W}.length > 0`,V)}else X.let(L,!1),V();Q.result(L,()=>Q.reset());function V(){let A=X.name("_valid"),N=X.let("count",0);D(A,()=>X.if(A,()=>z(N)))}function D(A,N){X.forRange("i",0,Z,(F)=>{Q.subschema({keyword:"contains",dataProp:F,dataPropType:cQ.Type.Num,compositeRule:!0},A),N()})}function z(A){if(X.code(v0._`${A}++`),G===void 0)X.if(v0._`${A} >= ${B}`,()=>X.assign(L,!0).break());else if(X.if(v0._`${A} > ${G}`,()=>X.assign(L,!1).break()),B===1)X.assign(L,!0);else X.if(v0._`${A} >= ${B}`,()=>X.assign(L,!0))}}};MH.default=oM});var RH=w((IH)=>{Object.defineProperty(IH,"__esModule",{value:!0});IH.validateSchemaDeps=IH.validatePropertyDeps=IH.error=void 0;var nX=x(),tM=f(),U8=x0();IH.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let J=X===1?"property":"properties";return nX.str`must have ${J} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:J}})=>nX._`{property: ${Q},
|
|
1
|
+
import{createRequire as bM}from"node:module";var LM=Object.create;var{getPrototypeOf:DM,defineProperty:O5,getOwnPropertyNames:UM}=Object;var OM=Object.prototype.hasOwnProperty;function MM(Q){return this[Q]}var AM,PM,M5=(Q,X,Y)=>{var J=Q!=null&&typeof Q==="object";if(J){var $=X?AM??=new WeakMap:PM??=new WeakMap,W=$.get(Q);if(W)return W}Y=Q!=null?LM(DM(Q)):{};let G=X||!Q||!Q.__esModule?O5(Y,"default",{value:Q,enumerable:!0}):Y;for(let B of UM(Q))if(!OM.call(G,B))O5(G,B,{get:MM.bind(Q,B),enumerable:!0});if(J)$.set(Q,G);return G};var N=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var jM=(Q)=>Q;function NM(Q,X){this[Q]=jM.bind(null,X)}var A5=(Q,X)=>{for(var Y in X)O5(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:NM.bind(X,Y)})};var h1=bM(import.meta.url);var Q4=N((GH)=>{Object.defineProperty(GH,"__esModule",{value:!0});GH.regexpCode=GH.getEsmExportName=GH.getProperty=GH.safeStringify=GH.stringify=GH.strConcat=GH.addCodeArg=GH.str=GH._=GH.nil=GH._Code=GH.Name=GH.IDENTIFIER=GH._CodeOrName=void 0;class rQ{}GH._CodeOrName=rQ;GH.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class C6 extends rQ{constructor(Q){super();if(!GH.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}GH.Name=C6;class D1 extends rQ{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof C6)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}GH._Code=D1;GH.nil=new D1("");function $H(Q,...X){let Y=[Q[0]],J=0;while(J<X.length)lY(Y,X[J]),Y.push(Q[++J]);return new D1(Y)}GH._=$H;var mY=new D1("+");function WH(Q,...X){let Y=[e8(Q[0])],J=0;while(J<X.length)Y.push(mY),lY(Y,X[J]),Y.push(mY,e8(Q[++J]));return $I(Y),new D1(Y)}GH.str=WH;function lY(Q,X){if(X instanceof D1)Q.push(...X._items);else if(X instanceof C6)Q.push(X);else Q.push(BI(X))}GH.addCodeArg=lY;function $I(Q){let X=1;while(X<Q.length-1){if(Q[X]===mY){let Y=WI(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function WI(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof C6||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof C6))return`"${Q}${X.slice(1)}`;return}function GI(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:WH`${Q}${X}`}GH.strConcat=GI;function BI(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:e8(Array.isArray(Q)?Q.join(","):Q)}function ZI(Q){return new D1(e8(Q))}GH.stringify=ZI;function e8(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}GH.safeStringify=e8;function KI(Q){return typeof Q=="string"&&GH.IDENTIFIER.test(Q)?new D1(`.${Q}`):$H`[${Q}]`}GH.getProperty=KI;function zI(Q){if(typeof Q=="string"&&GH.IDENTIFIER.test(Q))return new D1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}GH.getEsmExportName=zI;function HI(Q){return new D1(Q.toString())}GH.regexpCode=HI});var iY=N((zH)=>{Object.defineProperty(zH,"__esModule",{value:!0});zH.ValueScope=zH.ValueScopeName=zH.Scope=zH.varKinds=zH.UsedValueState=void 0;var d0=Q4();class ZH extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var sQ;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(sQ||(zH.UsedValueState=sQ={}));zH.varKinds={const:new d0.Name("const"),let:new d0.Name("let"),var:new d0.Name("var")};class cY{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof d0.Name?Q:this.name(Q)}name(Q){return new d0.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}zH.Scope=cY;class dY extends d0.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=d0._`.${new d0.Name(X)}[${Y}]`}}zH.ValueScopeName=dY;var bI=d0._`\n`;class KH extends cY{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?bI:d0.nil}}get(){return this._scope}name(Q){return new dY(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let J=this.toName(Q),{prefix:$}=J,W=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let K=G.get(W);if(K)return K}else G=this._values[$]=new Map;G.set(W,J);let B=this._scope[$]||(this._scope[$]=[]),Z=B.length;return B[Z]=X.ref,J.setValue(X,{property:$,itemIndex:Z}),J}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return d0._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(J)=>{if(J.value===void 0)throw Error(`CodeGen: name "${J}" has no value`);return J.value.code},X,Y)}_reduceValues(Q,X,Y={},J){let $=d0.nil;for(let W in Q){let G=Q[W];if(!G)continue;let B=Y[W]=Y[W]||new Map;G.forEach((Z)=>{if(B.has(Z))return;B.set(Z,sQ.Started);let K=X(Z);if(K){let z=this.opts.es5?zH.varKinds.var:zH.varKinds.const;$=d0._`${$}${z} ${Z} = ${K};${this.opts._n}`}else if(K=J===null||J===void 0?void 0:J(Z))$=d0._`${$}${K}${this.opts._n}`;else throw new ZH(Z);B.set(Z,sQ.Completed)})}return $}}zH.ValueScope=KH});var f=N((i0)=>{Object.defineProperty(i0,"__esModule",{value:!0});i0.or=i0.and=i0.not=i0.CodeGen=i0.operators=i0.varKinds=i0.ValueScopeName=i0.ValueScope=i0.Scope=i0.Name=i0.regexpCode=i0.stringify=i0.getProperty=i0.nil=i0.strConcat=i0.str=i0._=void 0;var u=Q4(),U1=iY(),D9=Q4();Object.defineProperty(i0,"_",{enumerable:!0,get:function(){return D9._}});Object.defineProperty(i0,"str",{enumerable:!0,get:function(){return D9.str}});Object.defineProperty(i0,"strConcat",{enumerable:!0,get:function(){return D9.strConcat}});Object.defineProperty(i0,"nil",{enumerable:!0,get:function(){return D9.nil}});Object.defineProperty(i0,"getProperty",{enumerable:!0,get:function(){return D9.getProperty}});Object.defineProperty(i0,"stringify",{enumerable:!0,get:function(){return D9.stringify}});Object.defineProperty(i0,"regexpCode",{enumerable:!0,get:function(){return D9.regexpCode}});Object.defineProperty(i0,"Name",{enumerable:!0,get:function(){return D9.Name}});var JX=iY();Object.defineProperty(i0,"Scope",{enumerable:!0,get:function(){return JX.Scope}});Object.defineProperty(i0,"ValueScope",{enumerable:!0,get:function(){return JX.ValueScope}});Object.defineProperty(i0,"ValueScopeName",{enumerable:!0,get:function(){return JX.ValueScopeName}});Object.defineProperty(i0,"varKinds",{enumerable:!0,get:function(){return JX.varKinds}});i0.operators={GT:new u._Code(">"),GTE:new u._Code(">="),LT:new u._Code("<"),LTE:new u._Code("<="),EQ:new u._Code("==="),NEQ:new u._Code("!=="),NOT:new u._Code("!"),OR:new u._Code("||"),AND:new u._Code("&&"),ADD:new u._Code("+")};class U9{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class VH extends U9{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?U1.varKinds.var:this.varKind,J=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${J};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=S6(this.rhs,Q,X);return this}get names(){return this.rhs instanceof u._CodeOrName?this.rhs.names:{}}}class rY extends U9{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof u.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=S6(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof u.Name?{}:{...this.lhs.names};return YX(Q,this.rhs)}}class qH extends rY{constructor(Q,X,Y,J){super(Q,Y,J);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class FH extends U9{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class LH extends U9{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class DH extends U9{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class UH extends U9{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=S6(this.code,Q,X),this}get names(){return this.code instanceof u._CodeOrName?this.code.names:{}}}class $X extends U9{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,J=Y.length;while(J--){let $=Y[J];if($.optimizeNames(Q,X))continue;TI(Q,$.names),Y.splice(J,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>n9(Q,X.names),{})}}class O9 extends $X{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class OH extends $X{}class X4 extends O9{}X4.kind="else";class o1 extends O9{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new X4(Y):Y}if(X){if(Q===!1)return X instanceof o1?X:X.nodes;if(this.nodes.length)return this;return new o1(NH(Q),X instanceof o1?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=S6(this.condition,Q,X),this}get names(){let Q=super.names;if(YX(Q,this.condition),this.else)n9(Q,this.else.names);return Q}}o1.kind="if";class T6 extends O9{}T6.kind="for";class MH extends T6{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=S6(this.iteration,Q,X),this}get names(){return n9(super.names,this.iteration.names)}}class AH extends T6{constructor(Q,X,Y,J){super();this.varKind=Q,this.name=X,this.from=Y,this.to=J}render(Q){let X=Q.es5?U1.varKinds.var:this.varKind,{name:Y,from:J,to:$}=this;return`for(${X} ${Y}=${J}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=YX(super.names,this.from);return YX(Q,this.to)}}class nY extends T6{constructor(Q,X,Y,J){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=J}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=S6(this.iterable,Q,X),this}get names(){return n9(super.names,this.iterable.names)}}class tQ extends O9{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}tQ.kind="func";class eQ extends $X{render(Q){return"return "+super.render(Q)}}eQ.kind="return";class PH extends O9{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,J;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(J=this.finally)===null||J===void 0||J.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)n9(Q,this.catch.names);if(this.finally)n9(Q,this.finally.names);return Q}}class QX extends O9{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}QX.kind="catch";class XX extends O9{render(Q){return"finally"+super.render(Q)}}XX.kind="finally";class jH{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
|
|
2
|
+
`:""},this._extScope=Q,this._scope=new U1.Scope({parent:Q}),this._nodes=[new OH]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,J){let $=this._scope.toName(X);if(Y!==void 0&&J)this._constants[$.str]=Y;return this._leafNode(new VH(Q,$,Y)),$}const(Q,X,Y){return this._def(U1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(U1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(U1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new rY(Q,X,Y))}add(Q,X){return this._leafNode(new qH(Q,i0.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==u.nil)this._leafNode(new UH(Q));return this}object(...Q){let X=["{"];for(let[Y,J]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==J||this.opts.es5)X.push(":"),(0,u.addCodeArg)(X,J)}return X.push("}"),new u._Code(X)}if(Q,X,Y){if(this._blockNode(new o1(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new o1(Q))}else(){return this._elseNode(new X4)}endIf(){return this._endBlockNode(o1,X4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new MH(Q),X)}forRange(Q,X,Y,J,$=this.opts.es5?U1.varKinds.var:U1.varKinds.let){let W=this._scope.toName(Q);return this._for(new AH($,W,X,Y),()=>J(W))}forOf(Q,X,Y,J=U1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let W=X instanceof u.Name?X:this.var("_arr",X);return this.forRange("_i",0,u._`${W}.length`,(G)=>{this.var($,u._`${W}[${G}]`),Y($)})}return this._for(new nY("of",J,$,X),()=>Y($))}forIn(Q,X,Y,J=this.opts.es5?U1.varKinds.var:U1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,u._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new nY("in",J,$,X),()=>Y($))}endFor(){return this._endBlockNode(T6)}label(Q){return this._leafNode(new FH(Q))}break(Q){return this._leafNode(new LH(Q))}return(Q){let X=new eQ;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(eQ)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let J=new PH;if(this._blockNode(J),this.code(Q),X){let $=this.name("e");this._currNode=J.catch=new QX($),X($)}if(Y)this._currNode=J.finally=new XX,this.code(Y);return this._endBlockNode(QX,XX)}throw(Q){return this._leafNode(new DH(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=u.nil,Y,J){if(this._blockNode(new tQ(Q,X,Y)),J)this.code(J).endFunc();return this}endFunc(){return this._endBlockNode(tQ)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof o1))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}i0.CodeGen=jH;function n9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function YX(Q,X){return X instanceof u._CodeOrName?n9(Q,X.names):Q}function S6(Q,X,Y){if(Q instanceof u.Name)return J(Q);if(!$(Q))return Q;return new u._Code(Q._items.reduce((W,G)=>{if(G instanceof u.Name)G=J(G);if(G instanceof u._Code)W.push(...G._items);else W.push(G);return W},[]));function J(W){let G=Y[W.str];if(G===void 0||X[W.str]!==1)return W;return delete X[W.str],G}function $(W){return W instanceof u._Code&&W._items.some((G)=>G instanceof u.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function TI(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function NH(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:u._`!${oY(Q)}`}i0.not=NH;var SI=bH(i0.operators.AND);function RI(...Q){return Q.reduce(SI)}i0.and=RI;var EI=bH(i0.operators.OR);function kI(...Q){return Q.reduce(EI)}i0.or=kI;function bH(Q){return(X,Y)=>X===u.nil?Y:Y===u.nil?X:u._`${oY(X)} ${Q} ${oY(Y)}`}function oY(Q){return Q instanceof u.Name?Q:u._`(${Q})`}});var m=N((_H)=>{Object.defineProperty(_H,"__esModule",{value:!0});_H.checkStrictMode=_H.getErrorPath=_H.Type=_H.useFunc=_H.setEvaluated=_H.evaluatedPropsToName=_H.mergeEvaluated=_H.eachItem=_H.unescapeJsonPointer=_H.escapeJsonPointer=_H.escapeFragment=_H.unescapeFragment=_H.schemaRefOrVal=_H.schemaHasRulesButRef=_H.schemaHasRules=_H.checkUnknownRules=_H.alwaysValidSchema=_H.toHash=void 0;var X0=f(),vI=Q4();function fI(Q){let X={};for(let Y of Q)X[Y]=!0;return X}_H.toHash=fI;function hI(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return TH(Q,X),!SH(X,Q.self.RULES.all)}_H.alwaysValidSchema=hI;function TH(Q,X=Q.schema){let{opts:Y,self:J}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=J.RULES.keywords;for(let W in X)if(!$[W])kH(Q,`unknown keyword: "${W}"`)}_H.checkUnknownRules=TH;function SH(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}_H.schemaHasRules=SH;function gI(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}_H.schemaHasRulesButRef=gI;function uI({topSchemaRef:Q,schemaPath:X},Y,J,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return X0._`${Y}`}return X0._`${Q}${X}${(0,X0.getProperty)(J)}`}_H.schemaRefOrVal=uI;function mI(Q){return RH(decodeURIComponent(Q))}_H.unescapeFragment=mI;function lI(Q){return encodeURIComponent(sY(Q))}_H.escapeFragment=lI;function sY(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}_H.escapeJsonPointer=sY;function RH(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}_H.unescapeJsonPointer=RH;function pI(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}_H.eachItem=pI;function IH({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:J}){return($,W,G,B)=>{let Z=G===void 0?W:G instanceof X0.Name?(W instanceof X0.Name?Q($,W,G):X($,W,G),G):W instanceof X0.Name?(X($,G,W),W):Y(W,G);return B===X0.Name&&!(Z instanceof X0.Name)?J($,Z):Z}}_H.mergeEvaluated={props:IH({mergeNames:(Q,X,Y)=>Q.if(X0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(X0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,X0._`${Y} || {}`).code(X0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(X0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,X0._`${Y} || {}`),tY(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:EH}),items:IH({mergeNames:(Q,X,Y)=>Q.if(X0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,X0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(X0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:X0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function EH(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",X0._`{}`);if(X!==void 0)tY(Q,Y,X);return Y}_H.evaluatedPropsToName=EH;function tY(Q,X,Y){Object.keys(Y).forEach((J)=>Q.assign(X0._`${X}${(0,X0.getProperty)(J)}`,!0))}_H.setEvaluated=tY;var CH={};function cI(Q,X){return Q.scopeValue("func",{ref:X,code:CH[X.code]||(CH[X.code]=new vI._Code(X.code))})}_H.useFunc=cI;var aY;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(aY||(_H.Type=aY={}));function dI(Q,X,Y){if(Q instanceof X0.Name){let J=X===aY.Num;return Y?J?X0._`"[" + ${Q} + "]"`:X0._`"['" + ${Q} + "']"`:J?X0._`"/" + ${Q}`:X0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,X0.getProperty)(Q).toString():"/"+sY(Q)}_H.getErrorPath=dI;function kH(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}_H.checkStrictMode=kH});var r1=N((yH)=>{Object.defineProperty(yH,"__esModule",{value:!0});var R0=f(),KC={data:new R0.Name("data"),valCxt:new R0.Name("valCxt"),instancePath:new R0.Name("instancePath"),parentData:new R0.Name("parentData"),parentDataProperty:new R0.Name("parentDataProperty"),rootData:new R0.Name("rootData"),dynamicAnchors:new R0.Name("dynamicAnchors"),vErrors:new R0.Name("vErrors"),errors:new R0.Name("errors"),this:new R0.Name("this"),self:new R0.Name("self"),scope:new R0.Name("scope"),json:new R0.Name("json"),jsonPos:new R0.Name("jsonPos"),jsonLen:new R0.Name("jsonLen"),jsonPart:new R0.Name("jsonPart")};yH.default=KC});var Y4=N((gH)=>{Object.defineProperty(gH,"__esModule",{value:!0});gH.extendErrors=gH.resetErrorsCount=gH.reportExtraError=gH.reportError=gH.keyword$DataError=gH.keywordError=void 0;var l=f(),GX=m(),_0=r1();gH.keywordError={message:({keyword:Q})=>l.str`must pass "${Q}" keyword validation`};gH.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?l.str`"${Q}" keyword must be ${X} ($data)`:l.str`"${Q}" keyword is invalid ($data)`};function HC(Q,X=gH.keywordError,Y,J){let{it:$}=Q,{gen:W,compositeRule:G,allErrors:B}=$,Z=hH(Q,X,Y);if(J!==null&&J!==void 0?J:G||B)vH(W,Z);else fH($,l._`[${Z}]`)}gH.reportError=HC;function VC(Q,X=gH.keywordError,Y){let{it:J}=Q,{gen:$,compositeRule:W,allErrors:G}=J,B=hH(Q,X,Y);if(vH($,B),!(W||G))fH(J,_0.default.vErrors)}gH.reportExtraError=VC;function qC(Q,X){Q.assign(_0.default.errors,X),Q.if(l._`${_0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(l._`${_0.default.vErrors}.length`,X),()=>Q.assign(_0.default.vErrors,null)))}gH.resetErrorsCount=qC;function FC({gen:Q,keyword:X,schemaValue:Y,data:J,errsCount:$,it:W}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,_0.default.errors,(B)=>{if(Q.const(G,l._`${_0.default.vErrors}[${B}]`),Q.if(l._`${G}.instancePath === undefined`,()=>Q.assign(l._`${G}.instancePath`,(0,l.strConcat)(_0.default.instancePath,W.errorPath))),Q.assign(l._`${G}.schemaPath`,l.str`${W.errSchemaPath}/${X}`),W.opts.verbose)Q.assign(l._`${G}.schema`,Y),Q.assign(l._`${G}.data`,J)})}gH.extendErrors=FC;function vH(Q,X){let Y=Q.const("err",X);Q.if(l._`${_0.default.vErrors} === null`,()=>Q.assign(_0.default.vErrors,l._`[${Y}]`),l._`${_0.default.vErrors}.push(${Y})`),Q.code(l._`${_0.default.errors}++`)}function fH(Q,X){let{gen:Y,validateName:J,schemaEnv:$}=Q;if($.$async)Y.throw(l._`new ${Q.ValidationError}(${X})`);else Y.assign(l._`${J}.errors`,X),Y.return(!1)}var o9={keyword:new l.Name("keyword"),schemaPath:new l.Name("schemaPath"),params:new l.Name("params"),propertyName:new l.Name("propertyName"),message:new l.Name("message"),schema:new l.Name("schema"),parentSchema:new l.Name("parentSchema")};function hH(Q,X,Y){let{createErrors:J}=Q.it;if(J===!1)return l._`{}`;return LC(Q,X,Y)}function LC(Q,X,Y={}){let{gen:J,it:$}=Q,W=[DC($,Y),UC(Q,Y)];return OC(Q,X,W),J.object(...W)}function DC({errorPath:Q},{instancePath:X}){let Y=X?l.str`${Q}${(0,GX.getErrorPath)(X,GX.Type.Str)}`:Q;return[_0.default.instancePath,(0,l.strConcat)(_0.default.instancePath,Y)]}function UC({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:J}){let $=J?X:l.str`${X}/${Q}`;if(Y)$=l.str`${$}${(0,GX.getErrorPath)(Y,GX.Type.Str)}`;return[o9.schemaPath,$]}function OC(Q,{params:X,message:Y},J){let{keyword:$,data:W,schemaValue:G,it:B}=Q,{opts:Z,propertyName:K,topSchemaRef:z,schemaPath:H}=B;if(J.push([o9.keyword,$],[o9.params,typeof X=="function"?X(Q):X||l._`{}`]),Z.messages)J.push([o9.message,typeof Y=="function"?Y(Q):Y]);if(Z.verbose)J.push([o9.schema,G],[o9.parentSchema,l._`${z}${H}`],[_0.default.data,W]);if(K)J.push([o9.propertyName,K])}});var cH=N((lH)=>{Object.defineProperty(lH,"__esModule",{value:!0});lH.boolOrEmptySchema=lH.topBoolOrEmptySchema=void 0;var NC=Y4(),bC=f(),wC=r1(),IC={message:"boolean schema is false"};function CC(Q){let{gen:X,schema:Y,validateName:J}=Q;if(Y===!1)mH(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(wC.default.data);else X.assign(bC._`${J}.errors`,null),X.return(!0)}lH.topBoolOrEmptySchema=CC;function TC(Q,X){let{gen:Y,schema:J}=Q;if(J===!1)Y.var(X,!1),mH(Q);else Y.var(X,!0)}lH.boolOrEmptySchema=TC;function mH(Q,X){let{gen:Y,data:J}=Q,$={gen:Y,keyword:"false schema",data:J,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,NC.reportError)($,IC,void 0,X)}});var QJ=N((dH)=>{Object.defineProperty(dH,"__esModule",{value:!0});dH.getRules=dH.isJSONType=void 0;var RC=["string","number","integer","boolean","null","object","array"],EC=new Set(RC);function kC(Q){return typeof Q=="string"&&EC.has(Q)}dH.isJSONType=kC;function _C(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}dH.getRules=_C});var XJ=N((rH)=>{Object.defineProperty(rH,"__esModule",{value:!0});rH.shouldUseRule=rH.shouldUseGroup=rH.schemaHasRulesForType=void 0;function yC({schema:Q,self:X},Y){let J=X.RULES.types[Y];return J&&J!==!0&&nH(Q,J)}rH.schemaHasRulesForType=yC;function nH(Q,X){return X.rules.some((Y)=>oH(Q,Y))}rH.shouldUseGroup=nH;function oH(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((J)=>Q[J]!==void 0))}rH.shouldUseRule=oH});var J4=N((QV)=>{Object.defineProperty(QV,"__esModule",{value:!0});QV.reportTypeError=QV.checkDataTypes=QV.checkDataType=QV.coerceAndCheckDataType=QV.getJSONTypes=QV.getSchemaTypes=QV.DataType=void 0;var hC=QJ(),gC=XJ(),uC=Y4(),v=f(),sH=m(),R6;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(R6||(QV.DataType=R6={}));function mC(Q){let X=tH(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}QV.getSchemaTypes=mC;function tH(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(hC.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}QV.getJSONTypes=tH;function lC(Q,X){let{gen:Y,data:J,opts:$}=Q,W=pC(X,$.coerceTypes),G=X.length>0&&!(W.length===0&&X.length===1&&(0,gC.schemaHasRulesForType)(Q,X[0]));if(G){let B=JJ(X,J,$.strictNumbers,R6.Wrong);Y.if(B,()=>{if(W.length)cC(Q,X,W);else $J(Q)})}return G}QV.coerceAndCheckDataType=lC;var eH=new Set(["string","number","integer","boolean","null"]);function pC(Q,X){return X?Q.filter((Y)=>eH.has(Y)||X==="array"&&Y==="array"):[]}function cC(Q,X,Y){let{gen:J,data:$,opts:W}=Q,G=J.let("dataType",v._`typeof ${$}`),B=J.let("coerced",v._`undefined`);if(W.coerceTypes==="array")J.if(v._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>J.assign($,v._`${$}[0]`).assign(G,v._`typeof ${$}`).if(JJ(X,$,W.strictNumbers),()=>J.assign(B,$)));J.if(v._`${B} !== undefined`);for(let K of Y)if(eH.has(K)||K==="array"&&W.coerceTypes==="array")Z(K);J.else(),$J(Q),J.endIf(),J.if(v._`${B} !== undefined`,()=>{J.assign($,B),dC(Q,B)});function Z(K){switch(K){case"string":J.elseIf(v._`${G} == "number" || ${G} == "boolean"`).assign(B,v._`"" + ${$}`).elseIf(v._`${$} === null`).assign(B,v._`""`);return;case"number":J.elseIf(v._`${G} == "boolean" || ${$} === null
|
|
3
|
+
|| (${G} == "string" && ${$} && ${$} == +${$})`).assign(B,v._`+${$}`);return;case"integer":J.elseIf(v._`${G} === "boolean" || ${$} === null
|
|
4
|
+
|| (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(B,v._`+${$}`);return;case"boolean":J.elseIf(v._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(B,!1).elseIf(v._`${$} === "true" || ${$} === 1`).assign(B,!0);return;case"null":J.elseIf(v._`${$} === "" || ${$} === 0 || ${$} === false`),J.assign(B,null);return;case"array":J.elseIf(v._`${G} === "string" || ${G} === "number"
|
|
5
|
+
|| ${G} === "boolean" || ${$} === null`).assign(B,v._`[${$}]`)}}}function dC({gen:Q,parentData:X,parentDataProperty:Y},J){Q.if(v._`${X} !== undefined`,()=>Q.assign(v._`${X}[${Y}]`,J))}function YJ(Q,X,Y,J=R6.Correct){let $=J===R6.Correct?v.operators.EQ:v.operators.NEQ,W;switch(Q){case"null":return v._`${X} ${$} null`;case"array":W=v._`Array.isArray(${X})`;break;case"object":W=v._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":W=G(v._`!(${X} % 1) && !isNaN(${X})`);break;case"number":W=G();break;default:return v._`typeof ${X} ${$} ${Q}`}return J===R6.Correct?W:(0,v.not)(W);function G(B=v.nil){return(0,v.and)(v._`typeof ${X} == "number"`,B,Y?v._`isFinite(${X})`:v.nil)}}QV.checkDataType=YJ;function JJ(Q,X,Y,J){if(Q.length===1)return YJ(Q[0],X,Y,J);let $,W=(0,sH.toHash)(Q);if(W.array&&W.object){let G=v._`typeof ${X} != "object"`;$=W.null?G:v._`!${X} || ${G}`,delete W.null,delete W.array,delete W.object}else $=v.nil;if(W.number)delete W.integer;for(let G in W)$=(0,v.and)($,YJ(G,X,Y,J));return $}QV.checkDataTypes=JJ;var iC={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?v._`{type: ${Q}}`:v._`{type: ${X}}`};function $J(Q){let X=nC(Q);(0,uC.reportError)(X,iC)}QV.reportTypeError=$J;function nC(Q){let{gen:X,data:Y,schema:J}=Q,$=(0,sH.schemaRefOrVal)(Q,J,"type");return{gen:X,keyword:"type",data:Y,schema:J.type,schemaCode:$,schemaValue:$,parentSchema:J,params:{},it:Q}}});var WV=N((JV)=>{Object.defineProperty(JV,"__esModule",{value:!0});JV.assignDefaults=void 0;var E6=f(),QT=m();function XT(Q,X){let{properties:Y,items:J}=Q.schema;if(X==="object"&&Y)for(let $ in Y)YV(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(J))J.forEach(($,W)=>YV(Q,W,$.default))}JV.assignDefaults=XT;function YV(Q,X,Y){let{gen:J,compositeRule:$,data:W,opts:G}=Q;if(Y===void 0)return;let B=E6._`${W}${(0,E6.getProperty)(X)}`;if($){(0,QT.checkStrictMode)(Q,`default is ignored for: ${B}`);return}let Z=E6._`${B} === undefined`;if(G.useDefaults==="empty")Z=E6._`${Z} || ${B} === null || ${B} === ""`;J.if(Z,E6._`${B} = ${(0,E6.stringify)(Y)}`)}});var Z1=N((ZV)=>{Object.defineProperty(ZV,"__esModule",{value:!0});ZV.validateUnion=ZV.validateArray=ZV.usePattern=ZV.callValidateCode=ZV.schemaProperties=ZV.allSchemaProperties=ZV.noPropertyInData=ZV.propertyInData=ZV.isOwnProperty=ZV.hasPropFunc=ZV.reportMissingProp=ZV.checkMissingProp=ZV.checkReportMissingProp=void 0;var G0=f(),WJ=m(),M9=r1(),YT=m();function JT(Q,X){let{gen:Y,data:J,it:$}=Q;Y.if(BJ(Y,J,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:G0._`${X}`},!0),Q.error()})}ZV.checkReportMissingProp=JT;function $T({gen:Q,data:X,it:{opts:Y}},J,$){return(0,G0.or)(...J.map((W)=>(0,G0.and)(BJ(Q,X,W,Y.ownProperties),G0._`${$} = ${W}`)))}ZV.checkMissingProp=$T;function WT(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}ZV.reportMissingProp=WT;function GV(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:G0._`Object.prototype.hasOwnProperty`})}ZV.hasPropFunc=GV;function GJ(Q,X,Y){return G0._`${GV(Q)}.call(${X}, ${Y})`}ZV.isOwnProperty=GJ;function GT(Q,X,Y,J){let $=G0._`${X}${(0,G0.getProperty)(Y)} !== undefined`;return J?G0._`${$} && ${GJ(Q,X,Y)}`:$}ZV.propertyInData=GT;function BJ(Q,X,Y,J){let $=G0._`${X}${(0,G0.getProperty)(Y)} === undefined`;return J?(0,G0.or)($,(0,G0.not)(GJ(Q,X,Y))):$}ZV.noPropertyInData=BJ;function BV(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}ZV.allSchemaProperties=BV;function BT(Q,X){return BV(X).filter((Y)=>!(0,WJ.alwaysValidSchema)(Q,X[Y]))}ZV.schemaProperties=BT;function ZT({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:J,schemaPath:$,errorPath:W},it:G},B,Z,K){let z=K?G0._`${Q}, ${X}, ${J}${$}`:X,H=[[M9.default.instancePath,(0,G0.strConcat)(M9.default.instancePath,W)],[M9.default.parentData,G.parentData],[M9.default.parentDataProperty,G.parentDataProperty],[M9.default.rootData,M9.default.rootData]];if(G.opts.dynamicRef)H.push([M9.default.dynamicAnchors,M9.default.dynamicAnchors]);let V=G0._`${z}, ${Y.object(...H)}`;return Z!==G0.nil?G0._`${B}.call(${Z}, ${V})`:G0._`${B}(${V})`}ZV.callValidateCode=ZT;var KT=G0._`new RegExp`;function zT({gen:Q,it:{opts:X}},Y){let J=X.unicodeRegExp?"u":"",{regExp:$}=X.code,W=$(Y,J);return Q.scopeValue("pattern",{key:W.toString(),ref:W,code:G0._`${$.code==="new RegExp"?KT:(0,YT.useFunc)(Q,$)}(${Y}, ${J})`})}ZV.usePattern=zT;function HT(Q){let{gen:X,data:Y,keyword:J,it:$}=Q,W=X.name("valid");if($.allErrors){let B=X.let("valid",!0);return G(()=>X.assign(B,!1)),B}return X.var(W,!0),G(()=>X.break()),W;function G(B){let Z=X.const("len",G0._`${Y}.length`);X.forRange("i",0,Z,(K)=>{Q.subschema({keyword:J,dataProp:K,dataPropType:WJ.Type.Num},W),X.if((0,G0.not)(W),B)})}}ZV.validateArray=HT;function VT(Q){let{gen:X,schema:Y,keyword:J,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((Z)=>(0,WJ.alwaysValidSchema)($,Z))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),B=X.name("_valid");X.block(()=>Y.forEach((Z,K)=>{let z=Q.subschema({keyword:J,schemaProp:K,compositeRule:!0},B);if(X.assign(G,G0._`${G} || ${B}`),!Q.mergeValidEvaluated(z,B))X.if((0,G0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}ZV.validateUnion=VT});var FV=N((VV)=>{Object.defineProperty(VV,"__esModule",{value:!0});VV.validateKeywordUsage=VV.validSchemaType=VV.funcKeywordCode=VV.macroKeywordCode=void 0;var x0=f(),r9=r1(),wT=Z1(),IT=Y4();function CT(Q,X){let{gen:Y,keyword:J,schema:$,parentSchema:W,it:G}=Q,B=X.macro.call(G.self,$,W,G),Z=HV(Y,J,B);if(G.opts.validateSchema!==!1)G.self.validateSchema(B,!0);let K=Y.name("valid");Q.subschema({schema:B,schemaPath:x0.nil,errSchemaPath:`${G.errSchemaPath}/${J}`,topSchemaRef:Z,compositeRule:!0},K),Q.pass(K,()=>Q.error(!0))}VV.macroKeywordCode=CT;function TT(Q,X){var Y;let{gen:J,keyword:$,schema:W,parentSchema:G,$data:B,it:Z}=Q;RT(Z,X);let K=!B&&X.compile?X.compile.call(Z.self,W,G,Z):X.validate,z=HV(J,$,K),H=J.let("valid");Q.block$data(H,V),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:H);function V(){if(X.errors===!1){if(D(),X.modifying)zV(Q);U(()=>Q.error())}else{let M=X.async?q():F();if(X.modifying)zV(Q);U(()=>ST(Q,M))}}function q(){let M=J.let("ruleErrs",null);return J.try(()=>D(x0._`await `),(P)=>J.assign(H,!1).if(x0._`${P} instanceof ${Z.ValidationError}`,()=>J.assign(M,x0._`${P}.errors`),()=>J.throw(P))),M}function F(){let M=x0._`${z}.errors`;return J.assign(M,null),D(x0.nil),M}function D(M=X.async?x0._`await `:x0.nil){let P=Z.opts.passContext?r9.default.this:r9.default.self,j=!(("compile"in X)&&!B||X.schema===!1);J.assign(H,x0._`${M}${(0,wT.callValidateCode)(Q,z,P,j)}`,X.modifying)}function U(M){var P;J.if((0,x0.not)((P=X.valid)!==null&&P!==void 0?P:H),M)}}VV.funcKeywordCode=TT;function zV(Q){let{gen:X,data:Y,it:J}=Q;X.if(J.parentData,()=>X.assign(Y,x0._`${J.parentData}[${J.parentDataProperty}]`))}function ST(Q,X){let{gen:Y}=Q;Y.if(x0._`Array.isArray(${X})`,()=>{Y.assign(r9.default.vErrors,x0._`${r9.default.vErrors} === null ? ${X} : ${r9.default.vErrors}.concat(${X})`).assign(r9.default.errors,x0._`${r9.default.vErrors}.length`),(0,IT.extendErrors)(Q)},()=>Q.error())}function RT({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function HV(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,x0.stringify)(Y)})}function ET(Q,X,Y=!1){return!X.length||X.some((J)=>J==="array"?Array.isArray(Q):J==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==J||Y&&typeof Q>"u")}VV.validSchemaType=ET;function kT({schema:Q,opts:X,self:Y,errSchemaPath:J},$,W){if(Array.isArray($.keyword)?!$.keyword.includes(W):$.keyword!==W)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((B)=>!Object.prototype.hasOwnProperty.call(Q,B)))throw Error(`parent schema must have dependencies of ${W}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[W])){let Z=`keyword "${W}" value is invalid at path "${J}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(Z);else throw Error(Z)}}}VV.validateKeywordUsage=kT});var OV=N((DV)=>{Object.defineProperty(DV,"__esModule",{value:!0});DV.extendSubschemaMode=DV.extendSubschemaData=DV.getSubschema=void 0;var k1=f(),LV=m();function vT(Q,{keyword:X,schemaProp:Y,schema:J,schemaPath:$,errSchemaPath:W,topSchemaRef:G}){if(X!==void 0&&J!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let B=Q.schema[X];return Y===void 0?{schema:B,schemaPath:k1._`${Q.schemaPath}${(0,k1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:B[Y],schemaPath:k1._`${Q.schemaPath}${(0,k1.getProperty)(X)}${(0,k1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,LV.escapeFragment)(Y)}`}}if(J!==void 0){if($===void 0||W===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:J,schemaPath:$,topSchemaRef:G,errSchemaPath:W}}throw Error('either "keyword" or "schema" must be passed')}DV.getSubschema=vT;function fT(Q,X,{dataProp:Y,dataPropType:J,data:$,dataTypes:W,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:B}=X;if(Y!==void 0){let{errorPath:K,dataPathArr:z,opts:H}=X,V=B.let("data",k1._`${X.data}${(0,k1.getProperty)(Y)}`,!0);Z(V),Q.errorPath=k1.str`${K}${(0,LV.getErrorPath)(Y,J,H.jsPropertySyntax)}`,Q.parentDataProperty=k1._`${Y}`,Q.dataPathArr=[...z,Q.parentDataProperty]}if($!==void 0){let K=$ instanceof k1.Name?$:B.let("data",$,!0);if(Z(K),G!==void 0)Q.propertyName=G}if(W)Q.dataTypes=W;function Z(K){Q.data=K,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,K]}}DV.extendSubschemaData=fT;function hT(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:J,createErrors:$,allErrors:W}){if(J!==void 0)Q.compositeRule=J;if($!==void 0)Q.createErrors=$;if(W!==void 0)Q.allErrors=W;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}DV.extendSubschemaMode=hT});var ZJ=N((ho,MV)=>{MV.exports=function Q(X,Y){if(X===Y)return!0;if(X&&Y&&typeof X=="object"&&typeof Y=="object"){if(X.constructor!==Y.constructor)return!1;var J,$,W;if(Array.isArray(X)){if(J=X.length,J!=Y.length)return!1;for($=J;$--!==0;)if(!Q(X[$],Y[$]))return!1;return!0}if(X.constructor===RegExp)return X.source===Y.source&&X.flags===Y.flags;if(X.valueOf!==Object.prototype.valueOf)return X.valueOf()===Y.valueOf();if(X.toString!==Object.prototype.toString)return X.toString()===Y.toString();if(W=Object.keys(X),J=W.length,J!==Object.keys(Y).length)return!1;for($=J;$--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,W[$]))return!1;for($=J;$--!==0;){var G=W[$];if(!Q(X[G],Y[G]))return!1}return!0}return X!==X&&Y!==Y}});var PV=N((go,AV)=>{var A9=AV.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var J=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};BX(X,J,$,Q,"",Q)};A9.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};A9.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};A9.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};A9.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 BX(Q,X,Y,J,$,W,G,B,Z,K){if(J&&typeof J=="object"&&!Array.isArray(J)){X(J,$,W,G,B,Z,K);for(var z in J){var H=J[z];if(Array.isArray(H)){if(z in A9.arrayKeywords)for(var V=0;V<H.length;V++)BX(Q,X,Y,H[V],$+"/"+z+"/"+V,W,$,z,J,V)}else if(z in A9.propsKeywords){if(H&&typeof H=="object")for(var q in H)BX(Q,X,Y,H[q],$+"/"+z+"/"+mT(q),W,$,z,J,q)}else if(z in A9.keywords||Q.allKeys&&!(z in A9.skipKeywords))BX(Q,X,Y,H,$+"/"+z,W,$,z,J)}Y(J,$,W,G,B,Z,K)}}function mT(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var $4=N((wV)=>{Object.defineProperty(wV,"__esModule",{value:!0});wV.getSchemaRefs=wV.resolveUrl=wV.normalizeId=wV._getFullPath=wV.getFullPath=wV.inlineRef=void 0;var lT=m(),pT=ZJ(),cT=PV(),dT=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function iT(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!KJ(Q);if(!X)return!1;return jV(Q)<=X}wV.inlineRef=iT;var nT=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function KJ(Q){for(let X in Q){if(nT.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(KJ))return!0;if(typeof Y=="object"&&KJ(Y))return!0}return!1}function jV(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,dT.has(Y))continue;if(typeof Q[Y]=="object")(0,lT.eachItem)(Q[Y],(J)=>X+=jV(J));if(X===1/0)return 1/0}return X}function NV(Q,X="",Y){if(Y!==!1)X=k6(X);let J=Q.parse(X);return bV(Q,J)}wV.getFullPath=NV;function bV(Q,X){return Q.serialize(X).split("#")[0]+"#"}wV._getFullPath=bV;var oT=/#\/?$/;function k6(Q){return Q?Q.replace(oT,""):""}wV.normalizeId=k6;function rT(Q,X,Y){return Y=k6(Y),Q.resolve(X,Y)}wV.resolveUrl=rT;var aT=/^[a-z_][-a-z0-9._]*$/i;function sT(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:J}=this.opts,$=k6(Q[Y]||X),W={"":$},G=NV(J,$,!1),B={},Z=new Set;return cT(Q,{allKeys:!0},(H,V,q,F)=>{if(F===void 0)return;let D=G+V,U=W[F];if(typeof H[Y]=="string")U=M.call(this,H[Y]);P.call(this,H.$anchor),P.call(this,H.$dynamicAnchor),W[V]=U;function M(j){let C=this.opts.uriResolver.resolve;if(j=k6(U?C(U,j):j),Z.has(j))throw z(j);Z.add(j);let A=this.refs[j];if(typeof A=="string")A=this.refs[A];if(typeof A=="object")K(H,A.schema,j);else if(j!==k6(D))if(j[0]==="#")K(H,B[j],j),B[j]=H;else this.refs[j]=D;return j}function P(j){if(typeof j=="string"){if(!aT.test(j))throw Error(`invalid anchor "${j}"`);M.call(this,`#${j}`)}}}),B;function K(H,V,q){if(V!==void 0&&!pT(H,V))throw z(q)}function z(H){return Error(`reference "${H}" resolves to more than one schema`)}}wV.getSchemaRefs=sT});var B4=N((mV)=>{Object.defineProperty(mV,"__esModule",{value:!0});mV.getData=mV.KeywordCxt=mV.validateFunctionCode=void 0;var EV=cH(),CV=J4(),HJ=XJ(),ZX=J4(),JS=WV(),G4=FV(),zJ=OV(),S=f(),y=r1(),$S=$4(),a1=m(),W4=Y4();function WS(Q){if(xV(Q)){if(yV(Q),_V(Q)){ZS(Q);return}}kV(Q,()=>(0,EV.topBoolOrEmptySchema)(Q))}mV.validateFunctionCode=WS;function kV({gen:Q,validateName:X,schema:Y,schemaEnv:J,opts:$},W){if($.code.es5)Q.func(X,S._`${y.default.data}, ${y.default.valCxt}`,J.$async,()=>{Q.code(S._`"use strict"; ${TV(Y,$)}`),BS(Q,$),Q.code(W)});else Q.func(X,S._`${y.default.data}, ${GS($)}`,J.$async,()=>Q.code(TV(Y,$)).code(W))}function GS(Q){return S._`{${y.default.instancePath}="", ${y.default.parentData}, ${y.default.parentDataProperty}, ${y.default.rootData}=${y.default.data}${Q.dynamicRef?S._`, ${y.default.dynamicAnchors}={}`:S.nil}}={}`}function BS(Q,X){Q.if(y.default.valCxt,()=>{if(Q.var(y.default.instancePath,S._`${y.default.valCxt}.${y.default.instancePath}`),Q.var(y.default.parentData,S._`${y.default.valCxt}.${y.default.parentData}`),Q.var(y.default.parentDataProperty,S._`${y.default.valCxt}.${y.default.parentDataProperty}`),Q.var(y.default.rootData,S._`${y.default.valCxt}.${y.default.rootData}`),X.dynamicRef)Q.var(y.default.dynamicAnchors,S._`${y.default.valCxt}.${y.default.dynamicAnchors}`)},()=>{if(Q.var(y.default.instancePath,S._`""`),Q.var(y.default.parentData,S._`undefined`),Q.var(y.default.parentDataProperty,S._`undefined`),Q.var(y.default.rootData,y.default.data),X.dynamicRef)Q.var(y.default.dynamicAnchors,S._`{}`)})}function ZS(Q){let{schema:X,opts:Y,gen:J}=Q;kV(Q,()=>{if(Y.$comment&&X.$comment)fV(Q);if(qS(Q),J.let(y.default.vErrors,null),J.let(y.default.errors,0),Y.unevaluated)KS(Q);vV(Q),DS(Q)});return}function KS(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",S._`${Y}.evaluated`),X.if(S._`${Q.evaluated}.dynamicProps`,()=>X.assign(S._`${Q.evaluated}.props`,S._`undefined`)),X.if(S._`${Q.evaluated}.dynamicItems`,()=>X.assign(S._`${Q.evaluated}.items`,S._`undefined`))}function TV(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?S._`/*# sourceURL=${Y} */`:S.nil}function zS(Q,X){if(xV(Q)){if(yV(Q),_V(Q)){HS(Q,X);return}}(0,EV.boolOrEmptySchema)(Q,X)}function _V({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function xV(Q){return typeof Q.schema!="boolean"}function HS(Q,X){let{schema:Y,gen:J,opts:$}=Q;if($.$comment&&Y.$comment)fV(Q);FS(Q),LS(Q);let W=J.const("_errs",y.default.errors);vV(Q,W),J.var(X,S._`${W} === ${y.default.errors}`)}function yV(Q){(0,a1.checkUnknownRules)(Q),VS(Q)}function vV(Q,X){if(Q.opts.jtd)return SV(Q,[],!1,X);let Y=(0,CV.getSchemaTypes)(Q.schema),J=(0,CV.coerceAndCheckDataType)(Q,Y);SV(Q,Y,!J,X)}function VS(Q){let{schema:X,errSchemaPath:Y,opts:J,self:$}=Q;if(X.$ref&&J.ignoreKeywordsWithRef&&(0,a1.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function qS(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,a1.checkStrictMode)(Q,"default is ignored in the schema root")}function FS(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,$S.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function LS(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function fV({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:J,opts:$}){let W=Y.$comment;if($.$comment===!0)Q.code(S._`${y.default.self}.logger.log(${W})`);else if(typeof $.$comment=="function"){let G=S.str`${J}/$comment`,B=Q.scopeValue("root",{ref:X.root});Q.code(S._`${y.default.self}.opts.$comment(${W}, ${G}, ${B}.schema)`)}}function DS(Q){let{gen:X,schemaEnv:Y,validateName:J,ValidationError:$,opts:W}=Q;if(Y.$async)X.if(S._`${y.default.errors} === 0`,()=>X.return(y.default.data),()=>X.throw(S._`new ${$}(${y.default.vErrors})`));else{if(X.assign(S._`${J}.errors`,y.default.vErrors),W.unevaluated)US(Q);X.return(S._`${y.default.errors} === 0`)}}function US({gen:Q,evaluated:X,props:Y,items:J}){if(Y instanceof S.Name)Q.assign(S._`${X}.props`,Y);if(J instanceof S.Name)Q.assign(S._`${X}.items`,J)}function SV(Q,X,Y,J){let{gen:$,schema:W,data:G,allErrors:B,opts:Z,self:K}=Q,{RULES:z}=K;if(W.$ref&&(Z.ignoreKeywordsWithRef||!(0,a1.schemaHasRulesButRef)(W,z))){$.block(()=>gV(Q,"$ref",z.all.$ref.definition));return}if(!Z.jtd)OS(Q,X);$.block(()=>{for(let V of z.rules)H(V);H(z.post)});function H(V){if(!(0,HJ.shouldUseGroup)(W,V))return;if(V.type){if($.if((0,ZX.checkDataType)(V.type,G,Z.strictNumbers)),RV(Q,V),X.length===1&&X[0]===V.type&&Y)$.else(),(0,ZX.reportTypeError)(Q);$.endIf()}else RV(Q,V);if(!B)$.if(S._`${y.default.errors} === ${J||0}`)}}function RV(Q,X){let{gen:Y,schema:J,opts:{useDefaults:$}}=Q;if($)(0,JS.assignDefaults)(Q,X.type);Y.block(()=>{for(let W of X.rules)if((0,HJ.shouldUseRule)(J,W))gV(Q,W.keyword,W.definition,X.type)})}function OS(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(MS(Q,X),!Q.opts.allowUnionTypes)AS(Q,X);PS(Q,Q.dataTypes)}function MS(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!hV(Q.dataTypes,Y))VJ(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),NS(Q,X)}function AS(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))VJ(Q,"use allowUnionTypes to allow union type keyword")}function PS(Q,X){let Y=Q.self.RULES.all;for(let J in Y){let $=Y[J];if(typeof $=="object"&&(0,HJ.shouldUseRule)(Q.schema,$)){let{type:W}=$.definition;if(W.length&&!W.some((G)=>jS(X,G)))VJ(Q,`missing type "${W.join(",")}" for keyword "${J}"`)}}}function jS(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function hV(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function NS(Q,X){let Y=[];for(let J of Q.dataTypes)if(hV(X,J))Y.push(J);else if(X.includes("integer")&&J==="number")Y.push("integer");Q.dataTypes=Y}function VJ(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,a1.checkStrictMode)(Q,X,Q.opts.strictTypes)}class qJ{constructor(Q,X,Y){if((0,G4.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,a1.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",uV(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,G4.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",y.default.errors)}result(Q,X,Y){this.failResult((0,S.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,S.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(S._`${X} !== undefined && (${(0,S.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?W4.reportExtraError:W4.reportError)(this,this.def.error,X)}$dataError(){(0,W4.reportError)(this,this.def.$dataError||W4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,W4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=S.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=S.nil,X=S.nil){if(!this.$data)return;let{gen:Y,schemaCode:J,schemaType:$,def:W}=this;if(Y.if((0,S.or)(S._`${J} === undefined`,X)),Q!==S.nil)Y.assign(Q,!0);if($.length||W.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==S.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:J,it:$}=this;return(0,S.or)(W(),G());function W(){if(Y.length){if(!(X instanceof S.Name))throw Error("ajv implementation error");let B=Array.isArray(Y)?Y:[Y];return S._`${(0,ZX.checkDataTypes)(B,X,$.opts.strictNumbers,ZX.DataType.Wrong)}`}return S.nil}function G(){if(J.validateSchema){let B=Q.scopeValue("validate$data",{ref:J.validateSchema});return S._`!${B}(${X})`}return S.nil}}subschema(Q,X){let Y=(0,zJ.getSubschema)(this.it,Q);(0,zJ.extendSubschemaData)(Y,this.it,Q),(0,zJ.extendSubschemaMode)(Y,Q);let J={...this.it,...Y,items:void 0,props:void 0};return zS(J,X),J}mergeEvaluated(Q,X){let{it:Y,gen:J}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=a1.mergeEvaluated.props(J,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=a1.mergeEvaluated.items(J,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:J}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return J.if(X,()=>this.mergeEvaluated(Q,S.Name)),!0}}mV.KeywordCxt=qJ;function gV(Q,X,Y,J){let $=new qJ(Q,Y,X);if("code"in Y)Y.code($,J);else if($.$data&&Y.validate)(0,G4.funcKeywordCode)($,Y);else if("macro"in Y)(0,G4.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,G4.funcKeywordCode)($,Y)}var bS=/^\/(?:[^~]|~0|~1)*$/,wS=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function uV(Q,{dataLevel:X,dataNames:Y,dataPathArr:J}){let $,W;if(Q==="")return y.default.rootData;if(Q[0]==="/"){if(!bS.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,W=y.default.rootData}else{let K=wS.exec(Q);if(!K)throw Error(`Invalid JSON-pointer: ${Q}`);let z=+K[1];if($=K[2],$==="#"){if(z>=X)throw Error(Z("property/index",z));return J[X-z]}if(z>X)throw Error(Z("data",z));if(W=Y[X-z],!$)return W}let G=W,B=$.split("/");for(let K of B)if(K)W=S._`${W}${(0,S.getProperty)((0,a1.unescapeJsonPointer)(K))}`,G=S._`${G} && ${W}`;return G;function Z(K,z){return`Cannot access ${K} ${z} levels up, current level is ${X}`}}mV.getData=uV});var KX=N((cV)=>{Object.defineProperty(cV,"__esModule",{value:!0});class pV extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}cV.default=pV});var Z4=N((iV)=>{Object.defineProperty(iV,"__esModule",{value:!0});var FJ=$4();class dV extends Error{constructor(Q,X,Y,J){super(J||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,FJ.resolveUrl)(Q,X,Y),this.missingSchema=(0,FJ.normalizeId)((0,FJ.getFullPath)(Q,this.missingRef))}}iV.default=dV});var HX=N((rV)=>{Object.defineProperty(rV,"__esModule",{value:!0});rV.resolveSchema=rV.getCompilingSchema=rV.resolveRef=rV.compileSchema=rV.SchemaEnv=void 0;var O1=f(),RS=KX(),a9=r1(),M1=$4(),nV=m(),ES=B4();class K4{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,M1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}rV.SchemaEnv=K4;function DJ(Q){let X=oV.call(this,Q);if(X)return X;let Y=(0,M1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:J,lines:$}=this.opts.code,{ownProperties:W}=this.opts,G=new O1.CodeGen(this.scope,{es5:J,lines:$,ownProperties:W}),B;if(Q.$async)B=G.scopeValue("Error",{ref:RS.default,code:O1._`require("ajv/dist/runtime/validation_error").default`});let Z=G.scopeName("validate");Q.validateName=Z;let K={gen:G,allErrors:this.opts.allErrors,data:a9.default.data,parentData:a9.default.parentData,parentDataProperty:a9.default.parentDataProperty,dataNames:[a9.default.data],dataPathArr:[O1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,O1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:Z,ValidationError:B,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:O1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:O1._`""`,opts:this.opts,self:this},z;try{this._compilations.add(Q),(0,ES.validateFunctionCode)(K),G.optimize(this.opts.code.optimize);let H=G.toString();if(z=`${G.scopeRefs(a9.default.scope)}return ${H}`,this.opts.code.process)z=this.opts.code.process(z,Q);let q=Function(`${a9.default.self}`,`${a9.default.scope}`,z)(this,this.scope.get());if(this.scope.value(Z,{ref:q}),q.errors=null,q.schema=Q.schema,q.schemaEnv=Q,Q.$async)q.$async=!0;if(this.opts.code.source===!0)q.source={validateName:Z,validateCode:H,scopeValues:G._values};if(this.opts.unevaluated){let{props:F,items:D}=K;if(q.evaluated={props:F instanceof O1.Name?void 0:F,items:D instanceof O1.Name?void 0:D,dynamicProps:F instanceof O1.Name,dynamicItems:D instanceof O1.Name},q.source)q.source.evaluated=(0,O1.stringify)(q.evaluated)}return Q.validate=q,Q}catch(H){if(delete Q.validate,delete Q.validateName,z)this.logger.error("Error compiling schema, function code:",z);throw H}finally{this._compilations.delete(Q)}}rV.compileSchema=DJ;function kS(Q,X,Y){var J;Y=(0,M1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let W=yS.call(this,Q,Y);if(W===void 0){let G=(J=Q.localRefs)===null||J===void 0?void 0:J[Y],{schemaId:B}=this.opts;if(G)W=new K4({schema:G,schemaId:B,root:Q,baseId:X})}if(W===void 0)return;return Q.refs[Y]=_S.call(this,W)}rV.resolveRef=kS;function _S(Q){if((0,M1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:DJ.call(this,Q)}function oV(Q){for(let X of this._compilations)if(xS(X,Q))return X}rV.getCompilingSchema=oV;function xS(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function yS(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||zX.call(this,Q,X)}function zX(Q,X){let Y=this.opts.uriResolver.parse(X),J=(0,M1._getFullPath)(this.opts.uriResolver,Y),$=(0,M1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&J===$)return LJ.call(this,Y,Q);let W=(0,M1.normalizeId)(J),G=this.refs[W]||this.schemas[W];if(typeof G=="string"){let B=zX.call(this,Q,G);if(typeof(B===null||B===void 0?void 0:B.schema)!=="object")return;return LJ.call(this,Y,B)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)DJ.call(this,G);if(W===(0,M1.normalizeId)(X)){let{schema:B}=G,{schemaId:Z}=this.opts,K=B[Z];if(K)$=(0,M1.resolveUrl)(this.opts.uriResolver,$,K);return new K4({schema:B,schemaId:Z,root:Q,baseId:$})}return LJ.call(this,Y,G)}rV.resolveSchema=zX;var vS=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function LJ(Q,{baseId:X,schema:Y,root:J}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let B of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let Z=Y[(0,nV.unescapeFragment)(B)];if(Z===void 0)return;Y=Z;let K=typeof Y==="object"&&Y[this.opts.schemaId];if(!vS.has(B)&&K)X=(0,M1.resolveUrl)(this.opts.uriResolver,X,K)}let W;if(typeof Y!="boolean"&&Y.$ref&&!(0,nV.schemaHasRulesButRef)(Y,this.RULES)){let B=(0,M1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);W=zX.call(this,J,B)}let{schemaId:G}=this.opts;if(W=W||new K4({schema:Y,schemaId:G,root:J,baseId:X}),W.schema!==W.root.schema)return W;return}});var sV=N((io,mS)=>{mS.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 MJ=N((no,Jq)=>{var lS=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),eV=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),UJ=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Qq=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),pS=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function OJ(Q){let X="",Y=0,J=0;for(J=0;J<Q.length;J++){if(Y=Q[J].charCodeAt(0),Y===48)continue;if(!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[J];break}for(J+=1;J<Q.length;J++){if(Y=Q[J].charCodeAt(0),!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[J]}return X}var cS=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function tV(Q){return Q.length=0,!0}function dS(Q,X,Y){if(Q.length){let J=OJ(Q);if(J!=="")X.push(J);else return Y.error=!0,!1;Q.length=0}return!0}function iS(Q){let X=0,Y={error:!1,address:"",zone:""},J=[],$=[],W=!1,G=!1,B=dS;for(let Z=0;Z<Q.length;Z++){let K=Q[Z];if(K==="["||K==="]")continue;if(K===":"){if(W===!0)G=!0;if(!B($,J,Y))break;if(++X>7){Y.error=!0;break}if(Z>0&&Q[Z-1]===":")W=!0;J.push(":");continue}else if(K==="%"){if(!B($,J,Y))break;B=tV}else{$.push(K);continue}}if($.length)if(B===tV)Y.zone=$.join("");else if(G)J.push($.join(""));else J.push(OJ($));return Y.address=J.join(""),Y}function Xq(Q){if(nS(Q,":")<2)return{host:Q,isIPV6:!1};let X=iS(Q);if(!X.error){let{address:Y,address:J}=X;if(X.zone)Y+="%"+X.zone,J+="%25"+X.zone;return{host:Y,isIPV6:!0,escapedHost:J}}else return{host:Q,isIPV6:!1}}function nS(Q,X){let Y=0;for(let J=0;J<Q.length;J++)if(Q[J]===X)Y++;return Y}function oS(Q){let X=Q,Y=[],J=-1,$=0;while($=X.length){if($===1)if(X===".")break;else if(X==="/"){Y.push("/");break}else{Y.push(X);break}else if($===2){if(X[0]==="."){if(X[1]===".")break;else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."||X[1]==="/"){Y.push("/");break}}}else if($===3){if(X==="/.."){if(Y.length!==0)Y.pop();Y.push("/");break}}if(X[0]==="."){if(X[1]==="."){if(X[2]==="/"){X=X.slice(3);continue}}else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."){if(X[2]==="/"){X=X.slice(2);continue}else if(X[2]==="."){if(X[3]==="/"){if(X=X.slice(3),Y.length!==0)Y.pop();continue}}}}if((J=X.indexOf("/",1))===-1){Y.push(X);break}else Y.push(X.slice(0,J)),X=X.slice(J)}return Y.join("")}var rS={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},aS=/[@/?#:]/g,sS=/[@/?#]/g;function Yq(Q,X){let Y=X?sS:aS;return Y.lastIndex=0,Q.replace(Y,(J)=>rS[J])}function tS(Q,X=!1){if(Q.indexOf("%")===-1)return Q;let Y="";for(let J=0;J<Q.length;J++){if(Q[J]==="%"&&J+2<Q.length){let $=Q.slice(J+1,J+3);if(UJ($)){let W=$.toUpperCase(),G=String.fromCharCode(parseInt(W,16));if(X&&Qq(G))Y+=G;else Y+="%"+W;J+=2;continue}}Y+=Q[J]}return Y}function eS(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let J=Q.slice(Y+1,Y+3);if(UJ(J)){let $=J.toUpperCase(),W=String.fromCharCode(parseInt($,16));if(W!=="."&&Qq(W))X+=W;else X+="%"+$;Y+=2;continue}}if(pS(Q[Y]))X+=Q[Y];else X+=escape(Q[Y])}return X}function QR(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let J=Q.slice(Y+1,Y+3);if(UJ(J)){X+="%"+J.toUpperCase(),Y+=2;continue}}X+=escape(Q[Y])}return X}function XR(Q){let X=[];if(Q.userinfo!==void 0)X.push(Q.userinfo),X.push("@");if(Q.host!==void 0){let Y=unescape(Q.host);if(!eV(Y)){let J=Xq(Y);if(J.isIPV6===!0)Y=`[${J.escapedHost}]`;else Y=Yq(Y,!1)}X.push(Y)}if(typeof Q.port==="number"||typeof Q.port==="string")X.push(":"),X.push(String(Q.port));return X.length?X.join(""):void 0}Jq.exports={nonSimpleDomain:cS,recomposeAuthority:XR,reescapeHostDelimiters:Yq,normalizePercentEncoding:tS,normalizePathEncoding:eS,escapePreservingEscapes:QR,removeDotSegments:oS,isIPv4:eV,isUUID:lS,normalizeIPv6:Xq,stringArrayToHexStripped:OJ}});var Zq=N((oo,Bq)=>{var{isUUID:YR}=MJ(),JR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,$R=["http","https","ws","wss","urn","urn:uuid"];function WR(Q){return $R.indexOf(Q)!==-1}function AJ(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function $q(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function Wq(Q){let X=String(Q.scheme).toLowerCase()==="https";if(Q.port===(X?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function GR(Q){return Q.secure=AJ(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function BR(Q){if(Q.port===(AJ(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[X,Y]=Q.resourceName.split("?");Q.path=X&&X!=="/"?X:void 0,Q.query=Y,Q.resourceName=void 0}return Q.fragment=void 0,Q}function ZR(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(JR);if(Y){let J=X.scheme||Q.scheme||"urn";Q.nid=Y[1].toLowerCase(),Q.nss=Y[2];let $=`${J}:${X.nid||Q.nid}`,W=PJ($);if(Q.path=void 0,W)Q=W.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function KR(Q,X){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let Y=X.scheme||Q.scheme||"urn",J=Q.nid.toLowerCase(),$=`${Y}:${X.nid||J}`,W=PJ($);if(W)Q=W.serialize(Q,X);let G=Q,B=Q.nss;return G.path=`${J||X.nid}:${B}`,X.skipEscape=!0,G}function zR(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!YR(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function HR(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var Gq={scheme:"http",domainHost:!0,parse:$q,serialize:Wq},VR={scheme:"https",domainHost:Gq.domainHost,parse:$q,serialize:Wq},VX={scheme:"ws",domainHost:!0,parse:GR,serialize:BR},qR={scheme:"wss",domainHost:VX.domainHost,parse:VX.parse,serialize:VX.serialize},FR={scheme:"urn",parse:ZR,serialize:KR,skipNormalize:!0},LR={scheme:"urn:uuid",parse:zR,serialize:HR,skipNormalize:!0},qX={http:Gq,https:VR,ws:VX,wss:qR,urn:FR,"urn:uuid":LR};Object.setPrototypeOf(qX,null);function PJ(Q){return Q&&(qX[Q]||qX[Q.toLowerCase()])||void 0}Bq.exports={wsIsSecure:AJ,SCHEMES:qX,isValidSchemeName:WR,getSchemeHandler:PJ}});var Fq=N((ro,FX)=>{var{normalizeIPv6:DR,removeDotSegments:z4,recomposeAuthority:UR,normalizePercentEncoding:OR,normalizePathEncoding:MR,escapePreservingEscapes:AR,reescapeHostDelimiters:PR,isIPv4:jR,nonSimpleDomain:NR}=MJ(),{SCHEMES:bR,getSchemeHandler:zq}=Zq();function wR(Q,X){if(typeof Q==="string")Q=RR(Q,X);else if(typeof Q==="object")Q=_6(s9(Q,X),X);return Q}function IR(Q,X,Y){let J=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},$=Hq(_6(Q,J),_6(X,J),J,!0);return J.skipEscape=!0,s9($,J)}function Hq(Q,X,Y,J){let $={};if(!J)Q=_6(s9(Q,Y),Y),X=_6(s9(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)$.scheme=X.scheme,$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=z4(X.path||""),$.query=X.query;else{if(X.userinfo!==void 0||X.host!==void 0||X.port!==void 0)$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=z4(X.path||""),$.query=X.query;else{if(!X.path)if($.path=Q.path,X.query!==void 0)$.query=X.query;else $.query=Q.query;else{if(X.path[0]==="/")$.path=z4(X.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+X.path;else if(!Q.path)$.path=X.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+X.path;$.path=z4($.path)}$.query=X.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=X.fragment,$}function CR(Q,X,Y){let J=Kq(Q,Y),$=Kq(X,Y);return J!==void 0&&$!==void 0&&J.toLowerCase()===$.toLowerCase()}function s9(Q,X){let Y={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},J=Object.assign({},X),$=[],W=zq(J.scheme||Y.scheme);if(W&&W.serialize)W.serialize(Y,J);if(Y.path!==void 0)if(!J.skipEscape){if(Y.path=AR(Y.path),Y.scheme!==void 0)Y.path=Y.path.split("%3A").join(":")}else Y.path=OR(Y.path);if(J.reference!=="suffix"&&Y.scheme)$.push(Y.scheme,":");let G=UR(Y);if(G!==void 0){if(J.reference!=="suffix")$.push("//");if($.push(G),Y.path&&Y.path[0]!=="/")$.push("/")}if(Y.path!==void 0){let B=Y.path;if(!J.absolutePath&&(!W||!W.absolutePath))B=z4(B);if(G===void 0&&B[0]==="/"&&B[1]==="/")B="/%2F"+B.slice(2);$.push(B)}if(Y.query!==void 0)$.push("?",Y.query);if(Y.fragment!==void 0)$.push("#",Y.fragment);return $.join("")}var TR=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function SR(Q,X){if(X[2]!==void 0&&Q.path&&Q.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof Q.port==="number"&&(Q.port<0||Q.port>65535))return"URI port is malformed.";return}function Vq(Q,X){let Y=Object.assign({},X),J={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1,W=!1;if(Y.reference==="suffix")if(Y.scheme)Q=Y.scheme+":"+Q;else Q="//"+Q;let G=Q.match(TR);if(G){if(J.scheme=G[1],J.userinfo=G[3],J.host=G[4],J.port=parseInt(G[5],10),J.path=G[6]||"",J.query=G[7],J.fragment=G[8],isNaN(J.port))J.port=G[5];let B=SR(J,G);if(B!==void 0)J.error=J.error||B,$=!0;if(J.host)if(jR(J.host)===!1){let z=DR(J.host);J.host=z.host.toLowerCase(),W=z.isIPV6}else W=!0;if(J.scheme===void 0&&J.userinfo===void 0&&J.host===void 0&&J.port===void 0&&J.query===void 0&&!J.path)J.reference="same-document";else if(J.scheme===void 0)J.reference="relative";else if(J.fragment===void 0)J.reference="absolute";else J.reference="uri";if(Y.reference&&Y.reference!=="suffix"&&Y.reference!==J.reference)J.error=J.error||"URI is not a "+Y.reference+" reference.";let Z=zq(Y.scheme||J.scheme);if(!Y.unicodeSupport&&(!Z||!Z.unicodeSupport)){if(J.host&&(Y.domainHost||Z&&Z.domainHost)&&W===!1&&NR(J.host))try{J.host=URL.domainToASCII(J.host.toLowerCase())}catch(K){J.error=J.error||"Host's domain name can not be converted to ASCII: "+K}}if(!Z||Z&&!Z.skipNormalize){if(Q.indexOf("%")!==-1){if(J.scheme!==void 0)J.scheme=unescape(J.scheme);if(J.host!==void 0)J.host=PR(unescape(J.host),W)}if(J.path)J.path=MR(J.path);if(J.fragment)try{J.fragment=encodeURI(decodeURIComponent(J.fragment))}catch{J.error=J.error||"URI malformed"}}if(Z&&Z.parse)Z.parse(J,Y)}else J.error=J.error||"URI can not be parsed.";return{parsed:J,malformedAuthorityOrPort:$}}function _6(Q,X){return Vq(Q,X).parsed}function RR(Q,X){return qq(Q,X).normalized}function qq(Q,X){let{parsed:Y,malformedAuthorityOrPort:J}=Vq(Q,X);return{normalized:J?Q:s9(Y,X),malformedAuthorityOrPort:J}}function Kq(Q,X){if(typeof Q==="string"){let{normalized:Y,malformedAuthorityOrPort:J}=qq(Q,X);return J?void 0:Y}if(typeof Q==="object")return s9(Q,X)}var jJ={SCHEMES:bR,normalize:wR,resolve:IR,resolveComponent:Hq,equal:CR,serialize:s9,parse:_6};FX.exports=jJ;FX.exports.default=jJ;FX.exports.fastUri=jJ});var Uq=N((Dq)=>{Object.defineProperty(Dq,"__esModule",{value:!0});var Lq=Fq();Lq.code='require("ajv/dist/runtime/uri").default';Dq.default=Lq});var wq=N((s1)=>{Object.defineProperty(s1,"__esModule",{value:!0});s1.CodeGen=s1.Name=s1.nil=s1.stringify=s1.str=s1._=s1.KeywordCxt=void 0;var kR=B4();Object.defineProperty(s1,"KeywordCxt",{enumerable:!0,get:function(){return kR.KeywordCxt}});var x6=f();Object.defineProperty(s1,"_",{enumerable:!0,get:function(){return x6._}});Object.defineProperty(s1,"str",{enumerable:!0,get:function(){return x6.str}});Object.defineProperty(s1,"stringify",{enumerable:!0,get:function(){return x6.stringify}});Object.defineProperty(s1,"nil",{enumerable:!0,get:function(){return x6.nil}});Object.defineProperty(s1,"Name",{enumerable:!0,get:function(){return x6.Name}});Object.defineProperty(s1,"CodeGen",{enumerable:!0,get:function(){return x6.CodeGen}});var _R=KX(),jq=Z4(),xR=QJ(),H4=HX(),yR=f(),V4=$4(),LX=J4(),bJ=m(),Oq=sV(),vR=Uq(),Nq=(Q,X)=>new RegExp(Q,X);Nq.code="new RegExp";var fR=["removeAdditional","useDefaults","coerceTypes"],hR=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),gR={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."},uR={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Mq=200;function mR(Q){var X,Y,J,$,W,G,B,Z,K,z,H,V,q,F,D,U,M,P,j,C,A,b,x,H0,V0;let f0=Q.strict,B8=(X=Q.code)===null||X===void 0?void 0:X.optimize,_4=B8===!0||B8===void 0?1:B8||0,x4=(J=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&J!==void 0?J:Nq,Q9=($=Q.uriResolver)!==null&&$!==void 0?$:vR.default;return{strictSchema:(G=(W=Q.strictSchema)!==null&&W!==void 0?W:f0)!==null&&G!==void 0?G:!0,strictNumbers:(Z=(B=Q.strictNumbers)!==null&&B!==void 0?B:f0)!==null&&Z!==void 0?Z:!0,strictTypes:(z=(K=Q.strictTypes)!==null&&K!==void 0?K:f0)!==null&&z!==void 0?z:"log",strictTuples:(V=(H=Q.strictTuples)!==null&&H!==void 0?H:f0)!==null&&V!==void 0?V:"log",strictRequired:(F=(q=Q.strictRequired)!==null&&q!==void 0?q:f0)!==null&&F!==void 0?F:!1,code:Q.code?{...Q.code,optimize:_4,regExp:x4}:{optimize:_4,regExp:x4},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:Mq,loopEnum:(U=Q.loopEnum)!==null&&U!==void 0?U:Mq,meta:(M=Q.meta)!==null&&M!==void 0?M:!0,messages:(P=Q.messages)!==null&&P!==void 0?P:!0,inlineRefs:(j=Q.inlineRefs)!==null&&j!==void 0?j:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(A=Q.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(b=Q.validateSchema)!==null&&b!==void 0?b:!0,validateFormats:(x=Q.validateFormats)!==null&&x!==void 0?x:!0,unicodeRegExp:(H0=Q.unicodeRegExp)!==null&&H0!==void 0?H0:!0,int32range:(V0=Q.int32range)!==null&&V0!==void 0?V0:!0,uriResolver:Q9}}class DX{constructor(Q={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...mR(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new yR.ValueScope({scope:{},prefixes:hR,es5:X,lines:Y}),this.logger=nR(Q.logger);let J=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,xR.getRules)(),Aq.call(this,gR,Q,"NOT SUPPORTED"),Aq.call(this,uR,Q,"DEPRECATED","warn"),this._metaOpts=dR.call(this),Q.formats)pR.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)cR.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);lR.call(this),Q.validateFormats=J}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,J=Oq;if(Y==="id")J={...Oq},J.id=J.$id,delete J.$id;if(X&&Q)this.addMetaSchema(J,J[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let J=Y(X);if(!("$async"in Y))this.errors=Y.errors;return J}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return J.call(this,Q,X);async function J(K,z){await $.call(this,K.$schema);let H=this._addSchema(K,z);return H.validate||W.call(this,H)}async function $(K){if(K&&!this.getSchema(K))await J.call(this,{$ref:K},!0)}async function W(K){try{return this._compileSchemaEnv(K)}catch(z){if(!(z instanceof jq.default))throw z;return G.call(this,z),await B.call(this,z.missingSchema),W.call(this,K)}}function G({missingSchema:K,missingRef:z}){if(this.refs[K])throw Error(`AnySchema ${K} is loaded but ${z} cannot be resolved`)}async function B(K){let z=await Z.call(this,K);if(!this.refs[K])await $.call(this,z.$schema);if(!this.refs[K])this.addSchema(z,K,X)}async function Z(K){let z=this._loading[K];if(z)return z;try{return await(this._loading[K]=Y(K))}finally{delete this._loading[K]}}}addSchema(Q,X,Y,J=this.opts.validateSchema){if(Array.isArray(Q)){for(let W of Q)this.addSchema(W,void 0,Y,J);return this}let $;if(typeof Q==="object"){let{schemaId:W}=this.opts;if($=Q[W],$!==void 0&&typeof $!="string")throw Error(`schema ${W} must be string`)}return X=(0,V4.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,J,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let J=this.validate(Y,Q);if(!J&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return J}getSchema(Q){let X;while(typeof(X=Pq.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,J=new H4.SchemaEnv({schema:{},schemaId:Y});if(X=H4.resolveSchema.call(this,J,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=Pq.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,V4.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(rR.call(this,Y,X),!X)return(0,bJ.eachItem)(Y,($)=>NJ.call(this,$)),this;sR.call(this,X);let J={...X,type:(0,LX.getJSONTypes)(X.type),schemaType:(0,LX.getJSONTypes)(X.schemaType)};return(0,bJ.eachItem)(Y,J.type.length===0?($)=>NJ.call(this,$,J):($)=>J.type.forEach((W)=>NJ.call(this,$,J,W))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let J=Y.rules.findIndex(($)=>$.keyword===Q);if(J>=0)Y.rules.splice(J,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((J)=>`${Y}${J.instancePath} ${J.message}`).reduce((J,$)=>J+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let J of X){let $=J.split("/").slice(1),W=Q;for(let G of $)W=W[G];for(let G in Y){let B=Y[G];if(typeof B!="object")continue;let{$data:Z}=B.definition,K=W[G];if(Z&&K)W[G]=bq(K)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let J=Q[Y];if(!X||X.test(Y)){if(typeof J=="string")delete Q[Y];else if(J&&!J.meta)this._cache.delete(J.schema),delete Q[Y]}}}_addSchema(Q,X,Y,J=this.opts.validateSchema,$=this.opts.addUsedSchema){let W,{schemaId:G}=this.opts;if(typeof Q=="object")W=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let B=this._cache.get(Q);if(B!==void 0)return B;Y=(0,V4.normalizeId)(W||Y);let Z=V4.getSchemaRefs.call(this,Q,Y);if(B=new H4.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:Z}),this._cache.set(B.schema,B),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=B}if(J)this.validateSchema(Q,!0);return B}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else H4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{H4.compileSchema.call(this,Q)}finally{this.opts=X}}}DX.ValidationError=_R.default;DX.MissingRefError=jq.default;s1.default=DX;function Aq(Q,X,Y,J="error"){for(let $ in Q){let W=$;if(W in X)this.logger[J](`${Y}: option ${$}. ${Q[W]}`)}}function Pq(Q){return Q=(0,V4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function lR(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function pR(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function cR(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function dR(){let Q={...this.opts};for(let X of fR)delete Q[X];return Q}var iR={log(){},warn(){},error(){}};function nR(Q){if(Q===!1)return iR;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var oR=/^[a-z_$][a-z0-9_$:-]*$/i;function rR(Q,X){let{RULES:Y}=this;if((0,bJ.eachItem)(Q,(J)=>{if(Y.keywords[J])throw Error(`Keyword ${J} is already defined`);if(!oR.test(J))throw Error(`Keyword ${J} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function NJ(Q,X,Y){var J;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:W}=this,G=$?W.post:W.rules.find(({type:Z})=>Z===Y);if(!G)G={type:Y,rules:[]},W.rules.push(G);if(W.keywords[Q]=!0,!X)return;let B={keyword:Q,definition:{...X,type:(0,LX.getJSONTypes)(X.type),schemaType:(0,LX.getJSONTypes)(X.schemaType)}};if(X.before)aR.call(this,G,B,X.before);else G.rules.push(B);W.all[Q]=B,(J=X.implements)===null||J===void 0||J.forEach((Z)=>this.addKeyword(Z))}function aR(Q,X,Y){let J=Q.rules.findIndex(($)=>$.keyword===Y);if(J>=0)Q.rules.splice(J,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function sR(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=bq(X);Q.validateSchema=this.compile(X,!0)}var tR={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function bq(Q){return{anyOf:[Q,tR]}}});var Cq=N((Iq)=>{Object.defineProperty(Iq,"__esModule",{value:!0});var XE={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Iq.default=XE});var _q=N((Eq)=>{Object.defineProperty(Eq,"__esModule",{value:!0});Eq.callRef=Eq.getValidate=void 0;var JE=Z4(),Tq=Z1(),n0=f(),y6=r1(),Sq=HX(),UX=m(),$E={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:J}=Q,{baseId:$,schemaEnv:W,validateName:G,opts:B,self:Z}=J,{root:K}=W;if((Y==="#"||Y==="#/")&&$===K.baseId)return H();let z=Sq.resolveRef.call(Z,K,$,Y);if(z===void 0)throw new JE.default(J.opts.uriResolver,$,Y);if(z instanceof Sq.SchemaEnv)return V(z);return q(z);function H(){if(W===K)return OX(Q,G,W,W.$async);let F=X.scopeValue("root",{ref:K});return OX(Q,n0._`${F}.validate`,K,K.$async)}function V(F){let D=Rq(Q,F);OX(Q,D,F,F.$async)}function q(F){let D=X.scopeValue("schema",B.code.source===!0?{ref:F,code:(0,n0.stringify)(F)}:{ref:F}),U=X.name("valid"),M=Q.subschema({schema:F,dataTypes:[],schemaPath:n0.nil,topSchemaRef:D,errSchemaPath:Y},U);Q.mergeEvaluated(M),Q.ok(U)}}};function Rq(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):n0._`${Y.scopeValue("wrapper",{ref:X})}.validate`}Eq.getValidate=Rq;function OX(Q,X,Y,J){let{gen:$,it:W}=Q,{allErrors:G,schemaEnv:B,opts:Z}=W,K=Z.passContext?y6.default.this:n0.nil;if(J)z();else H();function z(){if(!B.$async)throw Error("async schema referenced by sync schema");let F=$.let("valid");$.try(()=>{if($.code(n0._`await ${(0,Tq.callValidateCode)(Q,X,K)}`),q(X),!G)$.assign(F,!0)},(D)=>{if($.if(n0._`!(${D} instanceof ${W.ValidationError})`,()=>$.throw(D)),V(D),!G)$.assign(F,!1)}),Q.ok(F)}function H(){Q.result((0,Tq.callValidateCode)(Q,X,K),()=>q(X),()=>V(X))}function V(F){let D=n0._`${F}.errors`;$.assign(y6.default.vErrors,n0._`${y6.default.vErrors} === null ? ${D} : ${y6.default.vErrors}.concat(${D})`),$.assign(y6.default.errors,n0._`${y6.default.vErrors}.length`)}function q(F){var D;if(!W.opts.unevaluated)return;let U=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(W.props!==!0)if(U&&!U.dynamicProps){if(U.props!==void 0)W.props=UX.mergeEvaluated.props($,U.props,W.props)}else{let M=$.var("props",n0._`${F}.evaluated.props`);W.props=UX.mergeEvaluated.props($,M,W.props,n0.Name)}if(W.items!==!0)if(U&&!U.dynamicItems){if(U.items!==void 0)W.items=UX.mergeEvaluated.items($,U.items,W.items)}else{let M=$.var("items",n0._`${F}.evaluated.items`);W.items=UX.mergeEvaluated.items($,M,W.items,n0.Name)}}}Eq.callRef=OX;Eq.default=$E});var yq=N((xq)=>{Object.defineProperty(xq,"__esModule",{value:!0});var BE=Cq(),ZE=_q(),KE=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",BE.default,ZE.default];xq.default=KE});var fq=N((vq)=>{Object.defineProperty(vq,"__esModule",{value:!0});var MX=f(),P9=MX.operators,AX={maximum:{okStr:"<=",ok:P9.LTE,fail:P9.GT},minimum:{okStr:">=",ok:P9.GTE,fail:P9.LT},exclusiveMaximum:{okStr:"<",ok:P9.LT,fail:P9.GTE},exclusiveMinimum:{okStr:">",ok:P9.GT,fail:P9.LTE}},HE={message:({keyword:Q,schemaCode:X})=>MX.str`must be ${AX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>MX._`{comparison: ${AX[Q].okStr}, limit: ${X}}`},VE={keyword:Object.keys(AX),type:"number",schemaType:"number",$data:!0,error:HE,code(Q){let{keyword:X,data:Y,schemaCode:J}=Q;Q.fail$data(MX._`${Y} ${AX[X].fail} ${J} || isNaN(${Y})`)}};vq.default=VE});var gq=N((hq)=>{Object.defineProperty(hq,"__esModule",{value:!0});var q4=f(),FE={message:({schemaCode:Q})=>q4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>q4._`{multipleOf: ${Q}}`},LE={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:FE,code(Q){let{gen:X,data:Y,schemaCode:J,it:$}=Q,W=$.opts.multipleOfPrecision,G=X.let("res"),B=W?q4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${W}`:q4._`${G} !== parseInt(${G})`;Q.fail$data(q4._`(${J} === 0 || (${G} = ${Y}/${J}, ${B}))`)}};hq.default=LE});var lq=N((mq)=>{Object.defineProperty(mq,"__esModule",{value:!0});function uq(Q){let X=Q.length,Y=0,J=0,$;while(J<X)if(Y++,$=Q.charCodeAt(J++),$>=55296&&$<=56319&&J<X){if($=Q.charCodeAt(J),($&64512)===56320)J++}return Y}mq.default=uq;uq.code='require("ajv/dist/runtime/ucs2length").default'});var cq=N((pq)=>{Object.defineProperty(pq,"__esModule",{value:!0});var t9=f(),OE=m(),ME=lq(),AE={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return t9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>t9._`{limit: ${Q}}`},PE={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:AE,code(Q){let{keyword:X,data:Y,schemaCode:J,it:$}=Q,W=X==="maxLength"?t9.operators.GT:t9.operators.LT,G=$.opts.unicode===!1?t9._`${Y}.length`:t9._`${(0,OE.useFunc)(Q.gen,ME.default)}(${Y})`;Q.fail$data(t9._`${G} ${W} ${J}`)}};pq.default=PE});var iq=N((dq)=>{Object.defineProperty(dq,"__esModule",{value:!0});var NE=Z1(),bE=m(),v6=f(),wE={message:({schemaCode:Q})=>v6.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>v6._`{pattern: ${Q}}`},IE={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:wE,code(Q){let{gen:X,data:Y,$data:J,schema:$,schemaCode:W,it:G}=Q,B=G.opts.unicodeRegExp?"u":"";if(J){let{regExp:Z}=G.opts.code,K=Z.code==="new RegExp"?v6._`new RegExp`:(0,bE.useFunc)(X,Z),z=X.let("valid");X.try(()=>X.assign(z,v6._`${K}(${W}, ${B}).test(${Y})`),()=>X.assign(z,!1)),Q.fail$data(v6._`!${z}`)}else{let Z=(0,NE.usePattern)(Q,$);Q.fail$data(v6._`!${Z}.test(${Y})`)}}};dq.default=IE});var oq=N((nq)=>{Object.defineProperty(nq,"__esModule",{value:!0});var F4=f(),TE={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return F4.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>F4._`{limit: ${Q}}`},SE={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:TE,code(Q){let{keyword:X,data:Y,schemaCode:J}=Q,$=X==="maxProperties"?F4.operators.GT:F4.operators.LT;Q.fail$data(F4._`Object.keys(${Y}).length ${$} ${J}`)}};nq.default=SE});var aq=N((rq)=>{Object.defineProperty(rq,"__esModule",{value:!0});var L4=Z1(),D4=f(),EE=m(),kE={message:({params:{missingProperty:Q}})=>D4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>D4._`{missingProperty: ${Q}}`},_E={keyword:"required",type:"object",schemaType:"array",$data:!0,error:kE,code(Q){let{gen:X,schema:Y,schemaCode:J,data:$,$data:W,it:G}=Q,{opts:B}=G;if(!W&&Y.length===0)return;let Z=Y.length>=B.loopRequired;if(G.allErrors)K();else z();if(B.strictRequired){let q=Q.parentSchema.properties,{definedProperties:F}=Q.it;for(let D of Y)if((q===null||q===void 0?void 0:q[D])===void 0&&!F.has(D)){let U=G.schemaEnv.baseId+G.errSchemaPath,M=`required property "${D}" is not defined at "${U}" (strictRequired)`;(0,EE.checkStrictMode)(G,M,G.opts.strictRequired)}}function K(){if(Z||W)Q.block$data(D4.nil,H);else for(let q of Y)(0,L4.checkReportMissingProp)(Q,q)}function z(){let q=X.let("missing");if(Z||W){let F=X.let("valid",!0);Q.block$data(F,()=>V(q,F)),Q.ok(F)}else X.if((0,L4.checkMissingProp)(Q,Y,q)),(0,L4.reportMissingProp)(Q,q),X.else()}function H(){X.forOf("prop",J,(q)=>{Q.setParams({missingProperty:q}),X.if((0,L4.noPropertyInData)(X,$,q,B.ownProperties),()=>Q.error())})}function V(q,F){Q.setParams({missingProperty:q}),X.forOf(q,J,()=>{X.assign(F,(0,L4.propertyInData)(X,$,q,B.ownProperties)),X.if((0,D4.not)(F),()=>{Q.error(),X.break()})},D4.nil)}}};rq.default=_E});var tq=N((sq)=>{Object.defineProperty(sq,"__esModule",{value:!0});var U4=f(),yE={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return U4.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>U4._`{limit: ${Q}}`},vE={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:yE,code(Q){let{keyword:X,data:Y,schemaCode:J}=Q,$=X==="maxItems"?U4.operators.GT:U4.operators.LT;Q.fail$data(U4._`${Y}.length ${$} ${J}`)}};sq.default=vE});var PX=N((QF)=>{Object.defineProperty(QF,"__esModule",{value:!0});var eq=ZJ();eq.code='require("ajv/dist/runtime/equal").default';QF.default=eq});var YF=N((XF)=>{Object.defineProperty(XF,"__esModule",{value:!0});var wJ=J4(),C0=f(),gE=m(),uE=PX(),mE={message:({params:{i:Q,j:X}})=>C0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>C0._`{i: ${Q}, j: ${X}}`},lE={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:mE,code(Q){let{gen:X,data:Y,$data:J,schema:$,parentSchema:W,schemaCode:G,it:B}=Q;if(!J&&!$)return;let Z=X.let("valid"),K=W.items?(0,wJ.getSchemaTypes)(W.items):[];Q.block$data(Z,z,C0._`${G} === false`),Q.ok(Z);function z(){let F=X.let("i",C0._`${Y}.length`),D=X.let("j");Q.setParams({i:F,j:D}),X.assign(Z,!0),X.if(C0._`${F} > 1`,()=>(H()?V:q)(F,D))}function H(){return K.length>0&&!K.some((F)=>F==="object"||F==="array")}function V(F,D){let U=X.name("item"),M=(0,wJ.checkDataTypes)(K,U,B.opts.strictNumbers,wJ.DataType.Wrong),P=X.const("indices",C0._`{}`);X.for(C0._`;${F}--;`,()=>{if(X.let(U,C0._`${Y}[${F}]`),X.if(M,C0._`continue`),K.length>1)X.if(C0._`typeof ${U} == "string"`,C0._`${U} += "_"`);X.if(C0._`typeof ${P}[${U}] == "number"`,()=>{X.assign(D,C0._`${P}[${U}]`),Q.error(),X.assign(Z,!1).break()}).code(C0._`${P}[${U}] = ${F}`)})}function q(F,D){let U=(0,gE.useFunc)(X,uE.default),M=X.name("outer");X.label(M).for(C0._`;${F}--;`,()=>X.for(C0._`${D} = ${F}; ${D}--;`,()=>X.if(C0._`${U}(${Y}[${F}], ${Y}[${D}])`,()=>{Q.error(),X.assign(Z,!1).break(M)})))}}};XF.default=lE});var $F=N((JF)=>{Object.defineProperty(JF,"__esModule",{value:!0});var IJ=f(),cE=m(),dE=PX(),iE={message:"must be equal to constant",params:({schemaCode:Q})=>IJ._`{allowedValue: ${Q}}`},nE={keyword:"const",$data:!0,error:iE,code(Q){let{gen:X,data:Y,$data:J,schemaCode:$,schema:W}=Q;if(J||W&&typeof W=="object")Q.fail$data(IJ._`!${(0,cE.useFunc)(X,dE.default)}(${Y}, ${$})`);else Q.fail(IJ._`${W} !== ${Y}`)}};JF.default=nE});var GF=N((WF)=>{Object.defineProperty(WF,"__esModule",{value:!0});var O4=f(),rE=m(),aE=PX(),sE={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>O4._`{allowedValues: ${Q}}`},tE={keyword:"enum",schemaType:"array",$data:!0,error:sE,code(Q){let{gen:X,data:Y,$data:J,schema:$,schemaCode:W,it:G}=Q;if(!J&&$.length===0)throw Error("enum must have non-empty array");let B=$.length>=G.opts.loopEnum,Z,K=()=>Z!==null&&Z!==void 0?Z:Z=(0,rE.useFunc)(X,aE.default),z;if(B||J)z=X.let("valid"),Q.block$data(z,H);else{if(!Array.isArray($))throw Error("ajv implementation error");let q=X.const("vSchema",W);z=(0,O4.or)(...$.map((F,D)=>V(q,D)))}Q.pass(z);function H(){X.assign(z,!1),X.forOf("v",W,(q)=>X.if(O4._`${K()}(${Y}, ${q})`,()=>X.assign(z,!0).break()))}function V(q,F){let D=$[F];return typeof D==="object"&&D!==null?O4._`${K()}(${Y}, ${q}[${F}])`:O4._`${Y} === ${D}`}}};WF.default=tE});var ZF=N((BF)=>{Object.defineProperty(BF,"__esModule",{value:!0});var Qk=fq(),Xk=gq(),Yk=cq(),Jk=iq(),$k=oq(),Wk=aq(),Gk=tq(),Bk=YF(),Zk=$F(),Kk=GF(),zk=[Qk.default,Xk.default,Yk.default,Jk.default,$k.default,Wk.default,Gk.default,Bk.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Zk.default,Kk.default];BF.default=zk});var TJ=N((zF)=>{Object.defineProperty(zF,"__esModule",{value:!0});zF.validateAdditionalItems=void 0;var e9=f(),CJ=m(),Vk={message:({params:{len:Q}})=>e9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>e9._`{limit: ${Q}}`},qk={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Vk,code(Q){let{parentSchema:X,it:Y}=Q,{items:J}=X;if(!Array.isArray(J)){(0,CJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}KF(Q,J)}};function KF(Q,X){let{gen:Y,schema:J,data:$,keyword:W,it:G}=Q;G.items=!0;let B=Y.const("len",e9._`${$}.length`);if(J===!1)Q.setParams({len:X.length}),Q.pass(e9._`${B} <= ${X.length}`);else if(typeof J=="object"&&!(0,CJ.alwaysValidSchema)(G,J)){let K=Y.var("valid",e9._`${B} <= ${X.length}`);Y.if((0,e9.not)(K),()=>Z(K)),Q.ok(K)}function Z(K){Y.forRange("i",X.length,B,(z)=>{if(Q.subschema({keyword:W,dataProp:z,dataPropType:CJ.Type.Num},K),!G.allErrors)Y.if((0,e9.not)(K),()=>Y.break())})}}zF.validateAdditionalItems=KF;zF.default=qk});var SJ=N((FF)=>{Object.defineProperty(FF,"__esModule",{value:!0});FF.validateTuple=void 0;var VF=f(),jX=m(),Lk=Z1(),Dk={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return qF(Q,"additionalItems",X);if(Y.items=!0,(0,jX.alwaysValidSchema)(Y,X))return;Q.ok((0,Lk.validateArray)(Q))}};function qF(Q,X,Y=Q.schema){let{gen:J,parentSchema:$,data:W,keyword:G,it:B}=Q;if(z($),B.opts.unevaluated&&Y.length&&B.items!==!0)B.items=jX.mergeEvaluated.items(J,Y.length,B.items);let Z=J.name("valid"),K=J.const("len",VF._`${W}.length`);Y.forEach((H,V)=>{if((0,jX.alwaysValidSchema)(B,H))return;J.if(VF._`${K} > ${V}`,()=>Q.subschema({keyword:G,schemaProp:V,dataProp:V},Z)),Q.ok(Z)});function z(H){let{opts:V,errSchemaPath:q}=B,F=Y.length,D=F===H.minItems&&(F===H.maxItems||H[X]===!1);if(V.strictTuples&&!D){let U=`"${G}" is ${F}-tuple, but minItems or maxItems/${X} are not specified or different at path "${q}"`;(0,jX.checkStrictMode)(B,U,V.strictTuples)}}}FF.validateTuple=qF;FF.default=Dk});var UF=N((DF)=>{Object.defineProperty(DF,"__esModule",{value:!0});var Ok=SJ(),Mk={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,Ok.validateTuple)(Q,"items")};DF.default=Mk});var AF=N((MF)=>{Object.defineProperty(MF,"__esModule",{value:!0});var OF=f(),Pk=m(),jk=Z1(),Nk=TJ(),bk={message:({params:{len:Q}})=>OF.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>OF._`{limit: ${Q}}`},wk={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bk,code(Q){let{schema:X,parentSchema:Y,it:J}=Q,{prefixItems:$}=Y;if(J.items=!0,(0,Pk.alwaysValidSchema)(J,X))return;if($)(0,Nk.validateAdditionalItems)(Q,$);else Q.ok((0,jk.validateArray)(Q))}};MF.default=wk});var jF=N((PF)=>{Object.defineProperty(PF,"__esModule",{value:!0});var K1=f(),NX=m(),Ck={message:({params:{min:Q,max:X}})=>X===void 0?K1.str`must contain at least ${Q} valid item(s)`:K1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?K1._`{minContains: ${Q}}`:K1._`{minContains: ${Q}, maxContains: ${X}}`},Tk={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Ck,code(Q){let{gen:X,schema:Y,parentSchema:J,data:$,it:W}=Q,G,B,{minContains:Z,maxContains:K}=J;if(W.opts.next)G=Z===void 0?1:Z,B=K;else G=1;let z=X.const("len",K1._`${$}.length`);if(Q.setParams({min:G,max:B}),B===void 0&&G===0){(0,NX.checkStrictMode)(W,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(B!==void 0&&G>B){(0,NX.checkStrictMode)(W,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,NX.alwaysValidSchema)(W,Y)){let D=K1._`${z} >= ${G}`;if(B!==void 0)D=K1._`${D} && ${z} <= ${B}`;Q.pass(D);return}W.items=!0;let H=X.name("valid");if(B===void 0&&G===1)q(H,()=>X.if(H,()=>X.break()));else if(G===0){if(X.let(H,!0),B!==void 0)X.if(K1._`${$}.length > 0`,V)}else X.let(H,!1),V();Q.result(H,()=>Q.reset());function V(){let D=X.name("_valid"),U=X.let("count",0);q(D,()=>X.if(D,()=>F(U)))}function q(D,U){X.forRange("i",0,z,(M)=>{Q.subschema({keyword:"contains",dataProp:M,dataPropType:NX.Type.Num,compositeRule:!0},D),U()})}function F(D){if(X.code(K1._`${D}++`),B===void 0)X.if(K1._`${D} >= ${G}`,()=>X.assign(H,!0).break());else if(X.if(K1._`${D} > ${B}`,()=>X.assign(H,!1).break()),G===1)X.assign(H,!0);else X.if(K1._`${D} >= ${G}`,()=>X.assign(H,!0))}}};PF.default=Tk});var TF=N((wF)=>{Object.defineProperty(wF,"__esModule",{value:!0});wF.validateSchemaDeps=wF.validatePropertyDeps=wF.error=void 0;var RJ=f(),Rk=m(),M4=Z1();wF.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let J=X===1?"property":"properties";return RJ.str`must have ${J} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:J}})=>RJ._`{property: ${Q},
|
|
6
6
|
missingProperty: ${J},
|
|
7
7
|
depsCount: ${X},
|
|
8
|
-
deps: ${Y}}`};var aM={keyword:"dependencies",type:"object",schemaType:"object",error:IH.error,code(Q){let[X,Y]=sM(Q);PH(Q,X),jH(Q,Y)}};function sM({schema:Q}){let X={},Y={};for(let J in Q){if(J==="__proto__")continue;let W=Array.isArray(Q[J])?X:Y;W[J]=Q[J]}return[X,Y]}function PH(Q,X=Q.schema){let{gen:Y,data:J,it:W}=Q;if(Object.keys(X).length===0)return;let $=Y.let("missing");for(let B in X){let G=X[B];if(G.length===0)continue;let K=(0,U8.propertyInData)(Y,J,B,W.opts.ownProperties);if(Q.setParams({property:B,depsCount:G.length,deps:G.join(", ")}),W.allErrors)Y.if(K,()=>{for(let H of G)(0,U8.checkReportMissingProp)(Q,H)});else Y.if(nX._`${K} && (${(0,U8.checkMissingProp)(Q,G,$)})`),(0,U8.reportMissingProp)(Q,$),Y.else()}}IH.validatePropertyDeps=PH;function jH(Q,X=Q.schema){let{gen:Y,data:J,keyword:W,it:$}=Q,B=Y.name("valid");for(let G in X){if((0,tM.alwaysValidSchema)($,X[G]))continue;Y.if((0,U8.propertyInData)(Y,J,G,$.opts.ownProperties),()=>{let K=Q.subschema({keyword:W,schemaProp:G},B);Q.mergeValidEvaluated(K,B)},()=>Y.var(B,!0)),Q.ok(B)}}IH.validateSchemaDeps=jH;IH.default=aM});var CH=w((SH)=>{Object.defineProperty(SH,"__esModule",{value:!0});var EH=x(),Xw=f(),Yw={message:"property name must be valid",params:({params:Q})=>EH._`{propertyName: ${Q.propertyName}}`},Jw={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Yw,code(Q){let{gen:X,schema:Y,data:J,it:W}=Q;if((0,Xw.alwaysValidSchema)(W,Y))return;let $=X.name("valid");X.forIn("key",J,(B)=>{Q.setParams({propertyName:B}),Q.subschema({keyword:"propertyNames",data:B,dataTypes:["string"],propertyName:B,compositeRule:!0},$),X.if((0,EH.not)($),()=>{if(Q.error(!0),!W.allErrors)X.break()})}),Q.ok($)}};SH.default=Jw});var oX=w((kH)=>{Object.defineProperty(kH,"__esModule",{value:!0});var pQ=x0(),c0=x(),$w=J1(),dQ=f(),Bw={message:"must NOT have additional properties",params:({params:Q})=>c0._`{additionalProperty: ${Q.additionalProperty}}`},Gw={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Bw,code(Q){let{gen:X,schema:Y,parentSchema:J,data:W,errsCount:$,it:B}=Q;if(!$)throw Error("ajv implementation error");let{allErrors:G,opts:K}=B;if(B.props=!0,K.removeAdditional!=="all"&&(0,dQ.alwaysValidSchema)(B,Y))return;let H=(0,pQ.allSchemaProperties)(J.properties),Z=(0,pQ.allSchemaProperties)(J.patternProperties);L(),Q.ok(c0._`${$} === ${$w.default.errors}`);function L(){X.forIn("key",W,(N)=>{if(!H.length&&!Z.length)z(N);else X.if(V(N),()=>z(N))})}function V(N){let F;if(H.length>8){let U=(0,dQ.schemaRefOrVal)(B,J.properties,"properties");F=(0,pQ.isOwnProperty)(X,U,N)}else if(H.length)F=(0,c0.or)(...H.map((U)=>c0._`${N} === ${U}`));else F=c0.nil;if(Z.length)F=(0,c0.or)(F,...Z.map((U)=>c0._`${(0,pQ.usePattern)(Q,U)}.test(${N})`));return(0,c0.not)(F)}function D(N){X.code(c0._`delete ${W}[${N}]`)}function z(N){if(K.removeAdditional==="all"||K.removeAdditional&&Y===!1){D(N);return}if(Y===!1){if(Q.setParams({additionalProperty:N}),Q.error(),!G)X.break();return}if(typeof Y=="object"&&!(0,dQ.alwaysValidSchema)(B,Y)){let F=X.name("valid");if(K.removeAdditional==="failing")A(N,F,!1),X.if((0,c0.not)(F),()=>{Q.reset(),D(N)});else if(A(N,F),!G)X.if((0,c0.not)(F),()=>X.break())}}function A(N,F,U){let M={keyword:"additionalProperties",dataProp:N,dataPropType:dQ.Type.Str};if(U===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,F)}}};kH.default=Gw});var yH=w((vH)=>{Object.defineProperty(vH,"__esModule",{value:!0});var Kw=H8(),_H=x0(),rX=f(),xH=oX(),Zw={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:J,data:W,it:$}=Q;if($.opts.removeAdditional==="all"&&J.additionalProperties===void 0)xH.default.code(new Kw.KeywordCxt($,xH.default,"additionalProperties"));let B=(0,_H.allSchemaProperties)(Y);for(let L of B)$.definedProperties.add(L);if($.opts.unevaluated&&B.length&&$.props!==!0)$.props=rX.mergeEvaluated.props(X,(0,rX.toHash)(B),$.props);let G=B.filter((L)=>!(0,rX.alwaysValidSchema)($,Y[L]));if(G.length===0)return;let K=X.name("valid");for(let L of G){if(H(L))Z(L);else{if(X.if((0,_H.propertyInData)(X,W,L,$.opts.ownProperties)),Z(L),!$.allErrors)X.else().var(K,!0);X.endIf()}Q.it.definedProperties.add(L),Q.ok(K)}function H(L){return $.opts.useDefaults&&!$.compositeRule&&Y[L].default!==void 0}function Z(L){Q.subschema({keyword:"properties",schemaProp:L,dataProp:L},K)}}};vH.default=Zw});var mH=w((uH)=>{Object.defineProperty(uH,"__esModule",{value:!0});var gH=x0(),iQ=x(),fH=f(),hH=f(),Vw={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:J,parentSchema:W,it:$}=Q,{opts:B}=$,G=(0,gH.allSchemaProperties)(Y),K=G.filter((A)=>(0,fH.alwaysValidSchema)($,Y[A]));if(G.length===0||K.length===G.length&&(!$.opts.unevaluated||$.props===!0))return;let H=B.strictSchema&&!B.allowMatchingProperties&&W.properties,Z=X.name("valid");if($.props!==!0&&!($.props instanceof iQ.Name))$.props=(0,hH.evaluatedPropsToName)(X,$.props);let{props:L}=$;V();function V(){for(let A of G){if(H)D(A);if($.allErrors)z(A);else X.var(Z,!0),z(A),X.if(Z)}}function D(A){for(let N in H)if(new RegExp(A).test(N))(0,fH.checkStrictMode)($,`property ${N} matches pattern ${A} (use allowMatchingProperties)`)}function z(A){X.forIn("key",J,(N)=>{X.if(iQ._`${(0,gH.usePattern)(Q,A)}.test(${N})`,()=>{let F=K.includes(A);if(!F)Q.subschema({keyword:"patternProperties",schemaProp:A,dataProp:N,dataPropType:hH.Type.Str},Z);if($.opts.unevaluated&&L!==!0)X.assign(iQ._`${L}[${N}]`,!0);else if(!F&&!$.allErrors)X.if((0,iQ.not)(Z),()=>X.break())})})}}};uH.default=Vw});var cH=w((lH)=>{Object.defineProperty(lH,"__esModule",{value:!0});var qw=f(),zw={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:J}=Q;if((0,qw.alwaysValidSchema)(J,Y)){Q.fail();return}let W=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},W),Q.failResult(W,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};lH.default=zw});var dH=w((pH)=>{Object.defineProperty(pH,"__esModule",{value:!0});var Aw=x0(),Ow={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Aw.validateUnion,error:{message:"must match a schema in anyOf"}};pH.default=Ow});var nH=w((iH)=>{Object.defineProperty(iH,"__esModule",{value:!0});var nQ=x(),Uw=f(),Mw={message:"must match exactly one schema in oneOf",params:({params:Q})=>nQ._`{passingSchemas: ${Q.passing}}`},ww={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Mw,code(Q){let{gen:X,schema:Y,parentSchema:J,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(W.opts.discriminator&&J.discriminator)return;let $=Y,B=X.let("valid",!1),G=X.let("passing",null),K=X.name("_valid");Q.setParams({passing:G}),X.block(H),Q.result(B,()=>Q.reset(),()=>Q.error(!0));function H(){$.forEach((Z,L)=>{let V;if((0,Uw.alwaysValidSchema)(W,Z))X.var(K,!0);else V=Q.subschema({keyword:"oneOf",schemaProp:L,compositeRule:!0},K);if(L>0)X.if(nQ._`${K} && ${B}`).assign(B,!1).assign(G,nQ._`[${G}, ${L}]`).else();X.if(K,()=>{if(X.assign(B,!0),X.assign(G,L),V)Q.mergeEvaluated(V,nQ.Name)})})}}};iH.default=ww});var rH=w((oH)=>{Object.defineProperty(oH,"__esModule",{value:!0});var jw=f(),Iw={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:J}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let W=X.name("valid");Y.forEach(($,B)=>{if((0,jw.alwaysValidSchema)(J,$))return;let G=Q.subschema({keyword:"allOf",schemaProp:B},W);Q.ok(W),Q.mergeEvaluated(G)})}};oH.default=Iw});var eH=w((sH)=>{Object.defineProperty(sH,"__esModule",{value:!0});var oQ=x(),aH=f(),Tw={message:({params:Q})=>oQ.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>oQ._`{failingKeyword: ${Q.ifClause}}`},Rw={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Tw,code(Q){let{gen:X,parentSchema:Y,it:J}=Q;if(Y.then===void 0&&Y.else===void 0)(0,aH.checkStrictMode)(J,'"if" without "then" and "else" is ignored');let W=tH(J,"then"),$=tH(J,"else");if(!W&&!$)return;let B=X.let("valid",!0),G=X.name("_valid");if(K(),Q.reset(),W&&$){let Z=X.let("ifClause");Q.setParams({ifClause:Z}),X.if(G,H("then",Z),H("else",Z))}else if(W)X.if(G,H("then"));else X.if((0,oQ.not)(G),H("else"));Q.pass(B,()=>Q.error(!0));function K(){let Z=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);Q.mergeEvaluated(Z)}function H(Z,L){return()=>{let V=Q.subschema({keyword:Z},G);if(X.assign(B,G),Q.mergeValidEvaluated(V,B),L)X.assign(L,oQ._`${Z}`);else Q.setParams({ifClause:Z})}}}};function tH(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,aH.alwaysValidSchema)(Q,Y)}sH.default=Rw});var XK=w((QK)=>{Object.defineProperty(QK,"__esModule",{value:!0});var Sw=f(),Cw={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,Sw.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};QK.default=Cw});var JK=w((YK)=>{Object.defineProperty(YK,"__esModule",{value:!0});var _w=dX(),xw=AH(),vw=iX(),yw=UH(),gw=wH(),fw=RH(),hw=CH(),uw=oX(),mw=yH(),lw=mH(),cw=cH(),pw=dH(),dw=nH(),iw=rH(),nw=eH(),ow=XK();function rw(Q=!1){let X=[cw.default,pw.default,dw.default,iw.default,nw.default,ow.default,hw.default,uw.default,fw.default,mw.default,lw.default];if(Q)X.push(xw.default,yw.default);else X.push(_w.default,vw.default);return X.push(gw.default),X}YK.default=rw});var $K=w((WK)=>{Object.defineProperty(WK,"__esModule",{value:!0});var Y0=x(),aw={message:({schemaCode:Q})=>Y0.str`must match format "${Q}"`,params:({schemaCode:Q})=>Y0._`{format: ${Q}}`},sw={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:aw,code(Q,X){let{gen:Y,data:J,$data:W,schema:$,schemaCode:B,it:G}=Q,{opts:K,errSchemaPath:H,schemaEnv:Z,self:L}=G;if(!K.validateFormats)return;if(W)V();else D();function V(){let z=Y.scopeValue("formats",{ref:L.formats,code:K.code.formats}),A=Y.const("fDef",Y0._`${z}[${B}]`),N=Y.let("fType"),F=Y.let("format");Y.if(Y0._`typeof ${A} == "object" && !(${A} instanceof RegExp)`,()=>Y.assign(N,Y0._`${A}.type || "string"`).assign(F,Y0._`${A}.validate`),()=>Y.assign(N,Y0._`"string"`).assign(F,A)),Q.fail$data((0,Y0.or)(U(),M()));function U(){if(K.strictSchema===!1)return Y0.nil;return Y0._`${B} && !${F}`}function M(){let b=Z.$async?Y0._`(${A}.async ? await ${F}(${J}) : ${F}(${J}))`:Y0._`${F}(${J})`,P=Y0._`(typeof ${F} == "function" ? ${b} : ${F}.test(${J}))`;return Y0._`${F} && ${F} !== true && ${N} === ${X} && !${P}`}}function D(){let z=L.formats[$];if(!z){U();return}if(z===!0)return;let[A,N,F]=M(z);if(A===X)Q.pass(b());function U(){if(K.strictSchema===!1){L.logger.warn(P());return}throw Error(P());function P(){return`unknown format "${$}" ignored in schema at path "${H}"`}}function M(P){let n=P instanceof RegExp?(0,Y0.regexpCode)(P):K.code.formats?Y0._`${K.code.formats}${(0,Y0.getProperty)($)}`:void 0,O0=Y.scopeValue("formats",{key:$,ref:P,code:n});if(typeof P=="object"&&!(P instanceof RegExp))return[P.type||"string",P.validate,Y0._`${O0}.validate`];return["string",P,O0]}function b(){if(typeof z=="object"&&!(z instanceof RegExp)&&z.async){if(!Z.$async)throw Error("async format in sync schema");return Y0._`await ${F}(${J})`}return typeof N=="function"?Y0._`${F}(${J})`:Y0._`${F}.test(${J})`}}}};WK.default=sw});var GK=w((BK)=>{Object.defineProperty(BK,"__esModule",{value:!0});var QP=$K(),XP=[QP.default];BK.default=XP});var ZK=w((HK)=>{Object.defineProperty(HK,"__esModule",{value:!0});HK.contentVocabulary=HK.metadataVocabulary=void 0;HK.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];HK.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var DK=w((VK)=>{Object.defineProperty(VK,"__esModule",{value:!0});var WP=vG(),$P=HH(),BP=JK(),GP=GK(),LK=ZK(),HP=[WP.default,$P.default,(0,BP.default)(),GP.default,LK.metadataVocabulary,LK.contentVocabulary];VK.default=HP});var AK=w((zK)=>{Object.defineProperty(zK,"__esModule",{value:!0});zK.DiscrError=void 0;var qK;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(qK||(zK.DiscrError=qK={}))});var UK=w((NK)=>{Object.defineProperty(NK,"__esModule",{value:!0});var L9=x(),tX=AK(),OK=CQ(),ZP=K8(),LP=f(),VP={message:({params:{discrError:Q,tagName:X}})=>Q===tX.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>L9._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},DP={keyword:"discriminator",type:"object",schemaType:"object",error:VP,code(Q){let{gen:X,data:Y,schema:J,parentSchema:W,it:$}=Q,{oneOf:B}=W;if(!$.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=J.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(J.mapping)throw Error("discriminator: mapping is not supported");if(!B)throw Error("discriminator: requires oneOf keyword");let K=X.let("valid",!1),H=X.const("tag",L9._`${Y}${(0,L9.getProperty)(G)}`);X.if(L9._`typeof ${H} == "string"`,()=>Z(),()=>Q.error(!1,{discrError:tX.DiscrError.Tag,tag:H,tagName:G})),Q.ok(K);function Z(){let D=V();X.if(!1);for(let z in D)X.elseIf(L9._`${H} === ${z}`),X.assign(K,L(D[z]));X.else(),Q.error(!1,{discrError:tX.DiscrError.Mapping,tag:H,tagName:G}),X.endIf()}function L(D){let z=X.name("valid"),A=Q.subschema({keyword:"oneOf",schemaProp:D},z);return Q.mergeEvaluated(A,L9.Name),z}function V(){var D;let z={},A=F(W),N=!0;for(let b=0;b<B.length;b++){let P=B[b];if((P===null||P===void 0?void 0:P.$ref)&&!(0,LP.schemaHasRulesButRef)(P,$.self.RULES)){let O0=P.$ref;if(P=OK.resolveRef.call($.self,$.schemaEnv.root,$.baseId,O0),P instanceof OK.SchemaEnv)P=P.schema;if(P===void 0)throw new ZP.default($.opts.uriResolver,$.baseId,O0)}let n=(D=P===null||P===void 0?void 0:P.properties)===null||D===void 0?void 0:D[G];if(typeof n!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);N=N&&(A||F(P)),U(n,b)}if(!N)throw Error(`discriminator: "${G}" must be required`);return z;function F({required:b}){return Array.isArray(b)&&b.includes(G)}function U(b,P){if(b.const)M(b.const,P);else if(b.enum)for(let n of b.enum)M(n,P);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function M(b,P){if(typeof b!="string"||b in z)throw Error(`discriminator: "${G}" values must be unique strings`);z[b]=P}}}};NK.default=DP});var MK=w((gk,zP)=>{zP.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 sX=w((j0,aX)=>{Object.defineProperty(j0,"__esModule",{value:!0});j0.MissingRefError=j0.ValidationError=j0.CodeGen=j0.Name=j0.nil=j0.stringify=j0.str=j0._=j0.KeywordCxt=j0.Ajv=void 0;var FP=IG(),AP=DK(),OP=UK(),wK=MK(),NP=["/properties"],rQ="http://json-schema.org/draft-07/schema";class M8 extends FP.default{_addVocabularies(){if(super._addVocabularies(),AP.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(OP.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(wK,NP):wK;this.addMetaSchema(Q,rQ,!1),this.refs["http://json-schema.org/schema"]=rQ}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(rQ)?rQ:void 0)}}j0.Ajv=M8;aX.exports=j0=M8;aX.exports.Ajv=M8;Object.defineProperty(j0,"__esModule",{value:!0});j0.default=M8;var UP=H8();Object.defineProperty(j0,"KeywordCxt",{enumerable:!0,get:function(){return UP.KeywordCxt}});var V9=x();Object.defineProperty(j0,"_",{enumerable:!0,get:function(){return V9._}});Object.defineProperty(j0,"str",{enumerable:!0,get:function(){return V9.str}});Object.defineProperty(j0,"stringify",{enumerable:!0,get:function(){return V9.stringify}});Object.defineProperty(j0,"nil",{enumerable:!0,get:function(){return V9.nil}});Object.defineProperty(j0,"Name",{enumerable:!0,get:function(){return V9.Name}});Object.defineProperty(j0,"CodeGen",{enumerable:!0,get:function(){return V9.CodeGen}});var MP=EQ();Object.defineProperty(j0,"ValidationError",{enumerable:!0,get:function(){return MP.default}});var wP=K8();Object.defineProperty(j0,"MissingRefError",{enumerable:!0,get:function(){return wP.default}})});var kK=w((SK)=>{Object.defineProperty(SK,"__esModule",{value:!0});SK.formatNames=SK.fastFormats=SK.fullFormats=void 0;function n0(Q,X){return{validate:Q,compare:X}}SK.fullFormats={date:n0(bK,YY),time:n0(QY(!0),JY),"date-time":n0(PK(!0),RK),"iso-time":n0(QY(),TK),"iso-date-time":n0(PK(),EK),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:SP,"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:gP,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:CP,int32:{type:"number",validate:xP},int64:{type:"number",validate:vP},float:{type:"number",validate:IK},double:{type:"number",validate:IK},password:!0,binary:!0};SK.fastFormats={...SK.fullFormats,date:n0(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,YY),time:n0(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,JY),"date-time":n0(/^\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,RK),"iso-time":n0(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,TK),"iso-date-time":n0(/^\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,EK),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};SK.formatNames=Object.keys(SK.fullFormats);function IP(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var bP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,TP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function bK(Q){let X=bP.exec(Q);if(!X)return!1;let Y=+X[1],J=+X[2],W=+X[3];return J>=1&&J<=12&&W>=1&&W<=(J===2&&IP(Y)?29:TP[J])}function YY(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var eX=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function QY(Q){return function(Y){let J=eX.exec(Y);if(!J)return!1;let W=+J[1],$=+J[2],B=+J[3],G=J[4],K=J[5]==="-"?-1:1,H=+(J[6]||0),Z=+(J[7]||0);if(H>23||Z>59||Q&&!G)return!1;if(W<=23&&$<=59&&B<60)return!0;let L=$-Z*K,V=W-H*K-(L<0?1:0);return(V===23||V===-1)&&(L===59||L===-1)&&B<61}}function JY(Q,X){if(!(Q&&X))return;let Y=new Date("2020-01-01T"+Q).valueOf(),J=new Date("2020-01-01T"+X).valueOf();if(!(Y&&J))return;return Y-J}function TK(Q,X){if(!(Q&&X))return;let Y=eX.exec(Q),J=eX.exec(X);if(!(Y&&J))return;if(Q=Y[1]+Y[2]+Y[3],X=J[1]+J[2]+J[3],Q>X)return 1;if(Q<X)return-1;return 0}var XY=/t|\s/i;function PK(Q){let X=QY(Q);return function(J){let W=J.split(XY);return W.length===2&&bK(W[0])&&X(W[1])}}function RK(Q,X){if(!(Q&&X))return;let Y=new Date(Q).valueOf(),J=new Date(X).valueOf();if(!(Y&&J))return;return Y-J}function EK(Q,X){if(!(Q&&X))return;let[Y,J]=Q.split(XY),[W,$]=X.split(XY),B=YY(Y,W);if(B===void 0)return;return B||JY(J,$)}var RP=/\/|:/,EP=/^(?:[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 SP(Q){return RP.test(Q)&&EP.test(Q)}var jK=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function CP(Q){return jK.lastIndex=0,jK.test(Q)}var kP=-2147483648,_P=2147483647;function xP(Q){return Number.isInteger(Q)&&Q<=_P&&Q>=kP}function vP(Q){return Number.isInteger(Q)}function IK(){return!0}var yP=/[^\\]\\Z/;function gP(Q){if(yP.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var xK=w((_K)=>{Object.defineProperty(_K,"__esModule",{value:!0});_K.formatLimitDefinition=void 0;var hP=sX(),p0=x(),j1=p0.operators,tQ={formatMaximum:{okStr:"<=",ok:j1.LTE,fail:j1.GT},formatMinimum:{okStr:">=",ok:j1.GTE,fail:j1.LT},formatExclusiveMaximum:{okStr:"<",ok:j1.LT,fail:j1.GTE},formatExclusiveMinimum:{okStr:">",ok:j1.GT,fail:j1.LTE}},uP={message:({keyword:Q,schemaCode:X})=>p0.str`should be ${tQ[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>p0._`{comparison: ${tQ[Q].okStr}, limit: ${X}}`};_K.formatLimitDefinition={keyword:Object.keys(tQ),type:"string",schemaType:"string",$data:!0,error:uP,code(Q){let{gen:X,data:Y,schemaCode:J,keyword:W,it:$}=Q,{opts:B,self:G}=$;if(!B.validateFormats)return;let K=new hP.KeywordCxt($,G.RULES.all.format.definition,"format");if(K.$data)H();else Z();function H(){let V=X.scopeValue("formats",{ref:G.formats,code:B.code.formats}),D=X.const("fmt",p0._`${V}[${K.schemaCode}]`);Q.fail$data((0,p0.or)(p0._`typeof ${D} != "object"`,p0._`${D} instanceof RegExp`,p0._`typeof ${D}.compare != "function"`,L(D)))}function Z(){let V=K.schema,D=G.formats[V];if(!D||D===!0)return;if(typeof D!="object"||D instanceof RegExp||typeof D.compare!="function")throw Error(`"${W}": format "${V}" does not define "compare" function`);let z=X.scopeValue("formats",{key:V,ref:D,code:B.code.formats?p0._`${B.code.formats}${(0,p0.getProperty)(V)}`:void 0});Q.fail$data(L(z))}function L(V){return p0._`${V}.compare(${Y}, ${J}) ${tQ[W].fail} 0`}},dependencies:["format"]};var mP=(Q)=>{return Q.addKeyword(_K.formatLimitDefinition),Q};_K.default=mP});var fK=w((w8,gK)=>{Object.defineProperty(w8,"__esModule",{value:!0});var D9=kK(),cP=xK(),BY=x(),vK=new BY.Name("fullFormats"),pP=new BY.Name("fastFormats"),GY=(Q,X={keywords:!0})=>{if(Array.isArray(X))return yK(Q,X,D9.fullFormats,vK),Q;let[Y,J]=X.mode==="fast"?[D9.fastFormats,pP]:[D9.fullFormats,vK],W=X.formats||D9.formatNames;if(yK(Q,W,Y,J),X.keywords)(0,cP.default)(Q);return Q};GY.get=(Q,X="full")=>{let J=(X==="fast"?D9.fastFormats:D9.fullFormats)[Q];if(!J)throw Error(`Unknown format "${Q}"`);return J};function yK(Q,X,Y,J){var W,$;(W=($=Q.opts.code).formats)!==null&&W!==void 0||($.formats=BY._`require("ajv-formats/dist/formats").${J}`);for(let B of X)Q.addFormat(B,Y[B])}gK.exports=w8=GY;Object.defineProperty(w8,"__esModule",{value:!0});w8.default=GY});var DZ=w((T_,VZ)=>{VZ.exports=LZ;LZ.sync=wj;var KZ=o0("fs");function Mj(Q,X){var Y=X.pathExt!==void 0?X.pathExt:process.env.PATHEXT;if(!Y)return!0;if(Y=Y.split(";"),Y.indexOf("")!==-1)return!0;for(var J=0;J<Y.length;J++){var W=Y[J].toLowerCase();if(W&&Q.substr(-W.length).toLowerCase()===W)return!0}return!1}function ZZ(Q,X,Y){if(!Q.isSymbolicLink()&&!Q.isFile())return!1;return Mj(X,Y)}function LZ(Q,X,Y){KZ.stat(Q,function(J,W){Y(J,J?!1:ZZ(W,Q,X))})}function wj(Q,X){return ZZ(KZ.statSync(Q),Q,X)}});var OZ=w((R_,AZ)=>{AZ.exports=zZ;zZ.sync=Pj;var qZ=o0("fs");function zZ(Q,X,Y){qZ.stat(Q,function(J,W){Y(J,J?!1:FZ(W,X))})}function Pj(Q,X){return FZ(qZ.statSync(Q),X)}function FZ(Q,X){return Q.isFile()&&jj(Q,X)}function jj(Q,X){var{mode:Y,uid:J,gid:W}=Q,$=X.uid!==void 0?X.uid:process.getuid&&process.getuid(),B=X.gid!==void 0?X.gid:process.getgid&&process.getgid(),G=parseInt("100",8),K=parseInt("010",8),H=parseInt("001",8),Z=G|K,L=Y&H||Y&K&&W===B||Y&G&&J===$||Y&Z&&$===0;return L}});var UZ=w((S_,NZ)=>{var E_=o0("fs"),z6;if(process.platform==="win32"||global.TESTING_WINDOWS)z6=DZ();else z6=OZ();NZ.exports=kY;kY.sync=Ij;function kY(Q,X,Y){if(typeof X==="function")Y=X,X={};if(!Y){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(J,W){kY(Q,X||{},function($,B){if($)W($);else J(B)})})}z6(Q,X||{},function(J,W){if(J){if(J.code==="EACCES"||X&&X.ignoreErrors)J=null,W=!1}Y(J,W)})}function Ij(Q,X){try{return z6.sync(Q,X||{})}catch(Y){if(X&&X.ignoreErrors||Y.code==="EACCES")return!1;else throw Y}}});var TZ=w((C_,bZ)=>{var b9=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",MZ=o0("path"),bj=b9?";":":",wZ=UZ(),PZ=(Q)=>Object.assign(Error(`not found: ${Q}`),{code:"ENOENT"}),jZ=(Q,X)=>{let Y=X.colon||bj,J=Q.match(/\//)||b9&&Q.match(/\\/)?[""]:[...b9?[process.cwd()]:[],...(X.path||process.env.PATH||"").split(Y)],W=b9?X.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",$=b9?W.split(Y):[""];if(b9){if(Q.indexOf(".")!==-1&&$[0]!=="")$.unshift("")}return{pathEnv:J,pathExt:$,pathExtExe:W}},IZ=(Q,X,Y)=>{if(typeof X==="function")Y=X,X={};if(!X)X={};let{pathEnv:J,pathExt:W,pathExtExe:$}=jZ(Q,X),B=[],G=(H)=>new Promise((Z,L)=>{if(H===J.length)return X.all&&B.length?Z(B):L(PZ(Q));let V=J[H],D=/^".*"$/.test(V)?V.slice(1,-1):V,z=MZ.join(D,Q),A=!D&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+z:z;Z(K(A,H,0))}),K=(H,Z,L)=>new Promise((V,D)=>{if(L===W.length)return V(G(Z+1));let z=W[L];wZ(H+z,{pathExt:$},(A,N)=>{if(!A&&N)if(X.all)B.push(H+z);else return V(H+z);return V(K(H,Z,L+1))})});return Y?G(0).then((H)=>Y(null,H),Y):G(0)},Tj=(Q,X)=>{X=X||{};let{pathEnv:Y,pathExt:J,pathExtExe:W}=jZ(Q,X),$=[];for(let B=0;B<Y.length;B++){let G=Y[B],K=/^".*"$/.test(G)?G.slice(1,-1):G,H=MZ.join(K,Q),Z=!K&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+H:H;for(let L=0;L<J.length;L++){let V=Z+J[L];try{if(wZ.sync(V,{pathExt:W}))if(X.all)$.push(V);else return V}catch(D){}}}if(X.all&&$.length)return $;if(X.nothrow)return null;throw PZ(Q)};bZ.exports=IZ;IZ.sync=Tj});var EZ=w((k_,_Y)=>{var RZ=(Q={})=>{let X=Q.env||process.env;if((Q.platform||process.platform)!=="win32")return"PATH";return Object.keys(X).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"};_Y.exports=RZ;_Y.exports.default=RZ});var _Z=w((__,kZ)=>{var SZ=o0("path"),Rj=TZ(),Ej=EZ();function CZ(Q,X){let Y=Q.options.env||process.env,J=process.cwd(),W=Q.options.cwd!=null,$=W&&process.chdir!==void 0&&!process.chdir.disabled;if($)try{process.chdir(Q.options.cwd)}catch(G){}let B;try{B=Rj.sync(Q.command,{path:Y[Ej({env:Y})],pathExt:X?SZ.delimiter:void 0})}catch(G){}finally{if($)process.chdir(J)}if(B)B=SZ.resolve(W?Q.options.cwd:"",B);return B}function Sj(Q){return CZ(Q)||CZ(Q,!0)}kZ.exports=Sj});var xZ=w((_j,vY)=>{var xY=/([()\][%!^"`<>&|;, *?])/g;function Cj(Q){return Q=Q.replace(xY,"^$1"),Q}function kj(Q,X){if(Q=`${Q}`,Q=Q.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Q=Q.replace(/(?=(\\+?)?)\1$/,"$1$1"),Q=`"${Q}"`,Q=Q.replace(xY,"^$1"),X)Q=Q.replace(xY,"^$1");return Q}_j.command=Cj;_j.argument=kj});var yZ=w((x_,vZ)=>{vZ.exports=/^#!(.*)/});var fZ=w((v_,gZ)=>{var yj=yZ();gZ.exports=(Q="")=>{let X=Q.match(yj);if(!X)return null;let[Y,J]=X[0].replace(/#! ?/,"").split(" "),W=Y.split("/").pop();if(W==="env")return J;return J?`${W} ${J}`:W}});var uZ=w((y_,hZ)=>{var yY=o0("fs"),gj=fZ();function fj(Q){let Y=Buffer.alloc(150),J;try{J=yY.openSync(Q,"r"),yY.readSync(J,Y,0,150,0),yY.closeSync(J)}catch(W){}return gj(Y.toString())}hZ.exports=fj});var pZ=w((g_,cZ)=>{var hj=o0("path"),mZ=_Z(),lZ=xZ(),uj=uZ(),mj=process.platform==="win32",lj=/\.(?:com|exe)$/i,cj=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function pj(Q){Q.file=mZ(Q);let X=Q.file&&uj(Q.file);if(X)return Q.args.unshift(Q.file),Q.command=X,mZ(Q);return Q.file}function dj(Q){if(!mj)return Q;let X=pj(Q),Y=!lj.test(X);if(Q.options.forceShell||Y){let J=cj.test(X);Q.command=hj.normalize(Q.command),Q.command=lZ.command(Q.command),Q.args=Q.args.map(($)=>lZ.argument($,J));let W=[Q.command].concat(Q.args).join(" ");Q.args=["/d","/s","/c",`"${W}"`],Q.command=process.env.comspec||"cmd.exe",Q.options.windowsVerbatimArguments=!0}return Q}function ij(Q,X,Y){if(X&&!Array.isArray(X))Y=X,X=null;X=X?X.slice(0):[],Y=Object.assign({},Y);let J={command:Q,args:X,options:Y,file:void 0,original:{command:Q,args:X}};return Y.shell?J:dj(J)}cZ.exports=ij});var nZ=w((f_,iZ)=>{var gY=process.platform==="win32";function fY(Q,X){return Object.assign(Error(`${X} ${Q.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${X} ${Q.command}`,path:Q.command,spawnargs:Q.args})}function nj(Q,X){if(!gY)return;let Y=Q.emit;Q.emit=function(J,W){if(J==="exit"){let $=dZ(W,X);if($)return Y.call(Q,"error",$)}return Y.apply(Q,arguments)}}function dZ(Q,X){if(gY&&Q===1&&!X.file)return fY(X.original,"spawn");return null}function oj(Q,X){if(gY&&Q===1&&!X.file)return fY(X.original,"spawnSync");return null}iZ.exports={hookChildProcess:nj,verifyENOENT:dZ,verifyENOENTSync:oj,notFoundError:fY}});var tZ=w((h_,T9)=>{var oZ=o0("child_process"),hY=pZ(),uY=nZ();function rZ(Q,X,Y){let J=hY(Q,X,Y),W=oZ.spawn(J.command,J.args,J.options);return uY.hookChildProcess(W,J),W}function rj(Q,X,Y){let J=hY(Q,X,Y),W=oZ.spawnSync(J.command,J.args,J.options);return W.error=W.error||uY.verifyENOENTSync(W.status,J),W}T9.exports=rZ;T9.exports.spawn=rZ;T9.exports.sync=rj;T9.exports._parse=hY;T9.exports._enoent=uY});import{logger as wI}from"@hermes/logger";function TL(Q){let X=Q.access_token_expires_at?Q.access_token_expires_at.seconds*1000+Math.floor(Q.access_token_expires_at.nanos/1e6):void 0;return{accessToken:Q.access_token,refreshToken:Q.refresh_token,expiresAt:X,tokenType:Q.token_type,scope:Q.scope,serverMetadata:{issuer:Q.issuer??Q.authorization_endpoint,authorization_endpoint:Q.authorization_endpoint,token_endpoint:Q.token_endpoint},client:{client_id:Q.client_id,client_secret:Q.client_secret}}}function XJ(Q,X){let Y=[];for(let[J,W]of Object.entries(X))Q.set(J,TL(W)),Y.push(J);return Y}var b6=["list"];function RL(Q){return Q.config.registrySource??"local"}function EL(Q){let X=Q.status,Y=RL(Q);if(X==="auth_required")return`${Q.name} [${Y}] — auth_required (needs authentication)`;let J=Q.tools.length,W=`${Q.name} [${Y}] — ${X} (${J} tool${J===1?"":"s"})`;if(X==="failed"&&Q.lastError)return`${W}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
`).trim()}function rL(Q,X,Y){if(Q.isError){let $=oL(Q.content);throw Error($||`MCP tool "${X}/${Y}" reported an error`)}let J=nL(Q.content);return{content:J.length>0?J:[{type:"text",text:""}],details:void 0}}async function VJ(Q){let X=Q.getHost();if(!X||X.status!=="success")throw Error(`MCP server "${Q.serverName}" is not available (status: ${X?.status??"unknown"})`);let Y=Q.map.resolve(Q.namespaced),J=iL(Q.params),W=await X.callTool(Y,J,Q.signal);return rL(W,Q.serverName,Y)}var tL=/[^a-zA-Z0-9_-]/g;function C6(Q){return Q.replace(tL,"_")}function aL(Q,X){let Y=C6(X),J=C6(Q),W=`${Y}_${J}`;if(W.length<=64)return W;return W.slice(0,64)}class k6{_serverName;_map=new Map;constructor(Q){this._serverName=Q}put(Q){let X=aL(this._serverName,Q),Y=this._map.get(X),J=Y!==void 0&&Y!==Q;if(Y===void 0)this._map.set(X,Q);return{namespaced:X,collision:J}}resolve(Q){let X=this._map.get(Q);if(X)return X;let Y=`_${C6(this._serverName)}`;if(Q.endsWith(Y))return Q.slice(0,Q.length-Y.length);return Q}}var _6=sL.child({prefix:"pi-mcp"}),DJ=new Map;function QV(Q){let X=DJ.get(Q);if(!X)X=new k6(Q),DJ.set(Q,X);return X}function v8(Q,X){let Y=QV(X.name),J=X.name,W=()=>G0().servers.get(J),$=0;for(let B of X.listTools()){let{namespaced:G,collision:K}=Y.put(B.name);if(K){let L=Y.resolve(G),V=`Tool name collision detected in MCP server "${J}": "${B.name}" and "${L}" both map to "${G}". Only the first tool will be available.`,D=G0();if(!D.diagnostics.some((A)=>A.server===J&&A.message.includes(`both map to "${G}"`)))_6.warn(V),D.diagnostics.push({server:J,message:V});continue}let H;try{H=eL.Unsafe(B.inputSchema??{})}catch(L){_6.warn(`Skipping MCP tool "${J}/${B.name}": invalid input schema (${L instanceof Error?L.message:String(L)})`);continue}let Z={name:G,label:B.name,description:B.description??"",parameters:H,execute:(L,V,D,z,A)=>VJ({serverName:J,namespaced:G,map:Y,getHost:W,params:V,signal:D})};Q.registerTool(Z),$+=1}if($>0)_6.info(`Registered ${$} MCP tool(s) from server "${J}"`)}function qJ(Q,X){for(let Y of X.servers.values())if(Y.status==="success"&&Y.config.registrySource===void 0)v8(Q,Y)}import{logger as QI}from"@hermes/logger";function zJ(Q,X=Date.now()){return Q.expiresAt!==void 0&&X+20000>=Q.expiresAt}function FJ(Q,X=Date.now()){return Q.expiresAt!==void 0&&Q.expiresAt<=X}async function AJ(Q){if(!Q.refreshToken)throw Error("No refresh token available");let X=new URLSearchParams({grant_type:"refresh_token",refresh_token:Q.refreshToken,client_id:Q.client.client_id});if(Q.client.client_secret)X.set("client_secret",Q.client.client_secret);let Y=await fetch(Q.serverMetadata.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:X.toString(),signal:AbortSignal.timeout(1e4)});if(!Y.ok){let W=(await Y.text().catch(()=>"")).slice(0,500);throw Error(`Token refresh failed: ${Y.status} ${Y.statusText}${W?` — ${W}`:""}`)}let J=await Y.json();return{accessToken:J.access_token,refreshToken:J.refresh_token||Q.refreshToken,expiresAt:J.expires_in?Date.now()+J.expires_in*1000:void 0,tokenType:J.token_type??Q.tokenType,scope:J.scope??Q.scope,serverMetadata:Q.serverMetadata,client:Q.client}}import{logger as XV}from"@hermes/logger";var y8=XV.child({prefix:"pi-mcp"}),YV="$augment-",OJ=/\$augment-[a-zA-Z0-9_.-]+/g,JV=new RegExp(OJ.source);function g8(Q){return JV.test(Q)}function WV(Q){return Q.slice(YV.length)}async function $V(Q,X,Y){let J=[...Q.matchAll(OJ)];if(J.length===0)return Q;let W=Q;for(let $=J.length-1;$>=0;$--){let B=J[$],G=B[0],K=B.index,H=WV(G);try{let Z=await Y(H);if(Z===void 0){y8.warn(`Secret "${H}" not found for "${X}"; leaving reference as-is`);continue}W=W.slice(0,K)+Z+W.slice(K+G.length),y8.debug(`Resolved secret reference for "${X}"`)}catch(Z){let L=Z instanceof Error?Z.message:String(Z);y8.error(`Failed to resolve secret "${H}" for "${X}": ${L}; leaving reference as-is`)}}return W}async function NJ({configEnv:Q,localEnv:X,getSecret:Y}){let J={};for(let[W,$]of Object.entries(Q)){if(!g8($)){J[W]=$;continue}if(W in X){y8.debug(`"${W}" references a secret but is already set in the local environment; using local value`),J[W]=X[W];continue}J[W]=await $V($,W,Y)}return J}var UJ,x6=Object.freeze({status:"aborted"});function O(Q,X,Y){function J(G,K){if(!G._zod)Object.defineProperty(G,"_zod",{value:{def:K,constr:B,traits:new Set},enumerable:!1});if(G._zod.traits.has(Q))return;G._zod.traits.add(Q),X(G,K);let H=B.prototype,Z=Object.keys(H);for(let L=0;L<Z.length;L++){let V=Z[L];if(!(V in G))G[V]=H[V].bind(G)}}let W=Y?.Parent??Object;class $ extends W{}Object.defineProperty($,"name",{value:Q});function B(G){var K;let H=Y?.Parent?new $:this;J(H,G),(K=H._zod).deferred??(K.deferred=[]);for(let Z of H._zod.deferred)Z();return H}return Object.defineProperty(B,"init",{value:J}),Object.defineProperty(B,Symbol.hasInstance,{value:(G)=>{if(Y?.Parent&&G instanceof Y.Parent)return!0;return G?._zod?.traits?.has(Q)}}),Object.defineProperty(B,"name",{value:Q}),B}var BV=Symbol("zod_brand");class r0 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class S9 extends Error{constructor(Q){super(`Encountered unidirectional transform during encode: ${Q}`);this.name="ZodEncodeError"}}(UJ=globalThis).__zod_globalConfig??(UJ.__zod_globalConfig={});var c1=globalThis.__zod_globalConfig;function N0(Q){if(Q)Object.assign(c1,Q);return c1}var y={};I6(y,{unwrapMessage:()=>C9,uint8ArrayToHex:()=>CV,uint8ArrayToBase64url:()=>EV,uint8ArrayToBase64:()=>TJ,stringifyPrimitive:()=>m8,slugify:()=>g6,shallowClone:()=>wJ,safeExtend:()=>PV,required:()=>bV,randomString:()=>FV,propertyKeyTypes:()=>h6,promiseAllObject:()=>zV,primitiveTypes:()=>PJ,prefixIssues:()=>s0,pick:()=>UV,partial:()=>IV,parsedType:()=>c6,optionalKeys:()=>u6,omit:()=>MV,objectClone:()=>VV,numKeys:()=>AV,nullish:()=>_9,normalizeParams:()=>E,mergeDefs:()=>t0,merge:()=>jV,jsonStringifyReplacer:()=>p1,joinValues:()=>f8,issue:()=>i1,isPlainObject:()=>L1,isObject:()=>R1,hexToUint8Array:()=>SV,getSizableOrigin:()=>IJ,getParsedType:()=>OV,getLengthableOrigin:()=>v9,getEnumValues:()=>k9,getElementAtPath:()=>qV,floatSafeRemainder:()=>y6,finalizeIssue:()=>C0,extend:()=>wV,explicitlyAborted:()=>l6,escapeRegex:()=>a0,esc:()=>h8,defineLazy:()=>m,createTransparentProxy:()=>NV,cloneDef:()=>DV,clone:()=>S0,cleanRegex:()=>x9,cleanEnum:()=>TV,captureStackTrace:()=>u8,cached:()=>d1,base64urlToUint8Array:()=>RV,base64ToUint8Array:()=>bJ,assignProp:()=>Z1,assertNotEqual:()=>HV,assertNever:()=>ZV,assertIs:()=>KV,assertEqual:()=>GV,assert:()=>LV,allowsEval:()=>f6,aborted:()=>V1,NUMBER_FORMAT_RANGES:()=>m6,Class:()=>RJ,BIGINT_FORMAT_RANGES:()=>jJ});function GV(Q){return Q}function HV(Q){return Q}function KV(Q){}function ZV(Q){throw Error("Unexpected value in exhaustive check")}function LV(Q){}function k9(Q){let X=Object.values(Q).filter((J)=>typeof J==="number");return Object.entries(Q).filter(([J,W])=>X.indexOf(+J)===-1).map(([J,W])=>W)}function f8(Q,X="|"){return Q.map((Y)=>m8(Y)).join(X)}function p1(Q,X){if(typeof X==="bigint")return X.toString();return X}function d1(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function _9(Q){return Q===null||Q===void 0}function x9(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function y6(Q,X){let Y=Q/X,J=Math.round(Y),W=Number.EPSILON*Math.max(Math.abs(Y),1);if(Math.abs(Y-J)<W)return 0;return Y-J}var MJ=Symbol("evaluating");function m(Q,X,Y){let J=void 0;Object.defineProperty(Q,X,{get(){if(J===MJ)return;if(J===void 0)J=MJ,J=Y();return J},set(W){Object.defineProperty(Q,X,{value:W})},configurable:!0})}function VV(Q){return Object.create(Object.getPrototypeOf(Q),Object.getOwnPropertyDescriptors(Q))}function Z1(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function t0(...Q){let X={};for(let Y of Q){let J=Object.getOwnPropertyDescriptors(Y);Object.assign(X,J)}return Object.defineProperties({},X)}function DV(Q){return t0(Q._zod.def)}function qV(Q,X){if(!X)return Q;return X.reduce((Y,J)=>Y?.[J],Q)}function zV(Q){let X=Object.keys(Q),Y=X.map((J)=>Q[J]);return Promise.all(Y).then((J)=>{let W={};for(let $=0;$<X.length;$++)W[X[$]]=J[$];return W})}function FV(Q=10){let Y="";for(let J=0;J<Q;J++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function h8(Q){return JSON.stringify(Q)}function g6(Q){return Q.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var u8="captureStackTrace"in Error?Error.captureStackTrace:(...Q)=>{};function R1(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var f6=d1(()=>{if(c1.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function L1(Q){if(R1(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;if(typeof X!=="function")return!0;let Y=X.prototype;if(R1(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function wJ(Q){if(L1(Q))return{...Q};if(Array.isArray(Q))return[...Q];if(Q instanceof Map)return new Map(Q);if(Q instanceof Set)return new Set(Q);return Q}function AV(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var OV=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},h6=new Set(["string","number","symbol"]),PJ=new Set(["string","number","bigint","boolean","symbol","undefined"]);function a0(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function S0(Q,X,Y){let J=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)J._zod.parent=Q;return J}function E(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function NV(Q){let X;return new Proxy({},{get(Y,J,W){return X??(X=Q()),Reflect.get(X,J,W)},set(Y,J,W,$){return X??(X=Q()),Reflect.set(X,J,W,$)},has(Y,J){return X??(X=Q()),Reflect.has(X,J)},deleteProperty(Y,J){return X??(X=Q()),Reflect.deleteProperty(X,J)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,J){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,J)},defineProperty(Y,J,W){return X??(X=Q()),Reflect.defineProperty(X,J,W)}})}function m8(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function u6(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var m6={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},jJ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function UV(Q,X){let Y=Q._zod.def,J=Y.checks;if(J&&J.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let $=t0(Q._zod.def,{get shape(){let B={};for(let G in X){if(!(G in Y.shape))throw Error(`Unrecognized key: "${G}"`);if(!X[G])continue;B[G]=Y.shape[G]}return Z1(this,"shape",B),B},checks:[]});return S0(Q,$)}function MV(Q,X){let Y=Q._zod.def,J=Y.checks;if(J&&J.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let $=t0(Q._zod.def,{get shape(){let B={...Q._zod.def.shape};for(let G in X){if(!(G in Y.shape))throw Error(`Unrecognized key: "${G}"`);if(!X[G])continue;delete B[G]}return Z1(this,"shape",B),B},checks:[]});return S0(Q,$)}function wV(Q,X){if(!L1(X))throw Error("Invalid input to extend: expected a plain object");let Y=Q._zod.def.checks;if(Y&&Y.length>0){let $=Q._zod.def.shape;for(let B in X)if(Object.getOwnPropertyDescriptor($,B)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let W=t0(Q._zod.def,{get shape(){let $={...Q._zod.def.shape,...X};return Z1(this,"shape",$),$}});return S0(Q,W)}function PV(Q,X){if(!L1(X))throw Error("Invalid input to safeExtend: expected a plain object");let Y=t0(Q._zod.def,{get shape(){let J={...Q._zod.def.shape,...X};return Z1(this,"shape",J),J}});return S0(Q,Y)}function jV(Q,X){if(Q._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let Y=t0(Q._zod.def,{get shape(){let J={...Q._zod.def.shape,...X._zod.def.shape};return Z1(this,"shape",J),J},get catchall(){return X._zod.def.catchall},checks:X._zod.def.checks??[]});return S0(Q,Y)}function IV(Q,X,Y){let W=X._zod.def.checks;if(W&&W.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let B=t0(X._zod.def,{get shape(){let G=X._zod.def.shape,K={...G};if(Y)for(let H in Y){if(!(H in G))throw Error(`Unrecognized key: "${H}"`);if(!Y[H])continue;K[H]=Q?new Q({type:"optional",innerType:G[H]}):G[H]}else for(let H in G)K[H]=Q?new Q({type:"optional",innerType:G[H]}):G[H];return Z1(this,"shape",K),K},checks:[]});return S0(X,B)}function bV(Q,X,Y){let J=t0(X._zod.def,{get shape(){let W=X._zod.def.shape,$={...W};if(Y)for(let B in Y){if(!(B in $))throw Error(`Unrecognized key: "${B}"`);if(!Y[B])continue;$[B]=new Q({type:"nonoptional",innerType:W[B]})}else for(let B in W)$[B]=new Q({type:"nonoptional",innerType:W[B]});return Z1(this,"shape",$),$}});return S0(X,J)}function V1(Q,X=0){if(Q.aborted===!0)return!0;for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function l6(Q,X=0){if(Q.aborted===!0)return!0;for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue===!1)return!0;return!1}function s0(Q,X){return X.map((Y)=>{var J;return(J=Y).path??(J.path=[]),Y.path.unshift(Q),Y})}function C9(Q){return typeof Q==="string"?Q:Q?.message}function C0(Q,X,Y){let J=Q.message?Q.message:C9(Q.inst?._zod.def?.error?.(Q))??C9(X?.error?.(Q))??C9(Y.customError?.(Q))??C9(Y.localeError?.(Q))??"Invalid input",{inst:W,continue:$,input:B,...G}=Q;if(G.path??(G.path=[]),G.message=J,X?.reportInput)G.input=B;return G}function IJ(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function v9(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function c6(Q){let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"nan":"number";case"object":{if(Q===null)return"null";if(Array.isArray(Q))return"array";let Y=Q;if(Y&&Object.getPrototypeOf(Y)!==Object.prototype&&"constructor"in Y&&Y.constructor)return Y.constructor.name}}return X}function i1(...Q){let[X,Y,J]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:J};return{...X}}function TV(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}function bJ(Q){let X=atob(Q),Y=new Uint8Array(X.length);for(let J=0;J<X.length;J++)Y[J]=X.charCodeAt(J);return Y}function TJ(Q){let X="";for(let Y=0;Y<Q.length;Y++)X+=String.fromCharCode(Q[Y]);return btoa(X)}function RV(Q){let X=Q.replace(/-/g,"+").replace(/_/g,"/"),Y="=".repeat((4-X.length%4)%4);return bJ(X+Y)}function EV(Q){return TJ(Q).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function SV(Q){let X=Q.replace(/^0x/,"");if(X.length%2!==0)throw Error("Invalid hex string length");let Y=new Uint8Array(X.length/2);for(let J=0;J<X.length;J+=2)Y[J/2]=Number.parseInt(X.slice(J,J+2),16);return Y}function CV(Q){return Array.from(Q).map((X)=>X.toString(16).padStart(2,"0")).join("")}class RJ{constructor(...Q){}}var EJ=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Q.message=JSON.stringify(X,p1,2),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},l8=O("$ZodError",EJ),p6=O("$ZodError",EJ,{Parent:Error});function d6(Q,X=(Y)=>Y.message){let Y={},J=[];for(let W of Q.issues)if(W.path.length>0)Y[W.path[0]]=Y[W.path[0]]||[],Y[W.path[0]].push(X(W));else J.push(X(W));return{formErrors:J,fieldErrors:Y}}function i6(Q,X=(Y)=>Y.message){let Y={_errors:[]},J=(W,$=[])=>{for(let B of W.issues)if(B.code==="invalid_union"&&B.errors.length)B.errors.map((G)=>J({issues:G},[...$,...B.path]));else if(B.code==="invalid_key")J({issues:B.issues},[...$,...B.path]);else if(B.code==="invalid_element")J({issues:B.issues},[...$,...B.path]);else{let G=[...$,...B.path];if(G.length===0)Y._errors.push(X(B));else{let K=Y,H=0;while(H<G.length){let Z=G[H];if(H!==G.length-1)K[Z]=K[Z]||{_errors:[]};else K[Z]=K[Z]||{_errors:[]},K[Z]._errors.push(X(B));K=K[Z],H++}}}};return J(Q),Y}var c8=(Q)=>(X,Y,J,W)=>{let $=J?{...J,async:!1}:{async:!1},B=X._zod.run({value:Y,issues:[]},$);if(B instanceof Promise)throw new r0;if(B.issues.length){let G=new(W?.Err??Q)(B.issues.map((K)=>C0(K,$,N0())));throw u8(G,W?.callee),G}return B.value};var p8=(Q)=>async(X,Y,J,W)=>{let $=J?{...J,async:!0}:{async:!0},B=X._zod.run({value:Y,issues:[]},$);if(B instanceof Promise)B=await B;if(B.issues.length){let G=new(W?.Err??Q)(B.issues.map((K)=>C0(K,$,N0())));throw u8(G,W?.callee),G}return B.value};var y9=(Q)=>(X,Y,J)=>{let W=J?{...J,async:!1}:{async:!1},$=X._zod.run({value:Y,issues:[]},W);if($ instanceof Promise)throw new r0;return $.issues.length?{success:!1,error:new(Q??l8)($.issues.map((B)=>C0(B,W,N0())))}:{success:!0,data:$.value}},g9=y9(p6),f9=(Q)=>async(X,Y,J)=>{let W=J?{...J,async:!0}:{async:!0},$=X._zod.run({value:Y,issues:[]},W);if($ instanceof Promise)$=await $;return $.issues.length?{success:!1,error:new Q($.issues.map((B)=>C0(B,W,N0())))}:{success:!0,data:$.value}},d8=f9(p6),SJ=(Q)=>(X,Y,J)=>{let W=J?{...J,direction:"backward"}:{direction:"backward"};return c8(Q)(X,Y,W)};var CJ=(Q)=>(X,Y,J)=>{return c8(Q)(X,Y,J)};var kJ=(Q)=>async(X,Y,J)=>{let W=J?{...J,direction:"backward"}:{direction:"backward"};return p8(Q)(X,Y,W)};var _J=(Q)=>async(X,Y,J)=>{return p8(Q)(X,Y,J)};var xJ=(Q)=>(X,Y,J)=>{let W=J?{...J,direction:"backward"}:{direction:"backward"};return y9(Q)(X,Y,W)};var vJ=(Q)=>(X,Y,J)=>{return y9(Q)(X,Y,J)};var yJ=(Q)=>async(X,Y,J)=>{let W=J?{...J,direction:"backward"}:{direction:"backward"};return f9(Q)(X,Y,W)};var gJ=(Q)=>async(X,Y,J)=>{return f9(Q)(X,Y,J)};var fJ=/^[cC][0-9a-z]{6,}$/,hJ=/^[0-9a-z]+$/,uJ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mJ=/^[0-9a-vA-V]{20}$/,lJ=/^[A-Za-z0-9]{27}$/,cJ=/^[a-zA-Z0-9_-]{21}$/,pJ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var dJ=/^([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})$/,n6=(Q)=>{if(!Q)return/^([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|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var iJ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var _V="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function nJ(){return new RegExp(_V,"u")}var oJ=/^(?:(?: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])$/,rJ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var tJ=/^((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])$/,aJ=/^(([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])$/,sJ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,o6=/^[A-Za-z0-9_-]*$/;var eJ=/^https?$/,Q7=/^\+[1-9]\d{6,14}$/,X7="(?:(?:\\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])))",Y7=new RegExp(`^${X7}$`);function J7(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function W7(Q){return new RegExp(`^${J7(Q)}$`)}function $7(Q){let X=J7({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let J=`${X}(?:${Y.join("|")})`;return new RegExp(`^${X7}T(?:${J})$`)}var B7=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},G7=/^-?\d+n?$/,H7=/^-?\d+$/,i8=/^-?\d+(?:\.\d+)?$/,K7=/^(?:true|false)$/i,Z7=/^null$/i;var L7=/^[^A-Z]*$/,V7=/^[^a-z]*$/;var H0=O("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),D7={number:"number",bigint:"bigint",object:"date"},r6=O("$ZodCheckLessThan",(Q,X)=>{H0.init(Q,X);let Y=D7[typeof X.value];Q._zod.onattach.push((J)=>{let W=J._zod.bag,$=(X.inclusive?W.maximum:W.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<$)if(X.inclusive)W.maximum=X.value;else W.exclusiveMaximum=X.value}),Q._zod.check=(J)=>{if(X.inclusive?J.value<=X.value:J.value<X.value)return;J.issues.push({origin:Y,code:"too_big",maximum:typeof X.value==="object"?X.value.getTime():X.value,input:J.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),t6=O("$ZodCheckGreaterThan",(Q,X)=>{H0.init(Q,X);let Y=D7[typeof X.value];Q._zod.onattach.push((J)=>{let W=J._zod.bag,$=(X.inclusive?W.minimum:W.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>$)if(X.inclusive)W.minimum=X.value;else W.exclusiveMinimum=X.value}),Q._zod.check=(J)=>{if(X.inclusive?J.value>=X.value:J.value>X.value)return;J.issues.push({origin:Y,code:"too_small",minimum:typeof X.value==="object"?X.value.getTime():X.value,input:J.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),q7=O("$ZodCheckMultipleOf",(Q,X)=>{H0.init(Q,X),Q._zod.onattach.push((Y)=>{var J;(J=Y._zod.bag).multipleOf??(J.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):y6(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),z7=O("$ZodCheckNumberFormat",(Q,X)=>{H0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),J=Y?"int":"number",[W,$]=m6[X.format];Q._zod.onattach.push((B)=>{let G=B._zod.bag;if(G.format=X.format,G.minimum=W,G.maximum=$,Y)G.pattern=H7}),Q._zod.check=(B)=>{let G=B.value;if(Y){if(!Number.isInteger(G)){B.issues.push({expected:J,format:X.format,code:"invalid_type",continue:!1,input:G,inst:Q});return}if(!Number.isSafeInteger(G)){if(G>0)B.issues.push({input:G,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:J,inclusive:!0,continue:!X.abort});else B.issues.push({input:G,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:J,inclusive:!0,continue:!X.abort});return}}if(G<W)B.issues.push({origin:"number",input:G,code:"too_small",minimum:W,inclusive:!0,inst:Q,continue:!X.abort});if(G>$)B.issues.push({origin:"number",input:G,code:"too_big",maximum:$,inclusive:!0,inst:Q,continue:!X.abort})}});var F7=O("$ZodCheckMaxLength",(Q,X)=>{var Y;H0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(J)=>{let W=J.value;return!_9(W)&&W.length!==void 0}),Q._zod.onattach.push((J)=>{let W=J._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<W)J._zod.bag.maximum=X.maximum}),Q._zod.check=(J)=>{let W=J.value;if(W.length<=X.maximum)return;let B=v9(W);J.issues.push({origin:B,code:"too_big",maximum:X.maximum,inclusive:!0,input:W,inst:Q,continue:!X.abort})}}),A7=O("$ZodCheckMinLength",(Q,X)=>{var Y;H0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(J)=>{let W=J.value;return!_9(W)&&W.length!==void 0}),Q._zod.onattach.push((J)=>{let W=J._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>W)J._zod.bag.minimum=X.minimum}),Q._zod.check=(J)=>{let W=J.value;if(W.length>=X.minimum)return;let B=v9(W);J.issues.push({origin:B,code:"too_small",minimum:X.minimum,inclusive:!0,input:W,inst:Q,continue:!X.abort})}}),O7=O("$ZodCheckLengthEquals",(Q,X)=>{var Y;H0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(J)=>{let W=J.value;return!_9(W)&&W.length!==void 0}),Q._zod.onattach.push((J)=>{let W=J._zod.bag;W.minimum=X.length,W.maximum=X.length,W.length=X.length}),Q._zod.check=(J)=>{let W=J.value,$=W.length;if($===X.length)return;let B=v9(W),G=$>X.length;J.issues.push({origin:B,...G?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:J.value,inst:Q,continue:!X.abort})}}),u9=O("$ZodCheckStringFormat",(Q,X)=>{var Y,J;if(H0.init(Q,X),Q._zod.onattach.push((W)=>{let $=W._zod.bag;if($.format=X.format,X.pattern)$.patterns??($.patterns=new Set),$.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=(W)=>{if(X.pattern.lastIndex=0,X.pattern.test(W.value))return;W.issues.push({origin:"string",code:"invalid_format",format:X.format,input:W.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(J=Q._zod).check??(J.check=()=>{})}),N7=O("$ZodCheckRegex",(Q,X)=>{u9.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),U7=O("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=L7),u9.init(Q,X)}),M7=O("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=V7),u9.init(Q,X)}),w7=O("$ZodCheckIncludes",(Q,X)=>{H0.init(Q,X);let Y=a0(X.includes),J=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=J,Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(J)}),Q._zod.check=(W)=>{if(W.value.includes(X.includes,X.position))return;W.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:W.value,inst:Q,continue:!X.abort})}}),P7=O("$ZodCheckStartsWith",(Q,X)=>{H0.init(Q,X);let Y=new RegExp(`^${a0(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((J)=>{let W=J._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Y)}),Q._zod.check=(J)=>{if(J.value.startsWith(X.prefix))return;J.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:J.value,inst:Q,continue:!X.abort})}}),j7=O("$ZodCheckEndsWith",(Q,X)=>{H0.init(Q,X);let Y=new RegExp(`.*${a0(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((J)=>{let W=J._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Y)}),Q._zod.check=(J)=>{if(J.value.endsWith(X.suffix))return;J.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:J.value,inst:Q,continue:!X.abort})}});var I7=O("$ZodCheckOverwrite",(Q,X)=>{H0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class a6{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
|
|
12
|
-
|
|
13
|
-
`))}}var T7={major:4,minor:4,patch:3};var l=O("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=T7;let J=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))J.unshift(Q);for(let W of J)for(let $ of W._zod.onattach)$(Q);if(J.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let W=(B,G,K)=>{let H=V1(B),Z;for(let L of G){if(L._zod.def.when){if(l6(B))continue;if(!L._zod.def.when(B))continue}else if(H)continue;let V=B.issues.length,D=L._zod.check(B);if(D instanceof Promise&&K?.async===!1)throw new r0;if(Z||D instanceof Promise)Z=(Z??Promise.resolve()).then(async()=>{if(await D,B.issues.length===V)return;if(!H)H=V1(B,V)});else{if(B.issues.length===V)continue;if(!H)H=V1(B,V)}}if(Z)return Z.then(()=>{return B});return B},$=(B,G,K)=>{if(V1(B))return B.aborted=!0,B;let H=W(G,J,K);if(H instanceof Promise){if(K.async===!1)throw new r0;return H.then((Z)=>Q._zod.parse(Z,K))}return Q._zod.parse(H,K)};Q._zod.run=(B,G)=>{if(G.skipChecks)return Q._zod.parse(B,G);if(G.direction==="backward"){let H=Q._zod.parse({value:B.value,issues:[]},{...G,skipChecks:!0});if(H instanceof Promise)return H.then((Z)=>{return $(Z,B,G)});return $(H,B,G)}let K=Q._zod.parse(B,G);if(K instanceof Promise){if(G.async===!1)throw new r0;return K.then((H)=>W(H,J,G))}return W(K,J,G)}}m(Q,"~standard",()=>({validate:(W)=>{try{let $=g9(Q,W);return $.success?{value:$.data}:{issues:$.error?.issues}}catch($){return d8(Q,W).then((B)=>B.success?{value:B.data}:{issues:B.error?.issues})}},vendor:"zod",version:1}))}),r8=O("$ZodString",(Q,X)=>{l.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??B7(Q._zod.bag),Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=String(Y.value)}catch(W){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),o=O("$ZodStringFormat",(Q,X)=>{u9.init(Q,X),r8.init(Q,X)}),y7=O("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=dJ),o.init(Q,X)}),g7=O("$ZodUUID",(Q,X)=>{if(X.version){let J={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(J===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=n6(J))}else X.pattern??(X.pattern=n6());o.init(Q,X)}),f7=O("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=iJ),o.init(Q,X)}),h7=O("$ZodURL",(Q,X)=>{o.init(Q,X),Q._zod.check=(Y)=>{try{let J=Y.value.trim();if(!X.normalize&&X.protocol?.source===eJ.source){if(!/^https?:\/\//i.test(J)){Y.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:Y.value,inst:Q,continue:!X.abort});return}}let W=new URL(J);if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test(W.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:X.hostname.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test(W.protocol.endsWith(":")?W.protocol.slice(0,-1):W.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.normalize)Y.value=W.href;else Y.value=J;return}catch(J){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),u7=O("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=nJ()),o.init(Q,X)}),m7=O("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=cJ),o.init(Q,X)}),l7=O("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=fJ),o.init(Q,X)}),c7=O("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=hJ),o.init(Q,X)}),p7=O("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=uJ),o.init(Q,X)}),d7=O("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=mJ),o.init(Q,X)}),i7=O("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=lJ),o.init(Q,X)}),n7=O("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=$7(X)),o.init(Q,X)}),o7=O("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=Y7),o.init(Q,X)}),r7=O("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=W7(X)),o.init(Q,X)}),t7=O("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=pJ),o.init(Q,X)}),a7=O("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=oJ),o.init(Q,X),Q._zod.bag.format="ipv4"}),s7=O("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=rJ),o.init(Q,X),Q._zod.bag.format="ipv6",Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}});var e7=O("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=tJ),o.init(Q,X)}),QW=O("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=aJ),o.init(Q,X),Q._zod.check=(Y)=>{let J=Y.value.split("/");try{if(J.length!==2)throw Error();let[W,$]=J;if(!$)throw Error();let B=Number($);if(`${B}`!==$)throw Error();if(B<0||B>128)throw Error();new URL(`http://[${W}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function XW(Q){if(Q==="")return!0;if(/\s/.test(Q))return!1;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var YW=O("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=sJ),o.init(Q,X),Q._zod.bag.contentEncoding="base64",Q._zod.check=(Y)=>{if(XW(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function yV(Q){if(!o6.test(Q))return!1;let X=Q.replace(/[-_]/g,(J)=>J==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return XW(Y)}var JW=O("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=o6),o.init(Q,X),Q._zod.bag.contentEncoding="base64url",Q._zod.check=(Y)=>{if(yV(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),WW=O("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=Q7),o.init(Q,X)});function gV(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[J]=Y;if(!J)return!1;let W=JSON.parse(atob(J));if("typ"in W&&W?.typ!=="JWT")return!1;if(!W.alg)return!1;if(X&&(!("alg"in W)||W.alg!==X))return!1;return!0}catch{return!1}}var $W=O("$ZodJWT",(Q,X)=>{o.init(Q,X),Q._zod.check=(Y)=>{if(gV(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var e6=O("$ZodNumber",(Q,X)=>{l.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??i8,Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(B){}let W=Y.value;if(typeof W==="number"&&!Number.isNaN(W)&&Number.isFinite(W))return Y;let $=typeof W==="number"?Number.isNaN(W)?"NaN":!Number.isFinite(W)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:W,inst:Q,...$?{received:$}:{}}),Y}}),BW=O("$ZodNumberFormat",(Q,X)=>{z7.init(Q,X),e6.init(Q,X)}),GW=O("$ZodBoolean",(Q,X)=>{l.init(Q,X),Q._zod.pattern=K7,Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch($){}let W=Y.value;if(typeof W==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:W,inst:Q}),Y}}),HW=O("$ZodBigInt",(Q,X)=>{l.init(Q,X),Q._zod.pattern=G7,Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch(W){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:Q}),Y}});var KW=O("$ZodNull",(Q,X)=>{l.init(Q,X),Q._zod.pattern=Z7,Q._zod.values=new Set([null]),Q._zod.parse=(Y,J)=>{let W=Y.value;if(W===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:W,inst:Q}),Y}}),ZW=O("$ZodAny",(Q,X)=>{l.init(Q,X),Q._zod.parse=(Y)=>Y}),LW=O("$ZodUnknown",(Q,X)=>{l.init(Q,X),Q._zod.parse=(Y)=>Y}),VW=O("$ZodNever",(Q,X)=>{l.init(Q,X),Q._zod.parse=(Y,J)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});var DW=O("$ZodDate",(Q,X)=>{l.init(Q,X),Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(G){}let W=Y.value,$=W instanceof Date;if($&&!Number.isNaN(W.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:W,...$?{received:"Invalid Date"}:{},inst:Q}),Y}});function R7(Q,X,Y){if(Q.issues.length)X.issues.push(...s0(Y,Q.issues));X.value[Y]=Q.value}var qW=O("$ZodArray",(Q,X)=>{l.init(Q,X),Q._zod.parse=(Y,J)=>{let W=Y.value;if(!Array.isArray(W))return Y.issues.push({expected:"array",code:"invalid_type",input:W,inst:Q}),Y;Y.value=Array(W.length);let $=[];for(let B=0;B<W.length;B++){let G=W[B],K=X.element._zod.run({value:G,issues:[]},J);if(K instanceof Promise)$.push(K.then((H)=>R7(H,Y,B)));else R7(K,Y,B)}if($.length)return Promise.all($).then(()=>Y);return Y}});function o8(Q,X,Y,J,W,$){let B=Y in J;if(Q.issues.length){if(W&&$&&!B)return;X.issues.push(...s0(Y,Q.issues))}if(!B&&!W){if(!Q.issues.length)X.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[Y]});return}if(Q.value===void 0){if(B)X.value[Y]=void 0}else X.value[Y]=Q.value}function zW(Q){let X=Object.keys(Q.shape);for(let J of X)if(!Q.shape?.[J]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${J}": expected a Zod schema`);let Y=u6(Q.shape);return{...Q,keys:X,keySet:new Set(X),numKeys:X.length,optionalKeys:new Set(Y)}}function FW(Q,X,Y,J,W,$){let B=[],G=W.keySet,K=W.catchall._zod,H=K.def.type,Z=K.optin==="optional",L=K.optout==="optional";for(let V in X){if(V==="__proto__")continue;if(G.has(V))continue;if(H==="never"){B.push(V);continue}let D=K.run({value:X[V],issues:[]},J);if(D instanceof Promise)Q.push(D.then((z)=>o8(z,Y,V,X,Z,L)));else o8(D,Y,V,X,Z,L)}if(B.length)Y.issues.push({code:"unrecognized_keys",keys:B,input:X,inst:$});if(!Q.length)return Y;return Promise.all(Q).then(()=>{return Y})}var fV=O("$ZodObject",(Q,X)=>{if(l.init(Q,X),!Object.getOwnPropertyDescriptor(X,"shape")?.get){let G=X.shape;Object.defineProperty(X,"shape",{get:()=>{let K={...G};return Object.defineProperty(X,"shape",{value:K}),K}})}let J=d1(()=>zW(X));m(Q._zod,"propValues",()=>{let G=X.shape,K={};for(let H in G){let Z=G[H]._zod;if(Z.values){K[H]??(K[H]=new Set);for(let L of Z.values)K[H].add(L)}}return K});let W=R1,$=X.catchall,B;Q._zod.parse=(G,K)=>{B??(B=J.value);let H=G.value;if(!W(H))return G.issues.push({expected:"object",code:"invalid_type",input:H,inst:Q}),G;G.value={};let Z=[],L=B.shape;for(let V of B.keys){let D=L[V],z=D._zod.optin==="optional",A=D._zod.optout==="optional",N=D._zod.run({value:H[V],issues:[]},K);if(N instanceof Promise)Z.push(N.then((F)=>o8(F,G,V,H,z,A)));else o8(N,G,V,H,z,A)}if(!$)return Z.length?Promise.all(Z).then(()=>G):G;return FW(Z,H,G,K,J.value,Q)}}),AW=O("$ZodObjectJIT",(Q,X)=>{fV.init(Q,X);let Y=Q._zod.parse,J=d1(()=>zW(X)),W=(V)=>{let D=new a6(["shape","payload","ctx"]),z=J.value,A=(M)=>{let b=h8(M);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};D.write("const input = payload.value;");let N=Object.create(null),F=0;for(let M of z.keys)N[M]=`key_${F++}`;D.write("const newResult = {};");for(let M of z.keys){let b=N[M],P=h8(M),n=V[M],O0=n?._zod?.optin==="optional",T1=n?._zod?.optout==="optional";if(D.write(`const ${b} = ${A(M)};`),O0&&T1)D.write(`
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
deps: ${Y}}`};var Ek={keyword:"dependencies",type:"object",schemaType:"object",error:wF.error,code(Q){let[X,Y]=kk(Q);NF(Q,X),bF(Q,Y)}};function kk({schema:Q}){let X={},Y={};for(let J in Q){if(J==="__proto__")continue;let $=Array.isArray(Q[J])?X:Y;$[J]=Q[J]}return[X,Y]}function NF(Q,X=Q.schema){let{gen:Y,data:J,it:$}=Q;if(Object.keys(X).length===0)return;let W=Y.let("missing");for(let G in X){let B=X[G];if(B.length===0)continue;let Z=(0,M4.propertyInData)(Y,J,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:B.length,deps:B.join(", ")}),$.allErrors)Y.if(Z,()=>{for(let K of B)(0,M4.checkReportMissingProp)(Q,K)});else Y.if(RJ._`${Z} && (${(0,M4.checkMissingProp)(Q,B,W)})`),(0,M4.reportMissingProp)(Q,W),Y.else()}}wF.validatePropertyDeps=NF;function bF(Q,X=Q.schema){let{gen:Y,data:J,keyword:$,it:W}=Q,G=Y.name("valid");for(let B in X){if((0,Rk.alwaysValidSchema)(W,X[B]))continue;Y.if((0,M4.propertyInData)(Y,J,B,W.opts.ownProperties),()=>{let Z=Q.subschema({keyword:$,schemaProp:B},G);Q.mergeValidEvaluated(Z,G)},()=>Y.var(G,!0)),Q.ok(G)}}wF.validateSchemaDeps=bF;wF.default=Ek});var EF=N((RF)=>{Object.defineProperty(RF,"__esModule",{value:!0});var SF=f(),yk=m(),vk={message:"property name must be valid",params:({params:Q})=>SF._`{propertyName: ${Q.propertyName}}`},fk={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:vk,code(Q){let{gen:X,schema:Y,data:J,it:$}=Q;if((0,yk.alwaysValidSchema)($,Y))return;let W=X.name("valid");X.forIn("key",J,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},W),X.if((0,SF.not)(W),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(W)}};RF.default=fk});var EJ=N((kF)=>{Object.defineProperty(kF,"__esModule",{value:!0});var bX=Z1(),A1=f(),gk=r1(),wX=m(),uk={message:"must NOT have additional properties",params:({params:Q})=>A1._`{additionalProperty: ${Q.additionalProperty}}`},mk={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:uk,code(Q){let{gen:X,schema:Y,parentSchema:J,data:$,errsCount:W,it:G}=Q;if(!W)throw Error("ajv implementation error");let{allErrors:B,opts:Z}=G;if(G.props=!0,Z.removeAdditional!=="all"&&(0,wX.alwaysValidSchema)(G,Y))return;let K=(0,bX.allSchemaProperties)(J.properties),z=(0,bX.allSchemaProperties)(J.patternProperties);H(),Q.ok(A1._`${W} === ${gk.default.errors}`);function H(){X.forIn("key",$,(U)=>{if(!K.length&&!z.length)F(U);else X.if(V(U),()=>F(U))})}function V(U){let M;if(K.length>8){let P=(0,wX.schemaRefOrVal)(G,J.properties,"properties");M=(0,bX.isOwnProperty)(X,P,U)}else if(K.length)M=(0,A1.or)(...K.map((P)=>A1._`${U} === ${P}`));else M=A1.nil;if(z.length)M=(0,A1.or)(M,...z.map((P)=>A1._`${(0,bX.usePattern)(Q,P)}.test(${U})`));return(0,A1.not)(M)}function q(U){X.code(A1._`delete ${$}[${U}]`)}function F(U){if(Z.removeAdditional==="all"||Z.removeAdditional&&Y===!1){q(U);return}if(Y===!1){if(Q.setParams({additionalProperty:U}),Q.error(),!B)X.break();return}if(typeof Y=="object"&&!(0,wX.alwaysValidSchema)(G,Y)){let M=X.name("valid");if(Z.removeAdditional==="failing")D(U,M,!1),X.if((0,A1.not)(M),()=>{Q.reset(),q(U)});else if(D(U,M),!B)X.if((0,A1.not)(M),()=>X.break())}}function D(U,M,P){let j={keyword:"additionalProperties",dataProp:U,dataPropType:wX.Type.Str};if(P===!1)Object.assign(j,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(j,M)}}};kF.default=mk});var vF=N((yF)=>{Object.defineProperty(yF,"__esModule",{value:!0});var pk=B4(),_F=Z1(),kJ=m(),xF=EJ(),ck={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:J,data:$,it:W}=Q;if(W.opts.removeAdditional==="all"&&J.additionalProperties===void 0)xF.default.code(new pk.KeywordCxt(W,xF.default,"additionalProperties"));let G=(0,_F.allSchemaProperties)(Y);for(let H of G)W.definedProperties.add(H);if(W.opts.unevaluated&&G.length&&W.props!==!0)W.props=kJ.mergeEvaluated.props(X,(0,kJ.toHash)(G),W.props);let B=G.filter((H)=>!(0,kJ.alwaysValidSchema)(W,Y[H]));if(B.length===0)return;let Z=X.name("valid");for(let H of B){if(K(H))z(H);else{if(X.if((0,_F.propertyInData)(X,$,H,W.opts.ownProperties)),z(H),!W.allErrors)X.else().var(Z,!0);X.endIf()}Q.it.definedProperties.add(H),Q.ok(Z)}function K(H){return W.opts.useDefaults&&!W.compositeRule&&Y[H].default!==void 0}function z(H){Q.subschema({keyword:"properties",schemaProp:H,dataProp:H},Z)}}};yF.default=ck});var mF=N((uF)=>{Object.defineProperty(uF,"__esModule",{value:!0});var fF=Z1(),IX=f(),hF=m(),gF=m(),ik={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:J,parentSchema:$,it:W}=Q,{opts:G}=W,B=(0,fF.allSchemaProperties)(Y),Z=B.filter((D)=>(0,hF.alwaysValidSchema)(W,Y[D]));if(B.length===0||Z.length===B.length&&(!W.opts.unevaluated||W.props===!0))return;let K=G.strictSchema&&!G.allowMatchingProperties&&$.properties,z=X.name("valid");if(W.props!==!0&&!(W.props instanceof IX.Name))W.props=(0,gF.evaluatedPropsToName)(X,W.props);let{props:H}=W;V();function V(){for(let D of B){if(K)q(D);if(W.allErrors)F(D);else X.var(z,!0),F(D),X.if(z)}}function q(D){for(let U in K)if(new RegExp(D).test(U))(0,hF.checkStrictMode)(W,`property ${U} matches pattern ${D} (use allowMatchingProperties)`)}function F(D){X.forIn("key",J,(U)=>{X.if(IX._`${(0,fF.usePattern)(Q,D)}.test(${U})`,()=>{let M=Z.includes(D);if(!M)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:U,dataPropType:gF.Type.Str},z);if(W.opts.unevaluated&&H!==!0)X.assign(IX._`${H}[${U}]`,!0);else if(!M&&!W.allErrors)X.if((0,IX.not)(z),()=>X.break())})})}}};uF.default=ik});var pF=N((lF)=>{Object.defineProperty(lF,"__esModule",{value:!0});var ok=m(),rk={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:J}=Q;if((0,ok.alwaysValidSchema)(J,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};lF.default=rk});var dF=N((cF)=>{Object.defineProperty(cF,"__esModule",{value:!0});var sk=Z1(),tk={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:sk.validateUnion,error:{message:"must match a schema in anyOf"}};cF.default=tk});var nF=N((iF)=>{Object.defineProperty(iF,"__esModule",{value:!0});var CX=f(),Q_=m(),X_={message:"must match exactly one schema in oneOf",params:({params:Q})=>CX._`{passingSchemas: ${Q.passing}}`},Y_={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:X_,code(Q){let{gen:X,schema:Y,parentSchema:J,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&J.discriminator)return;let W=Y,G=X.let("valid",!1),B=X.let("passing",null),Z=X.name("_valid");Q.setParams({passing:B}),X.block(K),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function K(){W.forEach((z,H)=>{let V;if((0,Q_.alwaysValidSchema)($,z))X.var(Z,!0);else V=Q.subschema({keyword:"oneOf",schemaProp:H,compositeRule:!0},Z);if(H>0)X.if(CX._`${Z} && ${G}`).assign(G,!1).assign(B,CX._`[${B}, ${H}]`).else();X.if(Z,()=>{if(X.assign(G,!0),X.assign(B,H),V)Q.mergeEvaluated(V,CX.Name)})})}}};iF.default=Y_});var rF=N((oF)=>{Object.defineProperty(oF,"__esModule",{value:!0});var $_=m(),W_={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:J}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((W,G)=>{if((0,$_.alwaysValidSchema)(J,W))return;let B=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(B)})}};oF.default=W_});var eF=N((tF)=>{Object.defineProperty(tF,"__esModule",{value:!0});var TX=f(),sF=m(),B_={message:({params:Q})=>TX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>TX._`{failingKeyword: ${Q.ifClause}}`},Z_={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:B_,code(Q){let{gen:X,parentSchema:Y,it:J}=Q;if(Y.then===void 0&&Y.else===void 0)(0,sF.checkStrictMode)(J,'"if" without "then" and "else" is ignored');let $=aF(J,"then"),W=aF(J,"else");if(!$&&!W)return;let G=X.let("valid",!0),B=X.name("_valid");if(Z(),Q.reset(),$&&W){let z=X.let("ifClause");Q.setParams({ifClause:z}),X.if(B,K("then",z),K("else",z))}else if($)X.if(B,K("then"));else X.if((0,TX.not)(B),K("else"));Q.pass(G,()=>Q.error(!0));function Z(){let z=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},B);Q.mergeEvaluated(z)}function K(z,H){return()=>{let V=Q.subschema({keyword:z},B);if(X.assign(G,B),Q.mergeValidEvaluated(V,G),H)X.assign(H,TX._`${z}`);else Q.setParams({ifClause:z})}}}};function aF(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,sF.alwaysValidSchema)(Q,Y)}tF.default=Z_});var XL=N((QL)=>{Object.defineProperty(QL,"__esModule",{value:!0});var z_=m(),H_={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,z_.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};QL.default=H_});var JL=N((YL)=>{Object.defineProperty(YL,"__esModule",{value:!0});var q_=TJ(),F_=UF(),L_=SJ(),D_=AF(),U_=jF(),O_=TF(),M_=EF(),A_=EJ(),P_=vF(),j_=mF(),N_=pF(),b_=dF(),w_=nF(),I_=rF(),C_=eF(),T_=XL();function S_(Q=!1){let X=[N_.default,b_.default,w_.default,I_.default,C_.default,T_.default,M_.default,A_.default,O_.default,P_.default,j_.default];if(Q)X.push(F_.default,D_.default);else X.push(q_.default,L_.default);return X.push(U_.default),X}YL.default=S_});var WL=N(($L)=>{Object.defineProperty($L,"__esModule",{value:!0});var F0=f(),E_={message:({schemaCode:Q})=>F0.str`must match format "${Q}"`,params:({schemaCode:Q})=>F0._`{format: ${Q}}`},k_={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:E_,code(Q,X){let{gen:Y,data:J,$data:$,schema:W,schemaCode:G,it:B}=Q,{opts:Z,errSchemaPath:K,schemaEnv:z,self:H}=B;if(!Z.validateFormats)return;if($)V();else q();function V(){let F=Y.scopeValue("formats",{ref:H.formats,code:Z.code.formats}),D=Y.const("fDef",F0._`${F}[${G}]`),U=Y.let("fType"),M=Y.let("format");Y.if(F0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(U,F0._`${D}.type || "string"`).assign(M,F0._`${D}.validate`),()=>Y.assign(U,F0._`"string"`).assign(M,D)),Q.fail$data((0,F0.or)(P(),j()));function P(){if(Z.strictSchema===!1)return F0.nil;return F0._`${G} && !${M}`}function j(){let C=z.$async?F0._`(${D}.async ? await ${M}(${J}) : ${M}(${J}))`:F0._`${M}(${J})`,A=F0._`(typeof ${M} == "function" ? ${C} : ${M}.test(${J}))`;return F0._`${M} && ${M} !== true && ${U} === ${X} && !${A}`}}function q(){let F=H.formats[W];if(!F){P();return}if(F===!0)return;let[D,U,M]=j(F);if(D===X)Q.pass(C());function P(){if(Z.strictSchema===!1){H.logger.warn(A());return}throw Error(A());function A(){return`unknown format "${W}" ignored in schema at path "${K}"`}}function j(A){let b=A instanceof RegExp?(0,F0.regexpCode)(A):Z.code.formats?F0._`${Z.code.formats}${(0,F0.getProperty)(W)}`:void 0,x=Y.scopeValue("formats",{key:W,ref:A,code:b});if(typeof A=="object"&&!(A instanceof RegExp))return[A.type||"string",A.validate,F0._`${x}.validate`];return["string",A,x]}function C(){if(typeof F=="object"&&!(F instanceof RegExp)&&F.async){if(!z.$async)throw Error("async format in sync schema");return F0._`await ${M}(${J})`}return typeof U=="function"?F0._`${M}(${J})`:F0._`${M}.test(${J})`}}}};$L.default=k_});var BL=N((GL)=>{Object.defineProperty(GL,"__esModule",{value:!0});var x_=WL(),y_=[x_.default];GL.default=y_});var zL=N((ZL)=>{Object.defineProperty(ZL,"__esModule",{value:!0});ZL.contentVocabulary=ZL.metadataVocabulary=void 0;ZL.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ZL.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var qL=N((VL)=>{Object.defineProperty(VL,"__esModule",{value:!0});var h_=yq(),g_=ZF(),u_=JL(),m_=BL(),HL=zL(),l_=[h_.default,g_.default,(0,u_.default)(),m_.default,HL.metadataVocabulary,HL.contentVocabulary];VL.default=l_});var UL=N((LL)=>{Object.defineProperty(LL,"__esModule",{value:!0});LL.DiscrError=void 0;var FL;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(FL||(LL.DiscrError=FL={}))});var AL=N((ML)=>{Object.defineProperty(ML,"__esModule",{value:!0});var f6=f(),_J=UL(),OL=HX(),c_=Z4(),d_=m(),i_={message:({params:{discrError:Q,tagName:X}})=>Q===_J.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>f6._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},n_={keyword:"discriminator",type:"object",schemaType:"object",error:i_,code(Q){let{gen:X,data:Y,schema:J,parentSchema:$,it:W}=Q,{oneOf:G}=$;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let B=J.propertyName;if(typeof B!="string")throw Error("discriminator: requires propertyName");if(J.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let Z=X.let("valid",!1),K=X.const("tag",f6._`${Y}${(0,f6.getProperty)(B)}`);X.if(f6._`typeof ${K} == "string"`,()=>z(),()=>Q.error(!1,{discrError:_J.DiscrError.Tag,tag:K,tagName:B})),Q.ok(Z);function z(){let q=V();X.if(!1);for(let F in q)X.elseIf(f6._`${K} === ${F}`),X.assign(Z,H(q[F]));X.else(),Q.error(!1,{discrError:_J.DiscrError.Mapping,tag:K,tagName:B}),X.endIf()}function H(q){let F=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:q},F);return Q.mergeEvaluated(D,f6.Name),F}function V(){var q;let F={},D=M($),U=!0;for(let C=0;C<G.length;C++){let A=G[C];if((A===null||A===void 0?void 0:A.$ref)&&!(0,d_.schemaHasRulesButRef)(A,W.self.RULES)){let x=A.$ref;if(A=OL.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,x),A instanceof OL.SchemaEnv)A=A.schema;if(A===void 0)throw new c_.default(W.opts.uriResolver,W.baseId,x)}let b=(q=A===null||A===void 0?void 0:A.properties)===null||q===void 0?void 0:q[B];if(typeof b!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${B}"`);U=U&&(D||M(A)),P(b,C)}if(!U)throw Error(`discriminator: "${B}" must be required`);return F;function M({required:C}){return Array.isArray(C)&&C.includes(B)}function P(C,A){if(C.const)j(C.const,A);else if(C.enum)for(let b of C.enum)j(b,A);else throw Error(`discriminator: "properties/${B}" must have "const" or "enum"`)}function j(C,A){if(typeof C!="string"||C in F)throw Error(`discriminator: "${B}" values must be unique strings`);F[C]=A}}}};ML.default=n_});var PL=N((pr,r_)=>{r_.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 yJ=N((o0,xJ)=>{Object.defineProperty(o0,"__esModule",{value:!0});o0.MissingRefError=o0.ValidationError=o0.CodeGen=o0.Name=o0.nil=o0.stringify=o0.str=o0._=o0.KeywordCxt=o0.Ajv=void 0;var a_=wq(),s_=qL(),t_=AL(),jL=PL(),e_=["/properties"],SX="http://json-schema.org/draft-07/schema";class A4 extends a_.default{_addVocabularies(){if(super._addVocabularies(),s_.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(t_.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(jL,e_):jL;this.addMetaSchema(Q,SX,!1),this.refs["http://json-schema.org/schema"]=SX}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(SX)?SX:void 0)}}o0.Ajv=A4;xJ.exports=o0=A4;xJ.exports.Ajv=A4;Object.defineProperty(o0,"__esModule",{value:!0});o0.default=A4;var Qx=B4();Object.defineProperty(o0,"KeywordCxt",{enumerable:!0,get:function(){return Qx.KeywordCxt}});var h6=f();Object.defineProperty(o0,"_",{enumerable:!0,get:function(){return h6._}});Object.defineProperty(o0,"str",{enumerable:!0,get:function(){return h6.str}});Object.defineProperty(o0,"stringify",{enumerable:!0,get:function(){return h6.stringify}});Object.defineProperty(o0,"nil",{enumerable:!0,get:function(){return h6.nil}});Object.defineProperty(o0,"Name",{enumerable:!0,get:function(){return h6.Name}});Object.defineProperty(o0,"CodeGen",{enumerable:!0,get:function(){return h6.CodeGen}});var Xx=KX();Object.defineProperty(o0,"ValidationError",{enumerable:!0,get:function(){return Xx.default}});var Yx=Z4();Object.defineProperty(o0,"MissingRefError",{enumerable:!0,get:function(){return Yx.default}})});var kL=N((RL)=>{Object.defineProperty(RL,"__esModule",{value:!0});RL.formatNames=RL.fastFormats=RL.fullFormats=void 0;function _1(Q,X){return{validate:Q,compare:X}}RL.fullFormats={date:_1(IL,gJ),time:_1(fJ(!0),uJ),"date-time":_1(NL(!0),TL),"iso-time":_1(fJ(),CL),"iso-date-time":_1(NL(),SL),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:zx,"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:Ux,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:Hx,int32:{type:"number",validate:Fx},int64:{type:"number",validate:Lx},float:{type:"number",validate:wL},double:{type:"number",validate:wL},password:!0,binary:!0};RL.fastFormats={...RL.fullFormats,date:_1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,gJ),time:_1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uJ),"date-time":_1(/^\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,TL),"iso-time":_1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,CL),"iso-date-time":_1(/^\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,SL),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};RL.formatNames=Object.keys(RL.fullFormats);function Wx(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var Gx=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Bx=[0,31,28,31,30,31,30,31,31,30,31,30,31];function IL(Q){let X=Gx.exec(Q);if(!X)return!1;let Y=+X[1],J=+X[2],$=+X[3];return J>=1&&J<=12&&$>=1&&$<=(J===2&&Wx(Y)?29:Bx[J])}function gJ(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var vJ=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function fJ(Q){return function(Y){let J=vJ.exec(Y);if(!J)return!1;let $=+J[1],W=+J[2],G=+J[3],B=J[4],Z=J[5]==="-"?-1:1,K=+(J[6]||0),z=+(J[7]||0);if(K>23||z>59||Q&&!B)return!1;if($<=23&&W<=59&&G<60)return!0;let H=W-z*Z,V=$-K*Z-(H<0?1:0);return(V===23||V===-1)&&(H===59||H===-1)&&G<61}}function uJ(Q,X){if(!(Q&&X))return;let Y=new Date("2020-01-01T"+Q).valueOf(),J=new Date("2020-01-01T"+X).valueOf();if(!(Y&&J))return;return Y-J}function CL(Q,X){if(!(Q&&X))return;let Y=vJ.exec(Q),J=vJ.exec(X);if(!(Y&&J))return;if(Q=Y[1]+Y[2]+Y[3],X=J[1]+J[2]+J[3],Q>X)return 1;if(Q<X)return-1;return 0}var hJ=/t|\s/i;function NL(Q){let X=fJ(Q);return function(J){let $=J.split(hJ);return $.length===2&&IL($[0])&&X($[1])}}function TL(Q,X){if(!(Q&&X))return;let Y=new Date(Q).valueOf(),J=new Date(X).valueOf();if(!(Y&&J))return;return Y-J}function SL(Q,X){if(!(Q&&X))return;let[Y,J]=Q.split(hJ),[$,W]=X.split(hJ),G=gJ(Y,$);if(G===void 0)return;return G||uJ(J,W)}var Zx=/\/|:/,Kx=/^(?:[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 zx(Q){return Zx.test(Q)&&Kx.test(Q)}var bL=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function Hx(Q){return bL.lastIndex=0,bL.test(Q)}var Vx=-2147483648,qx=2147483647;function Fx(Q){return Number.isInteger(Q)&&Q<=qx&&Q>=Vx}function Lx(Q){return Number.isInteger(Q)}function wL(){return!0}var Dx=/[^\\]\\Z/;function Ux(Q){if(Dx.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var xL=N((_L)=>{Object.defineProperty(_L,"__esModule",{value:!0});_L.formatLimitDefinition=void 0;var Mx=yJ(),P1=f(),j9=P1.operators,RX={formatMaximum:{okStr:"<=",ok:j9.LTE,fail:j9.GT},formatMinimum:{okStr:">=",ok:j9.GTE,fail:j9.LT},formatExclusiveMaximum:{okStr:"<",ok:j9.LT,fail:j9.GTE},formatExclusiveMinimum:{okStr:">",ok:j9.GT,fail:j9.LTE}},Ax={message:({keyword:Q,schemaCode:X})=>P1.str`should be ${RX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>P1._`{comparison: ${RX[Q].okStr}, limit: ${X}}`};_L.formatLimitDefinition={keyword:Object.keys(RX),type:"string",schemaType:"string",$data:!0,error:Ax,code(Q){let{gen:X,data:Y,schemaCode:J,keyword:$,it:W}=Q,{opts:G,self:B}=W;if(!G.validateFormats)return;let Z=new Mx.KeywordCxt(W,B.RULES.all.format.definition,"format");if(Z.$data)K();else z();function K(){let V=X.scopeValue("formats",{ref:B.formats,code:G.code.formats}),q=X.const("fmt",P1._`${V}[${Z.schemaCode}]`);Q.fail$data((0,P1.or)(P1._`typeof ${q} != "object"`,P1._`${q} instanceof RegExp`,P1._`typeof ${q}.compare != "function"`,H(q)))}function z(){let V=Z.schema,q=B.formats[V];if(!q||q===!0)return;if(typeof q!="object"||q instanceof RegExp||typeof q.compare!="function")throw Error(`"${$}": format "${V}" does not define "compare" function`);let F=X.scopeValue("formats",{key:V,ref:q,code:G.code.formats?P1._`${G.code.formats}${(0,P1.getProperty)(V)}`:void 0});Q.fail$data(H(F))}function H(V){return P1._`${V}.compare(${Y}, ${J}) ${RX[$].fail} 0`}},dependencies:["format"]};var Px=(Q)=>{return Q.addKeyword(_L.formatLimitDefinition),Q};_L.default=Px});var hL=N((P4,fL)=>{Object.defineProperty(P4,"__esModule",{value:!0});var g6=kL(),Nx=xL(),pJ=f(),yL=new pJ.Name("fullFormats"),bx=new pJ.Name("fastFormats"),cJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return vL(Q,X,g6.fullFormats,yL),Q;let[Y,J]=X.mode==="fast"?[g6.fastFormats,bx]:[g6.fullFormats,yL],$=X.formats||g6.formatNames;if(vL(Q,$,Y,J),X.keywords)(0,Nx.default)(Q);return Q};cJ.get=(Q,X="full")=>{let J=(X==="fast"?g6.fastFormats:g6.fullFormats)[Q];if(!J)throw Error(`Unknown format "${Q}"`);return J};function vL(Q,X,Y,J){var $,W;($=(W=Q.opts.code).formats)!==null&&$!==void 0||(W.formats=pJ._`require("ajv-formats/dist/formats").${J}`);for(let G of X)Q.addFormat(G,Y[G])}fL.exports=P4=cJ;Object.defineProperty(P4,"__esModule",{value:!0});P4.default=cJ});var qD=N((_a,VD)=>{VD.exports=HD;HD.sync=Yy;var KD=h1("fs");function Xy(Q,X){var Y=X.pathExt!==void 0?X.pathExt:process.env.PATHEXT;if(!Y)return!0;if(Y=Y.split(";"),Y.indexOf("")!==-1)return!0;for(var J=0;J<Y.length;J++){var $=Y[J].toLowerCase();if($&&Q.substr(-$.length).toLowerCase()===$)return!0}return!1}function zD(Q,X,Y){if(!Q.isSymbolicLink()&&!Q.isFile())return!1;return Xy(X,Y)}function HD(Q,X,Y){KD.stat(Q,function(J,$){Y(J,J?!1:zD($,Q,X))})}function Yy(Q,X){return zD(KD.statSync(Q),Q,X)}});var OD=N((xa,UD)=>{UD.exports=LD;LD.sync=Jy;var FD=h1("fs");function LD(Q,X,Y){FD.stat(Q,function(J,$){Y(J,J?!1:DD($,X))})}function Jy(Q,X){return DD(FD.statSync(Q),X)}function DD(Q,X){return Q.isFile()&&$y(Q,X)}function $y(Q,X){var{mode:Y,uid:J,gid:$}=Q,W=X.uid!==void 0?X.uid:process.getuid&&process.getuid(),G=X.gid!==void 0?X.gid:process.getgid&&process.getgid(),B=parseInt("100",8),Z=parseInt("010",8),K=parseInt("001",8),z=B|Z,H=Y&K||Y&Z&&$===G||Y&B&&J===W||Y&z&&W===0;return H}});var AD=N((va,MD)=>{var ya=h1("fs"),aX;if(process.platform==="win32"||global.TESTING_WINDOWS)aX=qD();else aX=OD();MD.exports=F$;F$.sync=Wy;function F$(Q,X,Y){if(typeof X==="function")Y=X,X={};if(!Y){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(J,$){F$(Q,X||{},function(W,G){if(W)$(W);else J(G)})})}aX(Q,X||{},function(J,$){if(J){if(J.code==="EACCES"||X&&X.ignoreErrors)J=null,$=!1}Y(J,$)})}function Wy(Q,X){try{return aX.sync(Q,X||{})}catch(Y){if(X&&X.ignoreErrors||Y.code==="EACCES")return!1;else throw Y}}});var CD=N((fa,ID)=>{var t6=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",PD=h1("path"),Gy=t6?";":":",jD=AD(),ND=(Q)=>Object.assign(Error(`not found: ${Q}`),{code:"ENOENT"}),bD=(Q,X)=>{let Y=X.colon||Gy,J=Q.match(/\//)||t6&&Q.match(/\\/)?[""]:[...t6?[process.cwd()]:[],...(X.path||process.env.PATH||"").split(Y)],$=t6?X.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",W=t6?$.split(Y):[""];if(t6){if(Q.indexOf(".")!==-1&&W[0]!=="")W.unshift("")}return{pathEnv:J,pathExt:W,pathExtExe:$}},wD=(Q,X,Y)=>{if(typeof X==="function")Y=X,X={};if(!X)X={};let{pathEnv:J,pathExt:$,pathExtExe:W}=bD(Q,X),G=[],B=(K)=>new Promise((z,H)=>{if(K===J.length)return X.all&&G.length?z(G):H(ND(Q));let V=J[K],q=/^".*"$/.test(V)?V.slice(1,-1):V,F=PD.join(q,Q),D=!q&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+F:F;z(Z(D,K,0))}),Z=(K,z,H)=>new Promise((V,q)=>{if(H===$.length)return V(B(z+1));let F=$[H];jD(K+F,{pathExt:W},(D,U)=>{if(!D&&U)if(X.all)G.push(K+F);else return V(K+F);return V(Z(K,z,H+1))})});return Y?B(0).then((K)=>Y(null,K),Y):B(0)},By=(Q,X)=>{X=X||{};let{pathEnv:Y,pathExt:J,pathExtExe:$}=bD(Q,X),W=[];for(let G=0;G<Y.length;G++){let B=Y[G],Z=/^".*"$/.test(B)?B.slice(1,-1):B,K=PD.join(Z,Q),z=!Z&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+K:K;for(let H=0;H<J.length;H++){let V=z+J[H];try{if(jD.sync(V,{pathExt:$}))if(X.all)W.push(V);else return V}catch(q){}}}if(X.all&&W.length)return W;if(X.nothrow)return null;throw ND(Q)};ID.exports=wD;wD.sync=By});var SD=N((ha,L$)=>{var TD=(Q={})=>{let X=Q.env||process.env;if((Q.platform||process.platform)!=="win32")return"PATH";return Object.keys(X).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"};L$.exports=TD;L$.exports.default=TD});var _D=N((ga,kD)=>{var RD=h1("path"),Zy=CD(),Ky=SD();function ED(Q,X){let Y=Q.options.env||process.env,J=process.cwd(),$=Q.options.cwd!=null,W=$&&process.chdir!==void 0&&!process.chdir.disabled;if(W)try{process.chdir(Q.options.cwd)}catch(B){}let G;try{G=Zy.sync(Q.command,{path:Y[Ky({env:Y})],pathExt:X?RD.delimiter:void 0})}catch(B){}finally{if(W)process.chdir(J)}if(G)G=RD.resolve($?Q.options.cwd:"",G);return G}function zy(Q){return ED(Q)||ED(Q,!0)}kD.exports=zy});var xD=N((qy,U$)=>{var D$=/([()\][%!^"`<>&|;, *?])/g;function Hy(Q){return Q=Q.replace(D$,"^$1"),Q}function Vy(Q,X){if(Q=`${Q}`,Q=Q.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Q=Q.replace(/(?=(\\+?)?)\1$/,"$1$1"),Q=`"${Q}"`,Q=Q.replace(D$,"^$1"),X)Q=Q.replace(D$,"^$1");return Q}qy.command=Hy;qy.argument=Vy});var vD=N((ua,yD)=>{yD.exports=/^#!(.*)/});var hD=N((ma,fD)=>{var Dy=vD();fD.exports=(Q="")=>{let X=Q.match(Dy);if(!X)return null;let[Y,J]=X[0].replace(/#! ?/,"").split(" "),$=Y.split("/").pop();if($==="env")return J;return J?`${$} ${J}`:$}});var uD=N((la,gD)=>{var O$=h1("fs"),Uy=hD();function Oy(Q){let Y=Buffer.alloc(150),J;try{J=O$.openSync(Q,"r"),O$.readSync(J,Y,0,150,0),O$.closeSync(J)}catch($){}return Uy(Y.toString())}gD.exports=Oy});var cD=N((pa,pD)=>{var My=h1("path"),mD=_D(),lD=xD(),Ay=uD(),Py=process.platform==="win32",jy=/\.(?:com|exe)$/i,Ny=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function by(Q){Q.file=mD(Q);let X=Q.file&&Ay(Q.file);if(X)return Q.args.unshift(Q.file),Q.command=X,mD(Q);return Q.file}function wy(Q){if(!Py)return Q;let X=by(Q),Y=!jy.test(X);if(Q.options.forceShell||Y){let J=Ny.test(X);Q.command=My.normalize(Q.command),Q.command=lD.command(Q.command),Q.args=Q.args.map((W)=>lD.argument(W,J));let $=[Q.command].concat(Q.args).join(" ");Q.args=["/d","/s","/c",`"${$}"`],Q.command=process.env.comspec||"cmd.exe",Q.options.windowsVerbatimArguments=!0}return Q}function Iy(Q,X,Y){if(X&&!Array.isArray(X))Y=X,X=null;X=X?X.slice(0):[],Y=Object.assign({},Y);let J={command:Q,args:X,options:Y,file:void 0,original:{command:Q,args:X}};return Y.shell?J:wy(J)}pD.exports=Iy});var nD=N((ca,iD)=>{var M$=process.platform==="win32";function A$(Q,X){return Object.assign(Error(`${X} ${Q.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${X} ${Q.command}`,path:Q.command,spawnargs:Q.args})}function Cy(Q,X){if(!M$)return;let Y=Q.emit;Q.emit=function(J,$){if(J==="exit"){let W=dD($,X);if(W)return Y.call(Q,"error",W)}return Y.apply(Q,arguments)}}function dD(Q,X){if(M$&&Q===1&&!X.file)return A$(X.original,"spawn");return null}function Ty(Q,X){if(M$&&Q===1&&!X.file)return A$(X.original,"spawnSync");return null}iD.exports={hookChildProcess:Cy,verifyENOENT:dD,verifyENOENTSync:Ty,notFoundError:A$}});var aD=N((da,e6)=>{var oD=h1("child_process"),P$=cD(),j$=nD();function rD(Q,X,Y){let J=P$(Q,X,Y),$=oD.spawn(J.command,J.args,J.options);return j$.hookChildProcess($,J),$}function Sy(Q,X,Y){let J=P$(Q,X,Y),$=oD.spawnSync(J.command,J.args,J.options);return $.error=$.error||j$.verifyENOENTSync($.status,J),$}e6.exports=rD;e6.exports.spawn=rD;e6.exports.sync=Sy;e6.exports._parse=P$;e6.exports._enoent=j$});import{logger as pg}from"@hermes/logger";import{logger as sv}from"@hermes/logger";function S0(Q,X=Q.ui){if(!X)return;let Y=0;for(let J of Q.servers.values())if(J.status==="auth_required")Y++;X.setStatus("mcp-auth",Y>0?X.theme.fg("warning",`[${Y} MCP needs auth, use /mcp]`):void 0)}import{MCP_CONNECTION_STATE_TOPIC as Cv}from"@augmentcode/auggie-v2";import{logger as Tv}from"@hermes/logger";import{logger as iM}from"@hermes/logger";import{logger as IM}from"@hermes/logger";function wM(Q,X,Y){let J=Y?.get(Q.name);if(J!==void 0)return J.host===Q&&J.owner.kind==="plugin";return X?.get(Q.name)===Q}function X9(Q,X,Y){let J=Y?.get(Q.name);if(J?.host===Q)return J.owner.kind;let $=Q.config;if($?.vfsSource!==void 0)return"vfs";if($?.registrySource!==void 0)return"registry";return wM(Q,X,Y)?"plugin":"local"}function CM(Q){let X=Q.getLastProbeResult();return X!==void 0&&!X.ok&&X.outcome==="authFailure"?X:void 0}var q3=IM.child({prefix:"pi-mcp"}),TM="augment:mcp-status-report";function Y9(Q,X,Y){let J=Q.servers.get(X),$=J?.hostedCredentialProvenance;if($?.kind==="accepted"&&$.hostedAccessTokenOnly===!0)return{serverGeneration:$.hostGeneration,mcpConfigId:$.configId,credentialRevision:$.credentialRevision,credentialRevisionDomain:$.credentialRevisionDomain};let W=Q.credentialRevisions?.get(X);return{serverGeneration:Q.serverGenerations?.get(X)??0,mcpConfigId:Y??J?.config.id,credentialRevision:W?.revision,credentialRevisionDomain:W?.domain}}function y4(Q,X,Y,J){let $=Y9(Q,X);if($.serverGeneration!==J.serverGeneration||$.mcpConfigId!==J.mcpConfigId||$.credentialRevision!==J.credentialRevision||$.credentialRevisionDomain!==J.credentialRevisionDomain)return!1;return Q.statusFailureCategories??=new Map,Q.statusFailureCategories.set(X,{category:Y,...J}),!0}function t0(Q,X,Y){if(Y){let $=Y9(Q,X);if($.serverGeneration!==Y.serverGeneration||$.mcpConfigId!==Y.mcpConfigId||$.credentialRevision!==Y.credentialRevision||$.credentialRevisionDomain!==Y.credentialRevisionDomain)return!1}let J=Q.statusFailureCategories?.get(X);if(Q.statusFailureCategories?.delete(X),typeof J==="object"&&J.category==="auth_refresh_needed")Q.authRefreshNeededReportKeys?.delete(X);return!0}function SM(Q,X){Q.statusFailureCategories??=new Map;let Y=Q.statusFailureCategories.get(X);if(typeof Y==="string")return Y;let J=Y9(Q,X);if(Y?.serverGeneration===J.serverGeneration&&Y.mcpConfigId===J.mcpConfigId&&Y.credentialRevision===J.credentialRevision&&Y.credentialRevisionDomain===J.credentialRevisionDomain)return Y.category;Q.statusFailureCategories.delete(X),Q.authRefreshNeededReportKeys?.delete(X);return}var v4=30000;function RM(Q){switch(Q.status){case"success":return"connected";case"failed":case"auth_required":return"failed";case"initializing":{let X=Q.connectStartedAt;return X!==void 0&&Date.now()-X>=v4?"failed":void 0}default:return}}var F3="authentication required",EM="Authentication refresh is pending in the backend; retry shortly.",kM="timed out connecting after 30s",_M="Couldn't add this MCP server: its configuration could not be loaded from the MCP registry. Remove it and try again.",xM="Couldn't add this MCP server: another connected server already uses this name. Remove or rename one of them, then try again.",yM="Server was selected for this session but could not be loaded (it may be disabled or misconfigured in the MCP registry).";function vM(Q,X){let Y=new Set;for(let G of Q.servers.values())if(G.config.id!==void 0)Y.add(G.config.id);let J=new Set(X.map((G)=>G.mcpConfigId).filter((G)=>G!==void 0)),$=new Set(X.map((G)=>G.name)),W=(G)=>Q.registryConfigNamesById.get(G)??G;for(let G of Q.failedAddConfigIds){if(Y.has(G)||J.has(G))continue;let B=W(G);J.add(G),$.add(B),X.push({name:B,source:"registry",status:"failed",failureCategory:"configuration",errorMessage:Q.nameCollisionAddConfigIds.has(G)?xM:_M,mcpConfigId:G,dynamicallyAdded:!0})}for(let G of Q.selectedRegistryConfigIds??[]){if(Y.has(G)||J.has(G))continue;if(Q.sessionRemovedConfigIds.has(G))continue;let B=W(G);if($.has(B))continue;J.add(G),$.add(B),X.push({name:B,source:"registry",status:"failed",failureCategory:"configuration",errorMessage:yM,mcpConfigId:G})}}function fM(Q,X){if(X!==void 0)return X.isAuthError?F3:X.error;if(Q.status==="initializing")return kM;return Q.lastError??(Q.status==="auth_required"?F3:void 0)}function hM(Q,X){let Y=RM(Q);if(Y===void 0)return;let J=SM(X,Q.name),$=Y==="connected"?CM(Q):void 0;if($!==void 0||J==="auth_refresh_needed")Y="failed";let W={name:Q.name,source:X9(Q,X.pluginServerHosts,X.hostLeases),status:Y,transport:Q.config.type,tools:Q.tools.map((K)=>K.name)},G=Q.config.id;if(G!==void 0){if(W.mcpConfigId=G,X.dynamicallyAddedConfigIds.has(G))W.dynamicallyAdded=!0}let B=X.statusFailureCategories?.get(Q.name),Z=typeof B==="object"?{revision:B.credentialRevision,domain:B.credentialRevisionDomain}:X.credentialRevisions?.get(Q.name);if(Z?.revision!==void 0&&Z.domain!==void 0)W.credentialRevision=Z.revision,W.credentialRevisionDomain=Z.domain;if(Y==="failed"){if(W.errorMessage=J==="auth_refresh_needed"?EM:fM(Q,$),W.failureCategory=J??(Q.status==="auth_required"||$?.isAuthError===!0?"auth_terminal":"transport_transient"),typeof B==="object")W.serverGeneration=B.serverGeneration}return W}function gM(Q){let X=[];for(let Y of Q.servers.values()){let J=hM(Y,Q);if(J!==void 0)X.push(J)}return vM(Q,X),X}function i(Q,X){try{let Y=gM(X),J=JSON.stringify(Y);if(J===X.lastStatusReport)return;X.lastStatusReport=J,X.statusHostGeneration??=1,X.statusReportSequence=(X.statusReportSequence??0)+1;let $={servers:Y,observedAtMs:Date.now(),hostGeneration:X.statusHostGeneration,reportSequence:X.statusReportSequence};Q.events.emit(TM,$),q3.info(`Emitted MCP status report: ${Y.length} server(s)`)}catch(Y){q3.warn(`Failed to emit MCP status report: ${Y instanceof Error?Y.message:String(Y)}`)}}var f4={local:4,registry:3,plugin:2,vfs:1};function b1(Q){return Q.hostLeases??=new Map,Q.hostLeases}function uM(Q){return Q.hostLeaseRevisions??=new Map,Q.hostLeaseRevisions}function Z8(Q){return Q.expectedCredentialDomains??=new Map,Q.expectedCredentialDomains}function K8(Q,X){return Q.kind===X.kind&&Q.identity===X.identity}function L3(Q){if(!Q.host)return Q.retirement;let X=()=>{return},Y=new Promise((J)=>{X=J});return{incumbent:{owner:Q.owner,revision:Q.revision,host:Q.host},teardown:Y,settled:!1,resolve:X}}function P5(Q,X){let Y=uM(Q),J=(Y.get(X)??0)+1;return Y.set(X,J),J}function h4(Q,X,Y){if(Y.kind==="registry"){Z8(Q).set(X,{kind:"domain",domain:Y.identity});return}Z8(Q).set(X,{kind:"blocked"})}function j5(Q,X,Y){if(Y&&Q.servers.get(X)===Y)Q.servers.delete(X);if(Y&&Q.pluginServerHosts.get(X)===Y)Q.pluginServerHosts.delete(X),Q.pluginServerNames.delete(X)}function W6(Q,X){if(Q.registrySource!==void 0)return{kind:"registry",identity:`user:${Q.id??Q.name}`};if(Q.vfsSource!==void 0)return{kind:"vfs",identity:Q.id??Q.name};return{kind:X??"local",identity:Q.id??Q.name}}function a(Q,X,Y){let J=b1(Q),$=J.get(X);if($)return $;let W=Q.pluginServerHosts.get(X)===Y?"plugin":void 0,G=Y.config,B=G?W6(G,W):{kind:W??"local",identity:X},Z={owner:B,revision:P5(Q,X),host:Y};return J.set(X,Z),h4(Q,X,B),Z}function D3(Q){let{state:X,name:Y,host:J}=Q,$=b1(X),W=$.get(Y);if(!W||W.host!==J||W.owner.kind!=="local"||X.servers.get(Y)!==J)return;let G={owner:{kind:"plugin",identity:J.config.id??Y},revision:P5(X,Y),host:J};return $.set(Y,G),X.pluginServerNames.add(Y),X.pluginServerHosts.set(Y,J),h4(X,Y,G.owner),G}function z8(Q){let{state:X,name:Y,owner:J,expectedRevision:$,expectedHost:W}=Q,G=b1(X),B=G.get(Y);if(B){if(B.retirement?.settled)return;let H=f4[J.kind]>f4[B.owner.kind],V=f4[J.kind]===f4[B.owner.kind],q=$===B.revision&&(W===void 0||W===B.host);if(!(H||V&&q))return}let Z=B?.host,K=B?L3(B):void 0;if(j5(X,Y,Z),B?.owner.kind==="plugin")X.pluginServerNames.delete(Y),X.pluginServerHosts.delete(Y);let z={owner:J,revision:P5(X,Y),host:void 0,...K?{retirement:K}:{}};return G.set(Y,z),h4(X,Y,J),{lease:z,...Z?{displacedHost:Z}:{},...K?{retirement:K}:{}}}async function N5(Q){if(!Q)return;let X=await Q.teardown;if(X.status==="failed")throw X.error instanceof Error?X.error:Error(String(X.error))}function L0(Q){let{state:X,name:Y,retirement:J,result:$}=Q;if(J.settled)return!1;J.settled=!0,J.result=$;let G=b1(X).get(Y);if(G?.retirement===J)if($.status==="failed")G.host=void 0,Z8(X).set(Y,{kind:"blocked"});else G.retirement=void 0;return J.resolve($),!0}function g4(Q){let{state:X,name:Y,owner:J,revision:$,host:W}=Q,G=b1(X).get(Y);if(!G||G.revision!==$||!K8(G.owner,J)||G.host!==void 0||G.retirement!==void 0)return!1;if(G.host=W,X.servers.set(Y,W),J.kind==="plugin")X.pluginServerNames.add(Y),X.pluginServerHosts.set(Y,W);else X.pluginServerNames.delete(Y),X.pluginServerHosts.delete(Y);return!0}function V1(Q){let{state:X,name:Y,owner:J,revision:$,host:W}=Q,G=b1(X).get(Y);if(!G||G.revision!==$||!K8(G.owner,J)||G.host!==W||G.retirement!==void 0)return;let B=L3(G);if(!B)return;return j5(X,Y,W),G.host=void 0,G.retirement=B,B}function U3(Q){let{state:X,name:Y,retiredOwner:J,retirement:$}=Q,W=b1(X),G=W.get(Y),B=$.result;if(!G||G.retirement!==$||G.host!==void 0||!$.settled||!K8($.incumbent.owner,J)||B?.status!=="failed"||B.transportDisposed!==!0)return!1;if(G.retirement=void 0,!K8(G.owner,J)||G.revision!==$.incumbent.revision)return h4(X,Y,G.owner),!0;return W.delete(Y),Z8(X).set(Y,{kind:"blocked"}),!0}function U0(Q){let{state:X,name:Y,owner:J,revision:$,host:W}=Q,G=b1(X),B=G.get(Y);if(!B||B.revision!==$||!K8(B.owner,J)||B.host!==W||B.retirement!==void 0)return!1;if(j5(X,Y,B.host),B.owner.kind==="plugin")X.pluginServerNames.delete(Y),X.pluginServerHosts.delete(Y);return G.delete(Y),Z8(X).set(Y,{kind:"blocked"}),!0}function p(Q,X){return b1(Q).get(X)}function O3(Q,X,Y){return b1(Q).get(X)?.host===Y}function H8(Q,X){if(Q.authenticatingServerName!==X)return;Q.authenticationGeneration=(Q.authenticationGeneration??0)+1,Q.authenticating=!1,Q.authenticatingServerName=void 0}function J9(Q){if(Q.type!=="http"&&Q.type!=="sse"||Q.auth!=="oauth")return;return{id:Q.id,name:Q.name,type:Q.type,url:Q.url,auth:Q.auth,registrySource:Q.registrySource,vfsSource:Q.vfsSource}}function h0(Q,X){if(Q.type!==X.type||Q.id!==X.id)return!1;if(Q.type==="stdio"||X.type==="stdio")return!0;return Q.url===X.url&&Q.auth===X.auth}function b5(Q,X){return["user","tenant","private","shared"].some((Y)=>Q===`${Y}:${X}`)}function mM(Q){let{state:X,name:Y,expectedRegistryConfigId:J,expectedConfig:$,currentConfig:W}=Q;if($)return $;let G=J?X.registryCredentialConfigsById?.get(J):void 0;if(G?.name===Y)return G;let B=X.registryCredentialConfigs?.get(Y);if(B?.id===J)return B;if(W?.id===J)return W;return}function lM(Q){let{currentConfig:X,retiredConfig:Y,expectedRegistryConfigId:J}=Q;if(!X)return!1;if(Y)return!h0(X,Y);if(J===void 0)return!1;if(X.id===void 0)return X.registrySource===void 0;return X.id!==J}function M3(Q){let{identity:X,retiredConfigId:Y,retiredOwnerIdentity:J}=Q;if(Y!==void 0)return!b5(X,Y);return J!==void 0&&X!==J}function A3(Q,X,Y){return Y&&X!==void 0&&Q!==void 0&&b5(Q,X)}function pM(Q){let{acceptedDomain:X,currentDomain:Y,retiredConfigId:J,retiresRegistryIdentity:$}=Q;if(!$||J===void 0)return!1;return[X,Y].some((W)=>W!==void 0&&!b5(W,J))}function P3(Q){let{currentConfig:X,retiredConfig:Y,expectedRegistryConfigId:J,retiresRegistryIdentity:$,currentLease:W,expectedFence:G,retiredConfigId:B,retiredOwnerIdentity:Z,acceptedDomain:K,currentDomain:z}=Q;if(lM({currentConfig:X,retiredConfig:Y,expectedRegistryConfigId:J}))return!0;let H={retiredConfigId:B,retiredOwnerIdentity:Z};if($&&W!==void 0){if(W.owner.kind!=="registry")return!0;if(M3({identity:W.owner.identity,...H}))return!0}if($&&G?.kind==="domain"&&M3({identity:G.domain,...H}))return!0;return pM({acceptedDomain:K,currentDomain:z,retiredConfigId:B,retiresRegistryIdentity:$})}function cM(Q){let{name:X,retiredConfig:Y,expectedRegistryConfigId:J}=Q;if(Y)return J9(Y);if(J!==void 0)return{id:J,name:X};return}function dM(Q){let{state:X,name:Y,mode:J,stillOwnsNameScopedRevision:$,retiredConfig:W}=Q;if(J==="durable"){X.preservedCredentialIdentities?.delete(Y);return}if(!$||!W||!J9(W)||!X.tokens?.get(Y))return;X.preservedCredentialIdentities??=new Map,X.preservedCredentialIdentities.set(Y,{...W})}async function j3(Q,X,Y,J,$){let W=Q.oauthCredentialDomains?.get(X),G=Q.credentialRevisions?.get(X)?.domain,B=Q.servers?.get(X)?.config,Z=mM({state:Q,name:X,expectedRegistryConfigId:Y,expectedConfig:J,currentConfig:B}),K=Z?.id??Y,z=Z?.registrySource!==void 0||Z===void 0&&Y!==void 0,H=Z?.registrySource===void 0?void 0:`user:${Z.id??Z.name}`,V=P3({currentConfig:B,retiredConfig:Z,expectedRegistryConfigId:Y,retiresRegistryIdentity:z,currentLease:Q.hostLeases?.get(X),expectedFence:Q.expectedCredentialDomains?.get(X),retiredConfigId:K,retiredOwnerIdentity:H,acceptedDomain:W,currentDomain:G}),q=A3(W,K,z),F=A3(G,K,z),D=!V,U=Q.tokens?.get(X)!==void 0&&W===void 0&&G===void 0,P=V&&!(D||q||F||U);if($==="durable"){let b=cM({name:X,retiredConfig:Z,expectedRegistryConfigId:Y});await Q.tokens?.retireCredential(X,b,{preserveNameState:P})}let j=P3({currentConfig:Q.servers?.get(X)?.config,retiredConfig:Z,expectedRegistryConfigId:Y,retiresRegistryIdentity:z,currentLease:Q.hostLeases?.get(X),expectedFence:Q.expectedCredentialDomains?.get(X),retiredConfigId:K,retiredOwnerIdentity:H,acceptedDomain:Q.oauthCredentialDomains?.get(X),currentDomain:Q.credentialRevisions?.get(X)?.domain}),C=D&&!j,A=!1;if(Q.equalRevisionRebindDomains?.delete(X),(C||q)&&Q.oauthCredentialDomains?.get(X)===W)Q.oauthCredentialDomains.delete(X),A=!0;if((C||F)&&Q.credentialRevisions?.get(X)?.domain===G)Q.credentialRevisions.delete(X),Q.hostedCredentialOwnership?.delete(X),A=!0;if(C&&$==="durable")Q.expectedCredentialDomains?.set(X,{kind:"blocked"});if(dM({state:Q,name:X,mode:$,stillOwnsNameScopedRevision:C,retiredConfig:Z}),A)H8(Q,X),t0(Q,X),Q.authRefreshNeededReportKeys?.delete(X);return C}function Y1(Q,X,Y,J){return j3(Q,X,Y,J,"durable")}function V8(Q,X,Y,J){return j3(Q,X,Y,J,"session")}function $9(Q,X){let Y=Q.replace(/^0+(?=\d)/,""),J=X.replace(/^0+(?=\d)/,"");if(Y.length!==J.length)return Y.length<J.length?-1:1;if(Y===J)return 0;return Y<J?-1:1}var N3="augment:mcp-oauth-credentials",b3=300000,nM=256,w3=iM.child({prefix:"pi-mcp"});class w1 extends Error{constructor(Q){super(Q);this.name="RegistryCredentialRetirementError"}}function u0(Q){return`user:${Q}`}function T9(Q){let{state:X,name:Y,revision:J}=Q;if(X.credentialRevisions??=new Map,X.oauthCredentialRevisions??=new Map,X.oauthCredentialDomains??=new Map,X.hostedCredentialOwnership?.delete(Y),J===void 0){X.credentialRevisions.delete(Y),X.oauthCredentialDomains.delete(Y),X.authRefreshNeededReportKeys?.delete(Y);return}let $={...J,revision:J.revision.replace(/^0+(?=\d)/,"")},W=X.credentialRevisions.get(Y);if(X.credentialRevisions.set(Y,$),W?.revision!==$.revision||W?.domain!==$.domain)X.authRefreshNeededReportKeys?.delete(Y);let G=X.oauthCredentialRevisions.get($.domain);if(G===void 0||$9($.revision,G)>0)X.oauthCredentialRevisions.set($.domain,$.revision);X.oauthCredentialDomains.set(Y,$.domain)}function J1(Q){let X=Q.indexOf(":");if(X<=0||X===Q.length-1)return Q;let Y=Q.slice(0,X);if(Y!=="private"&&Y!=="shared"&&Y!=="user"&&Y!=="tenant")return Q;return u0(Q.slice(X+1))}function oM(Q,X){return Q?.revision===X?.revision&&Q?.domain===X?.domain}function rM(Q,X,Y){return{acceptedDomain:Q.oauthCredentialDomains.get(X),credentialRevision:Q.credentialRevisions.get(X),expectedDomain:Q.expectedCredentialDomains.get(X),failure:Q.statusFailureCategories.get(X),restoreFailure:Y}}function aM(Q,X){return Q?.kind===X?.kind&&(Q?.kind!=="domain"||X?.kind==="domain"&&Q.domain===X.domain)}function sM(Q,X,Y){return Q.oauthCredentialDomains.get(X)===Y.acceptedDomain&&oM(Q.credentialRevisions.get(X),Y.credentialRevision)&&aM(Q.expectedCredentialDomains.get(X),Y.expectedDomain)&&Q.statusFailureCategories.get(X)===Y.failure}function tM(Q){return JSON.stringify({id:Q.id,name:Q.name,type:Q.type,url:Q.type==="stdio"?void 0:Q.url,auth:Q.type==="stdio"?void 0:Q.auth,registrySource:Q.registrySource,vfsSource:Q.vfsSource})}function eM(Q){let{state:X,config:Y,domain:J}=Q,$=Y.id===void 0?void 0:X.registryCredentialConfigsById.get(Y.id);if(!$||X.sessionRemovedConfigIds.has(Y.id??"")||!h0($,Y))return!1;return $.name!==Y.name||X.equalRevisionRebindDomains.get(Y.name)===J}function S9(Q){Q.registryCredentialIntents??=new Map,Q.registryCredentialIntentEpochs??=new Map,Q.pendingRegistryCredentialDomains??=new Set,Q.stagedOAuthCredentials??=new Map,Q.equalRevisionRebindDomains??=new Map,Q.bootOAuthCredentialBuffer??=new Map}function C9(Q,X){let Y=Q.bootOAuthCredentialBuffer?.get(X);if(Y?.expiryTimer!==void 0)clearTimeout(Y.expiryTimer);Q.bootOAuthCredentialBuffer?.delete(X)}function I3(Q,X){let Y=Q.bootOAuthCredentialBuffer;if(!Y)return;for(let[J,$]of Y)if(X-$.insertedAtMs>=b3)C9(Q,J)}function QA(Q){let X=Q.bootOAuthCredentialBuffer?.keys().next().value;if(typeof X==="string")C9(Q,X)}function C3(Q){let{state:X,serverName:Y,revision:J,credential:$,suppressReconnect:W}=Q;S9(X),X.bootOAuthCredentialBuffer??=new Map;let G=X.bootOAuthCredentialBuffer,B=Date.now();I3(X,B);let Z=J1(J.domain),K=G.get(Z),z=K?.credential.credential_revision??K?.credential.credentialRevision;if(typeof z==="string"&&$9(J.revision,z)<=0)return;if(!K&&G.size>=nM)QA(X);C9(X,Z);let H={credential:$,suppressReconnect:W,insertedAtMs:B,expiryTimer:void 0};G.set(Z,H),H.expiryTimer=setTimeout(()=>{if(G.get(Z)===H)C9(X,Z)},b3),H.expiryTimer.unref?.(),w3.warn(`MCP OAuth credential for "${Y}" arrived before its server was known; buffered for replay after discovery`)}function XA(Q,X){S9(Q);let Y=(Q.registryCredentialIntentEpochs.get(X)??0)+1;return Q.registryCredentialIntentEpochs.set(X,Y),Y}function g0(Q){let{state:X,domain:Y,epoch:J,preserveFence:$=!1,preserveBootCredential:W=!1}=Q;S9(X);let G=X.registryCredentialIntents.get(Y);if(J!==void 0&&G?.epoch!==J)return;if(!$&&G?.configName){let B=X.expectedCredentialDomains.get(G.configName);if(B?.kind==="domain"&&B.domain===Y)X.expectedCredentialDomains.set(G.configName,{kind:"blocked"})}if(X.pendingRegistryCredentialDomains.delete(Y),X.registryCredentialIntents.delete(Y),X.stagedOAuthCredentials.delete(Y),!W)C9(X,Y)}function u4(Q){let{state:X,domain:Y,forceNew:J=!1}=Q;S9(X);let $=X.registryCredentialIntents.get(Y);if($&&!J)return X.pendingRegistryCredentialDomains.add(Y),{domain:Y,...$};let W=$?.configFingerprint===void 0?X.stagedOAuthCredentials.get(Y):void 0;if($)g0({state:X,domain:Y,epoch:$.epoch});let G={epoch:XA(X,Y),configFingerprint:void 0,configName:void 0,allowEqualRevisionRebind:!1,finalization:void 0};if(X.registryCredentialIntents.set(Y,G),W!==void 0&&W.configFingerprint===void 0)X.stagedOAuthCredentials.set(Y,{...W,intentEpoch:G.epoch});return X.pendingRegistryCredentialDomains.add(Y),{domain:Y,...G}}function T3(Q,X){S9(Q);for(let[Y,J]of Q.registryCredentialIntents)if(!X.has(Y))g0({state:Q,domain:Y,epoch:J.epoch});for(let Y of Q.pendingRegistryCredentialDomains)if(!X.has(Y))Q.pendingRegistryCredentialDomains.delete(Y),Q.stagedOAuthCredentials.delete(Y);for(let Y of Q.stagedOAuthCredentials.keys())if(!X.has(Y))Q.stagedOAuthCredentials.delete(Y);for(let Y of Q.bootOAuthCredentialBuffer?.keys()??[])if(!X.has(Y))C9(Q,Y);for(let Y of X){let J=Q.registryCredentialIntents.get(Y);u4({state:Q,domain:Y,forceNew:J?.configFingerprint===void 0})}}function YA(Q){let{state:X,config:Y}=Q;if(Y.id===void 0||Y.registrySource===void 0)return;if(p(X,Y.name)?.owner.kind==="local")return;S9(X);let J=u0(Y.id),$=tM(Y),W=eM({state:X,config:Y,domain:J});if(!W)X.equalRevisionRebindDomains.delete(Y.name);let G=X.registryCredentialIntents.get(J);if(G&&G.configFingerprint===void 0){G.configFingerprint=$,G.configName=Y.name,G.allowEqualRevisionRebind=W;let B=X.stagedOAuthCredentials.get(J);if(B?.intentEpoch===G.epoch)B.configFingerprint=$}else if(G&&G.configFingerprint!==$)g0({state:X,domain:J,epoch:G.epoch}),G=void 0;else if(G)G.allowEqualRevisionRebind=W;if(!G){let B=u4({state:X,domain:J});if(G=X.registryCredentialIntents.get(J),!G||G.epoch!==B.epoch)return;G.configFingerprint=$,G.configName=Y.name,G.allowEqualRevisionRebind=W}return X.pendingRegistryCredentialDomains.add(J),JA({state:X,config:Y,domain:J}),{domain:J,...G}}function S3(Q){let{state:X,revision:Y,credential:J,suppressReconnect:$}=Q;S9(X);let W=J1(Y.domain),G=X.registryCredentialIntents.get(W);if(!G||!X.pendingRegistryCredentialDomains.has(W))return;let B=X.oauthCredentialRevisions.get(Y.domain),Z=X.stagedOAuthCredentials.get(W),z=Z?.intentEpoch===G.epoch&&Z.configFingerprint===G.configFingerprint?Z.credential.credential_revision??Z.credential.credentialRevision:void 0,H=B===void 0?void 0:$9(Y.revision,B),V=H===0;if(H!==void 0&&H<0||V&&G.configFingerprint!==void 0&&!G.allowEqualRevisionRebind||typeof z==="string"&&$9(Y.revision,z)<=0)return;X.stagedOAuthCredentials.set(W,{credential:J,suppressReconnect:$,intentEpoch:G.epoch,configFingerprint:G.configFingerprint,requiresEqualRevisionRebind:V})}function JA(Q){let{state:X,config:Y,domain:J}=Q,$=X.oauthCredentialDomains.get(Y.name);if(X.expectedCredentialDomains.set(Y.name,{kind:"domain",domain:J}),$===void 0||J1($)!==J)X.oauthCredentialDomains.delete(Y.name),X.credentialRevisions.delete(Y.name),X.hostedCredentialOwnership?.delete(Y.name),t0(X,Y.name),X.authRefreshNeededReportKeys?.delete(Y.name)}function $A(Q){let{state:X,config:Y,pi:J,intent:$}=Q,W=X.stagedOAuthCredentials.get($.domain);if(!W||W.intentEpoch!==$.epoch||W.configFingerprint!==$.configFingerprint||W.requiresEqualRevisionRebind&&!$.allowEqualRevisionRebind)return;if(X.stagedOAuthCredentials.delete($.domain),W.requiresEqualRevisionRebind)X.equalRevisionRebindDomains.set(Y.name,$.domain);g0({state:X,domain:$.domain,epoch:$.epoch,preserveFence:!0,preserveBootCredential:!0});let G={[Y.name]:W.credential};J.events.emit(N3,W.suppressReconnect?{credentials:G,suppressReconnect:!0}:G)}function WA(Q){let{state:X,domain:Y}=Q,J=Date.now();I3(X,J);let $=X.bootOAuthCredentialBuffer?.get(Y);return C9(X,Y),$}function GA(Q){let{config:X,pi:Y,buffered:J}=Q;w3.info(`Replaying boot-buffered MCP OAuth credential for "${X.name}"`);let $={[X.name]:J.credential};Y.events.emit(N3,J.suppressReconnect?{credentials:$,suppressReconnect:!0}:$)}async function BA(Q){let{state:X,config:Y,previousConfig:J}=Q;if(!J)return;if(h0(J,Y)){if(J.name===Y.name)return;await V8(X,J.name,J.id,J),X.tokens.clearLocalCredential(J.name),X.preservedCredentialIdentities?.delete(J.name),X.expectedCredentialDomains.set(J.name,{kind:"blocked"}),X.registryCredentialConfigs.delete(J.name);return}await Y1(X,Y.name,J.id,J);let $=X.expectedCredentialDomains.get(Y.name);return $?.kind==="blocked"?$:void 0}function ZA(Q){let{state:X,config:Y,intent:J,rollbackSnapshot:$,cause:W}=Q;if(X.registryCredentialIntents.get(J.domain)?.epoch===J.epoch){let Z=sM(X,Y.name,$);if(g0({state:X,domain:J.domain,epoch:J.epoch,preserveFence:!Z}),Z){if(X.expectedCredentialDomains.set(Y.name,{kind:"blocked"}),$.restoreFailure!==void 0)X.statusFailureCategories.set(Y.name,$.restoreFailure)}}let B=`Registry credential replacement failed for ${Y.name}: ${W instanceof Error?W.message:String(W)}`;return X.diagnostics.push({server:Y.name,message:B,origin:"registry"}),new w1(B)}async function KA(Q){let{state:X,config:Y,pi:J,intent:$,previousConfig:W,rollbackSnapshot:G}=Q,B=X.registryCredentialIntents.get($.domain);if(B?.epoch!==$.epoch||B.configFingerprint!==$.configFingerprint)return!1;X.expectedCredentialDomains.set(Y.name,{kind:"domain",domain:$.domain});let Z;try{Z=await BA({state:X,config:Y,previousConfig:W})}catch(F){throw ZA({state:X,config:Y,intent:$,rollbackSnapshot:G,cause:F})}let K=X.registryCredentialIntents.get($.domain);if(Z&&K?.epoch===$.epoch&&X.expectedCredentialDomains.get(Y.name)===Z)X.expectedCredentialDomains.set(Y.name,{kind:"domain",domain:$.domain});let z=X.expectedCredentialDomains.get(Y.name);if(K?.epoch!==$.epoch||K.configFingerprint!==$.configFingerprint||z?.kind!=="domain"||z.domain!==$.domain)return g0({state:X,domain:$.domain,epoch:$.epoch}),!1;let H=Y.id;if(H===void 0)return!1;let V={...Y};if(X.registryConfigNamesById.set(H,Y.name),X.registryCredentialConfigs.set(Y.name,V),X.registryCredentialConfigsById.set(H,V),$.allowEqualRevisionRebind)X.equalRevisionRebindDomains.set(Y.name,$.domain);$A({state:X,config:Y,pi:J,intent:$});let q=WA({state:X,domain:$.domain});if(g0({state:X,domain:$.domain,epoch:$.epoch,preserveFence:!0}),q)GA({config:Y,pi:J,buffered:q});return!0}function R9(Q){let{state:X,config:Y,pi:J}=Q;if(Y.id===void 0||Y.registrySource===void 0)return Promise.resolve(!0);let $=X.statusFailureCategories.get(Y.name),W=YA({state:X,config:Y});if(!W)return Promise.resolve(!1);let G=X.registryCredentialIntents.get(W.domain);if(!G||G.epoch!==W.epoch)return Promise.resolve(!1);if(G.finalization)return G.finalization;let B=rM(X,Y.name,$),K=(X.registryCredentialFinalizationsByName.get(Y.name)??Promise.resolve(!0)).catch(()=>!1).then(()=>{let z=X.registryCredentialConfigs.get(Y.name)??(Y.id===void 0?void 0:X.registryCredentialConfigsById.get(Y.id))??X.servers.get(Y.name)?.config;return KA({state:X,config:Y,pi:J,intent:W,previousConfig:z,rollbackSnapshot:B})});return X.registryCredentialFinalizationsByName.set(Y.name,K),G.finalization=K,K.then(()=>{if(X.registryCredentialFinalizationsByName.get(Y.name)===K)X.registryCredentialFinalizationsByName.delete(Y.name)},()=>{if(X.registryCredentialFinalizationsByName.get(Y.name)===K)X.registryCredentialFinalizationsByName.delete(Y.name)}),K}import{SettingsManager as bA}from"@augmentcode/auggie-v2";import{homedir as R3}from"node:os";import{sep as zA}from"node:path";class k3 extends Error{variableName;constructor(Q){super(`Missing environment variable "${Q}"`);this.name="EnvVariableExpansionError",this.variableName=Q}}var HA=/(?<!\\)\$\{([a-zA-Z_][a-zA-Z0-9_]*)(?::-([\s\S]*?))?\}/g,VA=/\\\$\{/g,qA=new Set(["workspaceFolder","augmentToken"]),E3="${workspaceFolder}";function _3(Q,X){if(!Q.includes(E3))return Q;return Q.split(E3).join(X)}function x3(Q,X){if(!Q.includes("${"))return Q;return Q.replace(HA,(J,$,W)=>{if(qA.has($))return J;let G=X[$];if(G!==void 0)return G;if(W!==void 0)return W;throw new k3($)}).replace(VA,"${")}function FA(Q){if(!Q.startsWith("~"))return Q;if(Q==="~")return R3();if(Q.startsWith("~/")||Q.startsWith(`~${zA}`))return R3()+Q.slice(1);return Q}function w5(Q,X,Y){return FA(x3(_3(Q,X),Y))}function m4(Q,X,Y){return x3(_3(Q,X),Y)}function y3(Q,X,Y){let J={};for(let[$,W]of Object.entries(Q))J[$]=m4(W,X,Y);return J}var LA="$augment-";function DA(Q,X,Y){if(!Q)return;let J={};for(let[$,W]of Object.entries(Q))J[$]=W.startsWith(LA)?W:m4(W,X,Y);return J}function I1(Q,X){let Y=process.env;return{...Q,url:m4(Q.url,X,Y),headers:DA(Q.headers,X,Y)}}function C1(Q,X){let Y=process.env;return{...Q,command:w5(Q.command,X,Y),args:Q.args,env:Q.env?y3(Q.env,X,Y):void 0,cwd:Q.cwd?w5(Q.cwd,X,Y):X}}import{readFileSync as AA}from"node:fs";import{logger as UA}from"@hermes/logger";var OA=UA.child({prefix:"pi-mcp"});class T1 extends Error{constructor(Q){super(Q);this.name="McpConfigError"}}function G6(Q){if(Q.type==="stdio"||Q.type==="http"||Q.type==="sse")return Q.type;if(Q.url)return"http";if(Q.command)return"stdio";return}function MA(Q){if(!Q)return;let X={};for(let[Y,J]of Object.entries(Q)){if(J===null||J===void 0)continue;X[Y]=String(J)}return Object.keys(X).length>0?X:void 0}function B6(Q,X){let Y=G6(X);if(!Y)throw new T1(`MCP server "${Q}" must declare a 'command' (stdio) or 'url' (http/sse) property`);if(Y==="http"||Y==="sse"){if(!X.url)throw new T1(`MCP server "${Q}" has type "${Y}" but no 'url' property`);return{type:Y,name:X.name??Q,disabled:X.disabled,url:X.url,headers:X.headers,auth:X.auth==="oauth"?"oauth":void 0,timeoutMs:X.timeoutMs}}let J=X.command;if(!J)throw new T1(`MCP server "${Q}" has type "stdio" but no 'command' property`);let $=(X.args??[]).map((B)=>String(B)),W=$.length>0?`${J} ${$.join(" ")}`:J,G=X.name??Q;if(X.useShellInterpolation===!1)OA.warn(`MCP server "${G}": useShellInterpolation:false is ignored; settings.json stdio servers always shell-wrap in Wave 1 (V1 json.ts parity)`);return{type:"stdio",name:G,disabled:X.disabled,command:W,args:[],env:MA(X.env),cwd:X.cwd,timeoutMs:X.timeoutMs,useShellInterpolation:!0}}var h3=(Q)=>AA(Q,"utf8");function l4(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}function v3(Q){return l4(Q)&&(("command"in Q)||("url"in Q))}function C5(...Q){for(let X of Q)if(typeof X==="string"&&X.length>0)return X;return}function f3(Q,X){return C5(Q.name)??X}function I5(Q,X){let Y=G6(Q);if(Y==="http"||Y==="sse")return C5(Q.name,Q.title,Q.url)??X;let J=typeof Q.command==="string"&&Q.command.length>0?Q.command.split(" ")[0]:void 0;return C5(Q.name,Q.title,J)??X}function PA(Q){if(Array.isArray(Q))return Q.map((X,Y)=>{let J=X;return[I5(J,String(Y)),J]});if(l4(Q)){for(let Y of["servers","mcpServers"]){let J=Q[Y];if(Array.isArray(J))return J.map(($,W)=>{let G=$;return[I5(G,String(W)),G]})}for(let Y of["servers","mcpServers"]){let J=Q[Y];if(l4(J))return Object.entries(J).map(([$,W])=>{let G=W;return[f3(G,$),G]})}if(v3(Q)){let Y=Q;return[[I5(Y,"server"),Y]]}let X=Object.values(Q);if(X.length>0&&X.some(v3))return Object.entries(Q).map(([Y,J])=>{if(!l4(J))throw Error(`entry "${Y}" is not a server config object (got ${J===null?"null":typeof J})`);let $=J;return[f3($,Y),$]})}throw Error("unrecognized MCP config JSON shape (expected an array of servers, a { servers|mcpServers } array/record, a single server object, or a Claude-Desktop-style record)")}function T5(Q){return Q instanceof Error?Q.message:String(Q)}function jA(Q,X,Y,J,$){if(Y)return X;try{return J(Q)}catch(W){$.push({message:`Failed to read --mcp-config file "${Q}": ${T5(W)}`});return}}function NA(Q,X,Y){let J=Q.trim();if(J.length===0)return[];let $=J.startsWith("[")||J.startsWith("{"),W=$?"inline JSON":`file "${Q}"`,G=jA(Q,J,$,X,Y);if(G===void 0)return[];let B;try{B=JSON.parse(G)}catch(Z){return Y.push({message:`Failed to parse --mcp-config ${W}: ${T5(Z)}`}),[]}try{return PA(B)}catch(Z){return Y.push({message:`Invalid --mcp-config ${W}: ${T5(Z)}`}),[]}}function S5(Q,X=h3){let Y={},J=[];for(let $ of Q)for(let[W,G]of NA($,X,J))Y[W]=G;return{servers:Y,diagnostics:J}}function R5(Q,X=h3){if(!Q||Q.length===0)return new Set;return new Set(Object.keys(S5(Q,X).servers))}var wA=["global","project","local","managed"];function IA(Q,X){switch(X){case"global":return Q.getGlobalSettings().mcpServers;case"project":return Q.getProjectSettings().mcpServers;case"local":return Q.getLocalSettings().mcpServers;case"managed":return Q.getManagedSettings().mcpServers}}function CA(Q){let X={};for(let Y of Q){if(!Y)continue;for(let[J,$]of Object.entries(Y)){if($===null){delete X[J];continue}if($)X[J]=structuredClone($)}}return X}function TA(Q,X,Y){let J=S5(Q);Y.push(...J.diagnostics);let $=J.servers;if(!X||X.size===0)return $;for(let[W,G]of Object.entries($)){let B=X.get(W);if(B!==void 0)$[W]={...G,disabled:B}}return $}function SA(Q,X,Y){let J=bA.create(Q,X);for(let{scope:$,error:W}of J.drainErrors()){let G=W.message.includes("parse settings JSON")?"parse":"read";Y.push({message:`Failed to ${G} ${$} settings.json: ${W.message}`})}return CA(wA.map(($)=>IA(J,$)))}function Z6(Q,X,Y,J){let $=[],W=Y&&Y.length>0?TA(Y,J,$):SA(Q,X,$),G=[];for(let[B,Z]of Object.entries(W))try{let K=B6(B,Z);G.push(K.type==="stdio"?C1(K,Q):I1(K,Q))}catch(K){let z=K instanceof T1?K.message:`Failed to normalize MCP server "${B}": ${K instanceof Error?K.message:String(K)}`;$.push({server:B,message:z})}return{servers:G,diagnostics:$}}import{setToolSource as m3}from"@augmentcode/auggie-v2";import{logger as uA}from"@hermes/logger";import{Type as mA}from"@sinclair/typebox";class q8{_tokens=new Map;_authRequired=new Set;_retiredCredentials=new Set;_credentialRetirementGenerations=new Map;get(Q){return this._tokens.get(Q)}commit(Q,X){this._tokens.set(Q,X),this._authRequired.delete(Q),this._retiredCredentials.delete(Q)}set(Q,X,Y){this.commit(Q,X)}persist(Q,X,Y){return Promise.resolve(void 0)}captureAuthenticatedIdentityVersion(Q){return Promise.resolve(void 0)}captureRefreshIdentityVersion(Q){return Promise.resolve(void 0)}persistAuthenticated(Q,X,Y,J){return this.persist(Q,X,Y)}persistRefresh(Q,X,Y,J){return this.persist(Q,X,Y)}restoreAfterSupersededAuthentication(Q,X,Y,J,$){return this.persist(Q,Y,J)}restoreAfterSupersededRefresh(Q,X,Y,J,$){return this.restoreAfterSupersededAuthentication(Q,X,Y,J,$)}async setAndPersist(Q,X,Y){await this.persist(Q,X,Y),this.set(Q,X,Y)}snapshot(){return{tokens:new Map(this._tokens),authRequired:new Set(this._authRequired),retiredCredentials:new Set(this._retiredCredentials),credentialRetirementGenerations:new Map(this._credentialRetirementGenerations)}}seed(Q){for(let[X,Y]of Q.tokens)this._tokens.set(X,Y);for(let X of Q.authRequired)this._authRequired.add(X);for(let X of Q.retiredCredentials??[])this._retiredCredentials.add(X);for(let[X,Y]of Q.credentialRetirementGenerations??[])this._credentialRetirementGenerations.set(X,Y)}delete(Q,X){this._tokens.delete(Q)}clearLocalCredential(Q){this._tokens.delete(Q),this._authRequired.delete(Q),this._retiredCredentials.add(Q),this._credentialRetirementGenerations.set(Q,(this._credentialRetirementGenerations.get(Q)??0)+1)}retireCredential(Q,X,Y){if(!Y?.preserveNameState)this.clearLocalCredential(Q);return Promise.resolve()}credentialRetirementGeneration(Q){return this._credentialRetirementGenerations.get(Q)??0}isCredentialRetired(Q){return this._retiredCredentials.has(Q)}markAuthRequired(Q){this._authRequired.add(Q)}isAuthRequired(Q){return this._authRequired.has(Q)}clearAuthRequired(Q){this._authRequired.delete(Q)}}var p4=Symbol.for("__pi_mcp_state__");function RA(Q,X){if(Q.id!==X.id||Q.type!==X.type||Q.type==="stdio"||X.type==="stdio"||Q.auth!=="oauth"||X.auth!=="oauth")return!1;return Q.url===X.url&&Q.auth===X.auth}function EA(Q,X){return["user","tenant","private","shared"].some((Y)=>Q===`${Y}:${X}`)}function kA(Q){for(let[X,Y]of Q.registryCredentialConfigsById){let J=[...Q.registryCredentialConfigs.entries()].filter(([G,B])=>G!==Y.name&&B.id===X&&RA(B,Y)).map(([G])=>G),$=J.some((G)=>{let B=Q.oauthCredentialDomains.get(G);return B!==void 0&&EA(B,X)}),W=Q.expectedCredentialDomains.get(Y.name);if(!$||Q.sessionRemovedConfigIds.has(X)||Q.oauthCredentialDomains.has(Y.name)||W?.kind!=="domain"||W.domain!==`user:${X}`)continue;Q.equalRevisionRebindDomains.set(Y.name,W.domain);for(let G of J)Q.tokens.clearLocalCredential(G),Q.oauthCredentialDomains.delete(G),Q.credentialRevisions.delete(G),Q.hostedCredentialOwnership?.delete(G),Q.preservedCredentialIdentities?.delete(G),Q.statusFailureCategories?.delete(G),Q.authRefreshNeededReportKeys?.delete(G),Q.expectedCredentialDomains.set(G,{kind:"blocked"})}}function _A(Q){Q.dynamicallyAddedConfigIds??=new Set,Q.failedAddConfigIds??=new Set,Q.nameCollisionAddConfigIds??=new Set,Q.sessionRemovedConfigIds??=new Set,Q.registryConfigNamesById??=new Map,Q.registryCredentialConfigs??=new Map,Q.registryCredentialConfigsById??=new Map,Q.toolSearchLatched??=!1,Q.sessionMcpConfigDisabledOverrides??=new Map,Q.reconnects??=new Map,Q.missingHostRemovals??=new Map,Q.missingHostRemovalFences??=new Map,Q.reconnectDesiredGenerations??=new Map,Q.serverGenerations??=Q.hostGenerations??new Map,Q.configRevisions??=new Map,Q.configDesiredRevisions??=new Map,Q.configDesiredSources??=new Map,Q.credentialRevisions??=new Map,Q.oauthCredentialRevisions??=new Map,Q.oauthCredentialDomains??=new Map;let X=Q.equalRevisionRebindDomains===void 0;Q.equalRevisionRebindDomains??=new Map,Q.preservedCredentialIdentities??=new Map,Q.stagedOAuthCredentials??=new Map,Q.pendingRegistryCredentialDomains??=new Set,Q.registryCredentialIntents??=new Map,Q.registryCredentialIntentEpochs??=new Map,Q.registryCredentialFinalizationsByName??=new Map;for(let Y of Q.pendingRegistryCredentialDomains)if(!Q.registryCredentialIntents.has(Y)){let J=(Q.registryCredentialIntentEpochs.get(Y)??0)+1;Q.registryCredentialIntentEpochs.set(Y,J),Q.registryCredentialIntents.set(Y,{epoch:J,configFingerprint:void 0,configName:void 0,allowEqualRevisionRebind:!1,finalization:void 0})}for(let Y of Q.registryCredentialIntents.values())Y.allowEqualRevisionRebind??=!1;for(let[Y,J]of Q.stagedOAuthCredentials){let $=Q.registryCredentialIntents.get(Y);if(!$){Q.stagedOAuthCredentials.delete(Y);continue}let W=J;W.intentEpoch??=$.epoch,W.configFingerprint??=$.configFingerprint,W.requiresEqualRevisionRebind??=!1}if(Q.statusHostGeneration??=1,Q.statusReportSequence??=0,Q.statusFailureCategories??=new Map,Q.authRefreshNeededReportKeys??=new Map,Q.hostedCredentialOwnership??=new Map,X)kA(Q);if(Q.authenticationGeneration??=0,Q.authenticatingServerName??=void 0,Q.liveEditGenerations??=new Map,Q.blockedVfsMcpNames??=new Set,!Q.pluginServerHosts)Q.pluginServerHosts=new Map;Q.toolRegistrationsByPi??=new WeakMap,Q.hostLeases??=new Map,Q.hostLeaseRevisions??=new Map,Q.expectedCredentialDomains??=new Map;for(let[Y,J]of Q.servers)if(J.config!==void 0)a(Q,Y,J);Q.pluginReconcileQueue??=Promise.resolve(),Q.mcpAttachDisabled??=!1,Q.mcpAttachCloudSignaled??=!1,Q.attachResolvers??=new Map,Q.attachResultListenerBound??=!1,Q.attachmentCommandGenerations??=new Map,Q.attachmentCommandInFlightGenerations??=new Map,Q.attachmentCommandAppliedGenerations??=new Map}async function F8(Q,X){for(;;){let Y=Q.missingHostRemovals.get(X);if(!Y)return;try{await Y.promise}catch{}if(Q.missingHostRemovals.get(X)===Y)return}}function c4(Q){let{state:X,configId:Y,generation:J}=Q;X.attachmentCommandGenerations??=new Map,X.attachmentCommandInFlightGenerations??=new Map,X.attachmentCommandAppliedGenerations??=new Map;let $=X.attachmentCommandGenerations.get(Y)??0;if(typeof J!=="number"||!Number.isSafeInteger(J)||J<=0)return $===0;if(J<$)return!1;if(J===X.attachmentCommandInFlightGenerations.get(Y)||J===X.attachmentCommandAppliedGenerations.get(Y))return!1;return X.attachmentCommandGenerations.set(Y,J),X.attachmentCommandInFlightGenerations.set(Y,J),!0}function xA(Q){let{state:X,configId:Y,generation:J}=Q;if(typeof J!=="number"||J<=0)return;if(X.attachmentCommandInFlightGenerations?.get(Y)===J)X.attachmentCommandInFlightGenerations.delete(Y);if(X.attachmentCommandGenerations?.get(Y)===J)X.attachmentCommandAppliedGenerations??=new Map,X.attachmentCommandAppliedGenerations.set(Y,J)}function g3(Q){let{state:X,configId:Y,generation:J}=Q;if(typeof J==="number"&&X.attachmentCommandInFlightGenerations?.get(Y)===J)X.attachmentCommandInFlightGenerations.delete(Y)}function d4(Q){let{state:X,configId:Y,generation:J,operation:$,wasApplied:W}=Q;if(typeof J!=="number"||!Number.isSafeInteger(J)||J<=0)return $;return $.then((G)=>{if(W())xA({state:X,configId:Y,generation:J});else g3({state:X,configId:Y,generation:J});return G},(G)=>{throw g3({state:X,configId:Y,generation:J}),G})}function Y0(){let Q=globalThis;if(Q[p4])return _A(Q[p4]),Q[p4];let X={servers:new Map,toolRegistrationsByPi:new WeakMap,hostLeases:new Map,hostLeaseRevisions:new Map,expectedCredentialDomains:new Map,tokens:new q8,refreshes:new Map,reconnects:new Map,missingHostRemovals:new Map,missingHostRemovalFences:new Map,reconnectDesiredGenerations:new Map,serverGenerations:new Map,configRevisions:new Map,configDesiredRevisions:new Map,configDesiredSources:new Map,credentialRevisions:new Map,oauthCredentialRevisions:new Map,oauthCredentialDomains:new Map,equalRevisionRebindDomains:new Map,preservedCredentialIdentities:new Map,stagedOAuthCredentials:new Map,bootOAuthCredentialBuffer:new Map,pendingRegistryCredentialDomains:new Set,registryCredentialIntents:new Map,registryCredentialIntentEpochs:new Map,registryCredentialFinalizationsByName:new Map,statusHostGeneration:1,statusReportSequence:0,statusFailureCategories:new Map,authRefreshNeededReportKeys:new Map,hostedCredentialOwnership:new Map,shouldProactivelyRefreshTokens:!0,backgroundRefreshIntervalId:void 0,credsListenerBound:!1,configIdsListenerBound:!1,registryGeneration:0,liveEditGenerations:new Map,attachmentCommandGenerations:new Map,attachmentCommandInFlightGenerations:new Map,attachmentCommandAppliedGenerations:new Map,mcpConfigsListenerBound:!1,embeddedRegistryConfigs:void 0,vfsListenerBound:!1,addServerListenerBound:!1,restartServerListenerBound:!1,removeServerListenerBound:!1,mcpRestartState:new Map,vfsGeneration:0,lastSuccessfulVfsMcpSignature:void 0,blockedVfsMcpNames:new Set,credentials:void 0,secretsClient:void 0,headerSecrets:{},headerSecretsListenerBound:!1,featureFlagsListenerBound:!1,workspaceRoot:void 0,mcpConfigOverride:void 0,connectStarted:!1,reconnecting:!1,authenticating:!1,authenticationGeneration:0,authenticatingServerName:void 0,restartHistory:new Map,dynamicallyAddedConfigIds:new Set,failedAddConfigIds:new Set,nameCollisionAddConfigIds:new Set,sessionRemovedConfigIds:new Set,selectedRegistryConfigIds:void 0,registryConfigNamesById:new Map,registryCredentialConfigs:new Map,registryCredentialConfigsById:new Map,lastStatusReport:void 0,diagnostics:[],pluginServerSource:void 0,pluginServerNames:new Set,pluginServerHosts:new Map,pluginReconcileQueue:Promise.resolve(),sessionPluginDisabledOverrides:new Map,sessionRegistryDisabledOverrides:new Map,sessionMcpConfigDisabledOverrides:new Map,currentLoad:void 0,ui:void 0,featureFlags:void 0,toolSearchLatched:!1,mcpCatalog:void 0,mcpAttachDisabled:!1,mcpAttachCloudSignaled:!1,catalogRefreshInFlight:void 0,attachResolvers:new Map,attachResultListenerBound:!1};return Q[p4]=X,X}function i4(Q,X,Y,J){if(Y.includes(Q)){if(J.includes(Q))return`"${Q}" is a built-in tool, not an MCP server. Call it directly.`;return`Built-in tool "${Q}" is not available (disabled).`}return`MCP server "${Q}" is not available (status: ${X??"unknown"}).`}function yA(Q){if(Q&&typeof Q==="object"&&!Array.isArray(Q))return Q;return}function vA(Q){let X=[];for(let Y of Q)if(Y.type==="text")X.push({type:"text",text:Y.text});else X.push({type:"image",mimeType:Y.mimeType,data:Y.data});return X}function fA(Q){let X=[];for(let Y of Q)if(Y.type==="text")X.push(Y.text);return X.join(`
|
|
9
|
+
`).trim()}function E5(Q,X,Y){if(Q.isError){let $=fA(Q.content);throw Error($||`MCP tool "${X}/${Y}" reported an error`)}let J=vA(Q.content);if(J.length>0)return{content:J,details:void 0};if(Q.rawItemCount>0)throw Error(`MCP server "${X}" returned a result with no usable content (${Q.rawItemCount} content item(s), none in a recognized shape). This may indicate the server failed to produce output (e.g. missing credentials).`);return{content:[{type:"text",text:`[MCP tool "${X}/${Y}" returned no content]`}],details:void 0}}async function u3(Q){let X=Q.getHost();if(!X||X.status!=="success")throw Error(i4(Q.serverName,X?.status,Q.getAllToolNames(),Q.getActiveToolNames()));let Y=Q.map.resolve(Q.namespaced),J=yA(Q.params),$=await X.callTool(Y,J,Q.signal);return E5($,Q.serverName,Y)}var hA=/[^a-zA-Z0-9_-]/g;function k5(Q){return Q.replace(hA,"_")}function gA(Q,X){let Y=k5(X),J=k5(Q),$=`${Y}_${J}`;if($.length<=64)return $;return $.slice(0,64)}class E9{_serverName;_map=new Map;constructor(Q){this._serverName=Q}put(Q){let X=gA(this._serverName,Q),Y=this._map.get(X),J=Y!==void 0&&Y!==Q;if(Y===void 0)this._map.set(X,Q);return{namespaced:X,collision:J}}resolve(Q){let X=this._map.get(Q);if(X)return X;let Y=`_${k5(this._serverName)}`;if(Q.endsWith(Y))return Q.slice(0,Q.length-Y.length);return Q}}var _5=uA.child({prefix:"pi-mcp"});function n4(){return Y0().toolRegistrationsByPi}function l3(Q){let{pi:X,serverName:Y,tool:J,map:$,namespaced:W}=Q,G;try{G=mA.Unsafe(J.inputSchema??{})}catch(Z){_5.warn(`Skipping MCP tool "${Y}/${J.name}": invalid input schema (${Z instanceof Error?Z.message:String(Z)})`);return}let B=()=>Y0().servers.get(Y);return{name:W,label:J.name,description:J.description??"",parameters:G,execute:(Z,K,z,H,V)=>u3({serverName:Y,namespaced:W,map:$,getHost:B,getAllToolNames:()=>X.getAllTools().map((q)=>q.name),getActiveToolNames:()=>X.getActiveTools(),params:K,signal:z})}}function x5(Q,X,Y,J){if(X.ownerByToolName.get(J)!==Y)return;let $=Q.getActiveTools().includes(J);X.ownerByToolName.delete(J),Q.unregisterTool(J),lA(Q,X,J,Y,$)}function lA(Q,X,Y,J,$){let W=Y0();for(let[G,B]of X.byServer){if(B===J||!B.registeredNames.has(Y))continue;let Z=W.servers.get(G);if(Z===void 0||Z!==B.host||Z.status!=="success"||W.serverGenerations?.get(G)!==B.generation)continue;let K=new E9(G);for(let z of Z.listTools()){let{namespaced:H,collision:V}=K.put(z.name);if(V||H!==Y)continue;let q=l3({pi:Q,serverName:G,tool:z,map:K,namespaced:H});if(!q)return;if(m3(Y,"mcp"),Q.registerTool(q),X.ownerByToolName.set(Y,B),$)Q.setActiveTools([...new Set([...Q.getActiveTools(),Y])]);else Q.setActiveTools(Q.getActiveTools().filter((F)=>F!==Y));return}}}function pA(Q,X){let Y=n4(),J=Y.get(Q);if(!J)J={byServer:new Map,ownerByToolName:new Map},Y.set(Q,J);let $=Y0().serverGenerations?.get(X.name),W=J.byServer.get(X.name);if(W?.host===X&&W.generation===$)return{registration:W,replaced:!1};if(W)for(let B of W.registeredNames)x5(Q,J,W,B);let G={generation:$,host:X,map:new E9(X.name),registeredNames:new Set};return J.byServer.set(X.name,G),{registration:G,replaced:W!==void 0}}function y5(Q,X){let{registration:Y,replaced:J}=pA(Q,X),$=new Set(Y.registeredNames),W=new E9(X.name);Y.map=W,Y.registeredNames.clear();let G=X.name,B=0,Z=[];for(let z of X.listTools()){let{namespaced:H,collision:V}=W.put(z.name);if(V){let F=W.resolve(H),D=`Tool name collision detected in MCP server "${G}": "${z.name}" and "${F}" both map to "${H}". Only the first tool will be available.`,U=Y0();if(!U.diagnostics.some((P)=>P.server===G&&P.message.includes(`both map to "${H}"`)))_5.warn(D),U.diagnostics.push({server:G,message:D});continue}let q=l3({pi:Q,serverName:G,tool:z,map:W,namespaced:H});if(!q)continue;m3(H,"mcp"),Q.registerTool(q),n4().get(Q)?.ownerByToolName.set(H,Y),Y.registeredNames.add(H),Z.push(H),B+=1}let K=n4().get(Q);for(let z of $)if(!Y.registeredNames.has(z)&&K)x5(Q,K,Y,z);if(J&&Z.length>0)Q.setActiveTools([...new Set([...Q.getActiveTools(),...Z])]);if(B>0)_5.info(`Registered ${B} MCP tool(s) from server "${G}"`)}function v5(Q,X,Y){let J=n4().get(Q);if(!J)return!1;let $=J.byServer.get(X.name);if(!$||$.host!==X||$.generation!==Y)return!1;for(let W of $.registeredNames)x5(Q,J,$,W);return J.byServer.delete(X.name),!0}function p3(Q,X){for(let Y of X.servers.values())if(Y.status==="success"&&Y.config.registrySource===void 0)y5(Q,Y)}import{getToolSource as Q2}from"@augmentcode/auggie-v2";import{Type as cA}from"@sinclair/typebox";var dA="cliMcpToolSearchAutoEnable",iA="cliMcpToolSearchTokenThreshold",nA=!1,c3=20000;function oA(Q){let X=JSON.stringify({name:Q.name,description:Q.description,inputSchema:Q.inputSchema});return Math.ceil(X.length/4)}function rA(Q){let X=0;for(let Y of Q.servers.values())X+=aA(Y);return X}function aA(Q){if(Q.status!=="success")return 0;let X=new E9(Q.name),Y=0;for(let J of Q.listTools()){let{collision:$}=X.put(J.name);if($)continue;if(!sA(J.inputSchema))continue;Y+=oA(J)}return Y}function sA(Q){try{return cA.Unsafe(Q??{}),!0}catch{return!1}}function tA(Q){let Y=Q.featureFlags?.flags?.[dA];return typeof Y==="boolean"?Y:nA}function eA(Q){let Y=Q.featureFlags?.flags?.[iA];if(typeof Y==="bigint"){let J=Number(Y);if(Number.isFinite(J)&&J>0)return J;return c3}if(typeof Y==="number"&&Number.isFinite(Y)&&Y>0)return Y;return c3}function d3(Q){if(!tA(Q))return!1;return rA(Q)>=eA(Q)}var X2="AUGGIE_ENABLE_TOOL_SEARCH",Y2=new Set(["find-tool","execute-tool","attach-mcp-server"]);function L8(){return process.env[X2]==="1"}function K6(Q){if(L8())return!0;if(Q.toolSearchLatched)return!0;if(d3(Q))return Q.toolSearchLatched=!0,!0;return!1}function o4(Q){let X=Q.getActiveTools(),Y=X.filter((J)=>!J2(J)||Y2.has(J));if(Y.length!==X.length)Q.setActiveTools(Y)}function J2(Q){return Q2(Q)==="mcp"}import{setToolSource as e3}from"@augmentcode/auggie-v2";import{logger as P2}from"@hermes/logger";import{Type as QW}from"@sinclair/typebox";import{logger as $2}from"@hermes/logger";var z6={UNSPECIFIED:0,NONE:1,OAUTH:2,API_KEY:3},k9={UNSPECIFIED:0,CLI:1,CLOUD_AGENT:2};var i3=$2.child({prefix:"pi-mcp"}),W2=5000,G2=1,B2=2,Z2=new Set(["AVAILABLE","MCP_CATALOG_ENTRY_STATE_AVAILABLE"]),K2=new Set(["OPT_IN_REQUIRED","MCP_CATALOG_ENTRY_STATE_OPT_IN_REQUIRED"]);function z2(Q){if(typeof Q==="number")return Q===2||Q===3;if(typeof Q==="string"){let X=Q.toUpperCase();return X.includes("OAUTH")||X.includes("API_KEY")}return!1}function H2(Q){if(Q===G2||typeof Q==="string"&&Z2.has(Q))return"available";if(Q===B2||typeof Q==="string"&&K2.has(Q))return"opt_in_required";return"unknown"}function V2(Q){if(typeof Q.id!=="string"||Q.id.length===0)return;return{id:Q.id,name:typeof Q.name==="string"&&Q.name.length>0?Q.name:Q.id,description:typeof Q.description==="string"?Q.description:"",requiresAuth:z2(Q.auth_type),state:H2(Q.state)}}function f5(Q,X){if(Q.servers.has(X.name))return!0;for(let Y of Q.servers.values())if(Y.config?.id===X.id)return!0;return!1}function D8(Q){return(Q.mcpCatalog??[]).filter((Y)=>(Y.state==="available"||Y.state==="opt_in_required")&&!f5(Q,Y))}async function n3(Q,X,Y){let J=Q.apiUrl.replace(/\/+$/,""),$=X??fetch;try{let W=await $(`${J}/settings/get-mcp-catalog-metadata`,{method:"POST",headers:{Authorization:`Bearer ${Q.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify({product_type:k9.UNSPECIFIED}),signal:AbortSignal.timeout(Y??W2)});if(!W.ok)return i3.debug(`MCP catalog fetch failed with ${W.status}; treating catalog as empty`),{ok:!1,disable:W.status===404};let G=await W.json(),B=[];for(let Z of G.entries??[]){let K=V2(Z);if(K!==void 0)B.push(K)}return{ok:!0,entries:B}}catch(W){return i3.debug(`MCP catalog fetch failed: ${W instanceof Error?W.message:String(W)}`),{ok:!1,disable:!1}}}var q2=/[\n\r]/g,F2=/</g,L2=/>/g;function _9(Q){return Q.replace(q2," ").replace(F2,"‹").replace(L2,"›").trim()}function D2(){let Q=process.env.AUGGIE_TOOL_SEARCH_FIND_TOOL_PROMPT;return Q?.trim()?Q:`You are a tool search assistant. Given a user's query and a list of available tools, identify the single best matching tool.
|
|
10
|
+
|
|
11
|
+
<user_query>{{query}}</user_query>
|
|
12
|
+
|
|
13
|
+
Available tools on MCP server "{{server_name}}":
|
|
14
|
+
{{tool_list}}
|
|
15
|
+
|
|
16
|
+
Respond with ONLY the tool name (no markdown, no explanation).`}var U2=/\{\{(query|server_name|tool_list)\}\}/g;function o3(Q,X,Y){let J={"{{query}}":_9(Q),"{{server_name}}":_9(X),"{{tool_list}}":Y};return D2().replace(U2,($)=>J[$]??$)}function O0(Q){return{content:[{type:"text",text:Q}],details:void 0}}function r3(Q){return[...Q].sort((X,Y)=>X.name.localeCompare(Y.name))}function h5(Q){return{tool_name:Q.name,description:Q.description??"",input_schema:Q.inputSchema??{}}}function r4(Q,X,Y){let J={mcp_server:Q,tools:r3(X).map(h5),note:Y};return O0(JSON.stringify(J,null,2))}function a3(Q){return r3(Q).map((X)=>{let Y=_9(X.name),J=_9(X.description??"");return`- ${Y}: ${J}`}).join(`
|
|
17
|
+
`)}function s3(Q){let X=Q.trim();try{let Y=JSON.parse(X);if(typeof Y.tool_name==="string")return Y.tool_name}catch{}return X}import{complete as O2}from"@earendil-works/pi-ai";var M2="augment:tool-search-usage";function A2(Q){let X="";for(let Y of Q.content)if(Y.type==="text")X+=Y.text;return X.trim()}async function t3(Q,X,Y){let J=X.model;if(!J)return;let $=await X.modelRegistry.getApiKeyAndHeaders(J);if(!($.ok&&$.apiKey))return;let W={role:"user",content:[{type:"text",text:Y}],timestamp:Date.now()},G=await O2(J,{messages:[W]},{apiKey:$.apiKey,headers:$.headers,signal:X.signal}),B={model:G.model,usage:G.usage};return Q.events.emit(M2,B),A2(G)}var YW=P2.child({prefix:"pi-mcp"}),U8="find-tool",x9="execute-tool",j2=10,XW=15,N2=20,b2={type:"object",properties:{query:{type:"string",description:"Detailed description of the task you need a tool for: the action (create, read, search, delete, …), the target resource, and relevant context (field names, filters). More specific queries match better."},mcp_server:{type:"string",description:"Name of the MCP server to search."}},required:["query","mcp_server"]},w2={type:"object",properties:{mcp_server:{type:"string",description:"Name of the MCP server hosting the tool."},tool_name:{type:"string",description:"Original MCP tool name returned by find-tool."},arguments:{type:"object",description:"Arguments object to pass to the tool."}},required:["mcp_server","tool_name","arguments"]};function JW(Q,X){let Y=Y0(),J=Y.servers.get(X);if(!J||J.status!=="success"){let $=Q.getAllTools().map((Z)=>Z.name),W=Q.getActiveTools(),G=X.trim().toLowerCase(),B=D8(Y).find((Z)=>Z.id===X.trim()||Z.name.toLowerCase()===G);if(B&&!$.includes(X))throw Error(`MCP server "${B.name}" is available but not attached. Call attach-mcp-server now with config_id "${B.id}"; it attaches directly without requiring user approval.`);throw Error(i4(X,J?.status,$,W))}return J}function I2(Q){if(Q===void 0||Q===null)throw Error(`${x9} requires an "arguments" object with the tool's parameters.`);if(typeof Q!=="object"||Array.isArray(Q)){let X=Array.isArray(Q)?"an array":typeof Q;throw Error(`${x9} "arguments" must be an object, not ${X}.`)}return Q}async function C2(Q,X,Y,J,$){let W=o3(Y,J,a3($)),G=await t3(Q,X,W);if(!G)return;let B=s3(G);return $.find((Z)=>Z.name===B)}async function T2(Q,X,Y){let{query:J,mcp_server:$}=Y??{};if(typeof J!=="string"||typeof $!=="string")throw Error(`${U8} requires string "query" and "mcp_server" parameters.`);let W=JW(Q,$).listTools();if(W.length===0)throw Error(`No tools available on MCP server "${$}".`);if(W.length<=j2)return r4($,W,"All tools on this server.");try{let G=await C2(Q,X,J,$,W);if(G)return O0(JSON.stringify(h5(G),null,2));return r4($,W,"No single best match; all tools listed.")}catch(G){return YW.warn(`${U8} LLM match failed: ${G instanceof Error?G.message:String(G)}`),r4($,W,"Search failed; all tools listed.")}}async function S2(Q,X,Y){let{mcp_server:J,tool_name:$,arguments:W}=X??{};if(typeof J!=="string"||typeof $!=="string")throw Error(`${x9} requires string "mcp_server" and "tool_name" parameters.`);let G=I2(W),Z=await JW(Q,J).callTool($,G,Y);return E5(Z,J,$)}function R2(){let Q=Y0(),X=[...Q.servers.values()].filter((W)=>W.status==="success"),Y=`Search for the right MCP tool. Call with a natural-language query and the target MCP server name to get the best-matching tool, then run it with ${x9}.`,J=[];if(X.length===0)J.push(`${Y} No MCP servers are currently connected.`);else{let W=X.map((G)=>{let B=G.listTools().map((z)=>z.name),Z=B.slice(0,XW).join(", "),K=B.length>XW?", …":"";return`- ${G.name} (${B.length} tool(s): ${Z}${K})`});J.push(`${Y} Available MCP servers:
|
|
18
|
+
${W.join(`
|
|
19
|
+
`)}`)}let $=D8(Q).slice(0,N2);if($.length>0){let W=$.map((G)=>{let B=_9(G.description),Z=G.requiresAuth?" [requires auth]":"";return`- ${G.name}${B?` — ${B}`:""}${Z}`});J.push(`Available but not attached (use attach-mcp-server to enable):
|
|
20
|
+
${W.join(`
|
|
21
|
+
`)}
|
|
22
|
+
When the user's request requires one of these servers, call attach-mcp-server immediately; it attaches directly without requiring user approval.`)}return J.join(`
|
|
23
|
+
|
|
24
|
+
`)}function y9(Q){let X={name:U8,label:U8,description:R2(),parameters:QW.Unsafe(b2),execute:(J,$,W,G,B)=>T2(Q,B,$)},Y={name:x9,label:x9,description:"Execute a discovered MCP tool by its original name, using the tool_name and mcp_server returned by find-tool.",parameters:QW.Unsafe(w2),execute:(J,$,W)=>S2(Q,$,W)};e3(U8,"mcp"),e3(x9,"mcp"),Q.registerTool(X),Q.registerTool(Y),YW.debug("Registered tool-search gateway (find-tool, execute-tool)")}import{logger as hy}from"@hermes/logger";import{logger as x2}from"@hermes/logger";import{logger as E2}from"@hermes/logger";function v9(Q){return new Promise((X)=>setTimeout(X,Q))}var $W=E2.child({prefix:"pi-mcp"}),O8={maxTries:3,initialMs:500,mult:2,maxMs:2000},g5=30000,g1=200;class q1 extends Error{statusCode;statusText;responseBody;constructor(Q,X,Y){super(`${Q} ${X}: ${Y}`);this.name="McpRegistryHttpError",this.statusCode=Q,this.statusText=X,this.responseBody=Y}}function u5(Q){if(Q instanceof q1)return Q.statusCode>=500;return!0}async function f9(Q){let X;for(let Y=0;Y<O8.maxTries;Y++)try{return await Q()}catch(J){if(X=J,!u5(J))throw J;if(Y<O8.maxTries-1){let $=Math.min(O8.initialMs*O8.mult**Y,O8.maxMs);await v9($)}}throw X}class m5{apiKey;apiUrl;fetchImpl;timeoutMs;constructor(Q,X,Y){this.apiKey=Q.apiKey,this.apiUrl=Q.apiUrl.replace(/\/+$/,""),this.fetchImpl=X,this.timeoutMs=Y??g5}async callApi(Q,X){let J=await(this.fetchImpl??fetch)(`${this.apiUrl}${Q}`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"},body:X===void 0?"{}":JSON.stringify({product_type:X}),signal:AbortSignal.timeout(this.timeoutMs)});if(!J.ok){let $=await J.text().catch(()=>""),W=$.length>g1?`${$.slice(0,g1)}…[truncated]`:$;throw new q1(J.status,J.statusText,W)}return await J.json()}getMcpTenantConfigs(Q){return f9(()=>this.callApi("/settings/get-mcp-tenant-configs",Q))}getMcpUserConfigs(Q){return f9(()=>this.callApi("/settings/get-mcp-user-configs",Q))}}async function WW(Q,X){let Y=[],[J,$]=await Promise.allSettled([Q.getMcpTenantConfigs(X),Q.getMcpUserConfigs(X)]),W={},G={};if(J.status==="fulfilled")W=J.value;else{let B=`Failed to fetch tenant MCP configs: ${String(J.reason)}`;$W.warn(B),Y.push({message:B})}if($.status==="fulfilled")G=$.value;else{let B=`Failed to fetch user MCP configs: ${String($.reason)}`;$W.warn(B),Y.push({message:B})}return{tenant:W,user:G,diagnostics:Y}}function k2(Q){return Q.replace(/[^A-Za-z0-9]/g,"_").toUpperCase()}var GW=32;function _2(Q){let X=Q.toUpperCase();if(X=X.replace(/[^A-Za-z0-9]/g,"_"),X=X.replace(/_+/g,"_"),X=X.replace(/^_+|_+$/g,""),X.length>GW)X=X.slice(0,GW);return X=X.replace(/_+$/,""),X}function BW(Q,X){let Y=X?_2(X):"",J=k2(Q);if(Y)return`AUGMENT_MCP_${Y}_${J}_OAUTH_CREDENTIALS`;return`AUGMENT_MCP_${J}_OAUTH_CREDENTIALS`}function ZW(Q){let X={accessToken:Q.accessToken,refreshToken:Q.refreshToken,clientSecret:Q.clientSecret};if(Q.expiresAt!==void 0)X.expiresAt=Q.expiresAt;if(Q.resource)X.resource=Q.resource;if(Q.serverMetadata)X.serverMetadata=Q.serverMetadata;if(Q.client)X.client=Q.client;return JSON.stringify(X)}function KW(Q){let X=JSON.parse(Q);if(typeof X.accessToken!=="string")throw Error("Invalid OAuth secret: missing or invalid accessToken");return{accessToken:X.accessToken,refreshToken:typeof X.refreshToken==="string"?X.refreshToken:void 0,clientSecret:typeof X.clientSecret==="string"?X.clientSecret:void 0,expiresAt:typeof X.expiresAt==="number"?X.expiresAt:void 0,resource:typeof X.resource==="string"?X.resource:void 0,serverMetadata:X.serverMetadata&&typeof X.serverMetadata==="object"?X.serverMetadata:void 0,client:X.client&&typeof X.client==="object"?X.client:void 0}}var S1=x2.child({prefix:"pi-mcp"});class n extends Error{constructor(){super("MCP OAuth credential persistence failed");this.name="TokenPersistenceError"}}class A8 extends Error{}var HW=[100,500],y2=HW.length+1,v2=(Q)=>new Promise((X)=>{setTimeout(X,Q)});function zW(Q){return Q.replace(/[^a-zA-Z0-9_-]/g,"-")}var p5="augment.mcp-access-token.",f2=JSON.stringify({retired:!0}),a4=3;function R1(Q){return`${p5}${Q}`}function s4(Q){return`legacy:${Q}`}function u1(Q){return Q?.id?BW(Q.id,Q.name):void 0}function t4(Q){if(!Q?.id)return;return{type:Q.type??null,id:Q.id,name:Q.name??null,url:Q.url??null,auth:Q.auth??null,registrySource:Q.registrySource??null,vfsSource:Q.vfsSource??null}}function W9(Q){let X=t4(Q);return X?JSON.stringify(X):void 0}function h2(Q){if(!Q)return;return JSON.stringify({type:Q.type??null,id:Q.id??null,name:Q.name??null,url:Q.url??null,auth:Q.auth??null,registrySource:Q.registrySource??null,vfsSource:Q.vfsSource??null})}function c5(Q){if(typeof Q==="string")try{return c5(JSON.parse(Q))??Q}catch{return Q}if(typeof Q!=="object"||Q===null||Array.isArray(Q))return Q===void 0?void 0:JSON.stringify(Q);let X=Q;if(typeof X.id!=="string"||X.id.length===0)return JSON.stringify(Q);return JSON.stringify({type:X.type??null,id:X.id,name:X.name??null,url:X.url??null,auth:X.auth??null,registrySource:X.registrySource??null,vfsSource:X.vfsSource??null})}function g2(Q){if(Q.credentialState==="active"||Q.credentialState==="retired")return Q.credentialState;if(Q.retired===!0)return"retired";return}function H6(Q){try{let X=JSON.parse(Q);return{credentialIdentity:c5(X.credentialIdentity),state:g2(X)}}catch{return{}}}function M8(Q,X){let Y={...Q,type:"oauth",credentialIdentity:t4(X)};return JSON.stringify(Y)}function h9(Q,X){let Y=ZW({accessToken:Q.accessToken,refreshToken:Q.refreshToken,clientSecret:Q.client.client_secret,expiresAt:Q.expiresAt,resource:Q.resource,serverMetadata:Q.serverMetadata,client:Q.client});return JSON.stringify({...JSON.parse(Y),credentialIdentity:t4(X),credentialState:"active"})}function u2(Q){return JSON.stringify({credentialIdentity:t4(Q),credentialState:"retired",retired:!0})}function m2(Q,X){let Y;try{Y=JSON.parse(Q)}catch{return}if(typeof Y!=="object"||Y===null)return;let J=Y,$=h2(X),W=c5(J.credentialIdentity);if($&&W!==void 0&&W!==$)return;if(typeof J.accessToken!=="string"||J.accessToken.length===0||typeof J.serverMetadata!=="object"||J.serverMetadata===null||typeof J.client!=="object"||J.client===null)return;return J}function l5(Q){try{let X=KW(Q),Y=X.serverMetadata,J=X.client;if(!Y||!J||typeof X.accessToken!=="string"||X.accessToken.length===0||typeof Y.authorization_endpoint!=="string"||typeof Y.token_endpoint!=="string"||typeof J.client_id!=="string")return;let $;if(X.clientSecret)$=X.clientSecret;else if(typeof J.client_secret==="string")$=J.client_secret;return{accessToken:X.accessToken,refreshToken:X.refreshToken,expiresAt:X.expiresAt,resource:X.resource,serverMetadata:{issuer:typeof Y.issuer==="string"?Y.issuer:Y.authorization_endpoint,authorization_endpoint:Y.authorization_endpoint,token_endpoint:Y.token_endpoint},client:{client_id:J.client_id,...$?{client_secret:$}:{}}}}catch{return}}class e4{_memory=new q8;_getClient;_shouldPersist;_dirtyGenerations=new Map;_durableQueues=new Map;_registryMemoryWriteGenerations=new Map;_registryMemoryAuthorities=new Map;_registryMemoryCommittedAuthorities=new Map;_delay;_nextGeneration=0;constructor(Q,X,Y,J=v2){if(this._getClient=Q,this._shouldPersist=X,this._delay=typeof Y==="function"?Y:J,Y&&typeof Y!=="function")this._memory.seed(Y)}get(Q){return this._memory.get(Q)}commit(Q,X){this._memory.commit(Q,X),this._registryMemoryCommittedAuthorities.delete(Q)}clearLocalCredential(Q){this._memory.clearLocalCredential(Q),this._dirtyGenerations.delete(Q),this._registryMemoryCommittedAuthorities.delete(Q),this._registryMemoryWriteGenerations.set(Q,(this._registryMemoryWriteGenerations.get(Q)??0)+1),this._registryMemoryAuthorities.delete(Q)}set(Q,X,Y){if(Y?.id){let J=this._beginRegistryMemoryWrite(Q,Y);this._persist(Q,X,Y,!0,()=>{this._commitRegistryMemoryWrite(Q,X,J)}).catch(()=>{S1.error(`Failed to persist MCP OAuth token for "${Q}"; authoritative memory was not changed`)});return}this._memory.set(Q,X,Y),this._registryMemoryCommittedAuthorities.delete(Q),this._persist(Q,X,Y,!0).catch(()=>{S1.error(`Failed to persist MCP OAuth token for "${Q}"; stored in-memory only`)})}async setAndPersist(Q,X,Y){if(Y?.id){let J=this._beginRegistryMemoryWrite(Q,Y);await this._persist(Q,X,Y,!1,()=>{this._commitRegistryMemoryWrite(Q,X,J)});return}await this._persist(Q,X,Y,!1),this._memory.commit(Q,X),this._registryMemoryCommittedAuthorities.delete(Q)}_beginRegistryMemoryWrite(Q,X){let Y=W9(X);if(!Y)throw new n;let J=(this._registryMemoryWriteGenerations.get(Q)??0)+1;return this._registryMemoryWriteGenerations.set(Q,J),this._registryMemoryAuthorities.set(Q,Y),{generation:J,identity:Y,retirementGeneration:this._memory.credentialRetirementGeneration(Q)}}_commitRegistryMemoryWrite(Q,X,Y){if(this._registryMemoryWriteGenerations.get(Q)!==Y.generation||this._registryMemoryAuthorities.get(Q)!==Y.identity||this._memory.credentialRetirementGeneration(Q)!==Y.retirementGeneration)return;this._memory.commit(Q,X),this._registryMemoryCommittedAuthorities.set(Q,Y.identity)}persist(Q,X,Y){return this._persist(Q,X,Y,!1)}async captureAuthenticatedIdentityVersion(Q){let X=u1(Q),Y=W9(Q),J=this._getClient();if(!X||!Y||!J||!Q)return;try{return await this._enqueueWrite(X,()=>this._captureAuthenticatedIdentityVersion({client:J,key:X,identity:Y,registry:Q}))}catch{throw new n}}async _captureAuthenticatedIdentityVersion(Q){for(let X=0;X<a4;X+=1){let Y=await this._captureIdentityVersionAttempt(Q);if(Y!==void 0)return Y}throw new n}async _captureIdentityVersionAttempt(Q){let{client:X,key:Y,identity:J,registry:$}=Q,W=await X.getUserSecretWithVersion(Y);if(!W)return"0";let G=H6(W.value);if(G.state==="retired")return W.version;if(G.credentialIdentity!==void 0&&G.credentialIdentity!==J)throw new n;if(G.credentialIdentity===J&&G.state==="active")return W.version;let B=l5(W.value);if(!B)throw new n;try{await X.upsertUserSecret(Y,h9(B,$),W.version)}catch(Z){if(!this._isVersionConflict(Z))throw Z}return}async captureRefreshIdentityVersion(Q){let X=u1(Q),Y=W9(Q),J=this._getClient();if(!X||!Y||!J){if(Q?.id)throw new n;return}try{return await this._enqueueWrite(X,async()=>{let $=await J.getUserSecretWithVersion(X);if(!$)throw new n;let W=H6($.value);if(W.state!=="active"||W.credentialIdentity!==Y||!l5($.value))throw new n;return $.version})}catch{throw new n}}persistAuthenticated(Q,X,Y,J){return this._persistAuthenticated(Q,X,Y,J)}persistRefresh(Q,X,Y,J){return this._persistAuthenticated(Q,X,Y,J)}async _persistAuthenticated(Q,X,Y,J){let $=this._getClient(),W=u1(Y),G=Y&&W&&$&&J!==void 0?this._enqueueWrite(W,()=>$.upsertUserSecret(W,h9(X,Y),J)):void 0,B=this._shouldPersist()&&$?()=>this._writeLegacyKey(Q,X,!1,Y):void 0;if(G)return this._drainRegistryWrites(Q,G,B,void 0,Y);if(Y?.id||this._shouldPersist()&&!$)throw new n;if(B)return{revision:await this._asPersistenceResult(B()),domain:s4(Q)};return}restoreAfterSupersededRefresh(Q,X,Y,J,$){return this.restoreAfterSupersededAuthentication(Q,X,Y,J,$)}async restoreAfterSupersededAuthentication(Q,X,Y,J,$){let W=this._getClient(),G=u1(J),B;if(G&&J){if(!W||$?.domain!==`private:${J.id}`)throw new n;if(B=await this._enqueueWrite(G,()=>this._restoreRegistryCredential({client:W,key:G,persistedToken:X,currentToken:Y,registry:J,persistedRevision:$})),!B)return}if(!this._shouldPersist())return B;if(!W)throw new n;if(G&&J){try{await this._enqueueWrite(R1(Q),()=>this._restoreLegacyCredential({client:W,key:R1(Q),persistedToken:X,currentToken:Y,registry:J}))}catch{S1.error(`Failed to mirror restored MCP OAuth token for "${Q}" to the legacy key`)}return B}if($?.domain!==s4(Q))throw new n;try{return await this._enqueueWrite(R1(Q),()=>this._restoreLegacyCredentialExact({client:W,key:R1(Q),serverName:Q,persistedToken:X,currentToken:Y,registry:J,persistedRevision:$}))}catch{throw new n}}async _restoreLegacyCredentialExact(Q){let{client:X,key:Y,serverName:J,persistedToken:$,currentToken:W,registry:G,persistedRevision:B}=Q,Z=await X.getUserSecretWithVersion(Y);if(!Z||Z.version!==B.revision||Z.value!==M8($,G))return;try{return{revision:await X.upsertUserSecret(Y,M8(W,G),B.revision),domain:s4(J)}}catch(K){if(this._isVersionConflict(K))return;throw K}}async _restoreRegistryCredential(Q){let{client:X,key:Y,persistedToken:J,currentToken:$,registry:W,persistedRevision:G}=Q,B=await X.getUserSecretWithVersion(Y);if(!B||B.version!==G.revision||B.value!==h9(J,W))return;try{return{revision:await X.upsertUserSecret(Y,h9($,W),G.revision),domain:`private:${W.id}`}}catch(Z){if(this._isVersionConflict(Z))return;throw Z}}async _restoreLegacyCredential(Q){let{client:X,key:Y,persistedToken:J,currentToken:$,registry:W}=Q,G=await X.getUserSecretWithVersion(Y);if(!G||G.value!==M8(J,W))return;try{await X.upsertUserSecret(Y,M8($,W),G.version)}catch(B){if(!this._isVersionConflict(B))throw B}}async _drainRegistryWrites(Q,X,Y,J,$){let W;try{W=await X}catch{throw new n}if(J?.(),$?.id&&!W)throw new n;try{await Y?.()}catch{S1.error(`Failed to mirror MCP OAuth token for "${Q}" to the legacy key`)}return $?.id&&W?{revision:W,domain:`private:${$.id}`}:void 0}async _writeRegistryCredential(Q,X,Y,J){let $=W9(J);if(!$)throw new n;for(let W=0;W<a4;W+=1){let G=await Q.getUserSecretWithVersion(X),B=G?H6(G.value):{};if(B.state==="retired"||B.credentialIdentity!==void 0&&B.credentialIdentity!==$)throw new n;try{return await this._upsertUserSecretOnce(Q,X,h9(Y,J),G?.version??"0")}catch(Z){if(!this._isVersionConflict(Z))throw Z}}throw new n}async _retireRegistryCredential(Q,X,Y){let J=W9(Y);if(!J)throw new n;for(let $=0;$<a4;$+=1){let W=await Q.getUserSecretWithVersion(X),G=W?H6(W.value):{};if(G.state==="retired")return;if(G.credentialIdentity!==void 0&&G.credentialIdentity!==J)return;if(W&&G.credentialIdentity===void 0)throw new n;try{await this._upsertUserSecretOnce(Q,X,u2(Y),W?.version??"0");return}catch(B){if(!this._isVersionConflict(B))throw B}}throw new n}_isVersionConflict(Q){return Q instanceof q1&&(Q.statusCode===412||Q.statusCode===400&&Q.responseBody.includes("version mismatch"))}async _persist(Q,X,Y,J,$){let W=this._getClient(),G=u1(Y),B=G&&Y&&W?this._enqueueWrite(G,()=>{let K=this._getClient();if(!K)throw Error("MCP secrets client unavailable");return this._writeRegistryCredential(K,G,X,Y)},{credentialShape:"registry",operation:"write"}):void 0,Z=this._shouldPersist()&&W?()=>this._writeLegacyKey(Q,X,J,Y):void 0;if(B)return this._drainRegistryWrites(Q,B,Z,$,Y);if(Y?.id||this._shouldPersist()&&!W)throw new n;if(Z)return{revision:await this._asPersistenceResult(Z()),domain:s4(Q)};return}snapshot(){return this._memory.snapshot()}async _asPersistenceResult(Q){try{return await Q}catch{throw new n}}_enqueueWrite(Q,X,Y){let J=zW(Q),$=++this._nextGeneration;Y?.onGeneration?.($);let W=this._durableQueues.get(J),G=W??{latestGeneration:$,latestMutationGeneration:Y?$:0,tail:Promise.resolve()};if(G.latestGeneration=$,Y)G.latestMutationGeneration=$;if(!W)this._durableQueues.set(J,G);let B=()=>this._runPersistence(G,$,X,Y),Z=W?G.tail.catch(()=>{return}).then(B):B();return G.tail=Z,Z.finally(()=>{if(G.latestGeneration===$&&this._durableQueues.get(J)?.tail===Z)this._durableQueues.delete(J)}).catch(()=>{return}),Z}async _runPersistence(Q,X,Y,J){let $=J?y2:1;for(let W=0;W<$;W+=1){if(this._isLegacyPersistenceGateClosed(J))throw new A8;try{return await Y()}catch(G){this._throwIfPersistenceCanceled(Q,X,J);let B=this._persistenceRetryDelay(G,W,J);if(B===void 0)throw G;await this._delay(B)}}throw new n}_isLegacyPersistenceGateClosed(Q){return Q?.credentialShape==="legacy"&&!this._shouldPersist()}_throwIfPersistenceCanceled(Q,X,Y){if(Y!==void 0&&Q.latestMutationGeneration!==X||this._isLegacyPersistenceGateClosed(Y))throw new A8}_persistenceRetryDelay(Q,X,Y){let J=Y?HW[X]:void 0,$=!(Q instanceof n)&&u5(Q);if(J===void 0||!$){if(Y)S1.warn("MCP OAuth credential persistence exhausted retries",{attempts:X+1,credentialShape:Y.credentialShape,operation:Y.operation});return}return J}_upsertUserSecretOnce(Q,X,Y,J){if(typeof Q.upsertUserSecretOnce==="function")return Q.upsertUserSecretOnce(X,Y,J);return Q.upsertUserSecret(X,Y,J)}_deleteUserSecretOnce(Q,X){if(typeof Q.deleteUserSecretOnce==="function")return Q.deleteUserSecretOnce(X);return Q.deleteUserSecret(X)}_writeLegacyKey(Q,X,Y,J){let $=0,W=this._enqueueWrite(R1(Q),async()=>{let G=this._getClient();if(!G)throw Error("MCP secrets client unavailable");let B=await this._upsertUserSecretOnce(G,R1(Q),M8(X,J));if(this._dirtyGenerations.get(Q)===$)this._dirtyGenerations.delete(Q);return B},{credentialShape:"legacy",operation:"write",onGeneration:(G)=>{$=G,this._dirtyGenerations.set(Q,G)}});return W.catch((G)=>{if((G instanceof A8||!Y)&&this._dirtyGenerations.get(Q)===$)this._dirtyGenerations.delete(Q)}),W}retireCredential(Q,X,Y){let J=W9(X),$=this._registryMemoryCommittedAuthorities.get(Q),W=Y?.preserveNameState===!0&&($===void 0||$!==J),G=(this._registryMemoryWriteGenerations.get(Q)??0)+1;this._registryMemoryWriteGenerations.set(Q,G),this._registryMemoryAuthorities.delete(Q);let B=this._getClient(),Z=u1(X),K;if(Z&&X)if(B)K=this._enqueueWrite(Z,()=>{let V=this._getClient();if(!V)throw Error("MCP secrets client unavailable");return this._retireRegistryCredential(V,Z,X)},{credentialShape:"registry",operation:"delete"});else K=Promise.reject(new n);let z=this._shouldPersist()&&!W,H;if(z)if(B)H=this._enqueueWrite(R1(Q),async()=>{let V=await B.upsertUserSecret(R1(Q),f2)});else H=Promise.reject(new n);return this._awaitRetirements(Q,K,H).then(()=>{if(this._registryMemoryWriteGenerations.get(Q)!==G)return;if(this._memory.retireCredential(Q,X,{preserveNameState:W}),!W)this._dirtyGenerations.delete(Q),this._registryMemoryCommittedAuthorities.delete(Q)})}async _awaitRetirements(Q,X,Y){let[J,$]=await Promise.allSettled([X,Y]);if(J.status==="rejected")S1.error(`Failed to retire MCP OAuth credential identity for "${Q}" durably`);if($.status==="rejected")S1.error(`Failed to retire legacy MCP OAuth credential for "${Q}" durably`);if(J.status==="rejected")throw J.reason;if($.status==="rejected")throw $.reason}delete(Q,X){if(this._memory.delete(Q),this._memory.clearAuthRequired(Q),this._dirtyGenerations.delete(Q),this._registryMemoryWriteGenerations.set(Q,(this._registryMemoryWriteGenerations.get(Q)??0)+1),this._registryMemoryAuthorities.delete(Q),this._registryMemoryCommittedAuthorities.delete(Q),this._retireRegistryKey(X),!this._shouldPersist()){this._dirtyGenerations.delete(Q);return}let Y=R1(Q);if(!this._canScheduleDurableOperation(Y)){this._dirtyGenerations.delete(Q);return}let J=0;this._enqueueWrite(Y,async()=>{let W=this._getClient();if(!W)throw Error("MCP secrets client unavailable");await this._deleteUserSecretOnce(W,Y)},{credentialShape:"legacy",operation:"delete",onGeneration:(W)=>{J=W,this._dirtyGenerations.set(Q,W)}}).then(()=>{if(this._dirtyGenerations.get(Q)===J)this._dirtyGenerations.delete(Q)}).catch((W)=>{if(W instanceof A8&&this._dirtyGenerations.get(Q)===J)this._dirtyGenerations.delete(Q)})}_retireRegistryKey(Q){let X=u1(Q);if(!X||!Q||!this._canScheduleDurableOperation(X))return;this._enqueueWrite(X,async()=>{let Y=this._getClient();if(!Y)throw Error("MCP secrets client unavailable");await this._retireRegistryCredential(Y,X,Q)},{credentialShape:"registry",operation:"delete"}).catch(()=>{S1.error(`Failed to retire MCP OAuth registry credential "${X}" durably; cleared in-memory only`)})}_canScheduleDurableOperation(Q){return Boolean(this._getClient()??this._durableQueues.get(zW(Q)))}markAuthRequired(Q){this._memory.markAuthRequired(Q)}isAuthRequired(Q){return this._memory.isAuthRequired(Q)}clearAuthRequired(Q){this._memory.clearAuthRequired(Q)}hasInFlightWrite(Q){return this._dirtyGenerations.has(Q)}async _loadRegistryToken(Q,X){let Y=u1(X),J=W9(X);if(!Y||!J||!X)return{identityRejected:!1};try{return await this._enqueueWrite(Y,()=>this._readRegistryToken({client:Q,key:Y,expectedIdentity:J,registry:X}))}catch{return{identityRejected:!0}}}async _readRegistryToken(Q){for(let X=0;X<a4;X+=1){let Y=await this._readRegistryTokenAttempt(Q);if(Y!==void 0)return Y}return{identityRejected:!0}}async _readRegistryTokenAttempt(Q){let{client:X,key:Y,expectedIdentity:J,registry:$}=Q,W=await X.getUserSecretWithVersion(Y);if(!W)return{identityRejected:!1,authorityVersion:"0"};let G=H6(W.value);if(G.state==="retired"||G.credentialIdentity!==void 0&&G.credentialIdentity!==J)return{identityRejected:!0};let B=l5(W.value);if(!B)return{identityRejected:!0};if(G.credentialIdentity===J&&G.state==="active")return{identityRejected:!1,token:B};try{return await X.upsertUserSecret(Y,h9(B,$),W.version),{identityRejected:!1,token:B}}catch(Z){return this._isVersionConflict(Z)?void 0:{identityRejected:!0}}}async _importLegacyToken(Q,X,Y,J){let $=u1(Y),W=W9(Y);if(!$||!W||!Y||J===void 0)return;let G=await this._loadLegacyToken(Q,X,Y);if(!G)return;try{return await this._enqueueWrite($,async()=>{let B=await Q.getUserSecretWithVersion($);if((B?.version??"0")!==J)return;if(B){let Z=H6(B.value);if(Z.state==="retired"||Z.credentialIdentity!==void 0&&Z.credentialIdentity!==W)return}return await Q.upsertUserSecret($,h9(G,Y),J),G})}catch{return}}async _loadLegacyToken(Q,X,Y){try{let J=await Q.getSecret(R1(X));return J?m2(J,Y):void 0}catch{return}}async ensureLoaded(Q,X){if(this._memory.get(Q))return;if(!this._shouldPersist())return;if(this.hasInFlightWrite(Q))return;let J=this._getClient();if(!J)return;let $=this._memory.credentialRetirementGeneration(Q),W=await this._loadRegistryToken(J,X);if(W.identityRejected)return;let G=W.token;if(this._memory.get(Q)||this.hasInFlightWrite(Q)||this._memory.credentialRetirementGeneration(Q)!==$)return;if(!G){if(this._memory.isCredentialRetired(Q))return;G=X?.id?await this._importLegacyToken(J,Q,X,W.authorityVersion):await this._loadLegacyToken(J,Q,X)}if(!G){S1.debug(`Backend secret for MCP server "${Q}" is not a usable OAuth token; ignoring`);return}if(this._memory.get(Q)||this.hasInFlightWrite(Q)||this._memory.credentialRetirementGeneration(Q)!==$)return;this._memory.set(Q,G),S1.debug(`Seeded MCP OAuth token for "${Q}" from backend`)}}var VW=20000,P8=1e4,qW="Augment Code",FW="https://augmentcode.com",LW="https://storage.googleapis.com/augment-bazel-data/public/auth0/2024-10-15-auth0-augment-logo-512x512.png";var l2=1000,p2=500;function d5(Q,X=Date.now()){return Q.expiresAt!==void 0&&X+VW>=Q.expiresAt}function j8(Q,X=Date.now()){return Q.expiresAt!==void 0&&Q.expiresAt<=X}class AW extends Error{constructor(){super("OAuth token response contained no access token");Object.defineProperty(this,"name",{value:"MalformedRefreshResponseError",configurable:!0})}}function DW(Q){return new URLSearchParams({k:Q}).toString().slice(2)}function c2(Q,X){let Y=`${DW(Q)}:${DW(X)}`;return`Basic ${btoa(Y)}`}function PW(Q){let X=Q.client.client_secret;return X?.trim()?X:void 0}function d2(Q){if(Q.client.token_endpoint_auth_method==="none"||!PW(Q))return"none";return Q.client.token_endpoint_auth_method==="client_secret_basic"?"basic":"body"}function i2(Q){if(Q==="basic")return"body";return Q==="body"?"basic":void 0}function n2(Q){try{let X=JSON.parse(Q);return typeof X.error==="string"?X.error:void 0}catch{return}}var o2=401,jW=500;function i5(Q,...X){return Q.status<jW&&Q.oauthErrorCode!==void 0&&X.includes(Q.oauthErrorCode)}function UW(Q){if(i5(Q,"invalid_client","unauthorized"))return!0;return Q.oauthErrorCode===void 0&&Q.status===o2}async function OW(Q,X,Y){let J={"Content-Type":"application/x-www-form-urlencoded"},$=new URLSearchParams({grant_type:"refresh_token",refresh_token:Q.refreshToken});if(Y)$.set("resource",Y);let W=PW(Q);if(X==="basic"&&W)J.Authorization=c2(Q.client.client_id,W);else if($.set("client_id",Q.client.client_id),X==="body"&&W)$.set("client_secret",W);let G=await fetch(Q.serverMetadata.token_endpoint,{method:"POST",headers:J,body:$.toString(),signal:AbortSignal.timeout(P8)});if(!G.ok){let Z=await G.text().catch(()=>""),K=n2(Z),z=Z.slice(0,p2);throw new g9(G.status,G.statusText,z,K)}let B=await G.json();if(!B.access_token)throw new AW;return{accessToken:B.access_token,refreshToken:B.refresh_token||Q.refreshToken,expiresAt:B.expires_in?Date.now()+B.expires_in*l2:void 0,tokenType:B.token_type??Q.tokenType,scope:B.scope??Q.scope,serverMetadata:Q.serverMetadata,client:Q.client,resource:Q.resource}}async function MW(Q,X){try{return await OW(Q,X,Q.resource)}catch(Y){if(Y instanceof g9&&Q.resource&&i5(Y,"invalid_target"))return await OW(Q,X,void 0);throw Y}}class g9 extends Error{status;statusText;body;oauthErrorCode;clientAuthPlacementsExhausted;constructor(Q,X,Y,J,$=!1){super(`Token refresh failed: ${Q} ${X}${Y?` — ${Y}`:""}`);this.name="RefreshHttpError",this.status=Q,this.statusText=X,this.body=Y,this.oauthErrorCode=J,this.clientAuthPlacementsExhausted=$}withClientAuthPlacementsExhausted(){return new g9(this.status,this.statusText,this.body,this.oauthErrorCode,!0)}}function n5(Q){if(!(Q instanceof g9))return!1;if(Q.status>=jW)return!1;return i5(Q,"invalid_grant","invalid_client")||Q.clientAuthPlacementsExhausted}async function o5(Q){if(!Q.refreshToken)throw Error("No refresh token available");let X=Q,Y=d2(Q);try{return await MW(X,Y)}catch(J){let $=i2(Y);if(!(J instanceof g9)||!$||!UW(J))throw J;try{return await MW(X,$)}catch(W){if(W instanceof g9&&UW(W))throw W.withClientAuthPlacementsExhausted();throw W}}}import{logger as Yj}from"@hermes/logger";var s5;if(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))s5="oauth4webapi/v3.8.6";function q6(Q,X){if(Q==null)return!1;try{return Q instanceof X||Object.getPrototypeOf(Q)[Symbol.toStringTag]===X.prototype[Symbol.toStringTag]}catch{return!1}}var m0="ERR_INVALID_ARG_VALUE",E0="ERR_INVALID_ARG_TYPE";function s(Q,X,Y){let J=TypeError(Q,{cause:Y});return Object.assign(J,{code:X}),J}var Y7=Symbol(),r2=Symbol(),a2=Symbol(),m9=Symbol(),s2=Symbol(),NW=Symbol(),om=Symbol(),t2=new TextEncoder,e2=new TextDecoder;function G9(Q){if(typeof Q==="string")return t2.encode(Q);return e2.decode(Q)}var t5;if(Uint8Array.prototype.toBase64)t5=(Q)=>{if(Q instanceof ArrayBuffer)Q=new Uint8Array(Q);return Q.toBase64({alphabet:"base64url",omitPadding:!0})};else t5=(X)=>{if(X instanceof ArrayBuffer)X=new Uint8Array(X);let Y=[];for(let J=0;J<X.byteLength;J+=32768)Y.push(String.fromCharCode.apply(null,X.subarray(J,J+32768)));return btoa(Y.join("")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")};var e5;if(Uint8Array.fromBase64)e5=(Q)=>{try{return Uint8Array.fromBase64(Q,{alphabet:"base64url"})}catch(X){throw s("The input to be decoded is not correctly encoded.",m0,X)}};else e5=(Q)=>{try{let X=atob(Q.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"")),Y=new Uint8Array(X.length);for(let J=0;J<X.length;J++)Y[J]=X.charCodeAt(J);return Y}catch(X){throw s("The input to be decoded is not correctly encoded.",m0,X)}};function m1(Q){if(typeof Q==="string")return e5(Q);return t5(Q)}class l0 extends Error{code;constructor(Q,X){super(Q,X);this.name=this.constructor.name,this.code=lP,Error.captureStackTrace?.(this,this.constructor)}}class $Q extends Error{code;constructor(Q,X){super(Q,X);if(this.name=this.constructor.name,X?.code)this.code=X?.code;Error.captureStackTrace?.(this,this.constructor)}}function _(Q,X,Y){return new $Q(Q,{code:X,cause:Y})}async function QP(Q){let X;switch(Q.kty){case"EC":X={crv:Q.crv,kty:Q.kty,x:Q.x,y:Q.y};break;case"OKP":X={crv:Q.crv,kty:Q.kty,x:Q.x};break;case"AKP":X={alg:Q.alg,kty:Q.kty,pub:Q.pub};break;case"RSA":X={e:Q.e,kty:Q.kty,n:Q.n};break;default:throw new l0("unsupported JWK key type",{cause:Q})}return m1(await crypto.subtle.digest("SHA-256",G9(JSON.stringify(X))))}function CW(Q,X){if(!(Q instanceof CryptoKey))throw s(`${X} must be a CryptoKey`,E0)}function XP(Q,X){if(CW(Q,X),Q.type!=="private")throw s(`${X} must be a private CryptoKey`,m0)}function YP(Q,X){if(CW(Q,X),Q.type!=="public")throw s(`${X} must be a public CryptoKey`,m0)}function QQ(Q){if(Q===null||typeof Q!=="object"||Array.isArray(Q))return!1;return!0}function J7(Q){if(q6(Q,Headers))Q=Object.fromEntries(Q.entries());let X=new Headers(Q??{});if(s5&&!X.has("user-agent"))X.set("user-agent",s5);if(X.has("authorization"))throw s('"options.headers" must not include the "authorization" header name',m0);return X}function $7(Q,X){if(X!==void 0){if(typeof X==="function")X=X(Q.href);if(!(X instanceof AbortSignal))throw s('"options.signal" must return or be an instance of AbortSignal',E0);return X}return}function JP(Q){if(Q.includes("//"))return Q.replace("//","/");return Q}function $P(Q,X,Y=!1){if(Q.pathname==="/")Q.pathname=X;else Q.pathname=JP(`${X}/${Y?Q.pathname:Q.pathname.replace(/(\/)$/,"")}`);return Q}async function WP(Q,X,Y,J){if(!(Q instanceof URL))throw s(`"${X}" must be an instance of URL`,E0);vW(Q,J?.[Y7]!==!0);let $=Y(new URL(Q.href)),W=J7(J?.headers);return W.set("accept","application/json"),(J?.[m9]||fetch)($.href,{body:void 0,headers:Object.fromEntries(W.entries()),method:"GET",redirect:"manual",signal:$7($,J?.signal)})}function V6(Q,X,Y,J,$){try{if(typeof Q!=="number"||!Number.isFinite(Q))throw s(`${Y} must be a number`,E0,$);if(Q>0)return;if(X){if(Q!==0)throw s(`${Y} must be a non-negative number`,m0,$);return}throw s(`${Y} must be a positive number`,m0,$)}catch(W){if(J)throw _(W.message,J,$);throw W}}function N0(Q,X,Y,J){try{if(typeof Q!=="string")throw s(`${X} must be a string`,E0,J);if(Q.length===0)throw s(`${X} must not be empty`,m0,J)}catch($){if(Y)throw _($.message,Y,J);throw $}}async function TW(Q,X){let Y=Q;if(!(Y instanceof URL)&&Y!==JQ)throw s('"expectedIssuerIdentifier" must be an instance of URL',E0);if(!q6(X,Response))throw s('"response" must be an instance of Response',E0);if(X.status!==200)throw _('"response" is not a conform Authorization Server Metadata response (unexpected HTTP status code)',Z7,X);b8(X);let J=await FQ(X);if(N0(J.issuer,'"response" body "issuer" property',c,{body:J}),Y!==JQ&&new URL(J.issuer).href!==Y.href)throw _('"response" body "issuer" property does not match the expected value',VQ,{expected:Y.href,body:J,attribute:"issuer"});return J}function SW(Q){BP(Q,"application/json")}function GP(Q,...X){let Y='"response" content-type must be ';if(X.length>2){let J=X.pop();Y+=`${X.join(", ")}, or ${J}`}else if(X.length===2)Y+=`${X[0]} or ${X[1]}`;else Y+=X[0];return _(Y,cP,Q)}function BP(Q,X){if(CP(Q)!==X)throw GP(Q,X)}function WQ(){return m1(crypto.getRandomValues(new Uint8Array(32)))}function RW(){return WQ()}function EW(){return WQ()}function kW(){return WQ()}async function _W(Q){return N0(Q,"codeVerifier"),m1(await crypto.subtle.digest("SHA-256",G9(Q)))}function ZP(Q){switch(Q.algorithm.hash.name){case"SHA-256":return"PS256";case"SHA-384":return"PS384";case"SHA-512":return"PS512";default:throw new l0("unsupported RsaHashedKeyAlgorithm hash name",{cause:Q})}}function KP(Q){switch(Q.algorithm.hash.name){case"SHA-256":return"RS256";case"SHA-384":return"RS384";case"SHA-512":return"RS512";default:throw new l0("unsupported RsaHashedKeyAlgorithm hash name",{cause:Q})}}function zP(Q){switch(Q.algorithm.namedCurve){case"P-256":return"ES256";case"P-384":return"ES384";case"P-521":return"ES512";default:throw new l0("unsupported EcKeyAlgorithm namedCurve",{cause:Q})}}function HP(Q){switch(Q.algorithm.name){case"RSA-PSS":return ZP(Q);case"RSASSA-PKCS1-v1_5":return KP(Q);case"ECDSA":return zP(Q);case"Ed25519":case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return Q.algorithm.name;case"EdDSA":return"Ed25519";default:throw new l0("unsupported CryptoKey algorithm name",{cause:Q})}}function GQ(Q){let X=Q?.[r2];return typeof X==="number"&&Number.isFinite(X)?X:0}function W7(Q){let X=Q?.[a2];return typeof X==="number"&&Number.isFinite(X)&&Math.sign(X)!==-1?X:30}function BQ(){return Math.floor(Date.now()/1000)}function ZQ(Q){if(typeof Q!=="object"||Q===null)throw s('"as" must be an object',E0);N0(Q.issuer,'"as.issuer"')}function G7(Q){if(typeof Q!=="object"||Q===null)throw s('"client" must be an object',E0);N0(Q.client_id,'"client.client_id"')}function bW(Q){return encodeURIComponent(Q).replace(/(?:[-_.!~*'()]|%20)/g,(X)=>{switch(X){case"-":case"_":case".":case"!":case"~":case"*":case"'":case"(":case")":return`%${X.charCodeAt(0).toString(16).toUpperCase()}`;case"%20":return"+";default:throw Error()}})}function B7(Q){return N0(Q,'"clientSecret"'),(X,Y,J,$)=>{J.set("client_id",Y.client_id),J.set("client_secret",Q)}}function xW(Q){return N0(Q,'"clientSecret"'),(X,Y,J,$)=>{let W=bW(Y.client_id),G=bW(Q),B=btoa(`${W}:${G}`);$.set("authorization",`Basic ${B}`)}}function yW(){return(Q,X,Y,J)=>{Y.set("client_id",X.client_id)}}async function VP(Q,X,Y){if(!Y.usages.includes("sign"))throw s('CryptoKey instances used for signing assertions must include "sign" in their "usages"',m0);let J=`${m1(G9(JSON.stringify(Q)))}.${m1(G9(JSON.stringify(X)))}`,$=m1(await crypto.subtle.sign(aP(Y),Y,G9(J)));return`${J}.${$}`}var Q7;async function qP(Q,X){let{kty:Y,e:J,n:$,x:W,y:G,crv:B,pub:Z}=await crypto.subtle.exportKey("jwk",Q),K={kty:Y,e:J,n:$,x:W,y:G,crv:B,pub:Z};if(Y==="AKP")K.alg=X;return Q7.set(Q,K),K}async function FP(Q,X){return Q7||=new WeakMap,Q7.get(Q)||qP(Q,X)}var LP=URL.parse?(Q,X)=>URL.parse(Q,X):(Q,X)=>{try{return new URL(Q,X)}catch{return null}};function vW(Q,X){if(X&&Q.protocol!=="https:")throw _("only requests to HTTPS are allowed",dP,Q);if(Q.protocol!=="https:"&&Q.protocol!=="http:")throw _("only HTTP and HTTPS requests are allowed",iP,Q)}function wW(Q,X,Y,J){let $;if(typeof Q!=="string"||!($=LP(Q)))throw _(`authorization server metadata does not contain a valid ${Y?`"as.mtls_endpoint_aliases.${X}"`:`"as.${X}"`}`,Q===void 0?nP:oP,{attribute:Y?`mtls_endpoint_aliases.${X}`:X});return vW($,J),$}function fW(Q,X,Y,J){if(Y&&Q.mtls_endpoint_aliases&&X in Q.mtls_endpoint_aliases)return wW(Q.mtls_endpoint_aliases[X],X,Y,J);return wW(Q[X],X,Y,J)}class DP{#X;#Y;#J;#W;#G;#Q;#$;constructor(Q,X,Y){if(XP(X?.privateKey,'"DPoP.privateKey"'),YP(X?.publicKey,'"DPoP.publicKey"'),!X.publicKey.extractable)throw s('"DPoP.publicKey.extractable" must be true',m0);this.#G=Y?.[s2],this.#W=GQ(Q),this.#Y=X.privateKey,this.#J=X.publicKey,HQ.add(this)}#B(Q){this.#Q||=new Map;let X=this.#Q.get(Q);if(X)this.#Q.delete(Q),this.#Q.set(Q,X);return X}#Z(Q,X){if(this.#Q||=new Map,this.#Q.delete(Q),this.#Q.size===100)this.#Q.delete(this.#Q.keys().next().value);this.#Q.set(Q,X)}async calculateThumbprint(){if(!this.#$){let Q=await crypto.subtle.exportKey("jwk",this.#J);this.#$||=await QP(Q)}return this.#$}async addProof(Q,X,Y,J){let $=HP(this.#Y);this.#X||={alg:$,typ:"dpop+jwt",jwk:await FP(this.#J,$)};let W=this.#B(Q.origin),B={iat:BQ()+this.#W,jti:WQ(),htm:Y,nonce:W,htu:`${Q.origin}${Q.pathname}`,ath:J?m1(await crypto.subtle.digest("SHA-256",G9(J))):void 0};this.#G?.(this.#X,B),X.set("dpop",await VP(this.#X,B,this.#Y))}cacheNonce(Q,X){try{let Y=Q.headers.get("dpop-nonce");if(Y)this.#Z(X.origin,Y)}catch{}}}class N8 extends Error{cause;code;error;status;error_description;response;constructor(Q,X){super(Q,X);this.name=this.constructor.name,this.code=mP,this.cause=X.cause,this.error=X.cause.error,this.status=X.response.status,this.error_description=X.cause.error_description,Object.defineProperty(this,"response",{enumerable:!1,value:X.response}),Error.captureStackTrace?.(this,this.constructor)}}class KQ extends Error{cause;code;error;error_description;constructor(Q,X){super(Q,X);this.name=this.constructor.name,this.code=pP,this.cause=X.cause,this.error=X.cause.get("error"),this.error_description=X.cause.get("error_description")??void 0,Error.captureStackTrace?.(this,this.constructor)}}class zQ extends Error{cause;code;response;status;constructor(Q,X){super(Q,X);this.name=this.constructor.name,this.code=uP,this.cause=X.cause,this.status=X.response.status,this.response=X.response,Object.defineProperty(this,"response",{enumerable:!1}),Error.captureStackTrace?.(this,this.constructor)}}var XQ="[a-zA-Z0-9!#$%&\\'\\*\\+\\-\\.\\^_`\\|~]+",UP="[a-zA-Z0-9\\-\\._\\~\\+\\/]+={0,2}",OP='"((?:[^"\\\\]|\\\\[\\s\\S])*)"',MP="("+XQ+")\\s*=\\s*"+OP,AP="("+XQ+")\\s*=\\s*("+XQ+")",PP=new RegExp("^[,\\s]*("+XQ+")"),jP=new RegExp("^[,\\s]*"+MP+"[,\\s]*(.*)"),NP=new RegExp("^[,\\s]*"+AP+"[,\\s]*(.*)"),bP=new RegExp("^("+UP+")(?:$|[,\\s])(.*)");function wP(Q){if(!q6(Q,Response))throw s('"response" must be an instance of Response',E0);let X=Q.headers.get("www-authenticate");if(X===null)return;let Y=[],J=X;while(J){let $=J.match(PP),W=$?.["1"].toLowerCase();if(!W)return;let G=J.substring($[0].length);if(G&&!G.match(/^[\s,]/))return;let B=G.match(/^\s+(.*)$/),Z=!!B;J=B?B[1]:void 0;let K={},z;if(Z)while(J){let V,q;if($=J.match(jP)){if([,V,q,J]=$,q.includes("\\"))try{q=JSON.parse(`"${q}"`)}catch{}K[V.toLowerCase()]=q;continue}if($=J.match(NP)){[,V,q,J]=$,K[V.toLowerCase()]=q;continue}if($=J.match(bP)){if(Object.keys(K).length)break;[,z,J]=$;break}return}else J=G||void 0;let H={scheme:W,parameters:K};if(z)H.token68=z;Y.push(H)}if(!Y.length)return;return Y}async function IP(Q){if(Q.status>399&&Q.status<500){b8(Q),SW(Q);try{let X=await Q.clone().json();if(QQ(X)&&typeof X.error==="string"&&X.error.length)return X}catch{}}return}async function hW(Q,X,Y){if(Q.status!==X){EP(Q);let J;if(J=await IP(Q))throw await Q.body?.cancel(),new N8("server responded with an error in the response body",{cause:J,response:Q});throw _(`"response" is not a conform ${Y} response (unexpected HTTP status code)`,Z7,Q)}}function gW(Q){if(!HQ.has(Q))throw s('"options.DPoP" is not a valid DPoPHandle',m0)}var rm=Symbol();function CP(Q){return Q.headers.get("content-type")?.split(";")[0]}async function TP(Q,X,Y,J,$,W,G){return await Y(Q,X,$,W),W.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),(G?.[m9]||fetch)(J.href,{body:$,headers:Object.fromEntries(W.entries()),method:"POST",redirect:"manual",signal:$7(J,G?.signal)})}async function SP(Q,X,Y,J,$,W){let G=fW(Q,"token_endpoint",X.use_mtls_endpoint_aliases,W?.[Y7]!==!0);$.set("grant_type",J);let B=J7(W?.headers);if(B.set("accept","application/json"),W?.DPoP!==void 0)gW(W.DPoP),await W.DPoP.addProof(G,B,"POST");let Z=await TP(Q,X,Y,G,$,B,W);return W?.DPoP?.cacheNonce(Z,G),Z}var uW=new WeakMap,RP=new WeakMap;function mW(Q){if(!Q.id_token)return;let X=uW.get(Q);if(!X)throw s('"ref" was already garbage collected or did not resolve from the proper sources',m0);return X}async function lW(Q,X,Y,J,$,W){if(ZQ(Q),G7(X),!q6(Y,Response))throw s('"response" must be an instance of Response',E0);await hW(Y,200,"Token Endpoint"),b8(Y);let G=await FQ(Y);if(N0(G.access_token,'"response" body "access_token" property',c,{body:G}),N0(G.token_type,'"response" body "token_type" property',c,{body:G}),G.token_type=G.token_type.toLowerCase(),G.expires_in!==void 0){let B=typeof G.expires_in!=="number"?parseFloat(G.expires_in):G.expires_in;V6(B,!0,'"response" body "expires_in" property',c,{body:G}),G.expires_in=B}if(G.refresh_token!==void 0)N0(G.refresh_token,'"response" body "refresh_token" property',c,{body:G});if(G.scope!==void 0&&typeof G.scope!=="string")throw _('"response" body "scope" property must be a string',c,{body:G});if(G.id_token!==void 0){N0(G.id_token,'"response" body "id_token" property',c,{body:G});let B=["aud","exp","iat","iss","sub"];if(X.require_auth_time===!0)B.push("auth_time");if(X.default_max_age!==void 0)V6(X.default_max_age,!0,'"client.default_max_age"'),B.push("auth_time");if(J?.length)B.push(...J);let{claims:Z,jwt:K}=await sP(G.id_token,tP.bind(void 0,X.id_token_signed_response_alg,Q.id_token_signing_alg_values_supported,"RS256"),GQ(X),W7(X),$).then(fP.bind(void 0,B)).then(_P.bind(void 0,Q)).then(kP.bind(void 0,X.client_id));if(Array.isArray(Z.aud)&&Z.aud.length!==1){if(Z.azp===void 0)throw _('ID Token "aud" (audience) claim includes additional untrusted audiences',B9,{claims:Z,claim:"aud"});if(Z.azp!==X.client_id)throw _('unexpected ID Token "azp" (authorized party) claim value',B9,{expected:X.client_id,claims:Z,claim:"azp"})}if(Z.auth_time!==void 0)V6(Z.auth_time,!0,'ID Token "auth_time" (authentication time)',c,{claims:Z});RP.set(Y,K),uW.set(G,Z)}if(W?.[G.token_type]!==void 0)W[G.token_type](Y,G);else if(G.token_type!=="dpop"&&G.token_type!=="bearer")throw new l0("unsupported `token_type` value",{cause:{body:G}});return G}function EP(Q){let X;if(X=wP(Q))throw new zQ("server responded with a challenge in the WWW-Authenticate HTTP Header",{cause:X,response:Q})}function kP(Q,X){if(Array.isArray(X.claims.aud)){if(!X.claims.aud.includes(Q))throw _('unexpected JWT "aud" (audience) claim value',B9,{expected:Q,claims:X.claims,claim:"aud"})}else if(X.claims.aud!==Q)throw _('unexpected JWT "aud" (audience) claim value',B9,{expected:Q,claims:X.claims,claim:"aud"});return X}function _P(Q,X){let Y=Q[Xj]?.(X)??Q.issuer;if(X.claims.iss!==Y)throw _('unexpected JWT "iss" (issuer) claim value',B9,{expected:Y,claims:X.claims,claim:"iss"});return X}var HQ=new WeakSet;function xP(Q){return HQ.add(Q),Q}var yP=Symbol();async function pW(Q,X,Y,J,$,W,G){if(ZQ(Q),G7(X),!HQ.has(J))throw s('"callbackParameters" must be an instance of URLSearchParams obtained from "validateAuthResponse()", or "validateJwtAuthResponse()',m0);N0($,'"redirectUri"');let B=u9(J,"code");if(!B)throw _('no authorization code in "callbackParameters"',c);let Z=new URLSearchParams(G?.additionalParameters);if(Z.set("redirect_uri",$),Z.set("code",B),W!==yP)N0(W,'"codeVerifier"'),Z.set("code_verifier",W);return SP(Q,X,Y,"authorization_code",Z,G)}var vP={aud:"audience",c_hash:"code hash",client_id:"client id",exp:"expiration time",iat:"issued at",iss:"issuer",jti:"jwt id",nonce:"nonce",s_hash:"state hash",sub:"subject",ath:"access token hash",htm:"http method",htu:"http uri",cnf:"confirmation",auth_time:"authentication time"};function fP(Q,X){for(let Y of Q)if(X.claims[Y]===void 0)throw _(`JWT "${Y}" (${vP[Y]}) claim missing`,c,{claims:X.claims});return X}var r5=Symbol(),a5=Symbol();async function cW(Q,X,Y,J){if(typeof J?.expectedNonce==="string"||typeof J?.maxAge==="number"||J?.requireIdToken)return hP(Q,X,Y,J.expectedNonce,J.maxAge,J[NW],J.recognizedTokenTypes);return gP(Q,X,Y,J?.[NW],J?.recognizedTokenTypes)}async function hP(Q,X,Y,J,$,W,G){let B=[];switch(J){case void 0:J=r5;break;case r5:break;default:N0(J,'"expectedNonce" argument'),B.push("nonce")}switch($??=X.default_max_age,$){case void 0:$=a5;break;case a5:break;default:V6($,!0,'"maxAge" argument'),B.push("auth_time")}let Z=await lW(Q,X,Y,B,W,G);N0(Z.id_token,'"response" body "id_token" property',c,{body:Z});let K=mW(Z);if($!==a5){let z=BQ()+GQ(X),H=W7(X);if(K.auth_time+$<z-H)throw _("too much time has elapsed since the last End-User authentication",YQ,{claims:K,now:z,tolerance:H,claim:"auth_time"})}if(J===r5){if(K.nonce!==void 0)throw _('unexpected ID Token "nonce" claim value',B9,{expected:void 0,claims:K,claim:"nonce"})}else if(K.nonce!==J)throw _('unexpected ID Token "nonce" claim value',B9,{expected:J,claims:K,claim:"nonce"});return Z}async function gP(Q,X,Y,J,$){let W=await lW(Q,X,Y,void 0,J,$),G=mW(W);if(G){if(X.default_max_age!==void 0){V6(X.default_max_age,!0,'"client.default_max_age"');let B=BQ()+GQ(X),Z=W7(X);if(G.auth_time+X.default_max_age<B-Z)throw _("too much time has elapsed since the last End-User authentication",YQ,{claims:G,now:B,tolerance:Z,claim:"auth_time"})}if(G.nonce!==void 0)throw _('unexpected ID Token "nonce" claim value',B9,{expected:void 0,claims:G,claim:"nonce"})}return W}var uP="OAUTH_WWW_AUTHENTICATE_CHALLENGE",mP="OAUTH_RESPONSE_BODY_ERROR",lP="OAUTH_UNSUPPORTED_OPERATION",pP="OAUTH_AUTHORIZATION_RESPONSE_ERROR";var X7="OAUTH_PARSE_ERROR",c="OAUTH_INVALID_RESPONSE";var cP="OAUTH_RESPONSE_IS_NOT_JSON",Z7="OAUTH_RESPONSE_IS_NOT_CONFORM",dP="OAUTH_HTTP_REQUEST_FORBIDDEN",iP="OAUTH_REQUEST_PROTOCOL_FORBIDDEN",YQ="OAUTH_JWT_TIMESTAMP_CHECK_FAILED",B9="OAUTH_JWT_CLAIM_COMPARISON_FAILED",VQ="OAUTH_JSON_ATTRIBUTE_COMPARISON_FAILED";var nP="OAUTH_MISSING_SERVER_METADATA",oP="OAUTH_INVALID_SERVER_METADATA";function b8(Q){if(Q.bodyUsed)throw s('"response" body has been used already',m0)}function IW(Q){let{algorithm:X}=Q;if(typeof X.modulusLength!=="number"||X.modulusLength<2048)throw new l0(`unsupported ${X.name} modulusLength`,{cause:Q})}function rP(Q){let{algorithm:X}=Q;switch(X.namedCurve){case"P-256":return"SHA-256";case"P-384":return"SHA-384";case"P-521":return"SHA-512";default:throw new l0("unsupported ECDSA namedCurve",{cause:Q})}}function aP(Q){switch(Q.algorithm.name){case"ECDSA":return{name:Q.algorithm.name,hash:rP(Q)};case"RSA-PSS":switch(IW(Q),Q.algorithm.hash.name){case"SHA-256":case"SHA-384":case"SHA-512":return{name:Q.algorithm.name,saltLength:parseInt(Q.algorithm.hash.name.slice(-3),10)>>3};default:throw new l0("unsupported RSA-PSS hash name",{cause:Q})}case"RSASSA-PKCS1-v1_5":return IW(Q),Q.algorithm.name;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":case"Ed25519":return Q.algorithm.name}throw new l0("unsupported CryptoKey algorithm name",{cause:Q})}async function sP(Q,X,Y,J,$){let{0:W,1:G,length:B}=Q.split(".");if(B===5)if($!==void 0)Q=await $(Q),{0:W,1:G,length:B}=Q.split(".");else throw new l0("JWE decryption is not configured",{cause:Q});if(B!==3)throw _("Invalid JWT",c,Q);let Z;try{Z=JSON.parse(G9(m1(W)))}catch(H){throw _("failed to parse JWT Header body as base64url encoded JSON",X7,H)}if(!QQ(Z))throw _("JWT Header must be a top level object",c,Q);if(X(Z),Z.crit!==void 0)throw new l0('no JWT "crit" header parameter extensions are supported',{cause:{header:Z}});let K;try{K=JSON.parse(G9(m1(G)))}catch(H){throw _("failed to parse JWT Payload body as base64url encoded JSON",X7,H)}if(!QQ(K))throw _("JWT Payload must be a top level object",c,Q);let z=BQ()+Y;if(K.exp!==void 0){if(typeof K.exp!=="number")throw _('unexpected JWT "exp" (expiration time) claim type',c,{claims:K});if(K.exp<=z-J)throw _('unexpected JWT "exp" (expiration time) claim value, expiration is past current timestamp',YQ,{claims:K,now:z,tolerance:J,claim:"exp"})}if(K.iat!==void 0){if(typeof K.iat!=="number")throw _('unexpected JWT "iat" (issued at) claim type',c,{claims:K})}if(K.iss!==void 0){if(typeof K.iss!=="string")throw _('unexpected JWT "iss" (issuer) claim type',c,{claims:K})}if(K.nbf!==void 0){if(typeof K.nbf!=="number")throw _('unexpected JWT "nbf" (not before) claim type',c,{claims:K});if(K.nbf>z+J)throw _('unexpected JWT "nbf" (not before) claim value',YQ,{claims:K,now:z,tolerance:J,claim:"nbf"})}if(K.aud!==void 0){if(typeof K.aud!=="string"&&!Array.isArray(K.aud))throw _('unexpected JWT "aud" (audience) claim type',c,{claims:K})}return{header:Z,claims:K,jwt:Q}}function tP(Q,X,Y,J){if(Q!==void 0){if(typeof Q==="string"?J.alg!==Q:!Q.includes(J.alg))throw _('unexpected JWT "alg" header parameter',c,{header:J,expected:Q,reason:"client configuration"});return}if(Array.isArray(X)){if(!X.includes(J.alg))throw _('unexpected JWT "alg" header parameter',c,{header:J,expected:X,reason:"authorization server metadata"});return}if(Y!==void 0){if(typeof Y==="string"?J.alg!==Y:typeof Y==="function"?!Y(J.alg):!Y.includes(J.alg))throw _('unexpected JWT "alg" header parameter',c,{header:J,expected:Y,reason:"default value"});return}throw _('missing client or server configuration to verify used JWT "alg" header parameter',void 0,{client:Q,issuer:X,fallback:Y})}function u9(Q,X){let{0:Y,length:J}=Q.getAll(X);if(J>1)throw _(`"${X}" parameter must be provided only once`,c);return Y}var eP=Symbol(),Qj=Symbol();function dW(Q,X,Y,J){if(ZQ(Q),G7(X),Y instanceof URL)Y=Y.searchParams;if(!(Y instanceof URLSearchParams))throw s('"parameters" must be an instance of URLSearchParams, or URL',E0);if(u9(Y,"response"))throw _('"parameters" contains a JARM response, use validateJwtAuthResponse() instead of validateAuthResponse()',c,{parameters:Y});let $=u9(Y,"iss"),W=u9(Y,"state");if(!$&&Q.authorization_response_iss_parameter_supported)throw _('response parameter "iss" (issuer) missing',c,{parameters:Y});if($&&$!==Q.issuer)throw _('unexpected "iss" (issuer) response parameter value',c,{expected:Q.issuer,parameters:Y});switch(J){case void 0:case Qj:if(W!==void 0)throw _('unexpected "state" response parameter encountered',c,{expected:void 0,parameters:Y});break;case eP:break;default:if(N0(J,'"expectedState" argument'),W!==J)throw _(W===void 0?'response parameter "state" missing':'unexpected "state" response parameter value',c,{expected:J,parameters:Y})}if(u9(Y,"error"))throw new KQ("authorization response from the server is an error",{cause:Y});let B=u9(Y,"id_token"),Z=u9(Y,"token");if(B!==void 0||Z!==void 0)throw new l0("implicit and hybrid flows are not supported");return xP(new URLSearchParams(Y))}async function iW(Q,X,Y){ZQ(Q);let J=fW(Q,"registration_endpoint",X.use_mtls_endpoint_aliases,Y?.[Y7]!==!0),$=J7(Y?.headers);$.set("accept","application/json"),$.set("content-type","application/json");let W="POST";if(Y?.DPoP)gW(Y.DPoP),await Y.DPoP.addProof(J,$,W,Y.initialAccessToken);if(Y?.initialAccessToken)$.set("authorization",`${$.has("dpop")?"DPoP":"Bearer"} ${Y.initialAccessToken}`);let G=await(Y?.[m9]||fetch)(J.href,{body:JSON.stringify(X),headers:Object.fromEntries($.entries()),method:W,redirect:"manual",signal:$7(J,Y?.signal)});return Y?.DPoP?.cacheNonce(G,J),G}async function nW(Q){if(!q6(Q,Response))throw s('"response" must be an instance of Response',E0);await hW(Q,201,"Dynamic Client Registration Endpoint"),b8(Q);let X=await FQ(Q);if(N0(X.client_id,'"response" body "client_id" property',c,{body:X}),X.client_secret!==void 0)N0(X.client_secret,'"response" body "client_secret" property',c,{body:X});if(X.client_secret)V6(X.client_secret_expires_at,!0,'"response" body "client_secret_expires_at" property',c,{body:X});return X}async function oW(Q,X){return WP(Q,"resourceIdentifier",(Y)=>{return $P(Y,".well-known/oauth-protected-resource",!0),Y},X)}async function qQ(Q,X){let Y=Q;if(!(Y instanceof URL)&&Y!==JQ)throw s('"expectedResourceIdentifier" must be an instance of URL',E0);if(!q6(X,Response))throw s('"response" must be an instance of Response',E0);if(X.status!==200)throw _('"response" is not a conform Resource Server Metadata response (unexpected HTTP status code)',Z7,X);b8(X);let J=await FQ(X);if(N0(J.resource,'"response" body "resource" property',c,{body:J}),Y!==JQ&&new URL(J.resource).href!==Y.href)throw _('"response" body "resource" property does not match the expected value',VQ,{expected:Y.href,body:J,attribute:"resource"});return J}async function FQ(Q,X=SW){let Y;try{Y=await Q.json()}catch(J){throw X(Q),_('failed to parse "response" body as JSON',X7,J)}if(!QQ(Y))throw _('"response" body must be a top level object',c,{body:Y});return Y}var JQ=Symbol(),Xj=Symbol();var sW=Yj.child({prefix:"pi-mcp"}),w8=P8,Jj=1000,$j=401,rW=200,Wj=/(?:^|[\s,])resource_metadata\s*=\s*"([^"]+)"/,Gj=/(?:^|[\s,])resource_metadata\s*=\s*([^,\s]+)/,tW;function F6(){return tW??globalThis.fetch}function eW(Q){let X=AbortSignal.timeout(P8),Y=Q?.signal?AbortSignal.any([Q.signal,X]):X;return{...Q,signal:Y}}function QG(Q){let X=new URL(Q.href);return X.search="",X.hash="",X}async function K7(Q){let X=QG(Q);try{let Y=await Bj(X),J=Y?.authorization_servers?.map(($)=>new URL($))??[X];for(let $ of J){let W=await Vj($);if(W)return Object.assign(W,{resourceScopes:Y?.scopes_supported,resourceIdentifier:Y?.resource})}}catch(Y){throw LQ(Y)}throw Error("Failed to discover metadata URL")}async function Bj(Q){try{let X=await oW(Q,{signal:AbortSignal.timeout(w8),[m9]:tW??void 0});if(!X.ok)return X.body?.cancel().catch(()=>{}),await XG(Q,X.headers.get("www-authenticate"))??await aW(Q);return await qQ(Q,X)}catch{return await aW(Q)}}async function aW(Q){for(let X of["HEAD","GET"])try{let Y=await F6()(Q,{method:X,signal:AbortSignal.timeout(w8)});Y.body?.cancel().catch(()=>{});let J=await XG(Q,Y.headers.get("www-authenticate"));if(J)return J}catch{}return}async function XG(Q,X){let Y=Hj(X);if(!Y)return;try{let J=await F6()(Y,{signal:AbortSignal.timeout(w8)});return await Zj(Q,J)}catch{return}}async function Zj(Q,X){let Y=await X.text(),J={status:X.status,statusText:X.statusText,headers:X.headers};try{return await qQ(Q,new Response(Y,J))}catch($){if(!($ instanceof $Q)||$.code!==VQ)throw $;let W=Kj(Y);if(!W||!zj(W,Q))throw $;return await qQ(W,new Response(Y,J))}}function Kj(Q){try{let X=JSON.parse(Q);if(typeof X.resource!=="string")return;return new URL(X.resource)}catch{return}}function zj(Q,X){if(Q.origin!==X.origin)return!1;let Y=Q.pathname.replace(/\/+$/,""),J=X.pathname.replace(/\/+$/,"");return Y===J||J.startsWith(`${Y}/`)}function Hj(Q){if(!Q)return;let X=Q.match(Wj),Y=Q.match(Gj),J=X?.[1]??Y?.[1];if(!J)return;try{return new URL(J)}catch{return}}async function Vj(Q){for(let X of qj(Q))try{let Y=new URL(X,Q),J=await F6()(Y,{signal:AbortSignal.timeout(w8)});if(J.body?.cancel().catch(()=>{}),!J.ok)continue;return Y}catch{}return}function qj(Q){let X=Q.pathname.startsWith("/")?Q.pathname.slice(1):Q.pathname;return[...X.length>0?[new URL(`/.well-known/oauth-authorization-server/${X}`,Q),new URL(`/.well-known/openid-configuration/${X}`,Q),new URL(`/${X}/.well-known/openid-configuration`,Q)]:[],new URL("/.well-known/oauth-authorization-server",Q),new URL("/.well-known/openid-configuration",Q)]}async function z7(Q){try{let X=await F6()(Q,{signal:AbortSignal.timeout(w8)}),Y=await X.text(),J={status:X.status,statusText:X.statusText,headers:X.headers},$=await Fj(new Response(Y,J));if(!$)throw Error("Missing issuer from discovery response");return await TW($,new Response(Y,J))}catch(X){throw LQ(X)}}async function Fj(Q){if(!Q.ok)throw Error("Invalid status code from discovery response");let X=await Q.json();if(!X.issuer||typeof X.issuer!=="string")throw Error("Invalid issuer from discovery response");return new URL(X.issuer)}class YG extends Error{issuer;constructor(Q){super(`This MCP server's authorization server (\`${Q}\`) does not support Dynamic Client Registration. Configure a static OAuth Client ID and Secret in the Advanced section.`);this.name="McpOAuthDcrUnsupportedError",this.issuer=Q}}function Lj(Q){if(!Q.clientId)throw Error("clientId is required to build client from config");let X=Q.clientSecret?.trim();return{client_id:Q.clientId,...X?{client_secret:X}:{}}}async function H7({config:Q,serverMetadata:X,redirectUris:Y}){let J=Q.clientId?.trim(),$=Q.clientSecret?.trim();if(!!J&&(!!$||!X.registration_endpoint))return Lj({...Q,clientId:J});if(!X.registration_endpoint)throw new YG(X.issuer);return await Dj(X,Y)}async function Dj(Q,X){try{let Y=Q.token_endpoint_auth_methods_supported?.includes("none")??!1,J=await iW(Q,{client_name:qW,client_uri:FW,logo_uri:LW,redirect_uris:X,grant_types:["authorization_code","refresh_token"],response_types:["code"],...Y?{token_endpoint_auth_method:"none"}:{}},{[m9]:Uj});if(!J.ok)sW.error(`Dynamic client registration failed with HTTP status ${J.status} (${J.statusText})`);return await nW(J)}catch(Y){throw LQ(Y)}}async function Uj(Q,X){let Y=await F6()(Q,eW(X)),J=await Y.text(),$={status:Y.status,statusText:Y.statusText,headers:Y.headers};if(!Y.ok)sW.error(`Dynamic client registration error response body (HTTP ${Y.status} ${Y.statusText}): ${Mj(J)}`);if(Y.status===200)$.status=201,$.statusText="Created";if($.status===201)try{let W=JSON.parse(J);if(!W.client_secret_expires_at)W.client_secret_expires_at=0;if("client_secret"in W&&!W.client_secret)W.client_secret=void 0;J=JSON.stringify(W)}catch{}return new Response(J,$)}function Oj(Q,X){let Y=new Headers(X?.headers),J=Y.get("content-type"),$=X;if(J?.toLowerCase().startsWith("application/x-www-form-urlencoded;"))Y.set("content-type","application/x-www-form-urlencoded"),$={...X,headers:Y};return F6()(Q,eW($))}function Mj(Q){try{let X=JSON.parse(Q);for(let Y of Object.keys(X))if(/secret|token/i.test(Y))X[Y]="[REDACTED]";return JSON.stringify(X)}catch{return Q.length>rW?`${Q.slice(0,rW)}…`:Q}}async function V7(Q,X,Y,J,$,W){if(!Y.authorization_endpoint)throw Error("No authorization endpoint");let G=RW(),B=await _W(G),Z=EW(),K,z=($??Y.scopes_supported?.join(" "))?.split(/\s+/).filter(Boolean).join(" ")||void 0,H=QG(W??Q).toString(),V=new URL(Y.authorization_endpoint);if(V.searchParams.set("response_type","code"),V.searchParams.set("client_id",X.client_id),V.searchParams.set("code_challenge",B),V.searchParams.set("code_challenge_method","S256"),V.searchParams.set("redirect_uri",J),V.searchParams.set("resource",H),V.searchParams.set("state",Z),z)V.searchParams.set("scope",z);if(!Y.code_challenge_methods_supported?.includes("S256"))K=kW(),V.searchParams.set("nonce",K);return{client:X,serverMetadata:Y,redirectUri:J,codeVerifier:G,nonce:K,scope:z,state:Z,resource:H,authUri:V}}async function Aj(Q,X,Y){let J=await pW(Q.serverMetadata,Q.client,Y,X,Q.redirectUri,Q.codeVerifier,{[m9]:Oj,...Q.resource?{additionalParameters:{resource:Q.resource}}:{}});return cW(Q.serverMetadata,Q.client,await Pj(J))}async function q7(Q,X){try{let Y=dW(X.serverMetadata,X.client,Q,X.state),J=await Nj(X.client,($)=>Aj(X,Y,$));return Ij(J,X.serverMetadata,X.client,void 0,X.resource)}catch(Y){throw LQ(Y)}}async function Pj(Q){let X=await Q.text(),Y={status:Q.status,statusText:Q.statusText,headers:Q.headers};try{let J=JSON.parse(X);if("id_token"in J)return J.id_token=void 0,new Response(JSON.stringify(J),Y)}catch{}return new Response(X,Y)}function JG(Q){let X=Q.client_secret;return typeof X==="string"&&X.length>0?X:void 0}function jj(Q){let X=JG(Q);if(X===void 0)return yW();if(Q.token_endpoint_auth_method==="client_secret_basic")return xW(X);return B7(X)}async function Nj(Q,X){try{return await X(jj(Q))}catch(Y){let J=bj(Q);if(J&&wj(Y))return await X(J);throw Y}}function bj(Q){let X=JG(Q);if(Q.token_endpoint_auth_method==="client_secret_basic"&&X!==void 0)return B7(X);return}function wj(Q){if(Q instanceof N8)return Q.error==="invalid_client"||Q.error==="unauthorized";if(Q instanceof zQ)return Q.status===$j||Q.cause.some(({parameters:X})=>{let{error:Y}=X;return Y==="invalid_client"||Y==="unauthorized"});return!1}function Ij(Q,X,Y,J,$){if(!Q.access_token)throw Error("OAuth token response contained no access token");return{accessToken:Q.access_token,refreshToken:Q.refresh_token||J,expiresAt:Q.expires_in?Date.now()+Q.expires_in*Jj:void 0,tokenType:Q.token_type,scope:Q.scope,resource:$,serverMetadata:X,client:Y}}function LQ(Q){if(Q instanceof N8||Q instanceof KQ){let X=Q.error_description?` (${Q.error_description})`:"";return Error(`${Q.message}${X}`,{cause:Q})}return Q instanceof Error?Q:Error(String(Q))}var Cj=/(authorization|auth[_-]?token|access[_-]?token|refresh[_-]?token|\btoken\b|secret|password|passwd|\bpwd\b|api[_-]?key|apikey|client[_-]?secret|private[_-]?key|cookie|session[_-]?id|credential|bearer)/i,$G=/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/,WG=/\b(bearer|token)\s+[A-Za-z0-9._~+/-]{12,}=*/i,GG=/\b(?=[A-Za-z0-9._-]*[A-Za-z])(?=[A-Za-z0-9._-]*\d)[A-Za-z0-9._-]{24,}\b/;function Tj(Q){return $G.test(Q)||WG.test(Q)||GG.test(Q)}var Sj=new RegExp($G.source,"g"),Rj=new RegExp(WG.source,"gi"),Ej=new RegExp(GG.source,"g");function BG(Q,X){let Y=[...Q];if(Y.length<=X)return Q;return`${Y.slice(0,Math.max(X-3,0)).join("")}...`}function L7(Q){if(!Q)return Q;return BG(Q,8192).replace(Sj,"[redacted]").replace(Rj,(Y)=>{return`${Y.match(/^(bearer|token)\s+/i)?.[0]??""}[redacted]`}).replace(Ej,"[redacted]")}function F7(Q,X,Y){if(X)return"[redacted]";if(typeof Q==="string")return Tj(Q)?"[redacted]":Q;if(Q===null||typeof Q!=="object")return Q;if(Y>=6)return"[truncated]";if(Array.isArray(Q))return Q.map(($)=>F7($,!1,Y+1));let J={};for(let[$,W]of Object.entries(Q))J[$]=F7(W,Cj.test($),Y+1);return J}function ZG(Q,X=500){if(Q==null)return;let Y=F7(Q,!1,0),J;try{J=JSON.stringify(Y)}catch{return"[unserializable structured content]"}if(!J||J==="{}"||J==="[]"||J==='""')return;return BG(J,X)}var zG={reportError:()=>{}},KG=Symbol.for("__pi_mcp_error_reporter_slot__");function HG(){let Q=globalThis,X=Q[KG];if(!X)X={reporter:null},Q[KG]=X;return X}function VG(Q){let X=HG(),Y=X.reporter??zG;return X.reporter=Q,Y}function kj(){return HG().reporter??zG}function D7(Q,X){try{kj().reportError(Q,X)}catch{}}import{logger as _j}from"@hermes/logger";var qG=_j.child({prefix:"pi-mcp"});function FG(Q,X,Y){let J=0,$=0,W=Y?.authoritative?{}:{...Q.headerSecrets};for(let[G,B]of Object.entries(X))if(typeof B==="string"&&B!=="")W[G]=B,J++;else if(B===null||B===""){if(G in W)delete W[G],$++}else qG.warn(`Skipping malformed header-secret entry "${G}"`);Q.headerSecrets=W,qG.info(`Applied pushed MCP header secret update for ${J} key(s), deleted ${$}`)}function LG(Q){return(X)=>{if(!X.startsWith(p5)){let J=Q.headerSecrets[X];if(J!==void 0)return Promise.resolve(J)}let Y=Q.secretsClient;if(Y)return Y.getSecret(X);return Promise.resolve(void 0)}}function DG(Q){return Q.secretsClient!==void 0||Object.keys(Q.headerSecrets).length>0}import{logger as xj}from"@hermes/logger";var I8=xj.child({prefix:"pi-mcp"}),yj="$augment-",C8=/\$augment-[a-zA-Z0-9_.-]+/g,vj=new RegExp(C8.source);function DQ(Q){return vj.test(Q)}function UQ(Q){return Q.slice(yj.length)}function U7(Q){let X=new Set;for(let Y of Object.values(Q))for(let J of Y.matchAll(C8))X.add(UQ(J[0]));return[...X].sort()}class E1 extends Error{serverName;missingKeys;constructor(Q,X,Y){super(`MCP server "${Q}" not started: missing secret(s) ${X.join(", ")}`,Y===void 0?void 0:{cause:Y});this.name="McpSecretResolutionError",this.serverName=Q,this.missingKeys=X}}async function UG(Q,X,Y,J,$,W){let G=[...Q.matchAll(C8)];if(G.length===0)return Q;let B=Q;for(let Z=G.length-1;Z>=0;Z--){let K=G[Z],z=K[0],H=K.index,V=UQ(z);try{let q=await Y(V);if(q===void 0){J.add(V),I8.warn(`Secret "${V}" not found for "${X}"; leaving reference as-is`);continue}if(q.trim()==="")$.add(V),I8.warn(`Secret "${V}" resolved empty for "${X}"`);let F=B.slice(0,H),D=W?W(q,F):q;B=F+D+B.slice(H+z.length),I8.debug(`Resolved secret reference for "${X}"`)}catch(q){J.add(V);let F=q instanceof Error?q.message:String(q);I8.error(`Failed to resolve secret "${V}" for "${X}": ${F}; leaving reference as-is`)}}return B}async function OG({configEnv:Q,localEnv:X,getSecret:Y}){let J={},$=new Set,W=new Set;for(let[G,B]of Object.entries(Q)){if(!DQ(B)){J[G]=B;continue}if(G in X){I8.debug(`"${G}" references a secret but is already set in the local environment; using local value`),J[G]=X[G];continue}J[G]=await UG(B,G,Y,$,W)}return{resolved:J,unresolvedKeys:[...$].sort(),emptyKeys:[...W].sort()}}var fj=/["$`\\]/g;function hj(Q){let X="unquoted",Y=0;while(Y<Q.length){let J=Q[Y];if(X==="single"){if(J==="'")X="unquoted";Y+=1;continue}if(X==="double"){if(J==="\\"){Y+=2;continue}if(J==='"')X="unquoted";Y+=1;continue}if(J==="\\"){Y+=2;continue}if(J==="'")X="single";else if(J==='"')X="double";Y+=1}return X}function gj(Q,X){let Y=hj(X);if(Y==="double")return Q.replace(fj,"\\$&");let J=Q.replaceAll("'","'\\''");return Y==="single"?J:`'${J}'`}async function MG(Q,X){let Y=new Set,J=new Set;return{resolved:await UG(Q,"command",X,Y,J,gj),unresolvedKeys:[...Y].sort(),emptyKeys:[...J].sort()}}import{AsyncLocalStorage as xy}from"node:async_hooks";var AG,O7=Object.freeze({status:"aborted"});function O(Q,X,Y){function J(B,Z){if(!B._zod)Object.defineProperty(B,"_zod",{value:{def:Z,constr:G,traits:new Set},enumerable:!1});if(B._zod.traits.has(Q))return;B._zod.traits.add(Q),X(B,Z);let K=G.prototype,z=Object.keys(K);for(let H=0;H<z.length;H++){let V=z[H];if(!(V in B))B[V]=K[V].bind(B)}}let $=Y?.Parent??Object;class W extends ${}Object.defineProperty(W,"name",{value:Q});function G(B){var Z;let K=Y?.Parent?new W:this;J(K,B),(Z=K._zod).deferred??(Z.deferred=[]);for(let z of K._zod.deferred)z();return K}return Object.defineProperty(G,"init",{value:J}),Object.defineProperty(G,Symbol.hasInstance,{value:(B)=>{if(Y?.Parent&&B instanceof Y.Parent)return!0;return B?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var uj=Symbol("zod_brand");class l1 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class T8 extends Error{constructor(Q){super(`Encountered unidirectional transform during encode: ${Q}`);this.name="ZodEncodeError"}}(AG=globalThis).__zod_globalConfig??(AG.__zod_globalConfig={});var L6=globalThis.__zod_globalConfig;function p0(Q){if(Q)Object.assign(L6,Q);return L6}var g={};A5(g,{unwrapMessage:()=>S8,uint8ArrayToHex:()=>HN,uint8ArrayToBase64url:()=>KN,uint8ArrayToBase64:()=>CG,stringifyPrimitive:()=>PQ,slugify:()=>P7,shallowClone:()=>jG,safeExtend:()=>JN,required:()=>GN,randomString:()=>aj,propertyKeyTypes:()=>N7,promiseAllObject:()=>rj,primitiveTypes:()=>NG,prefixIssues:()=>d1,pick:()=>QN,partial:()=>WN,parsedType:()=>C7,optionalKeys:()=>b7,omit:()=>XN,objectClone:()=>ij,numKeys:()=>sj,nullish:()=>E8,normalizeParams:()=>R,mergeDefs:()=>p1,merge:()=>$N,jsonStringifyReplacer:()=>D6,joinValues:()=>OQ,issue:()=>O6,isPlainObject:()=>K9,isObject:()=>l9,hexToUint8Array:()=>zN,getSizableOrigin:()=>wG,getParsedType:()=>tj,getLengthableOrigin:()=>_8,getEnumValues:()=>R8,getElementAtPath:()=>oj,floatSafeRemainder:()=>A7,finalizeIssue:()=>W1,extend:()=>YN,explicitlyAborted:()=>I7,escapeRegex:()=>c1,esc:()=>MQ,defineLazy:()=>o,createTransparentProxy:()=>ej,cloneDef:()=>nj,clone:()=>$1,cleanRegex:()=>k8,cleanEnum:()=>BN,captureStackTrace:()=>AQ,cached:()=>U6,base64urlToUint8Array:()=>ZN,base64ToUint8Array:()=>IG,assignProp:()=>Z9,assertNotEqual:()=>lj,assertNever:()=>cj,assertIs:()=>pj,assertEqual:()=>mj,assert:()=>dj,allowsEval:()=>j7,aborted:()=>z9,NUMBER_FORMAT_RANGES:()=>w7,Class:()=>TG,BIGINT_FORMAT_RANGES:()=>bG});function mj(Q){return Q}function lj(Q){return Q}function pj(Q){}function cj(Q){throw Error("Unexpected value in exhaustive check")}function dj(Q){}function R8(Q){let X=Object.values(Q).filter((J)=>typeof J==="number");return Object.entries(Q).filter(([J,$])=>X.indexOf(+J)===-1).map(([J,$])=>$)}function OQ(Q,X="|"){return Q.map((Y)=>PQ(Y)).join(X)}function D6(Q,X){if(typeof X==="bigint")return X.toString();return X}function U6(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function E8(Q){return Q===null||Q===void 0}function k8(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function A7(Q,X){let Y=Q/X,J=Math.round(Y),$=Number.EPSILON*Math.max(Math.abs(Y),1);if(Math.abs(Y-J)<$)return 0;return Y-J}var PG=Symbol("evaluating");function o(Q,X,Y){let J=void 0;Object.defineProperty(Q,X,{get(){if(J===PG)return;if(J===void 0)J=PG,J=Y();return J},set($){Object.defineProperty(Q,X,{value:$})},configurable:!0})}function ij(Q){return Object.create(Object.getPrototypeOf(Q),Object.getOwnPropertyDescriptors(Q))}function Z9(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function p1(...Q){let X={};for(let Y of Q){let J=Object.getOwnPropertyDescriptors(Y);Object.assign(X,J)}return Object.defineProperties({},X)}function nj(Q){return p1(Q._zod.def)}function oj(Q,X){if(!X)return Q;return X.reduce((Y,J)=>Y?.[J],Q)}function rj(Q){let X=Object.keys(Q),Y=X.map((J)=>Q[J]);return Promise.all(Y).then((J)=>{let $={};for(let W=0;W<X.length;W++)$[X[W]]=J[W];return $})}function aj(Q=10){let Y="";for(let J=0;J<Q;J++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function MQ(Q){return JSON.stringify(Q)}function P7(Q){return Q.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var AQ="captureStackTrace"in Error?Error.captureStackTrace:(...Q)=>{};function l9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var j7=U6(()=>{if(L6.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function K9(Q){if(l9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;if(typeof X!=="function")return!0;let Y=X.prototype;if(l9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function jG(Q){if(K9(Q))return{...Q};if(Array.isArray(Q))return[...Q];if(Q instanceof Map)return new Map(Q);if(Q instanceof Set)return new Set(Q);return Q}function sj(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var tj=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},N7=new Set(["string","number","symbol"]),NG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function c1(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $1(Q,X,Y){let J=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)J._zod.parent=Q;return J}function R(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function ej(Q){let X;return new Proxy({},{get(Y,J,$){return X??(X=Q()),Reflect.get(X,J,$)},set(Y,J,$,W){return X??(X=Q()),Reflect.set(X,J,$,W)},has(Y,J){return X??(X=Q()),Reflect.has(X,J)},deleteProperty(Y,J){return X??(X=Q()),Reflect.deleteProperty(X,J)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,J){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,J)},defineProperty(Y,J,$){return X??(X=Q()),Reflect.defineProperty(X,J,$)}})}function PQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function b7(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var w7={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},bG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function QN(Q,X){let Y=Q._zod.def,J=Y.checks;if(J&&J.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let W=p1(Q._zod.def,{get shape(){let G={};for(let B in X){if(!(B in Y.shape))throw Error(`Unrecognized key: "${B}"`);if(!X[B])continue;G[B]=Y.shape[B]}return Z9(this,"shape",G),G},checks:[]});return $1(Q,W)}function XN(Q,X){let Y=Q._zod.def,J=Y.checks;if(J&&J.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let W=p1(Q._zod.def,{get shape(){let G={...Q._zod.def.shape};for(let B in X){if(!(B in Y.shape))throw Error(`Unrecognized key: "${B}"`);if(!X[B])continue;delete G[B]}return Z9(this,"shape",G),G},checks:[]});return $1(Q,W)}function YN(Q,X){if(!K9(X))throw Error("Invalid input to extend: expected a plain object");let Y=Q._zod.def.checks;if(Y&&Y.length>0){let W=Q._zod.def.shape;for(let G in X)if(Object.getOwnPropertyDescriptor(W,G)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let $=p1(Q._zod.def,{get shape(){let W={...Q._zod.def.shape,...X};return Z9(this,"shape",W),W}});return $1(Q,$)}function JN(Q,X){if(!K9(X))throw Error("Invalid input to safeExtend: expected a plain object");let Y=p1(Q._zod.def,{get shape(){let J={...Q._zod.def.shape,...X};return Z9(this,"shape",J),J}});return $1(Q,Y)}function $N(Q,X){if(Q._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let Y=p1(Q._zod.def,{get shape(){let J={...Q._zod.def.shape,...X._zod.def.shape};return Z9(this,"shape",J),J},get catchall(){return X._zod.def.catchall},checks:X._zod.def.checks??[]});return $1(Q,Y)}function WN(Q,X,Y){let $=X._zod.def.checks;if($&&$.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let G=p1(X._zod.def,{get shape(){let B=X._zod.def.shape,Z={...B};if(Y)for(let K in Y){if(!(K in B))throw Error(`Unrecognized key: "${K}"`);if(!Y[K])continue;Z[K]=Q?new Q({type:"optional",innerType:B[K]}):B[K]}else for(let K in B)Z[K]=Q?new Q({type:"optional",innerType:B[K]}):B[K];return Z9(this,"shape",Z),Z},checks:[]});return $1(X,G)}function GN(Q,X,Y){let J=p1(X._zod.def,{get shape(){let $=X._zod.def.shape,W={...$};if(Y)for(let G in Y){if(!(G in W))throw Error(`Unrecognized key: "${G}"`);if(!Y[G])continue;W[G]=new Q({type:"nonoptional",innerType:$[G]})}else for(let G in $)W[G]=new Q({type:"nonoptional",innerType:$[G]});return Z9(this,"shape",W),W}});return $1(X,J)}function z9(Q,X=0){if(Q.aborted===!0)return!0;for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function I7(Q,X=0){if(Q.aborted===!0)return!0;for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue===!1)return!0;return!1}function d1(Q,X){return X.map((Y)=>{var J;return(J=Y).path??(J.path=[]),Y.path.unshift(Q),Y})}function S8(Q){return typeof Q==="string"?Q:Q?.message}function W1(Q,X,Y){let J=Q.message?Q.message:S8(Q.inst?._zod.def?.error?.(Q))??S8(X?.error?.(Q))??S8(Y.customError?.(Q))??S8(Y.localeError?.(Q))??"Invalid input",{inst:$,continue:W,input:G,...B}=Q;if(B.path??(B.path=[]),B.message=J,X?.reportInput)B.input=G;return B}function wG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function _8(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function C7(Q){let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"nan":"number";case"object":{if(Q===null)return"null";if(Array.isArray(Q))return"array";let Y=Q;if(Y&&Object.getPrototypeOf(Y)!==Object.prototype&&"constructor"in Y&&Y.constructor)return Y.constructor.name}}return X}function O6(...Q){let[X,Y,J]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:J};return{...X}}function BN(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}function IG(Q){let X=atob(Q),Y=new Uint8Array(X.length);for(let J=0;J<X.length;J++)Y[J]=X.charCodeAt(J);return Y}function CG(Q){let X="";for(let Y=0;Y<Q.length;Y++)X+=String.fromCharCode(Q[Y]);return btoa(X)}function ZN(Q){let X=Q.replace(/-/g,"+").replace(/_/g,"/"),Y="=".repeat((4-X.length%4)%4);return IG(X+Y)}function KN(Q){return CG(Q).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function zN(Q){let X=Q.replace(/^0x/,"");if(X.length%2!==0)throw Error("Invalid hex string length");let Y=new Uint8Array(X.length/2);for(let J=0;J<X.length;J+=2)Y[J/2]=Number.parseInt(X.slice(J,J+2),16);return Y}function HN(Q){return Array.from(Q).map((X)=>X.toString(16).padStart(2,"0")).join("")}class TG{constructor(...Q){}}var SG=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Q.message=JSON.stringify(X,D6,2),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},jQ=O("$ZodError",SG),T7=O("$ZodError",SG,{Parent:Error});function S7(Q,X=(Y)=>Y.message){let Y={},J=[];for(let $ of Q.issues)if($.path.length>0)Y[$.path[0]]=Y[$.path[0]]||[],Y[$.path[0]].push(X($));else J.push(X($));return{formErrors:J,fieldErrors:Y}}function R7(Q,X=(Y)=>Y.message){let Y={_errors:[]},J=($,W=[])=>{for(let G of $.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((B)=>J({issues:B},[...W,...G.path]));else if(G.code==="invalid_key")J({issues:G.issues},[...W,...G.path]);else if(G.code==="invalid_element")J({issues:G.issues},[...W,...G.path]);else{let B=[...W,...G.path];if(B.length===0)Y._errors.push(X(G));else{let Z=Y,K=0;while(K<B.length){let z=B[K];if(K!==B.length-1)Z[z]=Z[z]||{_errors:[]};else Z[z]=Z[z]||{_errors:[]},Z[z]._errors.push(X(G));Z=Z[z],K++}}}};return J(Q),Y}var NQ=(Q)=>(X,Y,J,$)=>{let W=J?{...J,async:!1}:{async:!1},G=X._zod.run({value:Y,issues:[]},W);if(G instanceof Promise)throw new l1;if(G.issues.length){let B=new($?.Err??Q)(G.issues.map((Z)=>W1(Z,W,p0())));throw AQ(B,$?.callee),B}return G.value};var bQ=(Q)=>async(X,Y,J,$)=>{let W=J?{...J,async:!0}:{async:!0},G=X._zod.run({value:Y,issues:[]},W);if(G instanceof Promise)G=await G;if(G.issues.length){let B=new($?.Err??Q)(G.issues.map((Z)=>W1(Z,W,p0())));throw AQ(B,$?.callee),B}return G.value};var x8=(Q)=>(X,Y,J)=>{let $=J?{...J,async:!1}:{async:!1},W=X._zod.run({value:Y,issues:[]},$);if(W instanceof Promise)throw new l1;return W.issues.length?{success:!1,error:new(Q??jQ)(W.issues.map((G)=>W1(G,$,p0())))}:{success:!0,data:W.value}},y8=x8(T7),v8=(Q)=>async(X,Y,J)=>{let $=J?{...J,async:!0}:{async:!0},W=X._zod.run({value:Y,issues:[]},$);if(W instanceof Promise)W=await W;return W.issues.length?{success:!1,error:new Q(W.issues.map((G)=>W1(G,$,p0())))}:{success:!0,data:W.value}},wQ=v8(T7),RG=(Q)=>(X,Y,J)=>{let $=J?{...J,direction:"backward"}:{direction:"backward"};return NQ(Q)(X,Y,$)};var EG=(Q)=>(X,Y,J)=>{return NQ(Q)(X,Y,J)};var kG=(Q)=>async(X,Y,J)=>{let $=J?{...J,direction:"backward"}:{direction:"backward"};return bQ(Q)(X,Y,$)};var _G=(Q)=>async(X,Y,J)=>{return bQ(Q)(X,Y,J)};var xG=(Q)=>(X,Y,J)=>{let $=J?{...J,direction:"backward"}:{direction:"backward"};return x8(Q)(X,Y,$)};var yG=(Q)=>(X,Y,J)=>{return x8(Q)(X,Y,J)};var vG=(Q)=>async(X,Y,J)=>{let $=J?{...J,direction:"backward"}:{direction:"backward"};return v8(Q)(X,Y,$)};var fG=(Q)=>async(X,Y,J)=>{return v8(Q)(X,Y,J)};var hG=/^[cC][0-9a-z]{6,}$/,gG=/^[0-9a-z]+$/,uG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mG=/^[0-9a-vA-V]{20}$/,lG=/^[A-Za-z0-9]{27}$/,pG=/^[a-zA-Z0-9_-]{21}$/,cG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var dG=/^([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})$/,E7=(Q)=>{if(!Q)return/^([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|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var iG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var qN="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function nG(){return new RegExp(qN,"u")}var oG=/^(?:(?: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])$/,rG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var aG=/^((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])$/,sG=/^(([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])$/,tG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,k7=/^[A-Za-z0-9_-]*$/;var eG=/^https?$/,QB=/^\+[1-9]\d{6,14}$/,XB="(?:(?:\\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])))",YB=new RegExp(`^${XB}$`);function JB(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function $B(Q){return new RegExp(`^${JB(Q)}$`)}function WB(Q){let X=JB({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let J=`${X}(?:${Y.join("|")})`;return new RegExp(`^${XB}T(?:${J})$`)}var GB=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},BB=/^-?\d+n?$/,ZB=/^-?\d+$/,IQ=/^-?\d+(?:\.\d+)?$/,KB=/^(?:true|false)$/i,zB=/^null$/i;var HB=/^[^A-Z]*$/,VB=/^[^a-z]*$/;var b0=O("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),qB={number:"number",bigint:"bigint",object:"date"},_7=O("$ZodCheckLessThan",(Q,X)=>{b0.init(Q,X);let Y=qB[typeof X.value];Q._zod.onattach.push((J)=>{let $=J._zod.bag,W=(X.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<W)if(X.inclusive)$.maximum=X.value;else $.exclusiveMaximum=X.value}),Q._zod.check=(J)=>{if(X.inclusive?J.value<=X.value:J.value<X.value)return;J.issues.push({origin:Y,code:"too_big",maximum:typeof X.value==="object"?X.value.getTime():X.value,input:J.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),x7=O("$ZodCheckGreaterThan",(Q,X)=>{b0.init(Q,X);let Y=qB[typeof X.value];Q._zod.onattach.push((J)=>{let $=J._zod.bag,W=(X.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>W)if(X.inclusive)$.minimum=X.value;else $.exclusiveMinimum=X.value}),Q._zod.check=(J)=>{if(X.inclusive?J.value>=X.value:J.value>X.value)return;J.issues.push({origin:Y,code:"too_small",minimum:typeof X.value==="object"?X.value.getTime():X.value,input:J.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),FB=O("$ZodCheckMultipleOf",(Q,X)=>{b0.init(Q,X),Q._zod.onattach.push((Y)=>{var J;(J=Y._zod.bag).multipleOf??(J.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):A7(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),LB=O("$ZodCheckNumberFormat",(Q,X)=>{b0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),J=Y?"int":"number",[$,W]=w7[X.format];Q._zod.onattach.push((G)=>{let B=G._zod.bag;if(B.format=X.format,B.minimum=$,B.maximum=W,Y)B.pattern=ZB}),Q._zod.check=(G)=>{let B=G.value;if(Y){if(!Number.isInteger(B)){G.issues.push({expected:J,format:X.format,code:"invalid_type",continue:!1,input:B,inst:Q});return}if(!Number.isSafeInteger(B)){if(B>0)G.issues.push({input:B,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:J,inclusive:!0,continue:!X.abort});else G.issues.push({input:B,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:J,inclusive:!0,continue:!X.abort});return}}if(B<$)G.issues.push({origin:"number",input:B,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!X.abort});if(B>W)G.issues.push({origin:"number",input:B,code:"too_big",maximum:W,inclusive:!0,inst:Q,continue:!X.abort})}});var DB=O("$ZodCheckMaxLength",(Q,X)=>{var Y;b0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(J)=>{let $=J.value;return!E8($)&&$.length!==void 0}),Q._zod.onattach.push((J)=>{let $=J._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<$)J._zod.bag.maximum=X.maximum}),Q._zod.check=(J)=>{let $=J.value;if($.length<=X.maximum)return;let G=_8($);J.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),UB=O("$ZodCheckMinLength",(Q,X)=>{var Y;b0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(J)=>{let $=J.value;return!E8($)&&$.length!==void 0}),Q._zod.onattach.push((J)=>{let $=J._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>$)J._zod.bag.minimum=X.minimum}),Q._zod.check=(J)=>{let $=J.value;if($.length>=X.minimum)return;let G=_8($);J.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),OB=O("$ZodCheckLengthEquals",(Q,X)=>{var Y;b0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(J)=>{let $=J.value;return!E8($)&&$.length!==void 0}),Q._zod.onattach.push((J)=>{let $=J._zod.bag;$.minimum=X.length,$.maximum=X.length,$.length=X.length}),Q._zod.check=(J)=>{let $=J.value,W=$.length;if(W===X.length)return;let G=_8($),B=W>X.length;J.issues.push({origin:G,...B?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:J.value,inst:Q,continue:!X.abort})}}),h8=O("$ZodCheckStringFormat",(Q,X)=>{var Y,J;if(b0.init(Q,X),Q._zod.onattach.push(($)=>{let W=$._zod.bag;if(W.format=X.format,X.pattern)W.patterns??(W.patterns=new Set),W.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=($)=>{if(X.pattern.lastIndex=0,X.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:X.format,input:$.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(J=Q._zod).check??(J.check=()=>{})}),MB=O("$ZodCheckRegex",(Q,X)=>{h8.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),AB=O("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=HB),h8.init(Q,X)}),PB=O("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=VB),h8.init(Q,X)}),jB=O("$ZodCheckIncludes",(Q,X)=>{b0.init(Q,X);let Y=c1(X.includes),J=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=J,Q._zod.onattach.push(($)=>{let W=$._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(J)}),Q._zod.check=($)=>{if($.value.includes(X.includes,X.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:$.value,inst:Q,continue:!X.abort})}}),NB=O("$ZodCheckStartsWith",(Q,X)=>{b0.init(Q,X);let Y=new RegExp(`^${c1(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((J)=>{let $=J._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(J)=>{if(J.value.startsWith(X.prefix))return;J.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:J.value,inst:Q,continue:!X.abort})}}),bB=O("$ZodCheckEndsWith",(Q,X)=>{b0.init(Q,X);let Y=new RegExp(`.*${c1(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((J)=>{let $=J._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(J)=>{if(J.value.endsWith(X.suffix))return;J.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:J.value,inst:Q,continue:!X.abort})}});var wB=O("$ZodCheckOverwrite",(Q,X)=>{b0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class y7{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
|
|
25
|
+
`).filter((W)=>W),J=Math.min(...Y.map((W)=>W.length-W.trimStart().length)),$=Y.map((W)=>W.slice(J)).map((W)=>" ".repeat(this.indent*2)+W);for(let W of $)this.content.push(W)}compile(){let Q=Function,X=this?.args,J=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...X,J.join(`
|
|
26
|
+
`))}}var CB={major:4,minor:4,patch:3};var t=O("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=CB;let J=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))J.unshift(Q);for(let $ of J)for(let W of $._zod.onattach)W(Q);if(J.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(G,B,Z)=>{let K=z9(G),z;for(let H of B){if(H._zod.def.when){if(I7(G))continue;if(!H._zod.def.when(G))continue}else if(K)continue;let V=G.issues.length,q=H._zod.check(G);if(q instanceof Promise&&Z?.async===!1)throw new l1;if(z||q instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await q,G.issues.length===V)return;if(!K)K=z9(G,V)});else{if(G.issues.length===V)continue;if(!K)K=z9(G,V)}}if(z)return z.then(()=>{return G});return G},W=(G,B,Z)=>{if(z9(G))return G.aborted=!0,G;let K=$(B,J,Z);if(K instanceof Promise){if(Z.async===!1)throw new l1;return K.then((z)=>Q._zod.parse(z,Z))}return Q._zod.parse(K,Z)};Q._zod.run=(G,B)=>{if(B.skipChecks)return Q._zod.parse(G,B);if(B.direction==="backward"){let K=Q._zod.parse({value:G.value,issues:[]},{...B,skipChecks:!0});if(K instanceof Promise)return K.then((z)=>{return W(z,G,B)});return W(K,G,B)}let Z=Q._zod.parse(G,B);if(Z instanceof Promise){if(B.async===!1)throw new l1;return Z.then((K)=>$(K,J,B))}return $(Z,J,B)}}o(Q,"~standard",()=>({validate:($)=>{try{let W=y8(Q,$);return W.success?{value:W.data}:{issues:W.error?.issues}}catch(W){return wQ(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}))}),SQ=O("$ZodString",(Q,X)=>{t.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??GB(Q._zod.bag),Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=String(Y.value)}catch($){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),$0=O("$ZodStringFormat",(Q,X)=>{h8.init(Q,X),SQ.init(Q,X)}),vB=O("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=dG),$0.init(Q,X)}),fB=O("$ZodUUID",(Q,X)=>{if(X.version){let J={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(J===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=E7(J))}else X.pattern??(X.pattern=E7());$0.init(Q,X)}),hB=O("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=iG),$0.init(Q,X)}),gB=O("$ZodURL",(Q,X)=>{$0.init(Q,X),Q._zod.check=(Y)=>{try{let J=Y.value.trim();if(!X.normalize&&X.protocol?.source===eG.source){if(!/^https?:\/\//i.test(J)){Y.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:Y.value,inst:Q,continue:!X.abort});return}}let $=new URL(J);if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test($.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:X.hostname.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.normalize)Y.value=$.href;else Y.value=J;return}catch(J){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),uB=O("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=nG()),$0.init(Q,X)}),mB=O("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=pG),$0.init(Q,X)}),lB=O("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=hG),$0.init(Q,X)}),pB=O("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=gG),$0.init(Q,X)}),cB=O("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=uG),$0.init(Q,X)}),dB=O("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=mG),$0.init(Q,X)}),iB=O("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=lG),$0.init(Q,X)}),nB=O("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=WB(X)),$0.init(Q,X)}),oB=O("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=YB),$0.init(Q,X)}),rB=O("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=$B(X)),$0.init(Q,X)}),aB=O("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=cG),$0.init(Q,X)}),sB=O("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=oG),$0.init(Q,X),Q._zod.bag.format="ipv4"}),tB=O("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=rG),$0.init(Q,X),Q._zod.bag.format="ipv6",Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}});var eB=O("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=aG),$0.init(Q,X)}),QZ=O("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=sG),$0.init(Q,X),Q._zod.check=(Y)=>{let J=Y.value.split("/");try{if(J.length!==2)throw Error();let[$,W]=J;if(!W)throw Error();let G=Number(W);if(`${G}`!==W)throw Error();if(G<0||G>128)throw Error();new URL(`http://[${$}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function XZ(Q){if(Q==="")return!0;if(/\s/.test(Q))return!1;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var YZ=O("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=tG),$0.init(Q,X),Q._zod.bag.contentEncoding="base64",Q._zod.check=(Y)=>{if(XZ(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function DN(Q){if(!k7.test(Q))return!1;let X=Q.replace(/[-_]/g,(J)=>J==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return XZ(Y)}var JZ=O("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=k7),$0.init(Q,X),Q._zod.bag.contentEncoding="base64url",Q._zod.check=(Y)=>{if(DN(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),$Z=O("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=QB),$0.init(Q,X)});function UN(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[J]=Y;if(!J)return!1;let $=JSON.parse(atob(J));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&(!("alg"in $)||$.alg!==X))return!1;return!0}catch{return!1}}var WZ=O("$ZodJWT",(Q,X)=>{$0.init(Q,X),Q._zod.check=(Y)=>{if(UN(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var f7=O("$ZodNumber",(Q,X)=>{t.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??IQ,Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(G){}let $=Y.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return Y;let W=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...W?{received:W}:{}}),Y}}),GZ=O("$ZodNumberFormat",(Q,X)=>{LB.init(Q,X),f7.init(Q,X)}),BZ=O("$ZodBoolean",(Q,X)=>{t.init(Q,X),Q._zod.pattern=KB,Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(W){}let $=Y.value;if(typeof $==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),Y}}),ZZ=O("$ZodBigInt",(Q,X)=>{t.init(Q,X),Q._zod.pattern=BB,Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch($){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:Q}),Y}});var KZ=O("$ZodNull",(Q,X)=>{t.init(Q,X),Q._zod.pattern=zB,Q._zod.values=new Set([null]),Q._zod.parse=(Y,J)=>{let $=Y.value;if($===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),Y}}),zZ=O("$ZodAny",(Q,X)=>{t.init(Q,X),Q._zod.parse=(Y)=>Y}),HZ=O("$ZodUnknown",(Q,X)=>{t.init(Q,X),Q._zod.parse=(Y)=>Y}),VZ=O("$ZodNever",(Q,X)=>{t.init(Q,X),Q._zod.parse=(Y,J)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});var qZ=O("$ZodDate",(Q,X)=>{t.init(Q,X),Q._zod.parse=(Y,J)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(B){}let $=Y.value,W=$ instanceof Date;if(W&&!Number.isNaN($.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:$,...W?{received:"Invalid Date"}:{},inst:Q}),Y}});function TB(Q,X,Y){if(Q.issues.length)X.issues.push(...d1(Y,Q.issues));X.value[Y]=Q.value}var FZ=O("$ZodArray",(Q,X)=>{t.init(Q,X),Q._zod.parse=(Y,J)=>{let $=Y.value;if(!Array.isArray($))return Y.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),Y;Y.value=Array($.length);let W=[];for(let G=0;G<$.length;G++){let B=$[G],Z=X.element._zod.run({value:B,issues:[]},J);if(Z instanceof Promise)W.push(Z.then((K)=>TB(K,Y,G)));else TB(Z,Y,G)}if(W.length)return Promise.all(W).then(()=>Y);return Y}});function TQ(Q,X,Y,J,$,W){let G=Y in J;if(Q.issues.length){if($&&W&&!G)return;X.issues.push(...d1(Y,Q.issues))}if(!G&&!$){if(!Q.issues.length)X.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[Y]});return}if(Q.value===void 0){if(G)X.value[Y]=void 0}else X.value[Y]=Q.value}function LZ(Q){let X=Object.keys(Q.shape);for(let J of X)if(!Q.shape?.[J]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${J}": expected a Zod schema`);let Y=b7(Q.shape);return{...Q,keys:X,keySet:new Set(X),numKeys:X.length,optionalKeys:new Set(Y)}}function DZ(Q,X,Y,J,$,W){let G=[],B=$.keySet,Z=$.catchall._zod,K=Z.def.type,z=Z.optin==="optional",H=Z.optout==="optional";for(let V in X){if(V==="__proto__")continue;if(B.has(V))continue;if(K==="never"){G.push(V);continue}let q=Z.run({value:X[V],issues:[]},J);if(q instanceof Promise)Q.push(q.then((F)=>TQ(F,Y,V,X,z,H)));else TQ(q,Y,V,X,z,H)}if(G.length)Y.issues.push({code:"unrecognized_keys",keys:G,input:X,inst:W});if(!Q.length)return Y;return Promise.all(Q).then(()=>{return Y})}var ON=O("$ZodObject",(Q,X)=>{if(t.init(Q,X),!Object.getOwnPropertyDescriptor(X,"shape")?.get){let B=X.shape;Object.defineProperty(X,"shape",{get:()=>{let Z={...B};return Object.defineProperty(X,"shape",{value:Z}),Z}})}let J=U6(()=>LZ(X));o(Q._zod,"propValues",()=>{let B=X.shape,Z={};for(let K in B){let z=B[K]._zod;if(z.values){Z[K]??(Z[K]=new Set);for(let H of z.values)Z[K].add(H)}}return Z});let $=l9,W=X.catchall,G;Q._zod.parse=(B,Z)=>{G??(G=J.value);let K=B.value;if(!$(K))return B.issues.push({expected:"object",code:"invalid_type",input:K,inst:Q}),B;B.value={};let z=[],H=G.shape;for(let V of G.keys){let q=H[V],F=q._zod.optin==="optional",D=q._zod.optout==="optional",U=q._zod.run({value:K[V],issues:[]},Z);if(U instanceof Promise)z.push(U.then((M)=>TQ(M,B,V,K,F,D)));else TQ(U,B,V,K,F,D)}if(!W)return z.length?Promise.all(z).then(()=>B):B;return DZ(z,K,B,Z,J.value,Q)}}),UZ=O("$ZodObjectJIT",(Q,X)=>{ON.init(Q,X);let Y=Q._zod.parse,J=U6(()=>LZ(X)),$=(V)=>{let q=new y7(["shape","payload","ctx"]),F=J.value,D=(j)=>{let C=MQ(j);return`shape[${C}]._zod.run({ value: input[${C}], issues: [] }, ctx)`};q.write("const input = payload.value;");let U=Object.create(null),M=0;for(let j of F.keys)U[j]=`key_${M++}`;q.write("const newResult = {};");for(let j of F.keys){let C=U[j],A=MQ(j),b=V[j],x=b?._zod?.optin==="optional",H0=b?._zod?.optout==="optional";if(q.write(`const ${C} = ${D(j)};`),x&&H0)q.write(`
|
|
27
|
+
if (${C}.issues.length) {
|
|
28
|
+
if (${A} in input) {
|
|
29
|
+
payload.issues = payload.issues.concat(${C}.issues.map(iss => ({
|
|
17
30
|
...iss,
|
|
18
|
-
path: iss.path ? [${
|
|
31
|
+
path: iss.path ? [${A}, ...iss.path] : [${A}]
|
|
19
32
|
})));
|
|
20
33
|
}
|
|
21
34
|
}
|
|
22
35
|
|
|
23
|
-
if (${
|
|
24
|
-
if (${
|
|
25
|
-
newResult[${
|
|
36
|
+
if (${C}.value === undefined) {
|
|
37
|
+
if (${A} in input) {
|
|
38
|
+
newResult[${A}] = undefined;
|
|
26
39
|
}
|
|
27
40
|
} else {
|
|
28
|
-
newResult[${
|
|
41
|
+
newResult[${A}] = ${C}.value;
|
|
29
42
|
}
|
|
30
43
|
|
|
31
|
-
`);else if(!
|
|
32
|
-
const ${
|
|
33
|
-
if (${
|
|
34
|
-
payload.issues = payload.issues.concat(${
|
|
44
|
+
`);else if(!x)q.write(`
|
|
45
|
+
const ${C}_present = ${A} in input;
|
|
46
|
+
if (${C}.issues.length) {
|
|
47
|
+
payload.issues = payload.issues.concat(${C}.issues.map(iss => ({
|
|
35
48
|
...iss,
|
|
36
|
-
path: iss.path ? [${
|
|
49
|
+
path: iss.path ? [${A}, ...iss.path] : [${A}]
|
|
37
50
|
})));
|
|
38
51
|
}
|
|
39
|
-
if (!${
|
|
52
|
+
if (!${C}_present && !${C}.issues.length) {
|
|
40
53
|
payload.issues.push({
|
|
41
54
|
code: "invalid_type",
|
|
42
55
|
expected: "nonoptional",
|
|
43
56
|
input: undefined,
|
|
44
|
-
path: [${
|
|
57
|
+
path: [${A}]
|
|
45
58
|
});
|
|
46
59
|
}
|
|
47
60
|
|
|
48
|
-
if (${
|
|
49
|
-
if (${
|
|
50
|
-
newResult[${
|
|
61
|
+
if (${C}_present) {
|
|
62
|
+
if (${C}.value === undefined) {
|
|
63
|
+
newResult[${A}] = undefined;
|
|
51
64
|
} else {
|
|
52
|
-
newResult[${
|
|
65
|
+
newResult[${A}] = ${C}.value;
|
|
53
66
|
}
|
|
54
67
|
}
|
|
55
68
|
|
|
56
|
-
`);else
|
|
57
|
-
if (${
|
|
58
|
-
payload.issues = payload.issues.concat(${
|
|
69
|
+
`);else q.write(`
|
|
70
|
+
if (${C}.issues.length) {
|
|
71
|
+
payload.issues = payload.issues.concat(${C}.issues.map(iss => ({
|
|
59
72
|
...iss,
|
|
60
|
-
path: iss.path ? [${
|
|
73
|
+
path: iss.path ? [${A}, ...iss.path] : [${A}]
|
|
61
74
|
})));
|
|
62
75
|
}
|
|
63
76
|
|
|
64
|
-
if (${
|
|
65
|
-
if (${
|
|
66
|
-
newResult[${
|
|
77
|
+
if (${C}.value === undefined) {
|
|
78
|
+
if (${A} in input) {
|
|
79
|
+
newResult[${A}] = undefined;
|
|
67
80
|
}
|
|
68
81
|
} else {
|
|
69
|
-
newResult[${
|
|
82
|
+
newResult[${A}] = ${C}.value;
|
|
70
83
|
}
|
|
71
84
|
|
|
72
|
-
`)}D.write("payload.value = newResult;"),D.write("return payload;");let U=D.compile();return(M,b)=>U(V,M,b)},$,B=R1,G=!c1.jitless,H=G&&f6.value,Z=X.catchall,L;Q._zod.parse=(V,D)=>{L??(L=J.value);let z=V.value;if(!B(z))return V.issues.push({expected:"object",code:"invalid_type",input:z,inst:Q}),V;if(G&&H&&D?.async===!1&&D.jitless!==!0){if(!$)$=W(X.shape);if(V=$(V,D),!Z)return V;return FW([],z,V,D,L,Q)}return Y(V,D)}});function E7(Q,X,Y,J){for(let $ of Q)if($.issues.length===0)return X.value=$.value,X;let W=Q.filter(($)=>!V1($));if(W.length===1)return X.value=W[0].value,W[0];return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map(($)=>$.issues.map((B)=>C0(B,J,N0())))}),X}var Q4=O("$ZodUnion",(Q,X)=>{l.init(Q,X),m(Q._zod,"optin",()=>X.options.some((J)=>J._zod.optin==="optional")?"optional":void 0),m(Q._zod,"optout",()=>X.options.some((J)=>J._zod.optout==="optional")?"optional":void 0),m(Q._zod,"values",()=>{if(X.options.every((J)=>J._zod.values))return new Set(X.options.flatMap((J)=>Array.from(J._zod.values)));return}),m(Q._zod,"pattern",()=>{if(X.options.every((J)=>J._zod.pattern)){let J=X.options.map((W)=>W._zod.pattern);return new RegExp(`^(${J.map((W)=>x9(W.source)).join("|")})$`)}return});let Y=X.options.length===1?X.options[0]._zod.run:null;Q._zod.parse=(J,W)=>{if(Y)return Y(J,W);let $=!1,B=[];for(let G of X.options){let K=G._zod.run({value:J.value,issues:[]},W);if(K instanceof Promise)B.push(K),$=!0;else{if(K.issues.length===0)return K;B.push(K)}}if(!$)return E7(B,J,Q,W);return Promise.all(B).then((G)=>{return E7(G,J,Q,W)})}});var OW=O("$ZodDiscriminatedUnion",(Q,X)=>{X.inclusive=!1,Q4.init(Q,X);let Y=Q._zod.parse;m(Q._zod,"propValues",()=>{let W={};for(let $ of X.options){let B=$._zod.propValues;if(!B||Object.keys(B).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf($)}"`);for(let[G,K]of Object.entries(B)){if(!W[G])W[G]=new Set;for(let H of K)W[G].add(H)}}return W});let J=d1(()=>{let W=X.options,$=new Map;for(let B of W){let G=B._zod.propValues?.[X.discriminator];if(!G||G.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(B)}"`);for(let K of G){if($.has(K))throw Error(`Duplicate discriminator value "${String(K)}"`);$.set(K,B)}}return $});Q._zod.parse=(W,$)=>{let B=W.value;if(!R1(B))return W.issues.push({code:"invalid_type",expected:"object",input:B,inst:Q}),W;let G=J.value.get(B?.[X.discriminator]);if(G)return G._zod.run(W,$);if(X.unionFallback||$.direction==="backward")return Y(W,$);return W.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:X.discriminator,options:Array.from(J.value.keys()),input:B,path:[X.discriminator],inst:Q}),W}}),NW=O("$ZodIntersection",(Q,X)=>{l.init(Q,X),Q._zod.parse=(Y,J)=>{let W=Y.value,$=X.left._zod.run({value:W,issues:[]},J),B=X.right._zod.run({value:W,issues:[]},J);if($ instanceof Promise||B instanceof Promise)return Promise.all([$,B]).then(([K,H])=>{return S7(Y,K,H)});return S7(Y,$,B)}});function s6(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(L1(Q)&&L1(X)){let Y=Object.keys(X),J=Object.keys(Q).filter(($)=>Y.indexOf($)!==-1),W={...Q,...X};for(let $ of J){let B=s6(Q[$],X[$]);if(!B.valid)return{valid:!1,mergeErrorPath:[$,...B.mergeErrorPath]};W[$]=B.data}return{valid:!0,data:W}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let J=0;J<Q.length;J++){let W=Q[J],$=X[J],B=s6(W,$);if(!B.valid)return{valid:!1,mergeErrorPath:[J,...B.mergeErrorPath]};Y.push(B.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function S7(Q,X,Y){let J=new Map,W;for(let G of X.issues)if(G.code==="unrecognized_keys"){W??(W=G);for(let K of G.keys){if(!J.has(K))J.set(K,{});J.get(K).l=!0}}else Q.issues.push(G);for(let G of Y.issues)if(G.code==="unrecognized_keys")for(let K of G.keys){if(!J.has(K))J.set(K,{});J.get(K).r=!0}else Q.issues.push(G);let $=[...J].filter(([,G])=>G.l&&G.r).map(([G])=>G);if($.length&&W)Q.issues.push({...W,keys:$});if(V1(Q))return Q;let B=s6(X.value,Y.value);if(!B.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(B.mergeErrorPath)}`);return Q.value=B.data,Q}var UW=O("$ZodRecord",(Q,X)=>{l.init(Q,X),Q._zod.parse=(Y,J)=>{let W=Y.value;if(!L1(W))return Y.issues.push({expected:"record",code:"invalid_type",input:W,inst:Q}),Y;let $=[],B=X.keyType._zod.values;if(B){Y.value={};let G=new Set;for(let H of B)if(typeof H==="string"||typeof H==="number"||typeof H==="symbol"){G.add(typeof H==="number"?H.toString():H);let Z=X.keyType._zod.run({value:H,issues:[]},J);if(Z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(Z.issues.length){Y.issues.push({code:"invalid_key",origin:"record",issues:Z.issues.map((D)=>C0(D,J,N0())),input:H,path:[H],inst:Q});continue}let L=Z.value,V=X.valueType._zod.run({value:W[H],issues:[]},J);if(V instanceof Promise)$.push(V.then((D)=>{if(D.issues.length)Y.issues.push(...s0(H,D.issues));Y.value[L]=D.value}));else{if(V.issues.length)Y.issues.push(...s0(H,V.issues));Y.value[L]=V.value}}let K;for(let H in W)if(!G.has(H))K=K??[],K.push(H);if(K&&K.length>0)Y.issues.push({code:"unrecognized_keys",input:W,inst:Q,keys:K})}else{Y.value={};for(let G of Reflect.ownKeys(W)){if(G==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(W,G))continue;let K=X.keyType._zod.run({value:G,issues:[]},J);if(K instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof G==="string"&&i8.test(G)&&K.issues.length){let L=X.keyType._zod.run({value:Number(G),issues:[]},J);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length===0)K=L}if(K.issues.length){if(X.mode==="loose")Y.value[G]=W[G];else Y.issues.push({code:"invalid_key",origin:"record",issues:K.issues.map((L)=>C0(L,J,N0())),input:G,path:[G],inst:Q});continue}let Z=X.valueType._zod.run({value:W[G],issues:[]},J);if(Z instanceof Promise)$.push(Z.then((L)=>{if(L.issues.length)Y.issues.push(...s0(G,L.issues));Y.value[K.value]=L.value}));else{if(Z.issues.length)Y.issues.push(...s0(G,Z.issues));Y.value[K.value]=Z.value}}}if($.length)return Promise.all($).then(()=>Y);return Y}});var MW=O("$ZodEnum",(Q,X)=>{l.init(Q,X);let Y=k9(X.entries),J=new Set(Y);Q._zod.values=J,Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>h6.has(typeof W)).map((W)=>typeof W==="string"?a0(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let B=W.value;if(J.has(B))return W;return W.issues.push({code:"invalid_value",values:Y,input:B,inst:Q}),W}}),wW=O("$ZodLiteral",(Q,X)=>{if(l.init(Q,X),X.values.length===0)throw Error("Cannot create literal schema with no valid values");let Y=new Set(X.values);Q._zod.values=Y,Q._zod.pattern=new RegExp(`^(${X.values.map((J)=>typeof J==="string"?a0(J):J?a0(J.toString()):String(J)).join("|")})$`),Q._zod.parse=(J,W)=>{let $=J.value;if(Y.has($))return J;return J.issues.push({code:"invalid_value",values:X.values,input:$,inst:Q}),J}});var PW=O("$ZodTransform",(Q,X)=>{l.init(Q,X),Q._zod.optin="optional",Q._zod.parse=(Y,J)=>{if(J.direction==="backward")throw new S9(Q.constructor.name);let W=X.transform(Y.value,Y);if(J.async)return(W instanceof Promise?W:Promise.resolve(W)).then((B)=>{return Y.value=B,Y.fallback=!0,Y});if(W instanceof Promise)throw new r0;return Y.value=W,Y.fallback=!0,Y}});function C7(Q,X){if(X===void 0&&(Q.issues.length||Q.fallback))return{issues:[],value:void 0};return Q}var X4=O("$ZodOptional",(Q,X)=>{l.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",m(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),m(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${x9(Y.source)})?$`):void 0}),Q._zod.parse=(Y,J)=>{if(X.innerType._zod.optin==="optional"){let W=Y.value,$=X.innerType._zod.run(Y,J);if($ instanceof Promise)return $.then((B)=>C7(B,W));return C7($,W)}if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,J)}}),jW=O("$ZodExactOptional",(Q,X)=>{X4.init(Q,X),m(Q._zod,"values",()=>X.innerType._zod.values),m(Q._zod,"pattern",()=>X.innerType._zod.pattern),Q._zod.parse=(Y,J)=>{return X.innerType._zod.run(Y,J)}}),IW=O("$ZodNullable",(Q,X)=>{l.init(Q,X),m(Q._zod,"optin",()=>X.innerType._zod.optin),m(Q._zod,"optout",()=>X.innerType._zod.optout),m(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${x9(Y.source)}|null)$`):void 0}),m(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,J)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,J)}}),bW=O("$ZodDefault",(Q,X)=>{l.init(Q,X),Q._zod.optin="optional",m(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);if(Y.value===void 0)return Y.value=X.defaultValue,Y;let W=X.innerType._zod.run(Y,J);if(W instanceof Promise)return W.then(($)=>k7($,X));return k7(W,X)}});function k7(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var TW=O("$ZodPrefault",(Q,X)=>{l.init(Q,X),Q._zod.optin="optional",m(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,J)}}),RW=O("$ZodNonOptional",(Q,X)=>{l.init(Q,X),m(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((J)=>J!==void 0)):void 0}),Q._zod.parse=(Y,J)=>{let W=X.innerType._zod.run(Y,J);if(W instanceof Promise)return W.then(($)=>_7($,Q));return _7(W,Q)}});function _7(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var EW=O("$ZodCatch",(Q,X)=>{l.init(Q,X),Q._zod.optin="optional",m(Q._zod,"optout",()=>X.innerType._zod.optout),m(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);let W=X.innerType._zod.run(Y,J);if(W instanceof Promise)return W.then(($)=>{if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((B)=>C0(B,J,N0()))},input:Y.value}),Y.issues=[],Y.fallback=!0;return Y});if(Y.value=W.value,W.issues.length)Y.value=X.catchValue({...Y,error:{issues:W.issues.map(($)=>C0($,J,N0()))},input:Y.value}),Y.issues=[],Y.fallback=!0;return Y}});var Y4=O("$ZodPipe",(Q,X)=>{l.init(Q,X),m(Q._zod,"values",()=>X.in._zod.values),m(Q._zod,"optin",()=>X.in._zod.optin),m(Q._zod,"optout",()=>X.out._zod.optout),m(Q._zod,"propValues",()=>X.in._zod.propValues),Q._zod.parse=(Y,J)=>{if(J.direction==="backward"){let $=X.out._zod.run(Y,J);if($ instanceof Promise)return $.then((B)=>n8(B,X.in,J));return n8($,X.in,J)}let W=X.in._zod.run(Y,J);if(W instanceof Promise)return W.then(($)=>n8($,X.out,J));return n8(W,X.out,J)}});function n8(Q,X,Y){if(Q.issues.length)return Q.aborted=!0,Q;return X._zod.run({value:Q.value,issues:Q.issues,fallback:Q.fallback},Y)}var SW=O("$ZodPreprocess",(Q,X)=>{Y4.init(Q,X)}),CW=O("$ZodReadonly",(Q,X)=>{l.init(Q,X),m(Q._zod,"propValues",()=>X.innerType._zod.propValues),m(Q._zod,"values",()=>X.innerType._zod.values),m(Q._zod,"optin",()=>X.innerType?._zod?.optin),m(Q._zod,"optout",()=>X.innerType?._zod?.optout),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);let W=X.innerType._zod.run(Y,J);if(W instanceof Promise)return W.then(x7);return x7(W)}});function x7(Q){return Q.value=Object.freeze(Q.value),Q}var kW=O("$ZodCustom",(Q,X)=>{H0.init(Q,X),l.init(Q,X),Q._zod.parse=(Y,J)=>{return Y},Q._zod.check=(Y)=>{let J=Y.value,W=X.fn(J);if(W instanceof Promise)return W.then(($)=>v7($,Y,J,Q));v7(W,Y,J,Q);return}});function v7(Q,X,Y,J){if(!Q){let W={code:"custom",input:Y,inst:J,path:[...J._zod.def.path??[]],continue:!J._zod.def.abort};if(J._zod.def.params)W.params=J._zod.def.params;X.issues.push(i1(W))}}var hV=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function X(W){return Q[W]??null}let Y={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",mac:"MAC 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"},J={nan:"NaN"};return(W)=>{switch(W.code){case"invalid_type":{let $=J[W.expected]??W.expected,B=c6(W.input),G=J[B]??B;return`Invalid input: expected ${$}, received ${G}`}case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${m8(W.values[0])}`;return`Invalid option: expected one of ${f8(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",B=X(W.origin);if(B)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${B.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",B=X(W.origin);if(B)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${B.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${Y[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${f8(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":if(W.options&&Array.isArray(W.options)&&W.options.length>0)return`Invalid discriminator value. Expected ${W.options.map((B)=>`'${B}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function J4(){return{localeError:hV()}}var _W,uV=Symbol("ZodOutput"),mV=Symbol("ZodInput");class xW{constructor(){this._map=new WeakMap,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y)this._idmap.set(Y.id,Q);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};delete Y.id;let J={...Y,...this._map.get(Q)};return Object.keys(J).length?J:void 0}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function vW(){return new xW}(_W=globalThis).__zod_globalRegistry??(_W.__zod_globalRegistry=vW());var D1=globalThis.__zod_globalRegistry;function yW(Q,X){return new Q({type:"string",...E(X)})}function gW(Q,X){return new Q({type:"string",coerce:!0,...E(X)})}function fW(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...E(X)})}function W4(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...E(X)})}function hW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...E(X)})}function uW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...E(X)})}function mW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...E(X)})}function lW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...E(X)})}function $4(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...E(X)})}function cW(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...E(X)})}function pW(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...E(X)})}function dW(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...E(X)})}function iW(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...E(X)})}function nW(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...E(X)})}function oW(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...E(X)})}function rW(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...E(X)})}function tW(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...E(X)})}function aW(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...E(X)})}function sW(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...E(X)})}function eW(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...E(X)})}function Q5(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...E(X)})}function X5(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...E(X)})}function Y5(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...E(X)})}function J5(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...E(X)})}function W5(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...E(X)})}function $5(Q,X){return new Q({type:"string",format:"date",check:"string_format",...E(X)})}function B5(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...E(X)})}function G5(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...E(X)})}function H5(Q,X){return new Q({type:"number",checks:[],...E(X)})}function K5(Q,X){return new Q({type:"number",coerce:!0,checks:[],...E(X)})}function Z5(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...E(X)})}function L5(Q,X){return new Q({type:"boolean",...E(X)})}function V5(Q,X){return new Q({type:"boolean",coerce:!0,...E(X)})}function D5(Q,X){return new Q({type:"bigint",coerce:!0,...E(X)})}function q5(Q,X){return new Q({type:"null",...E(X)})}function z5(Q){return new Q({type:"any"})}function F5(Q){return new Q({type:"unknown"})}function A5(Q,X){return new Q({type:"never",...E(X)})}function O5(Q,X){return new Q({type:"date",coerce:!0,...E(X)})}function n1(Q,X){return new r6({check:"less_than",...E(X),value:Q,inclusive:!1})}function e0(Q,X){return new r6({check:"less_than",...E(X),value:Q,inclusive:!0})}function o1(Q,X){return new t6({check:"greater_than",...E(X),value:Q,inclusive:!1})}function g0(Q,X){return new t6({check:"greater_than",...E(X),value:Q,inclusive:!0})}function m9(Q,X){return new q7({check:"multiple_of",...E(X),value:Q})}function t8(Q,X){return new F7({check:"max_length",...E(X),maximum:Q})}function r1(Q,X){return new A7({check:"min_length",...E(X),minimum:Q})}function a8(Q,X){return new O7({check:"length_equals",...E(X),length:Q})}function B4(Q,X){return new N7({check:"string_format",format:"regex",...E(X),pattern:Q})}function G4(Q){return new U7({check:"string_format",format:"lowercase",...E(Q)})}function H4(Q){return new M7({check:"string_format",format:"uppercase",...E(Q)})}function K4(Q,X){return new w7({check:"string_format",format:"includes",...E(X),includes:Q})}function Z4(Q,X){return new P7({check:"string_format",format:"starts_with",...E(X),prefix:Q})}function L4(Q,X){return new j7({check:"string_format",format:"ends_with",...E(X),suffix:Q})}function q1(Q){return new I7({check:"overwrite",tx:Q})}function V4(Q){return q1((X)=>X.normalize(Q))}function D4(){return q1((Q)=>Q.trim())}function q4(){return q1((Q)=>Q.toLowerCase())}function z4(){return q1((Q)=>Q.toUpperCase())}function F4(){return q1((Q)=>g6(Q))}function N5(Q,X,Y){return new Q({type:"array",element:X,...E(Y)})}function U5(Q,X,Y){let J=E(Y);return J.abort??(J.abort=!0),new Q({type:"custom",check:"custom",fn:X,...J})}function M5(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...E(Y)})}function w5(Q,X){let Y=lV((J)=>{return J.addIssue=(W)=>{if(typeof W==="string")J.issues.push(i1(W,J.value,Y._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=J.value),$.inst??($.inst=Y),$.continue??($.continue=!Y._zod.def.abort),J.issues.push(i1($))}},Q(J.value,J)},X);return Y}function lV(Q,X){let Y=new H0({check:"custom",...E(X)});return Y._zod.check=Q,Y}function A4(Q){let X=Q?.target??"draft-2020-12";if(X==="draft-4")X="draft-04";if(X==="draft-7")X="draft-07";return{processors:Q.processors??{},metadataRegistry:Q?.metadata??D1,target:X,unrepresentable:Q?.unrepresentable??"throw",override:Q?.override??(()=>{}),io:Q?.io??"output",counter:0,seen:new Map,cycles:Q?.cycles??"ref",reused:Q?.reused??"inline",external:Q?.external??void 0}}function X0(Q,X,Y={path:[],schemaPath:[]}){var J;let W=Q._zod.def,$=X.seen.get(Q);if($){if($.count++,Y.schemaPath.includes(Q))$.cycle=Y.path;return $.schema}let B={schema:{},count:1,cycle:void 0,path:Y.path};X.seen.set(Q,B);let G=Q._zod.toJSONSchema?.();if(G)B.schema=G;else{let Z={...Y,schemaPath:[...Y.schemaPath,Q],path:Y.path};if(Q._zod.processJSONSchema)Q._zod.processJSONSchema(X,B.schema,Z);else{let V=B.schema,D=X.processors[W.type];if(!D)throw Error(`[toJSONSchema]: Non-representable type encountered: ${W.type}`);D(Q,X,V,Z)}let L=Q._zod.parent;if(L){if(!B.ref)B.ref=L;X0(L,X,Z),X.seen.get(L).isParent=!0}}let K=X.metadataRegistry.get(Q);if(K)Object.assign(B.schema,K);if(X.io==="input"&&z0(Q))delete B.schema.examples,delete B.schema.default;if(X.io==="input"&&"_prefault"in B.schema)(J=B.schema).default??(J.default=B.schema._prefault);return delete B.schema._prefault,X.seen.get(Q).schema}function O4(Q,X){let Y=Q.seen.get(X);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let J=new Map;for(let B of Q.seen.entries()){let G=Q.metadataRegistry.get(B[0])?.id;if(G){let K=J.get(G);if(K&&K!==B[0])throw Error(`Duplicate schema id "${G}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);J.set(G,B[0])}}let W=(B)=>{let G=Q.target==="draft-2020-12"?"$defs":"definitions";if(Q.external){let L=Q.external.registry.get(B[0])?.id,V=Q.external.uri??((z)=>z);if(L)return{ref:V(L)};let D=B[1].defId??B[1].schema.id??`schema${Q.counter++}`;return B[1].defId=D,{defId:D,ref:`${V("__shared")}#/${G}/${D}`}}if(B[1]===Y)return{ref:"#"};let H=`${"#"}/${G}/`,Z=B[1].schema.id??`__schema${Q.counter++}`;return{defId:Z,ref:H+Z}},$=(B)=>{if(B[1].schema.$ref)return;let G=B[1],{ref:K,defId:H}=W(B);if(G.def={...G.schema},H)G.defId=H;let Z=G.schema;for(let L in Z)delete Z[L];Z.$ref=K};if(Q.cycles==="throw")for(let B of Q.seen.entries()){let G=B[1];if(G.cycle)throw Error(`Cycle detected: #/${G.cycle?.join("/")}/<root>
|
|
85
|
+
`)}q.write("payload.value = newResult;"),q.write("return payload;");let P=q.compile();return(j,C)=>P(V,j,C)},W,G=l9,B=!L6.jitless,K=B&&j7.value,z=X.catchall,H;Q._zod.parse=(V,q)=>{H??(H=J.value);let F=V.value;if(!G(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;if(B&&K&&q?.async===!1&&q.jitless!==!0){if(!W)W=$(X.shape);if(V=W(V,q),!z)return V;return DZ([],F,V,q,H,Q)}return Y(V,q)}});function SB(Q,X,Y,J){for(let W of Q)if(W.issues.length===0)return X.value=W.value,X;let $=Q.filter((W)=>!z9(W));if($.length===1)return X.value=$[0].value,$[0];return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map((W)=>W.issues.map((G)=>W1(G,J,p0())))}),X}var h7=O("$ZodUnion",(Q,X)=>{t.init(Q,X),o(Q._zod,"optin",()=>X.options.some((J)=>J._zod.optin==="optional")?"optional":void 0),o(Q._zod,"optout",()=>X.options.some((J)=>J._zod.optout==="optional")?"optional":void 0),o(Q._zod,"values",()=>{if(X.options.every((J)=>J._zod.values))return new Set(X.options.flatMap((J)=>Array.from(J._zod.values)));return}),o(Q._zod,"pattern",()=>{if(X.options.every((J)=>J._zod.pattern)){let J=X.options.map(($)=>$._zod.pattern);return new RegExp(`^(${J.map(($)=>k8($.source)).join("|")})$`)}return});let Y=X.options.length===1?X.options[0]._zod.run:null;Q._zod.parse=(J,$)=>{if(Y)return Y(J,$);let W=!1,G=[];for(let B of X.options){let Z=B._zod.run({value:J.value,issues:[]},$);if(Z instanceof Promise)G.push(Z),W=!0;else{if(Z.issues.length===0)return Z;G.push(Z)}}if(!W)return SB(G,J,Q,$);return Promise.all(G).then((B)=>{return SB(B,J,Q,$)})}});var OZ=O("$ZodDiscriminatedUnion",(Q,X)=>{X.inclusive=!1,h7.init(Q,X);let Y=Q._zod.parse;o(Q._zod,"propValues",()=>{let $={};for(let W of X.options){let G=W._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(W)}"`);for(let[B,Z]of Object.entries(G)){if(!$[B])$[B]=new Set;for(let K of Z)$[B].add(K)}}return $});let J=U6(()=>{let $=X.options,W=new Map;for(let G of $){let B=G._zod.propValues?.[X.discriminator];if(!B||B.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(G)}"`);for(let Z of B){if(W.has(Z))throw Error(`Duplicate discriminator value "${String(Z)}"`);W.set(Z,G)}}return W});Q._zod.parse=($,W)=>{let G=$.value;if(!l9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let B=J.value.get(G?.[X.discriminator]);if(B)return B._zod.run($,W);if(X.unionFallback||W.direction==="backward")return Y($,W);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:X.discriminator,options:Array.from(J.value.keys()),input:G,path:[X.discriminator],inst:Q}),$}}),MZ=O("$ZodIntersection",(Q,X)=>{t.init(Q,X),Q._zod.parse=(Y,J)=>{let $=Y.value,W=X.left._zod.run({value:$,issues:[]},J),G=X.right._zod.run({value:$,issues:[]},J);if(W instanceof Promise||G instanceof Promise)return Promise.all([W,G]).then(([Z,K])=>{return RB(Y,Z,K)});return RB(Y,W,G)}});function v7(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(K9(Q)&&K9(X)){let Y=Object.keys(X),J=Object.keys(Q).filter((W)=>Y.indexOf(W)!==-1),$={...Q,...X};for(let W of J){let G=v7(Q[W],X[W]);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};$[W]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let J=0;J<Q.length;J++){let $=Q[J],W=X[J],G=v7($,W);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};Y.push(G.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function RB(Q,X,Y){let J=new Map,$;for(let B of X.issues)if(B.code==="unrecognized_keys"){$??($=B);for(let Z of B.keys){if(!J.has(Z))J.set(Z,{});J.get(Z).l=!0}}else Q.issues.push(B);for(let B of Y.issues)if(B.code==="unrecognized_keys")for(let Z of B.keys){if(!J.has(Z))J.set(Z,{});J.get(Z).r=!0}else Q.issues.push(B);let W=[...J].filter(([,B])=>B.l&&B.r).map(([B])=>B);if(W.length&&$)Q.issues.push({...$,keys:W});if(z9(Q))return Q;let G=v7(X.value,Y.value);if(!G.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(G.mergeErrorPath)}`);return Q.value=G.data,Q}var AZ=O("$ZodRecord",(Q,X)=>{t.init(Q,X),Q._zod.parse=(Y,J)=>{let $=Y.value;if(!K9($))return Y.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),Y;let W=[],G=X.keyType._zod.values;if(G){Y.value={};let B=new Set;for(let K of G)if(typeof K==="string"||typeof K==="number"||typeof K==="symbol"){B.add(typeof K==="number"?K.toString():K);let z=X.keyType._zod.run({value:K,issues:[]},J);if(z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(z.issues.length){Y.issues.push({code:"invalid_key",origin:"record",issues:z.issues.map((q)=>W1(q,J,p0())),input:K,path:[K],inst:Q});continue}let H=z.value,V=X.valueType._zod.run({value:$[K],issues:[]},J);if(V instanceof Promise)W.push(V.then((q)=>{if(q.issues.length)Y.issues.push(...d1(K,q.issues));Y.value[H]=q.value}));else{if(V.issues.length)Y.issues.push(...d1(K,V.issues));Y.value[H]=V.value}}let Z;for(let K in $)if(!B.has(K))Z=Z??[],Z.push(K);if(Z&&Z.length>0)Y.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:Z})}else{Y.value={};for(let B of Reflect.ownKeys($)){if(B==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call($,B))continue;let Z=X.keyType._zod.run({value:B,issues:[]},J);if(Z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof B==="string"&&IQ.test(B)&&Z.issues.length){let H=X.keyType._zod.run({value:Number(B),issues:[]},J);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length===0)Z=H}if(Z.issues.length){if(X.mode==="loose")Y.value[B]=$[B];else Y.issues.push({code:"invalid_key",origin:"record",issues:Z.issues.map((H)=>W1(H,J,p0())),input:B,path:[B],inst:Q});continue}let z=X.valueType._zod.run({value:$[B],issues:[]},J);if(z instanceof Promise)W.push(z.then((H)=>{if(H.issues.length)Y.issues.push(...d1(B,H.issues));Y.value[Z.value]=H.value}));else{if(z.issues.length)Y.issues.push(...d1(B,z.issues));Y.value[Z.value]=z.value}}}if(W.length)return Promise.all(W).then(()=>Y);return Y}});var PZ=O("$ZodEnum",(Q,X)=>{t.init(Q,X);let Y=R8(X.entries),J=new Set(Y);Q._zod.values=J,Q._zod.pattern=new RegExp(`^(${Y.filter(($)=>N7.has(typeof $)).map(($)=>typeof $==="string"?c1($):$.toString()).join("|")})$`),Q._zod.parse=($,W)=>{let G=$.value;if(J.has(G))return $;return $.issues.push({code:"invalid_value",values:Y,input:G,inst:Q}),$}}),jZ=O("$ZodLiteral",(Q,X)=>{if(t.init(Q,X),X.values.length===0)throw Error("Cannot create literal schema with no valid values");let Y=new Set(X.values);Q._zod.values=Y,Q._zod.pattern=new RegExp(`^(${X.values.map((J)=>typeof J==="string"?c1(J):J?c1(J.toString()):String(J)).join("|")})$`),Q._zod.parse=(J,$)=>{let W=J.value;if(Y.has(W))return J;return J.issues.push({code:"invalid_value",values:X.values,input:W,inst:Q}),J}});var NZ=O("$ZodTransform",(Q,X)=>{t.init(Q,X),Q._zod.optin="optional",Q._zod.parse=(Y,J)=>{if(J.direction==="backward")throw new T8(Q.constructor.name);let $=X.transform(Y.value,Y);if(J.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return Y.value=G,Y.fallback=!0,Y});if($ instanceof Promise)throw new l1;return Y.value=$,Y.fallback=!0,Y}});function EB(Q,X){if(X===void 0&&(Q.issues.length||Q.fallback))return{issues:[],value:void 0};return Q}var g7=O("$ZodOptional",(Q,X)=>{t.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",o(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),o(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${k8(Y.source)})?$`):void 0}),Q._zod.parse=(Y,J)=>{if(X.innerType._zod.optin==="optional"){let $=Y.value,W=X.innerType._zod.run(Y,J);if(W instanceof Promise)return W.then((G)=>EB(G,$));return EB(W,$)}if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,J)}}),bZ=O("$ZodExactOptional",(Q,X)=>{g7.init(Q,X),o(Q._zod,"values",()=>X.innerType._zod.values),o(Q._zod,"pattern",()=>X.innerType._zod.pattern),Q._zod.parse=(Y,J)=>{return X.innerType._zod.run(Y,J)}}),wZ=O("$ZodNullable",(Q,X)=>{t.init(Q,X),o(Q._zod,"optin",()=>X.innerType._zod.optin),o(Q._zod,"optout",()=>X.innerType._zod.optout),o(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${k8(Y.source)}|null)$`):void 0}),o(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,J)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,J)}}),IZ=O("$ZodDefault",(Q,X)=>{t.init(Q,X),Q._zod.optin="optional",o(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);if(Y.value===void 0)return Y.value=X.defaultValue,Y;let $=X.innerType._zod.run(Y,J);if($ instanceof Promise)return $.then((W)=>kB(W,X));return kB($,X)}});function kB(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var CZ=O("$ZodPrefault",(Q,X)=>{t.init(Q,X),Q._zod.optin="optional",o(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,J)}}),TZ=O("$ZodNonOptional",(Q,X)=>{t.init(Q,X),o(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((J)=>J!==void 0)):void 0}),Q._zod.parse=(Y,J)=>{let $=X.innerType._zod.run(Y,J);if($ instanceof Promise)return $.then((W)=>_B(W,Q));return _B($,Q)}});function _B(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var SZ=O("$ZodCatch",(Q,X)=>{t.init(Q,X),Q._zod.optin="optional",o(Q._zod,"optout",()=>X.innerType._zod.optout),o(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);let $=X.innerType._zod.run(Y,J);if($ instanceof Promise)return $.then((W)=>{if(Y.value=W.value,W.issues.length)Y.value=X.catchValue({...Y,error:{issues:W.issues.map((G)=>W1(G,J,p0()))},input:Y.value}),Y.issues=[],Y.fallback=!0;return Y});if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((W)=>W1(W,J,p0()))},input:Y.value}),Y.issues=[],Y.fallback=!0;return Y}});var u7=O("$ZodPipe",(Q,X)=>{t.init(Q,X),o(Q._zod,"values",()=>X.in._zod.values),o(Q._zod,"optin",()=>X.in._zod.optin),o(Q._zod,"optout",()=>X.out._zod.optout),o(Q._zod,"propValues",()=>X.in._zod.propValues),Q._zod.parse=(Y,J)=>{if(J.direction==="backward"){let W=X.out._zod.run(Y,J);if(W instanceof Promise)return W.then((G)=>CQ(G,X.in,J));return CQ(W,X.in,J)}let $=X.in._zod.run(Y,J);if($ instanceof Promise)return $.then((W)=>CQ(W,X.out,J));return CQ($,X.out,J)}});function CQ(Q,X,Y){if(Q.issues.length)return Q.aborted=!0,Q;return X._zod.run({value:Q.value,issues:Q.issues,fallback:Q.fallback},Y)}var RZ=O("$ZodPreprocess",(Q,X)=>{u7.init(Q,X)}),EZ=O("$ZodReadonly",(Q,X)=>{t.init(Q,X),o(Q._zod,"propValues",()=>X.innerType._zod.propValues),o(Q._zod,"values",()=>X.innerType._zod.values),o(Q._zod,"optin",()=>X.innerType?._zod?.optin),o(Q._zod,"optout",()=>X.innerType?._zod?.optout),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")return X.innerType._zod.run(Y,J);let $=X.innerType._zod.run(Y,J);if($ instanceof Promise)return $.then(xB);return xB($)}});function xB(Q){return Q.value=Object.freeze(Q.value),Q}var kZ=O("$ZodCustom",(Q,X)=>{b0.init(Q,X),t.init(Q,X),Q._zod.parse=(Y,J)=>{return Y},Q._zod.check=(Y)=>{let J=Y.value,$=X.fn(J);if($ instanceof Promise)return $.then((W)=>yB(W,Y,J,Q));yB($,Y,J,Q);return}});function yB(Q,X,Y,J){if(!Q){let $={code:"custom",input:Y,inst:J,path:[...J._zod.def.path??[]],continue:!J._zod.def.abort};if(J._zod.def.params)$.params=J._zod.def.params;X.issues.push(O6($))}}var MN=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function X($){return Q[$]??null}let Y={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",mac:"MAC 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"},J={nan:"NaN"};return($)=>{switch($.code){case"invalid_type":{let W=J[$.expected]??$.expected,G=C7($.input),B=J[G]??G;return`Invalid input: expected ${W}, received ${B}`}case"invalid_value":if($.values.length===1)return`Invalid input: expected ${PQ($.values[0])}`;return`Invalid option: expected one of ${OQ($.values,"|")}`;case"too_big":{let W=$.inclusive?"<=":"<",G=X($.origin);if(G)return`Too big: expected ${$.origin??"value"} to have ${W}${$.maximum.toString()} ${G.unit??"elements"}`;return`Too big: expected ${$.origin??"value"} to be ${W}${$.maximum.toString()}`}case"too_small":{let W=$.inclusive?">=":">",G=X($.origin);if(G)return`Too small: expected ${$.origin} to have ${W}${$.minimum.toString()} ${G.unit}`;return`Too small: expected ${$.origin} to be ${W}${$.minimum.toString()}`}case"invalid_format":{let W=$;if(W.format==="starts_with")return`Invalid string: must start with "${W.prefix}"`;if(W.format==="ends_with")return`Invalid string: must end with "${W.suffix}"`;if(W.format==="includes")return`Invalid string: must include "${W.includes}"`;if(W.format==="regex")return`Invalid string: must match pattern ${W.pattern}`;return`Invalid ${Y[W.format]??$.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${$.divisor}`;case"unrecognized_keys":return`Unrecognized key${$.keys.length>1?"s":""}: ${OQ($.keys,", ")}`;case"invalid_key":return`Invalid key in ${$.origin}`;case"invalid_union":if($.options&&Array.isArray($.options)&&$.options.length>0)return`Invalid discriminator value. Expected ${$.options.map((G)=>`'${G}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${$.origin}`;default:return"Invalid input"}}};function m7(){return{localeError:MN()}}var _Z,AN=Symbol("ZodOutput"),PN=Symbol("ZodInput");class xZ{constructor(){this._map=new WeakMap,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y)this._idmap.set(Y.id,Q);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};delete Y.id;let J={...Y,...this._map.get(Q)};return Object.keys(J).length?J:void 0}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function yZ(){return new xZ}(_Z=globalThis).__zod_globalRegistry??(_Z.__zod_globalRegistry=yZ());var H9=globalThis.__zod_globalRegistry;function vZ(Q,X){return new Q({type:"string",...R(X)})}function fZ(Q,X){return new Q({type:"string",coerce:!0,...R(X)})}function hZ(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...R(X)})}function l7(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...R(X)})}function gZ(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...R(X)})}function uZ(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...R(X)})}function mZ(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...R(X)})}function lZ(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...R(X)})}function p7(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...R(X)})}function pZ(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...R(X)})}function cZ(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...R(X)})}function dZ(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...R(X)})}function iZ(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...R(X)})}function nZ(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...R(X)})}function oZ(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...R(X)})}function rZ(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...R(X)})}function aZ(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...R(X)})}function sZ(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...R(X)})}function tZ(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...R(X)})}function eZ(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...R(X)})}function QK(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...R(X)})}function XK(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...R(X)})}function YK(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...R(X)})}function JK(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...R(X)})}function $K(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...R(X)})}function WK(Q,X){return new Q({type:"string",format:"date",check:"string_format",...R(X)})}function GK(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...R(X)})}function BK(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...R(X)})}function ZK(Q,X){return new Q({type:"number",checks:[],...R(X)})}function KK(Q,X){return new Q({type:"number",coerce:!0,checks:[],...R(X)})}function zK(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...R(X)})}function HK(Q,X){return new Q({type:"boolean",...R(X)})}function VK(Q,X){return new Q({type:"boolean",coerce:!0,...R(X)})}function qK(Q,X){return new Q({type:"bigint",coerce:!0,...R(X)})}function FK(Q,X){return new Q({type:"null",...R(X)})}function LK(Q){return new Q({type:"any"})}function DK(Q){return new Q({type:"unknown"})}function UK(Q,X){return new Q({type:"never",...R(X)})}function OK(Q,X){return new Q({type:"date",coerce:!0,...R(X)})}function M6(Q,X){return new _7({check:"less_than",...R(X),value:Q,inclusive:!1})}function i1(Q,X){return new _7({check:"less_than",...R(X),value:Q,inclusive:!0})}function A6(Q,X){return new x7({check:"greater_than",...R(X),value:Q,inclusive:!1})}function F1(Q,X){return new x7({check:"greater_than",...R(X),value:Q,inclusive:!0})}function g8(Q,X){return new FB({check:"multiple_of",...R(X),value:Q})}function RQ(Q,X){return new DB({check:"max_length",...R(X),maximum:Q})}function P6(Q,X){return new UB({check:"min_length",...R(X),minimum:Q})}function EQ(Q,X){return new OB({check:"length_equals",...R(X),length:Q})}function c7(Q,X){return new MB({check:"string_format",format:"regex",...R(X),pattern:Q})}function d7(Q){return new AB({check:"string_format",format:"lowercase",...R(Q)})}function i7(Q){return new PB({check:"string_format",format:"uppercase",...R(Q)})}function n7(Q,X){return new jB({check:"string_format",format:"includes",...R(X),includes:Q})}function o7(Q,X){return new NB({check:"string_format",format:"starts_with",...R(X),prefix:Q})}function r7(Q,X){return new bB({check:"string_format",format:"ends_with",...R(X),suffix:Q})}function V9(Q){return new wB({check:"overwrite",tx:Q})}function a7(Q){return V9((X)=>X.normalize(Q))}function s7(){return V9((Q)=>Q.trim())}function t7(){return V9((Q)=>Q.toLowerCase())}function e7(){return V9((Q)=>Q.toUpperCase())}function QY(){return V9((Q)=>P7(Q))}function MK(Q,X,Y){return new Q({type:"array",element:X,...R(Y)})}function AK(Q,X,Y){let J=R(Y);return J.abort??(J.abort=!0),new Q({type:"custom",check:"custom",fn:X,...J})}function PK(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...R(Y)})}function jK(Q,X){let Y=jN((J)=>{return J.addIssue=($)=>{if(typeof $==="string")J.issues.push(O6($,J.value,Y._zod.def));else{let W=$;if(W.fatal)W.continue=!1;W.code??(W.code="custom"),W.input??(W.input=J.value),W.inst??(W.inst=Y),W.continue??(W.continue=!Y._zod.def.abort),J.issues.push(O6(W))}},Q(J.value,J)},X);return Y}function jN(Q,X){let Y=new b0({check:"custom",...R(X)});return Y._zod.check=Q,Y}function XY(Q){let X=Q?.target??"draft-2020-12";if(X==="draft-4")X="draft-04";if(X==="draft-7")X="draft-07";return{processors:Q.processors??{},metadataRegistry:Q?.metadata??H9,target:X,unrepresentable:Q?.unrepresentable??"throw",override:Q?.override??(()=>{}),io:Q?.io??"output",counter:0,seen:new Map,cycles:Q?.cycles??"ref",reused:Q?.reused??"inline",external:Q?.external??void 0}}function q0(Q,X,Y={path:[],schemaPath:[]}){var J;let $=Q._zod.def,W=X.seen.get(Q);if(W){if(W.count++,Y.schemaPath.includes(Q))W.cycle=Y.path;return W.schema}let G={schema:{},count:1,cycle:void 0,path:Y.path};X.seen.set(Q,G);let B=Q._zod.toJSONSchema?.();if(B)G.schema=B;else{let z={...Y,schemaPath:[...Y.schemaPath,Q],path:Y.path};if(Q._zod.processJSONSchema)Q._zod.processJSONSchema(X,G.schema,z);else{let V=G.schema,q=X.processors[$.type];if(!q)throw Error(`[toJSONSchema]: Non-representable type encountered: ${$.type}`);q(Q,X,V,z)}let H=Q._zod.parent;if(H){if(!G.ref)G.ref=H;q0(H,X,z),X.seen.get(H).isParent=!0}}let Z=X.metadataRegistry.get(Q);if(Z)Object.assign(G.schema,Z);if(X.io==="input"&&k0(Q))delete G.schema.examples,delete G.schema.default;if(X.io==="input"&&"_prefault"in G.schema)(J=G.schema).default??(J.default=G.schema._prefault);return delete G.schema._prefault,X.seen.get(Q).schema}function YY(Q,X){let Y=Q.seen.get(X);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let J=new Map;for(let G of Q.seen.entries()){let B=Q.metadataRegistry.get(G[0])?.id;if(B){let Z=J.get(B);if(Z&&Z!==G[0])throw Error(`Duplicate schema id "${B}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);J.set(B,G[0])}}let $=(G)=>{let B=Q.target==="draft-2020-12"?"$defs":"definitions";if(Q.external){let H=Q.external.registry.get(G[0])?.id,V=Q.external.uri??((F)=>F);if(H)return{ref:V(H)};let q=G[1].defId??G[1].schema.id??`schema${Q.counter++}`;return G[1].defId=q,{defId:q,ref:`${V("__shared")}#/${B}/${q}`}}if(G[1]===Y)return{ref:"#"};let K=`${"#"}/${B}/`,z=G[1].schema.id??`__schema${Q.counter++}`;return{defId:z,ref:K+z}},W=(G)=>{if(G[1].schema.$ref)return;let B=G[1],{ref:Z,defId:K}=$(G);if(B.def={...B.schema},K)B.defId=K;let z=B.schema;for(let H in z)delete z[H];z.$ref=Z};if(Q.cycles==="throw")for(let G of Q.seen.entries()){let B=G[1];if(B.cycle)throw Error(`Cycle detected: #/${B.cycle?.join("/")}/<root>
|
|
86
|
+
|
|
87
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let G of Q.seen.entries()){let B=G[1];if(X===G[0]){W(G);continue}if(Q.external){let K=Q.external.registry.get(G[0])?.id;if(X!==G[0]&&K){W(G);continue}}if(Q.metadataRegistry.get(G[0])?.id){W(G);continue}if(B.cycle){W(G);continue}if(B.count>1){if(Q.reused==="ref"){W(G);continue}}}}function JY(Q,X){let Y=Q.seen.get(X);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let J=(B)=>{let Z=Q.seen.get(B);if(Z.ref===null)return;let K=Z.def??Z.schema,z={...K},H=Z.ref;if(Z.ref=null,H){J(H);let q=Q.seen.get(H),F=q.schema;if(F.$ref&&(Q.target==="draft-07"||Q.target==="draft-04"||Q.target==="openapi-3.0"))K.allOf=K.allOf??[],K.allOf.push(F);else Object.assign(K,F);if(Object.assign(K,z),B._zod.parent===H)for(let U in K){if(U==="$ref"||U==="allOf")continue;if(!(U in z))delete K[U]}if(F.$ref&&q.def)for(let U in K){if(U==="$ref"||U==="allOf")continue;if(U in q.def&&JSON.stringify(K[U])===JSON.stringify(q.def[U]))delete K[U]}}let V=B._zod.parent;if(V&&V!==H){J(V);let q=Q.seen.get(V);if(q?.schema.$ref){if(K.$ref=q.schema.$ref,q.def)for(let F in K){if(F==="$ref"||F==="allOf")continue;if(F in q.def&&JSON.stringify(K[F])===JSON.stringify(q.def[F]))delete K[F]}}}Q.override({zodSchema:B,jsonSchema:K,path:Z.path??[]})};for(let B of[...Q.seen.entries()].reverse())J(B[0]);let $={};if(Q.target==="draft-2020-12")$.$schema="https://json-schema.org/draft/2020-12/schema";else if(Q.target==="draft-07")$.$schema="http://json-schema.org/draft-07/schema#";else if(Q.target==="draft-04")$.$schema="http://json-schema.org/draft-04/schema#";else if(Q.target==="openapi-3.0");if(Q.external?.uri){let B=Q.external.registry.get(X)?.id;if(!B)throw Error("Schema is missing an `id` property");$.$id=Q.external.uri(B)}Object.assign($,Y.def??Y.schema);let W=Q.metadataRegistry.get(X)?.id;if(W!==void 0&&$.id===W)delete $.id;let G=Q.external?.defs??{};for(let B of Q.seen.entries()){let Z=B[1];if(Z.def&&Z.defId){if(Z.def.id===Z.defId)delete Z.def.id;G[Z.defId]=Z.def}}if(Q.external);else if(Object.keys(G).length>0)if(Q.target==="draft-2020-12")$.$defs=G;else $.definitions=G;try{let B=JSON.parse(JSON.stringify($));return Object.defineProperty(B,"~standard",{value:{...X["~standard"],jsonSchema:{input:u8(X,"input",Q.processors),output:u8(X,"output",Q.processors)}},enumerable:!1,writable:!1}),B}catch(B){throw Error("Error converting schema to JSON.")}}function k0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let J=Q._zod.def;if(J.type==="transform")return!0;if(J.type==="array")return k0(J.element,Y);if(J.type==="set")return k0(J.valueType,Y);if(J.type==="lazy")return k0(J.getter(),Y);if(J.type==="promise"||J.type==="optional"||J.type==="nonoptional"||J.type==="nullable"||J.type==="readonly"||J.type==="default"||J.type==="prefault")return k0(J.innerType,Y);if(J.type==="intersection")return k0(J.left,Y)||k0(J.right,Y);if(J.type==="record"||J.type==="map")return k0(J.keyType,Y)||k0(J.valueType,Y);if(J.type==="pipe"){if(Q._zod.traits.has("$ZodCodec"))return!0;return k0(J.in,Y)||k0(J.out,Y)}if(J.type==="object"){for(let $ in J.shape)if(k0(J.shape[$],Y))return!0;return!1}if(J.type==="union"){for(let $ of J.options)if(k0($,Y))return!0;return!1}if(J.type==="tuple"){for(let $ of J.items)if(k0($,Y))return!0;if(J.rest&&k0(J.rest,Y))return!0;return!1}return!1}var NK=(Q,X={})=>(Y)=>{let J=XY({...Y,processors:X});return q0(Q,J),YY(J,Q),JY(J,Q)},u8=(Q,X,Y={})=>(J)=>{let{libraryOptions:$,target:W}=J??{},G=XY({...$??{},target:W,io:X,processors:Y});return q0(Q,G),YY(G,Q),JY(G,Q)};var NN={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},bK=(Q,X,Y,J)=>{let $=Y;$.type="string";let{minimum:W,maximum:G,format:B,patterns:Z,contentEncoding:K}=Q._zod.bag;if(typeof W==="number")$.minLength=W;if(typeof G==="number")$.maxLength=G;if(B){if($.format=NN[B]??B,$.format==="")delete $.format;if(B==="time")delete $.format}if(K)$.contentEncoding=K;if(Z&&Z.size>0){let z=[...Z];if(z.length===1)$.pattern=z[0].source;else if(z.length>1)$.allOf=[...z.map((H)=>({...X.target==="draft-07"||X.target==="draft-04"||X.target==="openapi-3.0"?{type:"string"}:{},pattern:H.source}))]}},wK=(Q,X,Y,J)=>{let $=Y,{minimum:W,maximum:G,format:B,multipleOf:Z,exclusiveMaximum:K,exclusiveMinimum:z}=Q._zod.bag;if(typeof B==="string"&&B.includes("int"))$.type="integer";else $.type="number";let H=typeof z==="number"&&z>=(W??Number.NEGATIVE_INFINITY),V=typeof K==="number"&&K<=(G??Number.POSITIVE_INFINITY),q=X.target==="draft-04"||X.target==="openapi-3.0";if(H)if(q)$.minimum=z,$.exclusiveMinimum=!0;else $.exclusiveMinimum=z;else if(typeof W==="number")$.minimum=W;if(V)if(q)$.maximum=K,$.exclusiveMaximum=!0;else $.exclusiveMaximum=K;else if(typeof G==="number")$.maximum=G;if(typeof Z==="number")$.multipleOf=Z},IK=(Q,X,Y,J)=>{Y.type="boolean"},CK=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")};var TK=(Q,X,Y,J)=>{if(X.target==="openapi-3.0")Y.type="string",Y.nullable=!0,Y.enum=[null];else Y.type="null"};var SK=(Q,X,Y,J)=>{Y.not={}},RK=(Q,X,Y,J)=>{},EK=(Q,X,Y,J)=>{},kK=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},_K=(Q,X,Y,J)=>{let $=Q._zod.def,W=R8($.entries);if(W.every((G)=>typeof G==="number"))Y.type="number";if(W.every((G)=>typeof G==="string"))Y.type="string";Y.enum=W},xK=(Q,X,Y,J)=>{let $=Q._zod.def,W=[];for(let G of $.values)if(G===void 0){if(X.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof G==="bigint")if(X.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else W.push(Number(G));else W.push(G);if(W.length===0);else if(W.length===1){let G=W[0];if(Y.type=G===null?"null":typeof G,X.target==="draft-04"||X.target==="openapi-3.0")Y.enum=[G];else Y.const=G}else{if(W.every((G)=>typeof G==="number"))Y.type="number";if(W.every((G)=>typeof G==="string"))Y.type="string";if(W.every((G)=>typeof G==="boolean"))Y.type="boolean";if(W.every((G)=>G===null))Y.type="null";Y.enum=W}};var yK=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")};var vK=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")};var fK=(Q,X,Y,J)=>{let $=Y,W=Q._zod.def,{minimum:G,maximum:B}=Q._zod.bag;if(typeof G==="number")$.minItems=G;if(typeof B==="number")$.maxItems=B;$.type="array",$.items=q0(W.element,X,{...J,path:[...J.path,"items"]})},hK=(Q,X,Y,J)=>{let $=Y,W=Q._zod.def;$.type="object",$.properties={};let G=W.shape;for(let K in G)$.properties[K]=q0(G[K],X,{...J,path:[...J.path,"properties",K]});let B=new Set(Object.keys(G)),Z=new Set([...B].filter((K)=>{let z=W.shape[K]._zod;if(X.io==="input")return z.optin===void 0;else return z.optout===void 0}));if(Z.size>0)$.required=Array.from(Z);if(W.catchall?._zod.def.type==="never")$.additionalProperties=!1;else if(!W.catchall){if(X.io==="output")$.additionalProperties=!1}else if(W.catchall)$.additionalProperties=q0(W.catchall,X,{...J,path:[...J.path,"additionalProperties"]})},gK=(Q,X,Y,J)=>{let $=Q._zod.def,W=$.inclusive===!1,G=$.options.map((B,Z)=>q0(B,X,{...J,path:[...J.path,W?"oneOf":"anyOf",Z]}));if(W)Y.oneOf=G;else Y.anyOf=G},uK=(Q,X,Y,J)=>{let $=Q._zod.def,W=q0($.left,X,{...J,path:[...J.path,"allOf",0]}),G=q0($.right,X,{...J,path:[...J.path,"allOf",1]}),B=(K)=>("allOf"in K)&&Object.keys(K).length===1,Z=[...B(W)?W.allOf:[W],...B(G)?G.allOf:[G]];Y.allOf=Z};var mK=(Q,X,Y,J)=>{let $=Y,W=Q._zod.def;$.type="object";let G=W.keyType,Z=G._zod.bag?.patterns;if(W.mode==="loose"&&Z&&Z.size>0){let z=q0(W.valueType,X,{...J,path:[...J.path,"patternProperties","*"]});$.patternProperties={};for(let H of Z)$.patternProperties[H.source]=z}else{if(X.target==="draft-07"||X.target==="draft-2020-12")$.propertyNames=q0(W.keyType,X,{...J,path:[...J.path,"propertyNames"]});$.additionalProperties=q0(W.valueType,X,{...J,path:[...J.path,"additionalProperties"]})}let K=G._zod.values;if(K){let z=[...K].filter((H)=>typeof H==="string"||typeof H==="number");if(z.length>0)$.required=z}},lK=(Q,X,Y,J)=>{let $=Q._zod.def,W=q0($.innerType,X,J),G=X.seen.get(Q);if(X.target==="openapi-3.0")G.ref=$.innerType,Y.nullable=!0;else Y.anyOf=[W,{type:"null"}]},pK=(Q,X,Y,J)=>{let $=Q._zod.def;q0($.innerType,X,J);let W=X.seen.get(Q);W.ref=$.innerType},cK=(Q,X,Y,J)=>{let $=Q._zod.def;q0($.innerType,X,J);let W=X.seen.get(Q);W.ref=$.innerType,Y.default=JSON.parse(JSON.stringify($.defaultValue))},dK=(Q,X,Y,J)=>{let $=Q._zod.def;q0($.innerType,X,J);let W=X.seen.get(Q);if(W.ref=$.innerType,X.io==="input")Y._prefault=JSON.parse(JSON.stringify($.defaultValue))},iK=(Q,X,Y,J)=>{let $=Q._zod.def;q0($.innerType,X,J);let W=X.seen.get(Q);W.ref=$.innerType;let G;try{G=$.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}Y.default=G},nK=(Q,X,Y,J)=>{let $=Q._zod.def,W=$.in._zod.traits.has("$ZodTransform"),G=X.io==="input"?W?$.out:$.in:$.out;q0(G,X,J);let B=X.seen.get(Q);B.ref=G},oK=(Q,X,Y,J)=>{let $=Q._zod.def;q0($.innerType,X,J);let W=X.seen.get(Q);W.ref=$.innerType,Y.readOnly=!0};var $Y=(Q,X,Y,J)=>{let $=Q._zod.def;q0($.innerType,X,J);let W=X.seen.get(Q);W.ref=$.innerType};function N6(Q){return!!Q._zod}function L1(Q,X){if(N6(Q))return y8(Q,X);return Q.safeParse(X)}function kQ(Q){if(!Q)return;let X;if(N6(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function rK(Q){if(N6(Q)){let W=Q._zod?.def;if(W){if(W.value!==void 0)return W.value;if(Array.isArray(W.values)&&W.values.length>0)return W.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let J=Q.value;if(J!==void 0)return J;return}var m8={};A5(m8,{time:()=>BY,duration:()=>ZY,datetime:()=>WY,date:()=>GY,ZodISOTime:()=>tK,ZodISODuration:()=>eK,ZodISODateTime:()=>aK,ZodISODate:()=>sK});var aK=O("ZodISODateTime",(Q,X)=>{nB.init(Q,X),B0.init(Q,X)});function WY(Q){return $K(aK,Q)}var sK=O("ZodISODate",(Q,X)=>{oB.init(Q,X),B0.init(Q,X)});function GY(Q){return WK(sK,Q)}var tK=O("ZodISOTime",(Q,X)=>{rB.init(Q,X),B0.init(Q,X)});function BY(Q){return GK(tK,Q)}var eK=O("ZodISODuration",(Q,X)=>{aB.init(Q,X),B0.init(Q,X)});function ZY(Q){return BK(eK,Q)}var EN=(Q,X)=>{jQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>R7(Q,Y)},flatten:{value:(Y)=>S7(Q,Y)},addIssue:{value:(Y)=>{Q.issues.push(Y),Q.message=JSON.stringify(Q.issues,D6,2)}},addIssues:{value:(Y)=>{Q.issues.push(...Y),Q.message=JSON.stringify(Q.issues,D6,2)}},isEmpty:{get(){return Q.issues.length===0}}})};var e0=O("ZodError",EN,{Parent:Error});var Xz=NQ(e0),Yz=bQ(e0),Jz=x8(e0),$z=v8(e0),Wz=RG(e0),Gz=EG(e0),Bz=kG(e0),Zz=_G(e0),Kz=xG(e0),zz=yG(e0),Hz=vG(e0),Vz=fG(e0);var qz=new WeakMap;function l8(Q,X,Y){let J=Object.getPrototypeOf(Q),$=qz.get(J);if(!$)$=new Set,qz.set(J,$);if($.has(X))return;$.add(X);for(let W in Y){let G=Y[W];Object.defineProperty(J,W,{configurable:!0,enumerable:!1,get(){let B=G.bind(this);return Object.defineProperty(this,W,{configurable:!0,writable:!0,enumerable:!0,value:B}),B},set(B){Object.defineProperty(this,W,{configurable:!0,writable:!0,enumerable:!0,value:B})}})}}var e=O("ZodType",(Q,X)=>{return t.init(Q,X),Object.assign(Q["~standard"],{jsonSchema:{input:u8(Q,"input"),output:u8(Q,"output")}}),Q.toJSONSchema=NK(Q,{}),Q.def=X,Q.type=X.type,Object.defineProperty(Q,"_def",{value:X}),Q.parse=(Y,J)=>Xz(Q,Y,J,{callee:Q.parse}),Q.safeParse=(Y,J)=>Jz(Q,Y,J),Q.parseAsync=async(Y,J)=>Yz(Q,Y,J,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,J)=>$z(Q,Y,J),Q.spa=Q.safeParseAsync,Q.encode=(Y,J)=>Wz(Q,Y,J),Q.decode=(Y,J)=>Gz(Q,Y,J),Q.encodeAsync=async(Y,J)=>Bz(Q,Y,J),Q.decodeAsync=async(Y,J)=>Zz(Q,Y,J),Q.safeEncode=(Y,J)=>Kz(Q,Y,J),Q.safeDecode=(Y,J)=>zz(Q,Y,J),Q.safeEncodeAsync=async(Y,J)=>Hz(Q,Y,J),Q.safeDecodeAsync=async(Y,J)=>Vz(Q,Y,J),l8(Q,"ZodType",{check(...Y){let J=this.def;return this.clone(g.mergeDefs(J,{checks:[...J.checks??[],...Y.map(($)=>typeof $==="function"?{_zod:{check:$,def:{check:"custom"},onattach:[]}}:$)]}),{parent:!0})},with(...Y){return this.check(...Y)},clone(Y,J){return $1(this,Y,J)},brand(){return this},register(Y,J){return Y.add(this,J),this},refine(Y,J){return this.check(Mb(Y,J))},superRefine(Y,J){return this.check(Ab(Y,J))},overwrite(Y){return this.check(V9(Y))},optional(){return K0(this)},exactOptional(){return Bb(this)},nullable(){return Uz(this)},nullish(){return K0(Uz(this))},nonoptional(Y){return qb(this,Y)},array(){return w(this)},or(Y){return W0([this,Y])},and(Y){return yQ(this,Y)},transform(Y){return Oz(this,Tz(Y))},default(Y){return zb(this,Y)},prefault(Y){return Vb(this,Y)},catch(Y){return Lb(this,Y)},pipe(Y){return Oz(this,Y)},readonly(){return Ob(this)},describe(Y){let J=this.clone();return H9.add(J,{description:Y}),J},meta(...Y){if(Y.length===0)return H9.get(this);let J=this.clone();return H9.add(J,Y[0]),J},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(Y){return Y(this)}}),Object.defineProperty(Q,"description",{get(){return H9.get(Q)?.description},configurable:!0}),Q}),Mz=O("_ZodString",(Q,X)=>{SQ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(J,$,W)=>bK(Q,J,$,W);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,l8(Q,"_ZodString",{regex(...J){return this.check(c7(...J))},includes(...J){return this.check(n7(...J))},startsWith(...J){return this.check(o7(...J))},endsWith(...J){return this.check(r7(...J))},min(...J){return this.check(P6(...J))},max(...J){return this.check(RQ(...J))},length(...J){return this.check(EQ(...J))},nonempty(...J){return this.check(P6(1,...J))},lowercase(J){return this.check(d7(J))},uppercase(J){return this.check(i7(J))},trim(){return this.check(s7())},normalize(...J){return this.check(a7(...J))},toLowerCase(){return this.check(t7())},toUpperCase(){return this.check(e7())},slugify(){return this.check(QY())}})}),zY=O("ZodString",(Q,X)=>{SQ.init(Q,X),Mz.init(Q,X),Q.email=(Y)=>Q.check(hZ(_N,Y)),Q.url=(Y)=>Q.check(p7(Az,Y)),Q.jwt=(Y)=>Q.check(JK(oN,Y)),Q.emoji=(Y)=>Q.check(pZ(xN,Y)),Q.guid=(Y)=>Q.check(l7(Fz,Y)),Q.uuid=(Y)=>Q.check(gZ(_Q,Y)),Q.uuidv4=(Y)=>Q.check(uZ(_Q,Y)),Q.uuidv6=(Y)=>Q.check(mZ(_Q,Y)),Q.uuidv7=(Y)=>Q.check(lZ(_Q,Y)),Q.nanoid=(Y)=>Q.check(cZ(yN,Y)),Q.guid=(Y)=>Q.check(l7(Fz,Y)),Q.cuid=(Y)=>Q.check(dZ(vN,Y)),Q.cuid2=(Y)=>Q.check(iZ(fN,Y)),Q.ulid=(Y)=>Q.check(nZ(hN,Y)),Q.base64=(Y)=>Q.check(QK(dN,Y)),Q.base64url=(Y)=>Q.check(XK(iN,Y)),Q.xid=(Y)=>Q.check(oZ(gN,Y)),Q.ksuid=(Y)=>Q.check(rZ(uN,Y)),Q.ipv4=(Y)=>Q.check(aZ(mN,Y)),Q.ipv6=(Y)=>Q.check(sZ(lN,Y)),Q.cidrv4=(Y)=>Q.check(tZ(pN,Y)),Q.cidrv6=(Y)=>Q.check(eZ(cN,Y)),Q.e164=(Y)=>Q.check(YK(nN,Y)),Q.datetime=(Y)=>Q.check(WY(Y)),Q.date=(Y)=>Q.check(GY(Y)),Q.time=(Y)=>Q.check(BY(Y)),Q.duration=(Y)=>Q.check(ZY(Y))});function L(Q){return vZ(zY,Q)}var B0=O("ZodStringFormat",(Q,X)=>{$0.init(Q,X),Mz.init(Q,X)}),_N=O("ZodEmail",(Q,X)=>{hB.init(Q,X),B0.init(Q,X)});var Fz=O("ZodGUID",(Q,X)=>{vB.init(Q,X),B0.init(Q,X)});var _Q=O("ZodUUID",(Q,X)=>{fB.init(Q,X),B0.init(Q,X)});var Az=O("ZodURL",(Q,X)=>{gB.init(Q,X),B0.init(Q,X)});function Pz(Q){return p7(Az,Q)}var xN=O("ZodEmoji",(Q,X)=>{uB.init(Q,X),B0.init(Q,X)});var yN=O("ZodNanoID",(Q,X)=>{mB.init(Q,X),B0.init(Q,X)});var vN=O("ZodCUID",(Q,X)=>{lB.init(Q,X),B0.init(Q,X)});var fN=O("ZodCUID2",(Q,X)=>{pB.init(Q,X),B0.init(Q,X)});var hN=O("ZodULID",(Q,X)=>{cB.init(Q,X),B0.init(Q,X)});var gN=O("ZodXID",(Q,X)=>{dB.init(Q,X),B0.init(Q,X)});var uN=O("ZodKSUID",(Q,X)=>{iB.init(Q,X),B0.init(Q,X)});var mN=O("ZodIPv4",(Q,X)=>{sB.init(Q,X),B0.init(Q,X)});var lN=O("ZodIPv6",(Q,X)=>{tB.init(Q,X),B0.init(Q,X)});var pN=O("ZodCIDRv4",(Q,X)=>{eB.init(Q,X),B0.init(Q,X)});var cN=O("ZodCIDRv6",(Q,X)=>{QZ.init(Q,X),B0.init(Q,X)});var dN=O("ZodBase64",(Q,X)=>{YZ.init(Q,X),B0.init(Q,X)});var iN=O("ZodBase64URL",(Q,X)=>{JZ.init(Q,X),B0.init(Q,X)});var nN=O("ZodE164",(Q,X)=>{$Z.init(Q,X),B0.init(Q,X)});var oN=O("ZodJWT",(Q,X)=>{WZ.init(Q,X),B0.init(Q,X)});var xQ=O("ZodNumber",(Q,X)=>{f7.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(J,$,W)=>wK(Q,J,$,W),l8(Q,"ZodNumber",{gt(J,$){return this.check(A6(J,$))},gte(J,$){return this.check(F1(J,$))},min(J,$){return this.check(F1(J,$))},lt(J,$){return this.check(M6(J,$))},lte(J,$){return this.check(i1(J,$))},max(J,$){return this.check(i1(J,$))},int(J){return this.check(Lz(J))},safe(J){return this.check(Lz(J))},positive(J){return this.check(A6(0,J))},nonnegative(J){return this.check(F1(0,J))},negative(J){return this.check(M6(0,J))},nonpositive(J){return this.check(i1(0,J))},multipleOf(J,$){return this.check(g8(J,$))},step(J,$){return this.check(g8(J,$))},finite(){return this}});let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function d(Q){return ZK(xQ,Q)}var rN=O("ZodNumberFormat",(Q,X)=>{GZ.init(Q,X),xQ.init(Q,X)});function Lz(Q){return zK(rN,Q)}var HY=O("ZodBoolean",(Q,X)=>{BZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>IK(Q,Y,J,$)});function Q0(Q){return HK(HY,Q)}var jz=O("ZodBigInt",(Q,X)=>{ZZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(J,$,W)=>CK(Q,J,$,W),Q.gte=(J,$)=>Q.check(F1(J,$)),Q.min=(J,$)=>Q.check(F1(J,$)),Q.gt=(J,$)=>Q.check(A6(J,$)),Q.gte=(J,$)=>Q.check(F1(J,$)),Q.min=(J,$)=>Q.check(F1(J,$)),Q.lt=(J,$)=>Q.check(M6(J,$)),Q.lte=(J,$)=>Q.check(i1(J,$)),Q.max=(J,$)=>Q.check(i1(J,$)),Q.positive=(J)=>Q.check(A6(BigInt(0),J)),Q.negative=(J)=>Q.check(M6(BigInt(0),J)),Q.nonpositive=(J)=>Q.check(i1(BigInt(0),J)),Q.nonnegative=(J)=>Q.check(F1(BigInt(0),J)),Q.multipleOf=(J,$)=>Q.check(g8(J,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var aN=O("ZodNull",(Q,X)=>{KZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>TK(Q,Y,J,$)});function Nz(Q){return FK(aN,Q)}var sN=O("ZodAny",(Q,X)=>{zZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>RK(Q,Y,J,$)});function bz(){return LK(sN)}var tN=O("ZodUnknown",(Q,X)=>{HZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>EK(Q,Y,J,$)});function Z0(){return DK(tN)}var eN=O("ZodNever",(Q,X)=>{VZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>SK(Q,Y,J,$)});function Qb(Q){return UK(eN,Q)}var wz=O("ZodDate",(Q,X)=>{qZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(J,$,W)=>kK(Q,J,$,W),Q.min=(J,$)=>Q.check(F1(J,$)),Q.max=(J,$)=>Q.check(i1(J,$));let Y=Q._zod.bag;Q.minDate=Y.minimum?new Date(Y.minimum):null,Q.maxDate=Y.maximum?new Date(Y.maximum):null});var Xb=O("ZodArray",(Q,X)=>{FZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>fK(Q,Y,J,$),Q.element=X.element,l8(Q,"ZodArray",{min(Y,J){return this.check(P6(Y,J))},nonempty(Y){return this.check(P6(1,Y))},max(Y,J){return this.check(RQ(Y,J))},length(Y,J){return this.check(EQ(Y,J))},unwrap(){return this.element}})});function w(Q,X){return MK(Xb,Q,X)}var Iz=O("ZodObject",(Q,X)=>{UZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>hK(Q,Y,J,$),g.defineLazy(Q,"shape",()=>{return X.shape}),l8(Q,"ZodObject",{keyof(){return c0(Object.keys(this._zod.def.shape))},catchall(Y){return this.clone({...this._zod.def,catchall:Y})},passthrough(){return this.clone({...this._zod.def,catchall:Z0()})},loose(){return this.clone({...this._zod.def,catchall:Z0()})},strict(){return this.clone({...this._zod.def,catchall:Qb()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(Y){return g.extend(this,Y)},safeExtend(Y){return g.safeExtend(this,Y)},merge(Y){return g.merge(this,Y)},pick(Y){return g.pick(this,Y)},omit(Y){return g.omit(this,Y)},partial(...Y){return g.partial(Sz,this,Y[0])},required(...Y){return g.required(Rz,this,Y[0])}})});function I(Q,X){let Y={type:"object",shape:Q??{},...g.normalizeParams(X)};return new Iz(Y)}function M0(Q,X){return new Iz({type:"object",shape:Q,catchall:Z0(),...g.normalizeParams(X)})}var Cz=O("ZodUnion",(Q,X)=>{h7.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>gK(Q,Y,J,$),Q.options=X.options});function W0(Q,X){return new Cz({type:"union",options:Q,...g.normalizeParams(X)})}var Yb=O("ZodDiscriminatedUnion",(Q,X)=>{Cz.init(Q,X),OZ.init(Q,X)});function VY(Q,X,Y){return new Yb({type:"union",options:X,discriminator:Q,...g.normalizeParams(Y)})}var Jb=O("ZodIntersection",(Q,X)=>{MZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>uK(Q,Y,J,$)});function yQ(Q,X){return new Jb({type:"intersection",left:Q,right:X})}var Dz=O("ZodRecord",(Q,X)=>{AZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>mK(Q,Y,J,$),Q.keyType=X.keyType,Q.valueType=X.valueType});function J0(Q,X,Y){if(!X||!X._zod)return new Dz({type:"record",keyType:L(),valueType:Q,...g.normalizeParams(X)});return new Dz({type:"record",keyType:Q,valueType:X,...g.normalizeParams(Y)})}var KY=O("ZodEnum",(Q,X)=>{PZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(J,$,W)=>_K(Q,J,$,W),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(J,$)=>{let W={};for(let G of J)if(Y.has(G))W[G]=X.entries[G];else throw Error(`Key ${G} not found in enum`);return new KY({...X,checks:[],...g.normalizeParams($),entries:W})},Q.exclude=(J,$)=>{let W={...X.entries};for(let G of J)if(Y.has(G))delete W[G];else throw Error(`Key ${G} not found in enum`);return new KY({...X,checks:[],...g.normalizeParams($),entries:W})}});function c0(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((J)=>[J,J])):Q;return new KY({type:"enum",entries:Y,...g.normalizeParams(X)})}var $b=O("ZodLiteral",(Q,X)=>{jZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>xK(Q,Y,J,$),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function T(Q,X){return new $b({type:"literal",values:Array.isArray(Q)?Q:[Q],...g.normalizeParams(X)})}var Wb=O("ZodTransform",(Q,X)=>{NZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>vK(Q,Y,J,$),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")throw new T8(Q.constructor.name);Y.addIssue=(W)=>{if(typeof W==="string")Y.issues.push(g.issue(W,Y.value,X));else{let G=W;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=Y.value),G.inst??(G.inst=Q),Y.issues.push(g.issue(G))}};let $=X.transform(Y.value,Y);if($ instanceof Promise)return $.then((W)=>{return Y.value=W,Y.fallback=!0,Y});return Y.value=$,Y.fallback=!0,Y}});function Tz(Q){return new Wb({type:"transform",transform:Q})}var Sz=O("ZodOptional",(Q,X)=>{g7.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>$Y(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType});function K0(Q){return new Sz({type:"optional",innerType:Q})}var Gb=O("ZodExactOptional",(Q,X)=>{bZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>$Y(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType});function Bb(Q){return new Gb({type:"optional",innerType:Q})}var Zb=O("ZodNullable",(Q,X)=>{wZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>lK(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType});function Uz(Q){return new Zb({type:"nullable",innerType:Q})}var Kb=O("ZodDefault",(Q,X)=>{IZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>cK(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function zb(Q,X){return new Kb({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():g.shallowClone(X)}})}var Hb=O("ZodPrefault",(Q,X)=>{CZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>dK(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType});function Vb(Q,X){return new Hb({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():g.shallowClone(X)}})}var Rz=O("ZodNonOptional",(Q,X)=>{TZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>pK(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType});function qb(Q,X){return new Rz({type:"nonoptional",innerType:Q,...g.normalizeParams(X)})}var Fb=O("ZodCatch",(Q,X)=>{SZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>iK(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function Lb(Q,X){return new Fb({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var Ez=O("ZodPipe",(Q,X)=>{u7.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>nK(Q,Y,J,$),Q.in=X.in,Q.out=X.out});function Oz(Q,X){return new Ez({type:"pipe",in:Q,out:X})}var Db=O("ZodPreprocess",(Q,X)=>{Ez.init(Q,X),RZ.init(Q,X)}),Ub=O("ZodReadonly",(Q,X)=>{EZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>oK(Q,Y,J,$),Q.unwrap=()=>Q._zod.def.innerType});function Ob(Q){return new Ub({type:"readonly",innerType:Q})}var kz=O("ZodCustom",(Q,X)=>{kZ.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,J,$)=>yK(Q,Y,J,$)});function _z(Q,X){return AK(kz,Q??(()=>!0),X)}function Mb(Q,X={}){return PK(kz,Q,X)}function Ab(Q,X){return jK(Q,X)}function qY(Q,X){return new Db({type:"pipe",in:Tz(Q),out:X})}var yz={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 xz;(function(Q){})(xz||(xz={}));var vQ={};A5(vQ,{string:()=>Pb,number:()=>jb,date:()=>wb,boolean:()=>Nb,bigint:()=>bb});function Pb(Q){return fZ(zY,Q)}function jb(Q){return KK(xQ,Q)}function Nb(Q){return VK(HY,Q)}function bb(Q){return qK(jz,Q)}function wb(Q){return OK(wz,Q)}p0(m7());var w6="2025-11-25";var vz=[w6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],q9="io.modelcontextprotocol/related-task",hQ="2.0",A0=_z((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),fz=W0([L(),d().int()]),hz=L(),wc=M0({ttl:d().optional(),pollInterval:d().optional()}),Cb=I({ttl:d().optional()}),Tb=I({taskId:L()}),FY=M0({progressToken:fz.optional(),[q9]:Tb.optional()}),Q1=I({_meta:FY.optional()}),p8=Q1.extend({task:Cb.optional()}),gz=(Q)=>p8.safeParse(Q).success,w0=I({method:L(),params:Q1.loose().optional()}),G1=I({_meta:FY.optional()}),B1=I({method:L(),params:G1.loose().optional()}),P0=M0({_meta:FY.optional()}),gQ=W0([L(),d().int()]),uz=I({jsonrpc:T(hQ),id:gQ,...w0.shape}).strict(),c8=(Q)=>uz.safeParse(Q).success,mz=I({jsonrpc:T(hQ),...B1.shape}).strict(),lz=(Q)=>mz.safeParse(Q).success,LY=I({jsonrpc:T(hQ),id:gQ,result:P0}).strict(),p9=(Q)=>LY.safeParse(Q).success;var k;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(k||(k={}));var DY=I({jsonrpc:T(hQ),id:gQ.optional(),error:I({code:d().int(),message:L(),data:Z0().optional()})}).strict();var pz=(Q)=>DY.safeParse(Q).success;var F9=W0([uz,mz,LY,DY]),Ic=W0([LY,DY]),c9=P0.strict(),Sb=G1.extend({requestId:gQ.optional(),reason:L().optional()}),uQ=B1.extend({method:T("notifications/cancelled"),params:Sb}),Rb=I({src:L(),mimeType:L().optional(),sizes:w(L()).optional(),theme:c0(["light","dark"]).optional()}),d8=I({icons:w(Rb).optional()}),b6=I({name:L(),title:L().optional()}),cz=b6.extend({...b6.shape,...d8.shape,version:L(),websiteUrl:L().optional(),description:L().optional()}),Eb=yQ(I({applyDefaults:Q0().optional()}),J0(L(),Z0())),kb=qY((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},yQ(I({form:Eb.optional(),url:A0.optional()}),J0(L(),Z0()).optional())),_b=M0({list:A0.optional(),cancel:A0.optional(),requests:M0({sampling:M0({createMessage:A0.optional()}).optional(),elicitation:M0({create:A0.optional()}).optional()}).optional()}),xb=M0({list:A0.optional(),cancel:A0.optional(),requests:M0({tools:M0({call:A0.optional()}).optional()}).optional()}),yb=I({experimental:J0(L(),A0).optional(),sampling:I({context:A0.optional(),tools:A0.optional()}).optional(),elicitation:kb.optional(),roots:I({listChanged:Q0().optional()}).optional(),tasks:_b.optional(),extensions:J0(L(),A0).optional()}),vb=Q1.extend({protocolVersion:L(),capabilities:yb,clientInfo:cz}),fb=w0.extend({method:T("initialize"),params:vb});var hb=I({experimental:J0(L(),A0).optional(),logging:A0.optional(),completions:A0.optional(),prompts:I({listChanged:Q0().optional()}).optional(),resources:I({subscribe:Q0().optional(),listChanged:Q0().optional()}).optional(),tools:I({listChanged:Q0().optional()}).optional(),tasks:xb.optional(),extensions:J0(L(),A0).optional()}),UY=P0.extend({protocolVersion:L(),capabilities:hb,serverInfo:cz,instructions:L().optional()}),dz=B1.extend({method:T("notifications/initialized"),params:G1.optional()}),iz=(Q)=>dz.safeParse(Q).success,mQ=w0.extend({method:T("ping"),params:Q1.optional()}),gb=I({progress:d(),total:K0(d()),message:K0(L())}),ub=I({...G1.shape,...gb.shape,progressToken:fz}),lQ=B1.extend({method:T("notifications/progress"),params:ub}),mb=Q1.extend({cursor:hz.optional()}),i8=w0.extend({params:mb.optional()}),n8=P0.extend({nextCursor:hz.optional()}),lb=c0(["working","input_required","completed","failed","cancelled"]),o8=I({taskId:L(),status:lb,ttl:W0([d(),Nz()]),createdAt:L(),lastUpdatedAt:L(),pollInterval:K0(d()),statusMessage:K0(L())}),d9=P0.extend({task:o8}),pb=G1.merge(o8),r8=B1.extend({method:T("notifications/tasks/status"),params:pb}),pQ=w0.extend({method:T("tasks/get"),params:Q1.extend({taskId:L()})}),cQ=P0.merge(o8),dQ=w0.extend({method:T("tasks/result"),params:Q1.extend({taskId:L()})}),Cc=P0.loose(),iQ=i8.extend({method:T("tasks/list")}),nQ=n8.extend({tasks:w(o8)}),oQ=w0.extend({method:T("tasks/cancel"),params:Q1.extend({taskId:L()})}),nz=P0.merge(o8),oz=I({uri:L(),mimeType:K0(L()),_meta:J0(L(),Z0()).optional()}),rz=oz.extend({text:L()}),OY=L().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),az=oz.extend({blob:OY}),a8=c0(["user","assistant"]),I6=I({audience:w(a8).optional(),priority:d().min(0).max(1).optional(),lastModified:m8.datetime({offset:!0}).optional()}),sz=I({...b6.shape,...d8.shape,uri:L(),description:K0(L()),mimeType:K0(L()),size:K0(d()),annotations:I6.optional(),_meta:K0(M0({}))}),cb=I({...b6.shape,...d8.shape,uriTemplate:L(),description:K0(L()),mimeType:K0(L()),annotations:I6.optional(),_meta:K0(M0({}))}),db=i8.extend({method:T("resources/list")}),MY=n8.extend({resources:w(sz)}),ib=i8.extend({method:T("resources/templates/list")}),AY=n8.extend({resourceTemplates:w(cb)}),PY=Q1.extend({uri:L()}),nb=PY,ob=w0.extend({method:T("resources/read"),params:nb}),jY=P0.extend({contents:w(W0([rz,az]))}),NY=B1.extend({method:T("notifications/resources/list_changed"),params:G1.optional()}),rb=PY,ab=w0.extend({method:T("resources/subscribe"),params:rb}),sb=PY,tb=w0.extend({method:T("resources/unsubscribe"),params:sb}),eb=G1.extend({uri:L()}),Qw=B1.extend({method:T("notifications/resources/updated"),params:eb}),Xw=I({name:L(),description:K0(L()),required:K0(Q0())}),Yw=I({...b6.shape,...d8.shape,description:K0(L()),arguments:K0(w(Xw)),_meta:K0(M0({}))}),Jw=i8.extend({method:T("prompts/list")}),bY=n8.extend({prompts:w(Yw)}),$w=Q1.extend({name:L(),arguments:J0(L(),L()).optional()}),Ww=w0.extend({method:T("prompts/get"),params:$w}),wY=I({type:T("text"),text:L(),annotations:I6.optional(),_meta:J0(L(),Z0()).optional()}),IY=I({type:T("image"),data:OY,mimeType:L(),annotations:I6.optional(),_meta:J0(L(),Z0()).optional()}),CY=I({type:T("audio"),data:OY,mimeType:L(),annotations:I6.optional(),_meta:J0(L(),Z0()).optional()}),Gw=I({type:T("tool_use"),name:L(),id:L(),input:J0(L(),Z0()),_meta:J0(L(),Z0()).optional()}),Bw=I({type:T("resource"),resource:W0([rz,az]),annotations:I6.optional(),_meta:J0(L(),Z0()).optional()}),Zw=sz.extend({type:T("resource_link")}),TY=W0([wY,IY,CY,Zw,Bw]),Kw=I({role:a8,content:TY}),SY=P0.extend({description:L().optional(),messages:w(Kw)}),RY=B1.extend({method:T("notifications/prompts/list_changed"),params:G1.optional()}),zw=I({title:L().optional(),readOnlyHint:Q0().optional(),destructiveHint:Q0().optional(),idempotentHint:Q0().optional(),openWorldHint:Q0().optional()}),Hw=I({taskSupport:c0(["required","optional","forbidden"]).optional()}),tz=I({...b6.shape,...d8.shape,description:L().optional(),inputSchema:I({type:T("object"),properties:J0(L(),A0).optional(),required:w(L()).optional()}).catchall(Z0()),outputSchema:I({type:T("object"),properties:J0(L(),A0).optional(),required:w(L()).optional()}).catchall(Z0()).optional(),annotations:zw.optional(),execution:Hw.optional(),_meta:J0(L(),Z0()).optional()}),Vw=i8.extend({method:T("tools/list")}),EY=n8.extend({tools:w(tz)}),i9=P0.extend({content:w(TY).default([]),structuredContent:J0(L(),Z0()).optional(),isError:Q0().optional()}),Tc=i9.or(P0.extend({toolResult:Z0()})),qw=p8.extend({name:L(),arguments:J0(L(),Z0()).optional()}),Fw=w0.extend({method:T("tools/call"),params:qw}),s8=B1.extend({method:T("notifications/tools/list_changed"),params:G1.optional()}),ez=I({autoRefresh:Q0().default(!0),debounceMs:d().int().nonnegative().default(300)}),QH=c0(["debug","info","notice","warning","error","critical","alert","emergency"]),Lw=Q1.extend({level:QH}),Dw=w0.extend({method:T("logging/setLevel"),params:Lw}),Uw=G1.extend({level:QH,logger:L().optional(),data:Z0()}),Ow=B1.extend({method:T("notifications/message"),params:Uw}),Mw=I({name:L().optional()}),Aw=I({hints:w(Mw).optional(),costPriority:d().min(0).max(1).optional(),speedPriority:d().min(0).max(1).optional(),intelligencePriority:d().min(0).max(1).optional()}),Pw=I({mode:c0(["auto","required","none"]).optional()}),jw=I({type:T("tool_result"),toolUseId:L().describe("The unique identifier for the corresponding tool call."),content:w(TY).default([]),structuredContent:I({}).loose().optional(),isError:Q0().optional(),_meta:J0(L(),Z0()).optional()}),Nw=VY("type",[wY,IY,CY]),fQ=VY("type",[wY,IY,CY,Gw,jw]),bw=I({role:a8,content:W0([fQ,w(fQ)]),_meta:J0(L(),Z0()).optional()}),ww=p8.extend({messages:w(bw),modelPreferences:Aw.optional(),systemPrompt:L().optional(),includeContext:c0(["none","thisServer","allServers"]).optional(),temperature:d().optional(),maxTokens:d().int(),stopSequences:w(L()).optional(),metadata:A0.optional(),tools:w(tz).optional(),toolChoice:Pw.optional()}),kY=w0.extend({method:T("sampling/createMessage"),params:ww}),_Y=P0.extend({model:L(),stopReason:K0(c0(["endTurn","stopSequence","maxTokens"]).or(L())),role:a8,content:Nw}),xY=P0.extend({model:L(),stopReason:K0(c0(["endTurn","stopSequence","maxTokens","toolUse"]).or(L())),role:a8,content:W0([fQ,w(fQ)])}),Iw=I({type:T("boolean"),title:L().optional(),description:L().optional(),default:Q0().optional()}),Cw=I({type:T("string"),title:L().optional(),description:L().optional(),minLength:d().optional(),maxLength:d().optional(),format:c0(["email","uri","date","date-time"]).optional(),default:L().optional()}),Tw=I({type:c0(["number","integer"]),title:L().optional(),description:L().optional(),minimum:d().optional(),maximum:d().optional(),default:d().optional()}),Sw=I({type:T("string"),title:L().optional(),description:L().optional(),enum:w(L()),default:L().optional()}),Rw=I({type:T("string"),title:L().optional(),description:L().optional(),oneOf:w(I({const:L(),title:L()})),default:L().optional()}),Ew=I({type:T("string"),title:L().optional(),description:L().optional(),enum:w(L()),enumNames:w(L()).optional(),default:L().optional()}),kw=W0([Sw,Rw]),_w=I({type:T("array"),title:L().optional(),description:L().optional(),minItems:d().optional(),maxItems:d().optional(),items:I({type:T("string"),enum:w(L())}),default:w(L()).optional()}),xw=I({type:T("array"),title:L().optional(),description:L().optional(),minItems:d().optional(),maxItems:d().optional(),items:I({anyOf:w(I({const:L(),title:L()}))}),default:w(L()).optional()}),yw=W0([_w,xw]),vw=W0([Ew,kw,yw]),fw=W0([vw,Iw,Cw,Tw]),hw=p8.extend({mode:T("form").optional(),message:L(),requestedSchema:I({type:T("object"),properties:J0(L(),fw),required:w(L()).optional()})}),gw=p8.extend({mode:T("url"),message:L(),elicitationId:L(),url:L().url()}),uw=W0([hw,gw]),yY=w0.extend({method:T("elicitation/create"),params:uw}),mw=G1.extend({elicitationId:L()}),lw=B1.extend({method:T("notifications/elicitation/complete"),params:mw}),vY=P0.extend({action:c0(["accept","decline","cancel"]),content:qY((Q)=>Q===null?void 0:Q,J0(L(),W0([L(),d(),Q0(),w(L())])).optional())}),pw=I({type:T("ref/resource"),uri:L()});var cw=I({type:T("ref/prompt"),name:L()}),dw=Q1.extend({ref:W0([cw,pw]),argument:I({name:L(),value:L()}),context:I({arguments:J0(L(),L()).optional()}).optional()}),iw=w0.extend({method:T("completion/complete"),params:dw});var fY=P0.extend({completion:M0({values:w(L()).max(100),total:K0(d().int()),hasMore:K0(Q0())})}),nw=I({uri:L().startsWith("file://"),name:L().optional(),_meta:J0(L(),Z0()).optional()}),ow=w0.extend({method:T("roots/list"),params:Q1.optional()}),rw=P0.extend({roots:w(nw)}),aw=B1.extend({method:T("notifications/roots/list_changed"),params:G1.optional()}),Sc=W0([mQ,fb,iw,Dw,Ww,Jw,db,ib,ob,ab,tb,Fw,Vw,pQ,dQ,iQ,oQ]),Rc=W0([uQ,lQ,dz,aw,r8]),Ec=W0([c9,_Y,xY,vY,rw,cQ,nQ,d9]),kc=W0([mQ,kY,yY,ow,pQ,dQ,iQ,oQ]),_c=W0([uQ,lQ,Ow,Qw,NY,s8,RY,r8,lw]),xc=W0([c9,UY,fY,SY,bY,MY,AY,jY,i9,EY,cQ,nQ,d9]);class E extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===k.UrlElicitationRequired&&Y){let J=Y;if(J.elicitations)return new XH(J.elicitations,X)}return new E(Q,X,Y)}}class XH extends E{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function L9(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var sw=Symbol("Let zodToJsonSchema decide on which parser to use");var qd=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function hY(Q){let Y=kQ(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let J=rK(Y);if(typeof J!=="string")throw Error("Schema method literal must be a string");return J}function gY(Q,X){let Y=L1(Q,X);if(!Y.success)throw Y.error;return Y.data}var JI=60000;class uY{constructor(Q){if(this._options=Q,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(uQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(lQ,(X)=>{this._onprogress(X)}),this.setRequestHandler(mQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(pQ,async(X,Y)=>{let J=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!J)throw new E(k.InvalidParams,"Failed to retrieve task: Task not found");return{...J}}),this.setRequestHandler(dQ,async(X,Y)=>{let J=async()=>{let $=X.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,Y.sessionId)){if(G.type==="response"||G.type==="error"){let B=G.message,Z=B.id,K=this._requestResolvers.get(Z);if(K)if(this._requestResolvers.delete(Z),G.type==="response")K(B);else{let z=B,H=new E(z.error.code,z.error.message,z.error.data);K(H)}else{let z=G.type==="response"?"Response":"Error";this._onerror(Error(`${z} handler missing for request ${Z}`))}continue}await this._transport?.send(G.message,{relatedRequestId:Y.requestId})}}let W=await this._taskStore.getTask($,Y.sessionId);if(!W)throw new E(k.InvalidParams,`Task not found: ${$}`);if(!L9(W.status))return await this._waitForTaskUpdate($,Y.signal),await J();if(L9(W.status)){let G=await this._taskStore.getTaskResult($,Y.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[q9]:{taskId:$}}}}return await J()};return await J()}),this.setRequestHandler(iQ,async(X,Y)=>{try{let{tasks:J,nextCursor:$}=await this._taskStore.listTasks(X.params?.cursor,Y.sessionId);return{tasks:J,nextCursor:$,_meta:{}}}catch(J){throw new E(k.InvalidParams,`Failed to list tasks: ${J instanceof Error?J.message:String(J)}`)}}),this.setRequestHandler(oQ,async(X,Y)=>{try{let J=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!J)throw new E(k.InvalidParams,`Task not found: ${X.params.taskId}`);if(L9(J.status))throw new E(k.InvalidParams,`Cannot cancel task in terminal status: ${J.status}`);await this._taskStore.updateTaskStatus(X.params.taskId,"cancelled","Client cancelled task execution.",Y.sessionId),this._clearTaskQueue(X.params.taskId);let $=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!$)throw new E(k.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...$}}catch(J){if(J instanceof E)throw J;throw new E(k.InvalidRequest,`Failed to cancel task: ${J instanceof Error?J.message:String(J)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,X,Y,J,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(J,X),startTime:Date.now(),timeout:X,maxTotalTimeout:Y,resetTimeoutOnProgress:$,onTimeout:J})}_resetTimeout(Q){let X=this._timeoutInfo.get(Q);if(!X)return!1;let Y=Date.now()-X.startTime;if(X.maxTotalTimeout&&Y>=X.maxTotalTimeout)throw this._timeoutInfo.delete(Q),E.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:X.maxTotalTimeout,totalElapsed:Y});return clearTimeout(X.timeoutId),X.timeoutId=setTimeout(X.onTimeout,X.timeout),!0}_cleanupTimeout(Q){let X=this._timeoutInfo.get(Q);if(X)clearTimeout(X.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=Q;let X=this.transport?.onclose;this._transport.onclose=()=>{X?.(),this._onclose()};let Y=this.transport?.onerror;this._transport.onerror=($)=>{Y?.($),this._onerror($)};let J=this._transport?.onmessage;this._transport.onmessage=($,W)=>{if(J?.($,W),p9($)||pz($))this._onresponse($);else if(c8($))this._onrequest($,W);else if(lz($))this._onnotification($);else this._onerror(Error(`Unknown message type: ${JSON.stringify($)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let Y of this._timeoutInfo.values())clearTimeout(Y.timeoutId);this._timeoutInfo.clear();for(let Y of this._requestHandlerAbortControllers.values())Y.abort();this._requestHandlerAbortControllers.clear();let X=E.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Y of Q.values())Y(X)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let X=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(X===void 0)return;Promise.resolve().then(()=>X(Q)).catch((Y)=>this._onerror(Error(`Uncaught error in notification handler: ${Y}`)))}_onrequest(Q,X){let Y=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,J=this._transport,$=Q.params?._meta?.[q9]?.taskId;if(Y===void 0){let K={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},J?.sessionId).catch((z)=>this._onerror(Error(`Failed to enqueue error response: ${z}`)));else J?.send(K).catch((z)=>this._onerror(Error(`Failed to send an error response: ${z}`)));return}let W=new AbortController;this._requestHandlerAbortControllers.set(Q.id,W);let G=gz(Q.params)?Q.params.task:void 0,B=this._taskStore?this.requestTaskStore(Q,J?.sessionId):void 0,Z={signal:W.signal,sessionId:J?.sessionId,_meta:Q.params?._meta,sendNotification:async(K)=>{if(W.signal.aborted)return;let z={relatedRequestId:Q.id};if($)z.relatedTask={taskId:$};await this.notification(K,z)},sendRequest:async(K,z,H)=>{if(W.signal.aborted)throw new E(k.ConnectionClosed,"Request was cancelled");let V={...H,relatedRequestId:Q.id};if($&&!V.relatedTask)V.relatedTask={taskId:$};let q=V.relatedTask?.taskId??$;if(q&&B)await B.updateTaskStatus(q,"input_required");return await this.request(K,z,V)},authInfo:X?.authInfo,requestId:Q.id,requestInfo:X?.requestInfo,taskId:$,taskStore:B,taskRequestedTtl:G?.ttl,closeSSEStream:X?.closeSSEStream,closeStandaloneSSEStream:X?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>Y(Q,Z)).then(async(K)=>{if(W.signal.aborted)return;let z={result:K,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:z,timestamp:Date.now()},J?.sessionId);else await J?.send(z)},async(K)=>{if(W.signal.aborted)return;let z={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(K.code)?K.code:k.InternalError,message:K.message??"Internal error",...K.data!==void 0&&{data:K.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:z,timestamp:Date.now()},J?.sessionId);else await J?.send(z)}).catch((K)=>this._onerror(Error(`Failed to send response: ${K}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(Q.id)===W)this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:X,...Y}=Q.params,J=Number(X),$=this._progressHandlers.get(J);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let W=this._responseHandlers.get(J),G=this._timeoutInfo.get(J);if(G&&W&&G.resetTimeoutOnProgress)try{this._resetTimeout(J)}catch(B){this._responseHandlers.delete(J),this._progressHandlers.delete(J),this._cleanupTimeout(J),W(B);return}$(Y)}_onresponse(Q){let X=Number(Q.id),Y=this._requestResolvers.get(X);if(Y){if(this._requestResolvers.delete(X),p9(Q))Y(Q);else{let W=new E(Q.error.code,Q.error.message,Q.error.data);Y(W)}return}let J=this._responseHandlers.get(X);if(J===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(X),this._cleanupTimeout(X);let $=!1;if(p9(Q)&&Q.result&&typeof Q.result==="object"){let W=Q.result;if(W.task&&typeof W.task==="object"){let G=W.task;if(typeof G.taskId==="string")$=!0,this._taskProgressTokens.set(G.taskId,X)}}if(!$)this._progressHandlers.delete(X);if(p9(Q))J(Q);else{let W=E.fromError(Q.error.code,Q.error.message,Q.error.data);J(W)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,X,Y){let{task:J}=Y??{};if(!J){try{yield{type:"result",result:await this.request(Q,X,Y)}}catch(W){yield{type:"error",error:W instanceof E?W:new E(k.InternalError,String(W))}}return}let $;try{let W=await this.request(Q,d9,Y);if(W.task)$=W.task.taskId,yield{type:"taskCreated",task:W.task};else throw new E(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},Y);if(yield{type:"taskStatus",task:G},L9(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};else if(G.status==="failed")yield{type:"error",error:new E(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new E(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};return}let B=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((Z)=>setTimeout(Z,B)),Y?.signal?.throwIfAborted()}}catch(W){yield{type:"error",error:W instanceof E?W:new E(k.InternalError,String(W))}}}request(Q,X,Y){let{relatedRequestId:J,resumptionToken:$,onresumptiontoken:W,task:G,relatedTask:B}=Y??{};return new Promise((Z,K)=>{let z=(M)=>{K(M)};if(!this._transport){z(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),G)this.assertTaskCapability(Q.method)}catch(M){z(M);return}Y?.signal?.throwIfAborted();let H=this._requestMessageId++,V={...Q,jsonrpc:"2.0",id:H};if(Y?.onprogress)this._progressHandlers.set(H,Y.onprogress),V.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:H}};if(G)V.params={...V.params,task:G};if(B)V.params={...V.params,_meta:{...V.params?._meta||{},[q9]:B}};let q=(M)=>{this._responseHandlers.delete(H),this._progressHandlers.delete(H),this._cleanupTimeout(H),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:H,reason:String(M)}},{relatedRequestId:J,resumptionToken:$,onresumptiontoken:W}).catch((j)=>this._onerror(Error(`Failed to send cancellation: ${j}`)));let P=M instanceof E?M:new E(k.RequestTimeout,String(M));K(P)};this._responseHandlers.set(H,(M)=>{if(Y?.signal?.aborted)return;if(M instanceof Error)return K(M);try{let P=L1(X,M.result);if(!P.success)K(P.error);else Z(P.data)}catch(P){K(P)}}),Y?.signal?.addEventListener("abort",()=>{q(Y?.signal?.reason)});let F=Y?.timeout??JI,D=()=>q(E.fromError(k.RequestTimeout,"Request timed out",{timeout:F}));this._setupTimeout(H,F,Y?.maxTotalTimeout,D,Y?.resetTimeoutOnProgress??!1);let U=B?.taskId;if(U){let M=(P)=>{let j=this._responseHandlers.get(H);if(j)j(P);else this._onerror(Error(`Response handler missing for side-channeled request ${H}`))};this._requestResolvers.set(H,M),this._enqueueTaskMessage(U,{type:"request",message:V,timestamp:Date.now()}).catch((P)=>{this._cleanupTimeout(H),K(P)})}else this._transport.send(V,{relatedRequestId:J,resumptionToken:$,onresumptiontoken:W}).catch((M)=>{this._cleanupTimeout(H),K(M)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},cQ,X)}async getTaskResult(Q,X,Y){return this.request({method:"tasks/result",params:Q},X,Y)}async listTasks(Q,X){return this.request({method:"tasks/list",params:Q},nQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},nz,X)}async notification(Q,X){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let Y=X?.relatedTask?.taskId;if(Y){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[q9]:X.relatedTask}}};await this._enqueueTaskMessage(Y,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!X?.relatedRequestId&&!X?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let G={...Q,jsonrpc:"2.0"};if(X?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[q9]:X.relatedTask}}};this._transport?.send(G,X).catch((B)=>this._onerror(B))});return}let W={...Q,jsonrpc:"2.0"};if(X?.relatedTask)W={...W,params:{...W.params,_meta:{...W.params?._meta||{},[q9]:X.relatedTask}}};await this._transport.send(W,X)}setRequestHandler(Q,X){let Y=hY(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(J,$)=>{let W=gY(Q,J);return Promise.resolve(X(W,$))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,X){let Y=hY(Q);this._notificationHandlers.set(Y,(J)=>{let $=gY(Q,J);return Promise.resolve(X($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let X=this._taskProgressTokens.get(Q);if(X!==void 0)this._progressHandlers.delete(X),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,X,Y){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let J=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,X,Y,J)}async _clearTaskQueue(Q,X){if(this._taskMessageQueue){let Y=await this._taskMessageQueue.dequeueAll(Q,X);for(let J of Y)if(J.type==="request"&&c8(J.message)){let $=J.message.id,W=this._requestResolvers.get($);if(W)W(new E(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,X){let Y=this._options?.defaultTaskPollInterval??1000;try{let J=await this._taskStore?.getTask(Q);if(J?.pollInterval)Y=J.pollInterval}catch{}return new Promise((J,$)=>{if(X.aborted){$(new E(k.InvalidRequest,"Request cancelled"));return}let W=setTimeout(J,Y);X.addEventListener("abort",()=>{clearTimeout(W),$(new E(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,X){let Y=this._taskStore;if(!Y)throw Error("No task store configured");return{createTask:async(J)=>{if(!Q)throw Error("No request provided");return await Y.createTask(J,Q.id,{method:Q.method,params:Q.params},X)},getTask:async(J)=>{let $=await Y.getTask(J,X);if(!$)throw new E(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(J,$,W)=>{await Y.storeTaskResult(J,$,W,X);let G=await Y.getTask(J,X);if(G){let B=r8.parse({method:"notifications/tasks/status",params:G});if(await this.notification(B),L9(G.status))this._cleanupTaskProgressHandler(J)}},getTaskResult:(J)=>{return Y.getTaskResult(J,X)},updateTaskStatus:async(J,$,W)=>{let G=await Y.getTask(J,X);if(!G)throw new E(k.InvalidParams,`Task "${J}" not found - it may have been cleaned up`);if(L9(G.status))throw new E(k.InvalidParams,`Cannot update task "${J}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Y.updateTaskStatus(J,$,W,X);let B=await Y.getTask(J,X);if(B){let Z=r8.parse({method:"notifications/tasks/status",params:B});if(await this.notification(Z),L9(B.status))this._cleanupTaskProgressHandler(J)}},listTasks:(J)=>{return Y.listTasks(J,X)}}}}function YH(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function JH(Q,X){let Y={...Q};for(let J in X){let $=J,W=X[$];if(W===void 0)continue;let G=Y[$];if(YH(G)&&YH(W))Y[$]={...G,...W};else Y[$]=W}return Y}var gL=M5(yJ(),1),uL=M5(hL(),1);function wx(){let Q=new gL.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return uL.default(Q),Q}class dJ{constructor(Q){this._ajv=Q??wx()}getValidator(Q){let X="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(Y)=>{if(X(Y))return{valid:!0,data:Y,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(X.errors)}}}}class iJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=i9,Y){let J=this._client,$={...Y,task:Y?.task??(J.isToolTask(Q.name)?{}:void 0)},W=J.requestStream({method:"tools/call",params:Q},X,$),G=J.getToolOutputValidator(Q.name);for await(let B of W){if(B.type==="result"&&G){let Z=B.result;if(!Z.structuredContent&&!Z.isError){yield{type:"error",error:new E(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(Z.structuredContent)try{let K=G(Z.structuredContent);if(!K.valid){yield{type:"error",error:new E(k.InvalidParams,`Structured content does not match the tool's output schema: ${K.errorMessage}`)};return}}catch(K){if(K instanceof E){yield{type:"error",error:K};return}yield{type:"error",error:new E(k.InvalidParams,`Failed to validate structured content: ${K instanceof Error?K.message:String(K)}`)};return}}yield B}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function mL(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"tools/call":if(!Q.tools?.call)throw Error(`${Y} does not support task creation for tools/call (required for ${X})`);break;default:break}}function lL(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${Y} does not support task creation for sampling/createMessage (required for ${X})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${Y} does not support task creation for elicitation/create (required for ${X})`);break;default:break}}function EX(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,J=Q.properties;for(let $ of Object.keys(J)){let W=J[$];if(Y[$]===void 0&&Object.prototype.hasOwnProperty.call(W,"default"))Y[$]=W.default;if(Y[$]!==void 0)EX(W,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")EX(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")EX(Y,X)}}function Ix(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class nJ extends uY{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new dJ,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",s8,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",RY,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",NY,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new iJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=JH(this._capabilities,Q)}setRequestHandler(Q,X){let J=kQ(Q)?.method;if(!J)throw Error("Schema is missing a method literal");let $;if(N6(J)){let G=J;$=G._zod?.def?.value??G.value}else{let G=J;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let W=$;if(W==="elicitation/create"){let G=async(B,Z)=>{let K=L1(yY,B);if(!K.success){let M=K.error instanceof Error?K.error.message:String(K.error);throw new E(k.InvalidParams,`Invalid elicitation request: ${M}`)}let{params:z}=K.data;z.mode=z.mode??"form";let{supportsFormMode:H,supportsUrlMode:V}=Ix(this._capabilities.elicitation);if(z.mode==="form"&&!H)throw new E(k.InvalidParams,"Client does not support form-mode elicitation requests");if(z.mode==="url"&&!V)throw new E(k.InvalidParams,"Client does not support URL-mode elicitation requests");let q=await Promise.resolve(X(B,Z));if(z.task){let M=L1(d9,q);if(!M.success){let P=M.error instanceof Error?M.error.message:String(M.error);throw new E(k.InvalidParams,`Invalid task creation result: ${P}`)}return M.data}let F=L1(vY,q);if(!F.success){let M=F.error instanceof Error?F.error.message:String(F.error);throw new E(k.InvalidParams,`Invalid elicitation result: ${M}`)}let D=F.data,U=z.mode==="form"?z.requestedSchema:void 0;if(z.mode==="form"&&D.action==="accept"&&D.content&&U){if(this._capabilities.elicitation?.form?.applyDefaults)try{EX(U,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(W==="sampling/createMessage"){let G=async(B,Z)=>{let K=L1(kY,B);if(!K.success){let D=K.error instanceof Error?K.error.message:String(K.error);throw new E(k.InvalidParams,`Invalid sampling request: ${D}`)}let{params:z}=K.data,H=await Promise.resolve(X(B,Z));if(z.task){let D=L1(d9,H);if(!D.success){let U=D.error instanceof Error?D.error.message:String(D.error);throw new E(k.InvalidParams,`Invalid task creation result: ${U}`)}return D.data}let q=z.tools||z.toolChoice?xY:_Y,F=L1(q,H);if(!F.success){let D=F.error instanceof Error?F.error.message:String(F.error);throw new E(k.InvalidParams,`Invalid sampling result: ${D}`)}return F.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:w6,capabilities:this._capabilities,clientInfo:this._clientInfo}},UY,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!vz.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){mL(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;lL(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},c9,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},fY,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},c9,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},SY,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},bY,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},MY,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},AY,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},jY,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},c9,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},c9,X)}async callTool(Q,X=i9,Y){if(this.isToolTaskRequired(Q.name))throw new E(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let J=await this.request({method:"tools/call",params:Q},X,Y),$=this.getToolOutputValidator(Q.name);if($){if(!J.structuredContent&&!J.isError)throw new E(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(J.structuredContent)try{let W=$(J.structuredContent);if(!W.valid)throw new E(k.InvalidParams,`Structured content does not match the tool's output schema: ${W.errorMessage}`)}catch(W){if(W instanceof E)throw W;throw new E(k.InvalidParams,`Failed to validate structured content: ${W instanceof Error?W.message:String(W)}`)}}return J}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let J=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,J)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},EY,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,J){let $=ez.safeParse(Y);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:W,debounceMs:G}=$.data,{onChanged:B}=Y,Z=async()=>{if(!W){B(null,null);return}try{let z=await J();B(null,z)}catch(z){let H=z instanceof Error?z:Error(String(z));B(H,null)}},K=()=>{if(G){let z=this._listChangedDebounceTimers.get(Q);if(z)clearTimeout(z);let H=setTimeout(Z,G);this._listChangedDebounceTimers.set(Q,H)}else Z()};this.setNotificationHandler(X,K)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}class kX extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}var pL=10,Cx=13,Q6=32;function oJ(Q){}function _X(Q){if(typeof Q=="function")throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:X=oJ,onError:Y=oJ,onRetry:J=oJ,onComment:$,maxBufferSize:W}=Q,G=[],B=0,Z=!0,K,z="",H=0,V,q=!1;function F(A){if(q)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(Z&&(Z=!1,A.charCodeAt(0)===239&&A.charCodeAt(1)===187&&A.charCodeAt(2)===191&&(A=A.slice(3))),G.length===0){let H0=U(A);H0!==""&&(G.push(H0),B=H0.length),D();return}if(A.indexOf(`
|
|
88
|
+
`)===-1&&A.indexOf("\r")===-1){G.push(A),B+=A.length,D();return}G.push(A);let b=G.join("");G.length=0,B=0;let x=U(b);x!==""&&(G.push(x),B=x.length),D()}function D(){W!==void 0&&(B+z.length<=W||(q=!0,G.length=0,B=0,K=void 0,z="",H=0,V=void 0,Y(new kX(`Buffered data exceeded max buffer size of ${W} characters`,{type:"max-buffer-size-exceeded"}))))}function U(A){let b=0;if(A.indexOf("\r")===-1){let x=A.indexOf(`
|
|
89
|
+
`,b);for(;x!==-1;){if(b===x){H>0&&X({id:K,event:V,data:z}),K=void 0,z="",H=0,V=void 0,b=x+1,x=A.indexOf(`
|
|
90
|
+
`,b);continue}let H0=A.charCodeAt(b);if(cL(A,b,H0)){let V0=A.charCodeAt(b+5)===Q6?b+6:b+5,f0=A.slice(V0,x);if(H===0&&A.charCodeAt(x+1)===pL){X({id:K,event:V,data:f0}),K=void 0,z="",V=void 0,b=x+2,x=A.indexOf(`
|
|
91
|
+
`,b);continue}z=H===0?f0:`${z}
|
|
92
|
+
${f0}`,H++}else dL(A,b,H0)?V=A.slice(A.charCodeAt(b+6)===Q6?b+7:b+6,x)||void 0:M(A,b,x);b=x+1,x=A.indexOf(`
|
|
93
|
+
`,b)}return A.slice(b)}for(;b<A.length;){let x=A.indexOf("\r",b),H0=A.indexOf(`
|
|
94
|
+
`,b),V0=-1;if(x!==-1&&H0!==-1?V0=x<H0?x:H0:x!==-1?x===A.length-1?V0=-1:V0=x:H0!==-1&&(V0=H0),V0===-1)break;M(A,b,V0),b=V0+1,A.charCodeAt(b-1)===Cx&&A.charCodeAt(b)===pL&&b++}return A.slice(b)}function M(A,b,x){if(b===x){j();return}let H0=A.charCodeAt(b);if(cL(A,b,H0)){let Q9=A.charCodeAt(b+5)===Q6?b+6:b+5,V3=A.slice(Q9,x);z=H===0?V3:`${z}
|
|
95
|
+
${V3}`,H++;return}if(dL(A,b,H0)){V=A.slice(A.charCodeAt(b+6)===Q6?b+7:b+6,x)||void 0;return}if(H0===105&&A.charCodeAt(b+1)===100&&A.charCodeAt(b+2)===58){let Q9=A.slice(A.charCodeAt(b+3)===Q6?b+4:b+3,x);K=Q9.includes("\x00")?void 0:Q9;return}if(H0===58){if($){let Q9=A.slice(b,x);$(Q9.slice(A.charCodeAt(b+1)===Q6?2:1))}return}let V0=A.slice(b,x),f0=V0.indexOf(":");if(f0===-1){P(V0,"",V0);return}let B8=V0.slice(0,f0),_4=V0.charCodeAt(f0+1)===Q6?2:1,x4=V0.slice(f0+_4);P(B8,x4,V0)}function P(A,b,x){switch(A){case"event":V=b||void 0;break;case"data":z=H===0?b:`${z}
|
|
96
|
+
${b}`,H++;break;case"id":K=b.includes("\x00")?void 0:b;break;case"retry":/^\d+$/.test(b)?J(parseInt(b,10)):Y(new kX(`Invalid \`retry\` value: "${b}"`,{type:"invalid-retry",value:b,line:x}));break;default:Y(new kX(`Unknown field "${A.length>20?`${A.slice(0,20)}…`:A}"`,{type:"unknown-field",field:A,value:b,line:x}));break}}function j(){H>0&&X({id:K,event:V,data:z}),K=void 0,z="",H=0,V=void 0}function C(A={}){if(A.consume&&G.length>0){let b=G.join("");M(b,0,b.length)}Z=!0,K=void 0,z="",H=0,V=void 0,G.length=0,B=0,q=!1}return{feed:F,reset:C}}function cL(Q,X,Y){return Y===100&&Q.charCodeAt(X+1)===97&&Q.charCodeAt(X+2)===116&&Q.charCodeAt(X+3)===97&&Q.charCodeAt(X+4)===58}function dL(Q,X,Y){return Y===101&&Q.charCodeAt(X+1)===118&&Q.charCodeAt(X+2)===101&&Q.charCodeAt(X+3)===110&&Q.charCodeAt(X+4)===116&&Q.charCodeAt(X+5)===58}class rJ extends Event{constructor(Q,X){var Y,J;super(Q),this.code=(Y=X==null?void 0:X.code)!=null?Y:void 0,this.message=(J=X==null?void 0:X.message)!=null?J:void 0}[Symbol.for("nodejs.util.inspect.custom")](Q,X,Y){return Y(iL(this),X)}[Symbol.for("Deno.customInspect")](Q,X){return Q(iL(this),X)}}function Tx(Q){let X=globalThis.DOMException;return typeof X=="function"?new X(Q,"SyntaxError"):SyntaxError(Q)}function aJ(Q){return Q instanceof Error?"errors"in Q&&Array.isArray(Q.errors)?Q.errors.map(aJ).join(", "):("cause"in Q)&&Q.cause instanceof Error?`${Q}: ${aJ(Q.cause)}`:Q.message:`${Q}`}function iL(Q){return{type:Q.type,message:Q.message,code:Q.code,defaultPrevented:Q.defaultPrevented,cancelable:Q.cancelable,timeStamp:Q.timeStamp}}var oL=(Q)=>{throw TypeError(Q)},$$=(Q,X,Y)=>X.has(Q)||oL("Cannot "+Y),h=(Q,X,Y)=>($$(Q,X,"read from private field"),Y?Y.call(Q):X.get(Q)),j0=(Q,X,Y)=>X.has(Q)?oL("Cannot add the same private member more than once"):X instanceof WeakSet?X.add(Q):X.set(Q,Y),z0=(Q,X,Y,J)=>($$(Q,X,"write to private field"),X.set(Q,Y),Y),t1=(Q,X,Y)=>($$(Q,X,"access private method"),Y),r0,X6,u6,xX,yX,b4,p6,w4,N9,m6,c6,l6,j4,j1,sJ,tJ,eJ,nL,Q$,X$,N4,Y$,J$;class d6 extends EventTarget{constructor(Q,X){var Y,J;super(),j0(this,j1),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,j0(this,r0),j0(this,X6),j0(this,u6),j0(this,xX),j0(this,yX),j0(this,b4),j0(this,p6),j0(this,w4,null),j0(this,N9),j0(this,m6),j0(this,c6,null),j0(this,l6,null),j0(this,j4,null),j0(this,tJ,async($)=>{var W;h(this,m6).reset();let{body:G,redirected:B,status:Z,headers:K}=$;if(Z===204){t1(this,j1,N4).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(B?z0(this,u6,new URL($.url)):z0(this,u6,void 0),Z!==200){t1(this,j1,N4).call(this,`Non-200 status code (${Z})`,Z);return}if(!(K.get("content-type")||"").startsWith("text/event-stream")){t1(this,j1,N4).call(this,'Invalid content type, expected "text/event-stream"',Z);return}if(h(this,r0)===this.CLOSED)return;z0(this,r0,this.OPEN);let z=new Event("open");if((W=h(this,j4))==null||W.call(this,z),this.dispatchEvent(z),typeof G!="object"||!G||!("getReader"in G)){t1(this,j1,N4).call(this,"Invalid response body, expected a web ReadableStream",Z),this.close();return}let H=new TextDecoder,V=G.getReader(),q=!0;do{let{done:F,value:D}=await V.read();D&&h(this,m6).feed(H.decode(D,{stream:!F})),F&&(q=!1,h(this,m6).reset(),t1(this,j1,Y$).call(this))}while(q)}),j0(this,eJ,($)=>{z0(this,N9,void 0),!($.name==="AbortError"||$.type==="aborted")&&t1(this,j1,Y$).call(this,aJ($))}),j0(this,Q$,($)=>{typeof $.id=="string"&&z0(this,w4,$.id);let W=new MessageEvent($.event||"message",{data:$.data,origin:h(this,u6)?h(this,u6).origin:h(this,X6).origin,lastEventId:$.id||""});h(this,l6)&&(!$.event||$.event==="message")&&h(this,l6).call(this,W),this.dispatchEvent(W)}),j0(this,X$,($)=>{z0(this,b4,$)}),j0(this,J$,()=>{z0(this,p6,void 0),h(this,r0)===this.CONNECTING&&t1(this,j1,sJ).call(this)});try{if(Q instanceof URL)z0(this,X6,Q);else if(typeof Q=="string")z0(this,X6,new URL(Q,Sx()));else throw Error("Invalid URL")}catch{throw Tx("An invalid or illegal string was specified")}z0(this,m6,_X({onEvent:h(this,Q$),onRetry:h(this,X$)})),z0(this,r0,this.CONNECTING),z0(this,b4,3000),z0(this,yX,(Y=X==null?void 0:X.fetch)!=null?Y:globalThis.fetch),z0(this,xX,(J=X==null?void 0:X.withCredentials)!=null?J:!1),t1(this,j1,sJ).call(this)}get readyState(){return h(this,r0)}get url(){return h(this,X6).href}get withCredentials(){return h(this,xX)}get onerror(){return h(this,c6)}set onerror(Q){z0(this,c6,Q)}get onmessage(){return h(this,l6)}set onmessage(Q){z0(this,l6,Q)}get onopen(){return h(this,j4)}set onopen(Q){z0(this,j4,Q)}addEventListener(Q,X,Y){let J=X;super.addEventListener(Q,J,Y)}removeEventListener(Q,X,Y){let J=X;super.removeEventListener(Q,J,Y)}close(){h(this,p6)&&clearTimeout(h(this,p6)),h(this,r0)!==this.CLOSED&&(h(this,N9)&&h(this,N9).abort(),z0(this,r0,this.CLOSED),z0(this,N9,void 0))}}r0=new WeakMap,X6=new WeakMap,u6=new WeakMap,xX=new WeakMap,yX=new WeakMap,b4=new WeakMap,p6=new WeakMap,w4=new WeakMap,N9=new WeakMap,m6=new WeakMap,c6=new WeakMap,l6=new WeakMap,j4=new WeakMap,j1=new WeakSet,sJ=function(){z0(this,r0,this.CONNECTING),z0(this,N9,new AbortController),h(this,yX)(h(this,X6),t1(this,j1,nL).call(this)).then(h(this,tJ)).catch(h(this,eJ))},tJ=new WeakMap,eJ=new WeakMap,nL=function(){var Q;let X={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...h(this,w4)?{"Last-Event-ID":h(this,w4)}:void 0},cache:"no-store",signal:(Q=h(this,N9))==null?void 0:Q.signal};return"window"in globalThis&&(X.credentials=this.withCredentials?"include":"same-origin"),X},Q$=new WeakMap,X$=new WeakMap,N4=function(Q,X){var Y;h(this,r0)!==this.CLOSED&&z0(this,r0,this.CLOSED);let J=new rJ("error",{code:X,message:Q});(Y=h(this,c6))==null||Y.call(this,J),this.dispatchEvent(J)},Y$=function(Q,X){var Y;if(h(this,r0)===this.CLOSED)return;z0(this,r0,this.CONNECTING);let J=new rJ("error",{code:X,message:Q});(Y=h(this,c6))==null||Y.call(this,J),this.dispatchEvent(J),z0(this,p6,setTimeout(h(this,J$),h(this,b4)))},J$=new WeakMap,d6.CONNECTING=0,d6.OPEN=1,d6.CLOSED=2;function Sx(){let Q="document"in globalThis?globalThis.document:void 0;return Q&&typeof Q=="object"&&"baseURI"in Q&&typeof Q.baseURI=="string"?Q.baseURI:void 0}function i6(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function vX(Q=fetch,X){if(!X)return Q;return async(Y,J)=>{let $={...X,...J,headers:J?.headers?{...i6(X.headers),...i6(J.headers)}:X.headers};return Q(Y,$)}}var W$;W$=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function Rx(Q){return(await W$).getRandomValues(new Uint8Array(Q))}async function Ex(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,J="";while(J.length<Q){let $=await Rx(Q-J.length);for(let W of $)if(W<Y)J+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[W%66]}return J}async function kx(Q){return await Ex(Q)}async function _x(Q){let X=await(await W$).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function G$(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await kx(Q),Y=await _x(X);return{code_verifier:X,code_challenge:Y}}var T0=Pz().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:yz.custom,message:"URL must be parseable",fatal:!0}),O7}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),aL=M0({resource:L().url(),authorization_servers:w(T0).optional(),jwks_uri:L().url().optional(),scopes_supported:w(L()).optional(),bearer_methods_supported:w(L()).optional(),resource_signing_alg_values_supported:w(L()).optional(),resource_name:L().optional(),resource_documentation:L().optional(),resource_policy_uri:L().url().optional(),resource_tos_uri:L().url().optional(),tls_client_certificate_bound_access_tokens:Q0().optional(),authorization_details_types_supported:w(L()).optional(),dpop_signing_alg_values_supported:w(L()).optional(),dpop_bound_access_tokens_required:Q0().optional()}),B$=M0({issuer:L(),authorization_endpoint:T0,token_endpoint:T0,registration_endpoint:T0.optional(),scopes_supported:w(L()).optional(),response_types_supported:w(L()),response_modes_supported:w(L()).optional(),grant_types_supported:w(L()).optional(),token_endpoint_auth_methods_supported:w(L()).optional(),token_endpoint_auth_signing_alg_values_supported:w(L()).optional(),service_documentation:T0.optional(),revocation_endpoint:T0.optional(),revocation_endpoint_auth_methods_supported:w(L()).optional(),revocation_endpoint_auth_signing_alg_values_supported:w(L()).optional(),introspection_endpoint:L().optional(),introspection_endpoint_auth_methods_supported:w(L()).optional(),introspection_endpoint_auth_signing_alg_values_supported:w(L()).optional(),code_challenge_methods_supported:w(L()).optional(),client_id_metadata_document_supported:Q0().optional()}),xx=M0({issuer:L(),authorization_endpoint:T0,token_endpoint:T0,userinfo_endpoint:T0.optional(),jwks_uri:T0,registration_endpoint:T0.optional(),scopes_supported:w(L()).optional(),response_types_supported:w(L()),response_modes_supported:w(L()).optional(),grant_types_supported:w(L()).optional(),acr_values_supported:w(L()).optional(),subject_types_supported:w(L()),id_token_signing_alg_values_supported:w(L()),id_token_encryption_alg_values_supported:w(L()).optional(),id_token_encryption_enc_values_supported:w(L()).optional(),userinfo_signing_alg_values_supported:w(L()).optional(),userinfo_encryption_alg_values_supported:w(L()).optional(),userinfo_encryption_enc_values_supported:w(L()).optional(),request_object_signing_alg_values_supported:w(L()).optional(),request_object_encryption_alg_values_supported:w(L()).optional(),request_object_encryption_enc_values_supported:w(L()).optional(),token_endpoint_auth_methods_supported:w(L()).optional(),token_endpoint_auth_signing_alg_values_supported:w(L()).optional(),display_values_supported:w(L()).optional(),claim_types_supported:w(L()).optional(),claims_supported:w(L()).optional(),service_documentation:L().optional(),claims_locales_supported:w(L()).optional(),ui_locales_supported:w(L()).optional(),claims_parameter_supported:Q0().optional(),request_parameter_supported:Q0().optional(),request_uri_parameter_supported:Q0().optional(),require_request_uri_registration:Q0().optional(),op_policy_uri:T0.optional(),op_tos_uri:T0.optional(),client_id_metadata_document_supported:Q0().optional()}),sL=I({...xx.shape,...B$.pick({code_challenge_methods_supported:!0}).shape}),tL=I({access_token:L(),id_token:L().optional(),token_type:L(),expires_in:vQ.number().optional(),scope:L().optional(),refresh_token:L().optional()}).strip(),eL=I({error:L(),error_description:L().optional(),error_uri:L().optional()}),rL=T0.optional().or(T("").transform(()=>{return})),yx=I({redirect_uris:w(T0),token_endpoint_auth_method:L().optional(),grant_types:w(L()).optional(),response_types:w(L()).optional(),client_name:L().optional(),client_uri:T0.optional(),logo_uri:rL,scope:L().optional(),contacts:w(L()).optional(),tos_uri:rL,policy_uri:L().optional(),jwks_uri:T0.optional(),jwks:bz().optional(),software_id:L().optional(),software_version:L().optional(),software_statement:L().optional()}).strip(),vx=I({client_id:L(),client_secret:L().optional(),client_id_issued_at:d().optional(),client_secret_expires_at:d().optional()}).strip(),QD=yx.merge(vx),Da=I({error:L(),error_description:L().optional()}).strip(),Ua=I({token:L(),token_type_hint:L().optional()}).strip();function XD(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function YD({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),J=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==J.origin)return!1;if(Y.pathname.length<J.pathname.length)return!1;let $=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",W=J.pathname.endsWith("/")?J.pathname:J.pathname+"/";return $.startsWith(W)}class D0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class fX extends D0{}fX.errorCode="invalid_request";class n6 extends D0{}n6.errorCode="invalid_client";class o6 extends D0{}o6.errorCode="invalid_grant";class r6 extends D0{}r6.errorCode="unauthorized_client";class hX extends D0{}hX.errorCode="unsupported_grant_type";class gX extends D0{}gX.errorCode="invalid_scope";class uX extends D0{}uX.errorCode="access_denied";class b9 extends D0{}b9.errorCode="server_error";class mX extends D0{}mX.errorCode="temporarily_unavailable";class lX extends D0{}lX.errorCode="unsupported_response_type";class pX extends D0{}pX.errorCode="unsupported_token_type";class cX extends D0{}cX.errorCode="invalid_token";class dX extends D0{}dX.errorCode="method_not_allowed";class iX extends D0{}iX.errorCode="too_many_requests";class a6 extends D0{}a6.errorCode="invalid_client_metadata";class nX extends D0{}nX.errorCode="insufficient_scope";class oX extends D0{}oX.errorCode="invalid_target";var JD={[fX.errorCode]:fX,[n6.errorCode]:n6,[o6.errorCode]:o6,[r6.errorCode]:r6,[hX.errorCode]:hX,[gX.errorCode]:gX,[uX.errorCode]:uX,[b9.errorCode]:b9,[mX.errorCode]:mX,[lX.errorCode]:lX,[pX.errorCode]:pX,[cX.errorCode]:cX,[dX.errorCode]:dX,[iX.errorCode]:iX,[a6.errorCode]:a6,[nX.errorCode]:nX,[oX.errorCode]:oX};class a0 extends Error{constructor(Q){super(Q??"Unauthorized")}}function fx(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var Z$="code",K$="S256";function hx(Q,X){let Y=Q.client_secret!==void 0;if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&fx(Q.token_endpoint_auth_method)&&(X.length===0||X.includes(Q.token_endpoint_auth_method)))return Q.token_endpoint_auth_method;if(X.length===0)return Y?"client_secret_basic":"none";if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function gx(Q,X,Y,J){let{client_id:$,client_secret:W}=X;switch(Q){case"client_secret_basic":ux($,W,Y);return;case"client_secret_post":mx($,W,J);return;case"none":lx($,J);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function ux(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let J=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${J}`)}function mx(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function lx(Q,X){X.set("client_id",Q)}async function WD(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let J=eL.parse(JSON.parse(Y)),{error:$,error_description:W,error_uri:G}=J;return new(JD[$]||b9)(W||"",G)}catch(J){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${J}. Raw body: ${Y}`;return new b9($)}}async function e1(Q,X){try{return await z$(Q,X)}catch(Y){if(Y instanceof n6||Y instanceof r6)return await Q.invalidateCredentials?.("all"),await z$(Q,X);else if(Y instanceof o6)return await Q.invalidateCredentials?.("tokens"),await z$(Q,X);throw Y}}async function z$(Q,{serverUrl:X,authorizationCode:Y,scope:J,resourceMetadataUrl:$,fetchFn:W}){let G=await Q.discoveryState?.(),B,Z,K,z=$;if(!z&&G?.resourceMetadataUrl)z=new URL(G.resourceMetadataUrl);if(G?.authorizationServerUrl){if(Z=G.authorizationServerUrl,B=G.resourceMetadata,K=G.authorizationServerMetadata??await BD(Z,{fetchFn:W}),!B)try{B=await GD(X,{resourceMetadataUrl:z},W)}catch{}if(K!==G.authorizationServerMetadata||B!==G.resourceMetadata)await Q.saveDiscoveryState?.({authorizationServerUrl:String(Z),resourceMetadataUrl:z?.toString(),resourceMetadata:B,authorizationServerMetadata:K})}else{let j=await rx(X,{resourceMetadataUrl:z,fetchFn:W});Z=j.authorizationServerUrl,K=j.authorizationServerMetadata,B=j.resourceMetadata,await Q.saveDiscoveryState?.({authorizationServerUrl:String(Z),resourceMetadataUrl:z?.toString(),resourceMetadata:B,authorizationServerMetadata:K})}let H=await cx(X,Q,B),V=J||B?.scopes_supported?.join(" ")||Q.clientMetadata.scope,q=await Promise.resolve(Q.clientInformation());if(!q){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let j=K?.client_id_metadata_document_supported===!0,C=Q.clientMetadataUrl;if(C&&!px(C))throw new a6(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${C}`);if(j&&C)q={client_id:C},await Q.saveClientInformation?.(q);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let b=await Qy(Z,{metadata:K,clientMetadata:Q.clientMetadata,scope:V,fetchFn:W});await Q.saveClientInformation(b),q=b}}let F=!Q.redirectUrl;if(Y!==void 0||F){let j=await ex(Q,Z,{metadata:K,resource:H,authorizationCode:Y,fetchFn:W});return await Q.saveTokens(j),"AUTHORIZED"}let D=await Q.tokens();if(D?.refresh_token)try{let j=await tx(Z,{metadata:K,clientInformation:q,refreshToken:D.refresh_token,resource:H,addClientAuthentication:Q.addClientAuthentication,fetchFn:W});return await Q.saveTokens(j),"AUTHORIZED"}catch(j){if(!(j instanceof D0)||j instanceof b9);else throw j}let U=Q.state?await Q.state():void 0,{authorizationUrl:M,codeVerifier:P}=await ax(Z,{metadata:K,clientInformation:q,state:U,redirectUrl:Q.redirectUrl,scope:V,resource:H});return await Q.saveCodeVerifier(P),await Q.redirectToAuthorization(M),"REDIRECT"}function px(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function cx(Q,X,Y){let J=XD(Q);if(X.validateResourceURL)return await X.validateResourceURL(J,Y?.resource);if(!Y)return;if(!YD({requestedResource:J,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${J} (or origin)`);return new URL(Y.resource)}function s6(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,J]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!J)return{};let $=H$(Q,"resource_metadata")||void 0,W;if($)try{W=new URL($)}catch{}let G=H$(Q,"scope")||void 0,B=H$(Q,"error")||void 0;return{resourceMetadataUrl:W,scope:G,error:B}}function H$(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let J=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),$=Y.match(J);if($)return $[1]||$[2];return null}async function GD(Q,X,Y=fetch){let J=await nx(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!J||J.status===404)throw await J?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!J.ok)throw await J.body?.cancel(),Error(`HTTP ${J.status} trying to load well-known OAuth protected resource metadata.`);return aL.parse(await J.json())}async function V$(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(J){if(J instanceof TypeError)if(X)return V$(Q,void 0,Y);else return;throw J}}function dx(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function $D(Q,X,Y=fetch){return await V$(Q,{"MCP-Protocol-Version":X},Y)}function ix(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function nx(Q,X,Y,J){let $=new URL(Q),W=J?.protocolVersion??w6,G;if(J?.metadataUrl)G=new URL(J.metadataUrl);else{let Z=dx(X,$.pathname);G=new URL(Z,J?.metadataServerUrl??$),G.search=$.search}let B=await $D(G,W,Y);if(!J?.metadataUrl&&ix(B,$.pathname)){let Z=new URL(`/.well-known/${X}`,$);B=await $D(Z,W,Y)}return B}function ox(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",J=[];if(!Y)return J.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),J.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),J;let $=X.pathname;if($.endsWith("/"))$=$.slice(0,-1);return J.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,X.origin),type:"oauth"}),J.push({url:new URL(`/.well-known/openid-configuration${$}`,X.origin),type:"oidc"}),J.push({url:new URL(`${$}/.well-known/openid-configuration`,X.origin),type:"oidc"}),J}async function BD(Q,{fetchFn:X=fetch,protocolVersion:Y=w6}={}){let J={"MCP-Protocol-Version":Y,Accept:"application/json"},$=ox(Q);for(let{url:W,type:G}of $){let B=await V$(W,J,X);if(!B)continue;if(!B.ok){if(await B.body?.cancel(),B.status>=400&&B.status<500)continue;throw Error(`HTTP ${B.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${W}`)}if(G==="oauth")return B$.parse(await B.json());else return sL.parse(await B.json())}return}async function rx(Q,X){let Y,J;try{if(Y=await GD(Q,{resourceMetadataUrl:X?.resourceMetadataUrl},X?.fetchFn),Y.authorization_servers&&Y.authorization_servers.length>0)J=Y.authorization_servers[0]}catch{}if(!J)J=String(new URL("/",Q));let $=await BD(J,{fetchFn:X?.fetchFn});return{authorizationServerUrl:J,authorizationServerMetadata:$,resourceMetadata:Y}}async function ax(Q,{metadata:X,clientInformation:Y,redirectUrl:J,scope:$,state:W,resource:G}){let B;if(X){if(B=new URL(X.authorization_endpoint),!X.response_types_supported.includes(Z$))throw Error(`Incompatible auth server: does not support response type ${Z$}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(K$))throw Error(`Incompatible auth server: does not support code challenge method ${K$}`)}else B=new URL("/authorize",Q);let Z=await G$(),K=Z.code_verifier,z=Z.code_challenge;if(B.searchParams.set("response_type",Z$),B.searchParams.set("client_id",Y.client_id),B.searchParams.set("code_challenge",z),B.searchParams.set("code_challenge_method",K$),B.searchParams.set("redirect_uri",String(J)),W)B.searchParams.set("state",W);if($)B.searchParams.set("scope",$);if($?.includes("offline_access"))B.searchParams.append("prompt","consent");if(G)B.searchParams.set("resource",G.href);return{authorizationUrl:B,codeVerifier:K}}function sx(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function ZD(Q,{metadata:X,tokenRequestParams:Y,clientInformation:J,addClientAuthentication:$,resource:W,fetchFn:G}){let B=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),Z=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(W)Y.set("resource",W.href);if($)await $(Z,Y,B,X);else if(J){let z=X?.token_endpoint_auth_methods_supported??[],H=hx(J,z);gx(H,J,Z,Y)}let K=await(G??fetch)(B,{method:"POST",headers:Z,body:Y});if(!K.ok)throw await WD(K);return tL.parse(await K.json())}async function tx(Q,{metadata:X,clientInformation:Y,refreshToken:J,resource:$,addClientAuthentication:W,fetchFn:G}){let B=new URLSearchParams({grant_type:"refresh_token",refresh_token:J}),Z=await ZD(Q,{metadata:X,tokenRequestParams:B,clientInformation:Y,addClientAuthentication:W,resource:$,fetchFn:G});return{refresh_token:J,...Z}}async function ex(Q,X,{metadata:Y,resource:J,authorizationCode:$,fetchFn:W}={}){let G=Q.clientMetadata.scope,B;if(Q.prepareTokenRequest)B=await Q.prepareTokenRequest(G);if(!B){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let K=await Q.codeVerifier();B=sx($,K,Q.redirectUrl)}let Z=await Q.clientInformation();return ZD(X,{metadata:Y,tokenRequestParams:B,clientInformation:Z??void 0,addClientAuthentication:Q.addClientAuthentication,resource:J,fetchFn:W})}async function Qy(Q,{metadata:X,clientMetadata:Y,scope:J,fetchFn:$}){let W;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");W=new URL(X.registration_endpoint)}else W=new URL("/register",Q);let G=await($??fetch)(W,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...Y,...J!==void 0?{scope:J}:{}})});if(!G.ok)throw await WD(G);return QD.parse(await G.json())}class rX extends Error{constructor(Q,X,Y){super(`SSE error: ${X}`);this.code=Q,this.event=Y}}class q${constructor(Q,X){this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=X?.eventSourceInit,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=vX(X?.fetch,X?.requestInit)}async _authThenStart(){if(!this._authProvider)throw new a0("No auth provider");let Q;try{Q=await e1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new a0;return await this._startOrAuth()}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=i6(this._requestInit?.headers);return new Headers({...Q,...X})}_startOrAuth(){let Q=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((X,Y)=>{this._eventSource=new d6(this._url.href,{...this._eventSourceInit,fetch:async(J,$)=>{let W=await this._commonHeaders();W.set("Accept","text/event-stream");let G=await Q(J,{...$,headers:W});if(G.status===401&&G.headers.has("www-authenticate")){let{resourceMetadataUrl:B,scope:Z}=s6(G);this._resourceMetadataUrl=B,this._scope=Z}return G}}),this._abortController=new AbortController,this._eventSource.onerror=(J)=>{if(J.code===401&&this._authProvider){this._authThenStart().then(X,Y);return}let $=new rX(J.code,J.message,J);Y($),this.onerror?.($)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",(J)=>{let $=J;try{if(this._endpoint=new URL($.data,this._url),this._endpoint.origin!==this._url.origin)throw Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch(W){Y(W),this.onerror?.(W),this.close();return}X()}),this._eventSource.onmessage=(J)=>{let $=J,W;try{W=F9.parse(JSON.parse($.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(W)}})}async start(){if(this._eventSource)throw Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(Q){if(!this._authProvider)throw new a0("No auth provider");if(await e1(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new a0("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(Q){if(!this._endpoint)throw Error("Not connected");try{let X=await this._commonHeaders();X.set("content-type","application/json");let Y={...this._requestInit,method:"POST",headers:X,body:JSON.stringify(Q),signal:this._abortController?.signal},J=await(this._fetch??fetch)(this._endpoint,Y);if(!J.ok){let $=await J.text().catch(()=>null);if(J.status===401&&this._authProvider){let{resourceMetadataUrl:W,scope:G}=s6(J);if(this._resourceMetadataUrl=W,this._scope=G,await e1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new a0;return this.send(Q)}throw Error(`Error POSTing to endpoint (HTTP ${J.status}): ${$}`)}await J.body?.cancel()}catch(X){throw this.onerror?.(X),X}}setProtocolVersion(Q){this._protocolVersion=Q}}var tD=M5(aD(),1);import b$ from"node:process";import{PassThrough as Ey}from"node:stream";class N${append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
|
|
97
|
+
`);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),Ry(X)}clear(){this._buffer=void 0}}function Ry(Q){return F9.parse(JSON.parse(Q))}function sD(Q){return JSON.stringify(Q)+`
|
|
98
|
+
`}var ky=b$.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function sX(){let Q={};for(let X of ky){let Y=b$.env[X];if(Y===void 0)continue;if(Y.startsWith("()"))continue;Q[X]=Y}return Q}class w${constructor(Q){if(this._readBuffer=new N$,this._stderrStream=null,this._serverParams=Q,Q.stderr==="pipe"||Q.stderr==="overlapped")this._stderrStream=new Ey}async start(){if(this._process)throw Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,X)=>{if(this._process=tD.default(this._serverParams.command,this._serverParams.args??[],{env:{...sX(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:b$.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",(Y)=>{X(Y),this.onerror?.(Y)}),this._process.on("spawn",()=>{Q()}),this._process.on("close",(Y)=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",(Y)=>{this.onerror?.(Y)}),this._process.stdout?.on("data",(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()}),this._process.stdout?.on("error",(Y)=>{this.onerror?.(Y)}),this._stderrStream&&this._process.stderr)this._process.stderr.pipe(this._stderrStream)})}get stderr(){if(this._stderrStream)return this._stderrStream;return this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._process){let Q=this._process;this._process=void 0;let X=new Promise((Y)=>{Q.once("close",()=>{Y()})});try{Q.stdin?.end()}catch{}if(await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())]),Q.exitCode===null){try{Q.kill("SIGTERM")}catch{}await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())])}if(Q.exitCode===null)try{Q.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(Q){return new Promise((X)=>{if(!this._process?.stdin)throw Error("Not connected");let Y=sD(Q);if(this._process.stdin.write(Y))X();else this._process.stdin.once("drain",X)})}}class I$ extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y,maxBufferSize:J}={}){let $;super({start(W){$=_X({onEvent:(G)=>{W.enqueue(G)},onError(G){typeof Q=="function"&&Q(G),(Q==="terminate"||G.type==="max-buffer-size-exceeded")&&W.error(G)},onRetry:X,onComment:Y,maxBufferSize:J})},transform(W){$.feed(W)}})}}var _y={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class x1 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class C${constructor(Q,X){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=vX(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??_y}async _authThenStart(){if(!this._authProvider)throw new a0("No auth provider");let Q;try{Q=await e1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new a0;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=i6(this._requestInit?.headers);return new Headers({...Q,...X})}async _startOrAuthSse(Q){let{resumptionToken:X}=Q;try{let Y=await this._commonHeaders();if(Y.set("Accept","text/event-stream"),X)Y.set("last-event-id",X);let J=await(this._fetch??fetch)(this._url,{method:"GET",headers:Y,signal:this._abortController?.signal});if(!J.ok){if(await J.body?.cancel(),J.status===401&&this._authProvider)return await this._authThenStart();if(J.status===405)return;throw new x1(J.status,`Failed to open SSE stream: ${J.statusText}`)}this._handleSseStream(J.body,Q,!0)}catch(Y){throw this.onerror?.(Y),Y}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let X=this._reconnectionOptions.initialReconnectionDelay,Y=this._reconnectionOptions.reconnectionDelayGrowFactor,J=this._reconnectionOptions.maxReconnectionDelay;return Math.min(X*Math.pow(Y,Q),J)}_scheduleReconnection(Q,X=0){let Y=this._reconnectionOptions.maxRetries;if(X>=Y){this.onerror?.(Error(`Maximum reconnection attempts (${Y}) exceeded.`));return}let J=this._getNextReconnectionDelay(X);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch(($)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${$ instanceof Error?$.message:String($)}`)),this._scheduleReconnection(Q,X+1)})},J)}_handleSseStream(Q,X,Y){if(!Q)return;let{onresumptiontoken:J,replayMessageId:$}=X,W,G=!1,B=!1;(async()=>{try{let K=Q.pipeThrough(new TextDecoderStream).pipeThrough(new I$({onRetry:(V)=>{this._serverRetryMs=V}})).getReader();while(!0){let{value:V,done:q}=await K.read();if(q)break;if(V.id)W=V.id,G=!0,J?.(V.id);if(!V.data)continue;if(!V.event||V.event==="message")try{let F=F9.parse(JSON.parse(V.data));if(p9(F)){if(B=!0,$!==void 0)F.id=$}this.onmessage?.(F)}catch(F){this.onerror?.(F)}}if((Y||G)&&!B&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:W,onresumptiontoken:J,replayMessageId:$},0)}catch(K){if(this.onerror?.(Error(`SSE stream disconnected: ${K}`)),(Y||G)&&!B&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:W,onresumptiontoken:J,replayMessageId:$},0)}catch(V){this.onerror?.(Error(`Failed to reconnect: ${V instanceof Error?V.message:String(V)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new a0("No auth provider");if(await e1(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new a0("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,X){try{let{resumptionToken:Y,onresumptiontoken:J}=X||{};if(Y){this._startOrAuthSse({resumptionToken:Y,replayMessageId:c8(Q)?Q.id:void 0}).catch((H)=>this.onerror?.(H));return}let $=await this._commonHeaders();$.set("content-type","application/json"),$.set("accept","application/json, text/event-stream");let W={...this._requestInit,method:"POST",headers:$,body:JSON.stringify(Q),signal:this._abortController?.signal},G=await(this._fetch??fetch)(this._url,W),B=G.headers.get("mcp-session-id");if(B)this._sessionId=B;if(!G.ok){let H=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new x1(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:V,scope:q}=s6(G);if(this._resourceMetadataUrl=V,this._scope=q,await e1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new a0;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:V,scope:q,error:F}=s6(G);if(F==="insufficient_scope"){let D=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===D)throw new x1(403,"Server returned 403 after trying upscoping");if(q)this._scope=q;if(V)this._resourceMetadataUrl=V;if(this._lastUpscopingHeader=D??void 0,await e1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new a0;return this.send(Q)}}throw new x1(G.status,`Error POSTing to endpoint: ${H}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),iz(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((H)=>this.onerror?.(H));return}let K=(Array.isArray(Q)?Q:[Q]).filter((H)=>("method"in H)&&("id"in H)&&H.id!==void 0).length>0,z=G.headers.get("content-type");if(K)if(z?.includes("text/event-stream"))this._handleSseStream(G.body,{onresumptiontoken:J},!1);else if(z?.includes("application/json")){let H=await G.json(),V=Array.isArray(H)?H.map((q)=>F9.parse(q)):[F9.parse(H)];for(let q of V)this.onmessage?.(q)}else throw await G.body?.cancel(),new x1(-1,`Unexpected content type: ${z}`);else await G.body?.cancel()}catch(Y){throw this.onerror?.(Y),Y}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),X={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},Y=await(this._fetch??fetch)(this._url,X);if(await Y.body?.cancel(),!Y.ok&&Y.status!==405)throw new x1(Y.status,`Failed to terminate session: ${Y.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,X){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:X?.onresumptiontoken})}}function eD(Q){if(!Q.useShellInterpolation)return{command:Q.command,args:Q.args};if(process.platform==="win32")return{command:"cmd.exe",args:["/c",Q.command]};return{command:"/bin/sh",args:["-c",Q.command]}}var yy={NO_UPDATE_NOTIFIER:"1",npm_config_update_notifier:"false",npm_config_loglevel:"silent",npm_config_fund:"false",npm_config_audit:"false",npm_config_yes:"true",CI:"1"};function QU(Q){return{...sX(),...yy,...Q??{}}}function XU(){return sX()}class Q8 extends w${static MAX_CAPTURED_LINES=100;static MAX_LINE_BUFFER_CHARS=16384;static MAX_LOG_HISTORY=1000;_captured=[];_lineBuffer="";_logHistory=[];async start(){await super.start();let Q=this.stderr;if(!Q)return;Q.on("data",(X)=>this.ingestStderr(X))}ingestStderr(Q){this._lineBuffer+=Q.toString();let X=this._lineBuffer.split(`
|
|
99
|
+
`);if(this._lineBuffer=X.at(-1)??"",this._lineBuffer.length>Q8.MAX_LINE_BUFFER_CHARS)this._lineBuffer=this._lineBuffer.slice(-Q8.MAX_LINE_BUFFER_CHARS);for(let Y of X.slice(0,-1))this.pushCapturedLine(`${Y}
|
|
100
|
+
`)}pushCapturedLine(Q){if(this._captured.push(Q),this._captured.length>Q8.MAX_CAPTURED_LINES)this._captured.shift();if(this._logHistory.push(Q),this._logHistory.length>Q8.MAX_LOG_HISTORY)this._logHistory.shift()}consumeStderr(){if(this._lineBuffer.length>0)this.pushCapturedLine(this._lineBuffer),this._lineBuffer="";let Q=this._captured.join("");return this._captured=[],Q}getLogHistory(){return[...this._logHistory]}}function YU(Q){let X={command:Q.command,args:Q.args,env:Q.env,stderr:"pipe",...Q.cwd?{cwd:Q.cwd}:{}};return new Q8(X)}class X8 extends Error{status;transport;operation;constructor(Q){super(`MCP ${Q.transport} ${Q.operation} request failed with HTTP ${Q.status}`);this.status=Q.status,this.transport=Q.transport,this.operation=Q.operation}}var T$=new xy;function S$(Q,X){return T$.run(Q,X)}function vy(Q){T$.getStore()?.onFailure?.(Q)}function JU({getHeaders:Q,transport:X}){if(!Q)return;return async(Y,J)=>{let $=Y instanceof Request?Y.headers:void 0,W=new Headers($);for(let[K,z]of new Headers(J?.headers).entries())W.set(K,z);for(let[K,z]of Object.entries(Q()))W.set(K,z);let G=await fetch(Y,{...J,headers:W});if(G.ok||J?.method?.toUpperCase()!=="POST")return G;await G.body?.cancel().catch(()=>{return});let B=T$.getStore(),Z=new X8({status:G.status,transport:X,operation:B?.operation??"transport"});throw vy(Z),Z}}function $U(Q,X){let Y=JU({getHeaders:X.getHeaders,transport:"http"});return new C$(new URL(Q),{requestInit:{headers:{...X.headers}},...Y?{fetch:Y}:{}})}function WU(Q,X){let Y=JU({getHeaders:X.getHeaders,transport:"sse"});return new q$(new URL(Q),{requestInit:{headers:{...X.headers}},...Y?{fetch:Y}:{}})}function GU(){return new nJ({name:"hermes-mcp-client",version:"0.1.0"},{capabilities:{}})}var BU=s8,ZU=P0;function z1(Q){return Q instanceof X8&&Q.status===401||(Q instanceof x1||Q instanceof rX)&&Q.code===401}function KU(Q){return Q instanceof E&&Q.code===k.MethodNotFound}function R$(Q){return Q instanceof Error&&Q.name==="ZodError"&&Array.isArray(Q.issues)}var fy=["ECONNRESET","ECONNREFUSED","socket hang up","EPIPE","ETIMEDOUT"];function zU(Q){if(Q instanceof E&&(Q.code===k.RequestTimeout||Q.code===k.ConnectionClosed))return!0;let X=Q instanceof Error?Q.message:String(Q);return fy.some((Y)=>X.includes(Y))}function HU(Q){return Q instanceof E&&(Q.code===k.MethodNotFound||Q.code===k.InvalidRequest)}function E$(Q){return Q instanceof X8&&Q.transport==="http"&&Q.status===404||Q instanceof x1&&Q.code===404}var r=hy.child({prefix:"pi-mcp"});function gy(Q,X){return Q.name===X.name&&(Q.description??"")===(X.description??"")&&JSON.stringify(Q.inputSchema??{})===JSON.stringify(X.inputSchema??{})}function uy(Q,X){return Q.length===X.length&&Q.every((Y,J)=>{let $=X[J];return $!==void 0&&gy(Y,$)})}var my=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*[a-zA-Z]`,"g"),ly=/^Node\.js v\d/,py=/^[\w$.]*error[\w$]*:/i,VU=400,cy=63000,qU=3,dy=/[\\/]lib[\\/]cli\.js/,iy="npx/npm launcher is broken in this environment (Cannot find module .../lib/cli.js). This usually means npm/npx/corepack are file copies instead of symlinks in the base image; every npx-launched stdio MCP server will fail until the launcher symlinks are restored.",OU=Symbol("mcpReinitReported");function ny(Q){if(typeof Q==="object"&&Q!==null)Object.defineProperty(Q,OU,{value:!0,enumerable:!1,configurable:!0})}function oy(Q){return typeof Q==="object"&&Q!==null&&Q[OU]===!0}function ry(Q){let X=Q.filter((B)=>!ly.test(B)),Y=X.length>0?X:Q;if(Y.length===0)return;if(Y.some((B)=>dy.test(B))&&Y.some((B)=>B.includes("MODULE_NOT_FOUND")||B.includes("Cannot find module")))return iy;let $=Y.findIndex((B)=>py.test(B)),G=($===-1?Y.slice(-qU):Y.slice($,$+qU)).join(" / ");return G.length>VU?`${G.slice(0,VU)}…`:G}function ay(Q,X){if(!X)return Q;try{let Y=X.consumeStderr();if(!Y.trim())return Q;let J=Y.replace(my,"").split(`
|
|
101
|
+
`).map((W)=>W.trim()).filter((W)=>W.length>0),$=ry(J);if(!$)return Q;return Q?`${Q}: ${$}`:$}catch{return Q}}var sy=600000,ty=1800000,FU=2147483647,ey=30000,LU=1e4,MU=[250,1000,2000];class Y8 extends Error{constructor(){super("MCP OAuth refresh is temporarily unavailable");this.name="RefreshUnavailableError"}}class eX extends Error{retryable=!0;constructor(){super("MCP authentication refresh is pending in the backend; retry shortly");this.name="BackendRefreshPendingError"}}var Qv=250,DU=3,Xv=[200,500];function Yv(Q){for(let X of Object.values(Q))if(DQ(X))return!0;return!1}function AU(Q){let X=new Set;for(let Y of Q.matchAll(C8))X.add(UQ(Y[0]));return[...X].sort()}function x$(Q){return[...new Set(Q)].sort()}function Jv({source:Q,sourceHasSecretRef:X,command:Y,commandHasSecretRef:J}){return x$([...X&&Q?U7(Q):[],...J&&Y?AU(Y):[]])}var tX="${augmentToken}";function $v(Q){try{let X=new URL(Q);if(X.protocol!=="https:")return!1;let{hostname:Y}=X;return Y==="augmentcode.com"||Y.endsWith(".augmentcode.com")}catch{return!1}}function Wv(Q){try{let X=new URL(Q);return`${X.protocol}//${X.hostname}`}catch{return"<invalid URL>"}}var PU="(unknown uri)",y$="unknown",UU=/=+$/,Gv=/\s+/g,Bv=/[-_]/g,Zv=new Set(["image/jpeg","image/png","image/gif","image/webp"]);function Y6(Q,X){return typeof Q==="string"?Q:X}function jU(Q){return typeof Q==="string"?Buffer.from(Q,"base64").length:0}function Kv(Q){let X=Q.toLowerCase();return X.startsWith("text/")||X==="application/json"||X==="application/xml"||X.endsWith("+json")||X.endsWith("+xml")}function zv(Q){let X=Q.replace(Gv,"").replace(Bv,(W)=>W==="-"?"+":"/"),Y=Buffer.from(X,"base64"),J=X.replace(UU,"");if(Y.toString("base64").replace(UU,"")!==J)return;let $=Y.toString("utf-8");return $.length>0?$:void 0}function NU(Q){return Q.resource&&typeof Q.resource==="object"?Q.resource:void 0}function Hv(Q){let X=NU(Q);if(!X)return"[MCP resource with no contents]";if(typeof X.text==="string")return X.text;let Y=Y6(X.uri,PU),J=Y6(X.mimeType,y$);if(typeof X.blob==="string"&&Kv(J)){let W=zv(X.blob);if(W!==void 0)return W}let $=jU(X.blob);return`[MCP resource ${Y} (${J}), ${$} bytes of binary content not shown]`}function Vv(Q){let X=Y6(Q.type,"unknown");if(X==="resource")return Hv(Q);if(X==="audio"){let Y=Y6(Q.mimeType,y$),J=jU(Q.data);return`[MCP audio content (${Y}), ${J} bytes not shown]`}if(X==="resource_link"){let Y=Y6(Q.uri,PU),J=Y6(Q.name,""),$=Y6(Q.mimeType,y$);return`[MCP resource link ${J?`${J} `:""}${Y} (${$})]`}return`[MCP content of unsupported type "${X}" was omitted]`}function qv(Q){if(Q.type!=="resource")return;let X=NU(Q);if(!X)return;let{blob:Y,mimeType:J}=X;if(typeof Y==="string"&&typeof J==="string"&&Zv.has(J.toLowerCase()))return{type:"image",mimeType:J,data:Y};return}function Fv(Q){if(Q.type==="text"&&typeof Q.text==="string")return{type:"text",text:Q.text};if(Q.type==="image"&&typeof Q.data==="string"&&typeof Q.mimeType==="string")return{type:"image",mimeType:Q.mimeType,data:Q.data};let X=qv(Q);if(X)return X;return{type:"text",text:Vv(Q)}}function Lv(Q){let X=[];if(!Array.isArray(Q))return X;for(let Y of Q){if(typeof Y!=="object"||Y===null)continue;let J=Y;if(typeof J.type!=="string")continue;X.push(Fv(J))}return X}function Dv(Q){return ZG(Q,cy)}function Uv(Q,X){let Y=Lv(Q);if(Y.length===0){let $=Dv(X);if($!==void 0)Y.push({type:"text",text:$})}let J=0;if(Array.isArray(Q))J=Q.length;else if(Q!=null)J=1;return{content:Y,rawItemCount:J}}var bU=new Set(["UND_ERR_SOCKET","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","ECONNREFUSED","ECONNRESET","EPIPE","ENOTFOUND","EAI_AGAIN","ETIMEDOUT"]),Ov=new Set([502,503,504]),I4=MU.length+1,Mv=2;function Av(Q){let Y=Q?.cause?.code;if(typeof Y==="string")return Y;let J=Q?.status;if(typeof J==="number")return String(J);let $=Q?.code;return typeof $==="number"?String($):void 0}function Pv(Q){if(z1(Q)||E$(Q)||Q instanceof E1)return;let X=Q?.cause?.code;if(typeof X==="string")return bU.has(X)?{totalAttempts:I4}:void 0;let Y=Q?.status??Q?.code;if(typeof Y==="number"){if(Y===524)return{totalAttempts:Mv};return Ov.has(Y)?{totalAttempts:I4}:void 0}return Q instanceof TypeError&&Q.message==="fetch failed"?{totalAttempts:I4}:void 0}var jv=80,Nv=10,bv=/[^a-zA-Z0-9_.()-]/g,wv=new Set(["Error","McpError","McpSecretResolutionError","McpTransportClosedError","McpTransportFailure","MalformedRefreshResponseError","RefreshHttpError","SseError","StreamableHTTPError","TypeError","ZodError"]);function Q5(Q){return Q.replace(bv,"_").slice(0,jv)||"unknown"}function Iv(Q){let X=Av(Q);if(X===void 0)return;if(/^\d{3}$/.test(X)||bU.has(X))return X;return}function y0(Q){if(!(Q instanceof Error))return"unknown";let X=Q.constructor.name,Y=wv.has(X)?X:"Error",J=Iv(Q);return J===void 0?Y:`${Y}(${J})`}function k$(Q,X,Y){if(Q instanceof E1)return new E1(Q5(Q.serverName),Q.missingKeys.slice(0,Nv).map(Q5)).message;if(Q instanceof X8)return Q.message;return`MCP ${Y} ${X} failed (${y0(Q)})`}function _$(Q,X){let Y=Error(Q);return Object.defineProperty(Y,"name",{value:Q5(X),configurable:!0}),Y.stack=`${Y.name}: ${Q}`,Y}class v$ extends Error{operation="transport";transport;kind;constructor(Q,X){super(`MCP ${Q} transport ${X}`);this.transport=Q,this.kind=X}}class f${name;_config;_hostedCredentialProvenance;_client;_stdioTransport;_status;_lastError;_tools=[];_connectPromise;_connectStartedAt;_refreshPromise;_refreshPersisting=!1;_disposing=!1;_disposed=!1;_resolvedEnv;_resolvedHeaders;_resolvedCommand;onStateChange;_lastEmittedState;_activeTransport;_reinitializingPromise;_inFlightCalls=new Set;_wedgeRecoveryOwners=new Set;_wedgePending=!1;_wedgeRequired=!1;_heartbeatTimer;_lastProbeResult;onWedged;onAuthRefreshNeeded;onAuthRefreshCleared;onToolsChanged;onToolsWithdraw;constructor(Q,X){this._config=Q,this._hostedCredentialProvenance=X?Object.freeze({...X}):void 0,this.name=Q.name,this._status=Q.disabled?"disabled":"initializing"}_emitState(Q,X){if(Q===this._lastEmittedState)return;this._lastEmittedState=Q;try{this.onStateChange?.(Q,X)}catch{}}get status(){return this._status}get config(){return this._config}get hostedCredentialProvenance(){return this._hostedCredentialProvenance}get lastError(){return this._lastError}get connectStartedAt(){return this._connectStartedAt}get tools(){return this._tools}getLogHistory(){return this._stdioTransport?.getLogHistory().map((Q)=>L7(Q))??[]}connect(){if(this._disposing||this._disposed)return Promise.resolve();if(this._status==="disabled")return Promise.resolve();if(this._connectPromise)return this._connectPromise;return this._connectStartedAt=Date.now(),this._emitState("connecting"),this._connectPromise=this._doConnect().catch((Q)=>{r.warn(`MCP server "${this.name}" connect failed (${y0(Q)})`)}),this._connectPromise}async _doConnect(){let Q;try{Q=await this._connectWithRetries()}catch(X){if(this._disposed)return;let Y=k$(X,"connect",this._config.type),J=this._config.type==="stdio"&&!z1(X)?L7(ay(Y,Q??this._stdioTransport)):Y;this._recordConnectFailure(X,"connect",J),this._emitState(this._status==="auth_required"?"auth_required":"failed",y0(X))}}async _connectWithRetries(){let Q=I4,X={available:!0};for(let Y=1;Y<=I4;Y++)try{let J=await this._attemptConnect(X);if(Y>1)r.info(`MCP server "${this.name}" connected on attempt ${Y}/${Q}`);return J}catch(J){if(!X.available)throw J;let $=Pv(J);if($===void 0||this._disposed)throw J;if(Q=Math.min(Q,$.totalAttempts),Y>=Q)throw J;if(await this._backoffBeforeRetry(J,Y,Q),this._disposed)return}return}async _backoffBeforeRetry(Q,X,Y){let $=(MU[X-1]??0)+Math.floor(Math.random()*(Qv+1));r.warn(`MCP server "${this.name}" connect attempt ${X}/${Y} failed with transient ${y0(Q)}; retrying in ${$}ms`),await v9($)}async _attemptConnect(Q){let X=this._config;if(X.type==="http"||X.type==="sse")await this._maybeProactiveRefresh();this._expandAugmentToken(),await this._resolveSecretRefs();let Y=!1;while(!0)try{return await this._initializeFreshClient(Q)}catch(J){if(this._disposed)return;if(!Y&&Q.available&&this._canRecoverInitialization(J)){if(Y=!0,await this._recoverStartupAuthentication(J,Q)==="disposed")return;continue}throw J}}_canRecoverInitialization(Q){let X=this._config;return z1(Q)&&(X.type==="http"||X.type==="sse")&&X.auth==="oauth"&&Boolean(Y0().tokens.get(this.name)?.refreshToken)}async _recoverStartupAuthentication(Q,X){if(X.available=!1,this._disposed)return"disposed";let Y=await this._refreshTokenDeduped();if(this._disposed)return"disposed";if(Y.kind==="refreshed")return"retry";if(Y.kind==="transient_failure")throw new Y8;throw Q}async _initializeFreshClient(Q){let X=this._config,Y=this._createTransport(),J=X.type==="stdio"?Y:void 0;if(J)this._stdioTransport=J;let $=GU();this._client=$;let W;try{if(await S$({operation:"connect",onFailure:(Z)=>{W=Z}},()=>$.connect(Y)),this._disposed)return await this._closeFailedInitialization($,Y),J;$.setNotificationHandler(BU,()=>{r.debug(`MCP server "${this.name}" sent tools/list_changed; refreshing tools`),this._refreshTools()});let G=await this._listToolsWithAuthRetry(Q);if(this._disposed)return await this._closeFailedInitialization($,Y),J;this._tools=G.tools??[],this._status="success",this._lastError=void 0,this._emitState("connected"),this._wireLivenessHandlers(),this._startHeartbeat();let B=Y0();if(B.tokens.clearAuthRequired(this.name),B.servers.get(this.name)===void 0||B.servers.get(this.name)===this)t0(B,this.name);return r.info(`MCP server "${this.name}" connected (${this._tools.length} tool(s))`),J}catch(G){throw await this._closeFailedInitialization($,Y),W??G}}async _closeFailedInitialization(Q,X){if(this._client!==Q)return;if(this._client=void 0,this._activeTransport===X)this._activeTransport=void 0;try{await Q.close()}catch(Y){r.debug(`MCP server "${this.name}" close after failed connect attempt (${y0(Y)})`)}}_recordConnectFailure(Q,X,Y=k$(Q,X,this._config.type)){if(Q instanceof eX||Q instanceof Y8)this._status="failed";else if(z1(Q)&&this._isHostedAccessTokenOnly())this._status="failed",this.onAuthRefreshNeeded?.();else if(z1(Q)){this._status="auth_required";let J=Y0(),$=J.servers.get(this.name);if($===void 0||$===this)J.tokens.markAuthRequired(this.name)}else{this._status="failed";let J=k$(Q,X,this._config.type);D7(_$(J,y0(Q)),{server:this.name,op:X,transport:this._config.type})}this._lastError=Y,this._client=void 0}_createTransport(){let Q=this._config;switch(Q.type){case"stdio":{let X=eD(this._resolvedCommand?{...Q,command:this._resolvedCommand}:Q),Y=QU(this._resolvedEnv??Q.env);return YU({command:X.command,args:X.args,env:Y,cwd:Q.cwd})}case"http":return this._createHttpTransport(Q.url,this._resolvedHeaders??Q.headers??{});case"sse":return WU(Q.url,{headers:this._resolvedHeaders??Q.headers??{},getHeaders:()=>this._buildAuthHeaders()});default:return Q}}_createHttpTransport(Q,X){let Y=$U(Q,{headers:X,getHeaders:()=>this._buildAuthHeaders()});return this._activeTransport=Y,Y}async _resolveSecretRefs(){let Q=this._config,X=Q.type==="stdio"?Q.env:this._resolvedHeaders??Q.headers,Y=X?Yv(X):!1,J=Q.type==="stdio"&&DQ(Q.command);if(!(Y||J))return;let $=Y0();if(!DG($)){let G=Jv({source:X,sourceHasSecretRef:Y,command:Q.type==="stdio"?Q.command:void 0,commandHasSecretRef:J});throw new E1(this.name,G)}let W=LG($);if(Y&&X)await this._resolveMapSecretRefs(X,W,Q.type==="stdio");if(J&&Q.type==="stdio")await this._resolveCommandSecretRefs(Q.command,W)}async _resolveMapSecretRefs(Q,X,Y){let J;try{J=await OG({configEnv:Q,localEnv:Y?XU():{},getSecret:X})}catch(W){throw r.error(`MCP server "${this.name}" secret resolution failed (${y0(W)})`),new E1(this.name,U7(Q),W)}let $=x$([...J.unresolvedKeys,...J.emptyKeys]);if($.length>0)throw new E1(this.name,$);if(Y)this._resolvedEnv=J.resolved;else this._resolvedHeaders=J.resolved}async _resolveCommandSecretRefs(Q,X){let Y;try{Y=await MG(Q,X)}catch($){throw r.error(`MCP server "${this.name}" command secret resolution failed (${y0($)})`),new E1(this.name,AU(Q),$)}let J=x$([...Y.unresolvedKeys,...Y.emptyKeys]);if(J.length>0)throw new E1(this.name,J);this._resolvedCommand=Y.resolved}_expandAugmentToken(){let Q=this._config;if(Q.type!=="http"&&Q.type!=="sse")return;let X=Q.headers;if(!X)return;if(!Object.values(X).some((W)=>W.includes(tX)))return;let J;if($v(Q.url)){let W=Y0().credentials?.apiKey;if(W)J=W;else this._recordTokenDiagnostic(`${tX} in a header but no Augment credentials are available; sending the literal placeholder`,"warn")}else this._recordTokenDiagnostic(`${tX} in a header is only expanded for https augmentcode.com / *.augmentcode.com URLs; "${Wv(Q.url)}" does not qualify, sending the literal placeholder`,"error");if(J===void 0)return;let $={};for(let[W,G]of Object.entries(X))$[W]=G.replaceAll(tX,J);this._resolvedHeaders=$}_recordTokenDiagnostic(Q,X){let Y=Y0();if(Y.diagnostics.some((W)=>W.server===this.name&&W.message===Q))return;Y.diagnostics.push({server:this.name,message:Q});let $=`MCP server "${this.name}": ${Q}`;if(X==="error")r.error($);else r.warn($)}_usableToken(){let Q=Y0(),X=Q.tokens.get(this.name),Y=Q.preservedCredentialIdentities?.get(this.name);if(Y&&!h0(Y,this._config))return;return X}_buildAuthHeaders(){let Q=this._usableToken();return Q?{Authorization:`Bearer ${Q.accessToken}`}:{}}async _maybeProactiveRefresh(){let Q=Y0().tokens,{config:X}=this;if((X.type==="http"||X.type==="sse")&&X.auth==="oauth")await Q.ensureLoaded?.(this.name,J9(X));let J=this._usableToken();if(!J)return;if(!d5(J))return;if(!Y0().shouldProactivelyRefreshTokens)return;if(J.refreshToken)await this._refreshTokenDeduped();else if(j8(J))Y0().tokens.markAuthRequired(this.name)}refreshTokenIfPossible(){return this._refreshTokenDeduped()}getRefreshInFlight(){return this._refreshPromise}_refreshTokenDeduped(){if(this._disposing||this._disposed)return Promise.resolve({kind:"transient_failure"});let Q=Y0(),X=Q.refreshes.get(this.name);if(X)return X.then((G)=>G??{kind:"refreshed"});let Y={state:Q,tokenStore:Q.tokens,serverGeneration:Q.serverGenerations.get(this.name)??0,configRevision:Q.configRevisions.get(this.name)??0,credential:Q.credentialRevisions.get(this.name),localRefreshEnabled:Q.shouldProactivelyRefreshTokens,failureScope:Y9(Q,this.name,this._config.id),token:this._usableToken(),hostWasUntracked:Q.servers.get(this.name)===void 0},J=JSON.stringify([this.name,Y.serverGeneration,Y.configRevision,Y.credential?.domain??null,Y.credential?.revision??null]),$=Q.refreshes.get(J);if($)return $.then((G)=>G??{kind:"refreshed"});let W=this._performTokenRefresh(Y).finally(()=>{if(this._refreshPersisting=!1,Q.refreshes.get(J)===W)Q.refreshes.delete(J);if(this._refreshPromise===W)this._refreshPromise=void 0});return this._refreshPromise=W,Q.refreshes.set(J,W),W}_ownsRefresh(Q){let{state:X}=Q,Y=X.credentialRevisions.get(this.name),J=p(X,this.name)?.retirement?.incumbent.host,$=X.servers.get(this.name)===this||this._refreshPersisting&&J===this||Q.hostWasUntracked&&X.servers.get(this.name)===void 0;return(!this._disposing||this._refreshPersisting)&&$&&(X.serverGenerations.get(this.name)??0)===Q.serverGeneration&&(X.configRevisions.get(this.name)??0)===Q.configRevision&&this._ownsRefreshCredential(Q,Y)&&(Q.localRefreshEnabled===X.shouldProactivelyRefreshTokens||this._refreshPersisting)}_ownsRefreshCredential(Q,X){return Q.state.tokens===Q.tokenStore&&Q.tokenStore.get(this.name)===Q.token&&X?.domain===Q.credential?.domain&&X?.revision===Q.credential?.revision}async _restoreAfterSupersededRefresh(Q,X,Y,J){let $=Q.state.servers.get(this.name),W=Q.state.tokens,G=W.get(this.name),B=Q.state.credentialRevisions.get(this.name);if(W!==Q.tokenStore||!$||!G||!h0(this._config,$.config))return;try{if(G===Q.token){W.commit(this.name,X),T9({state:Q.state,name:this.name,revision:J});return}let Z=await W.restoreAfterSupersededRefresh(this.name,X,G,Y,J);if(!Z||Q.state.tokens!==W||Q.state.servers.get(this.name)!==$||W.get(this.name)!==G||Q.state.credentialRevisions.get(this.name)?.revision!==B?.revision||Q.state.credentialRevisions.get(this.name)?.domain!==B?.domain)return;T9({state:Q.state,name:this.name,revision:Z});let K=Q.state.currentLoad?.latestPi;if(K)i(K,Q.state)}catch{r.error(`Failed to restore authoritative MCP OAuth token for "${this.name}" after superseded refresh`)}}_refreshFailureCategory(Q,X){if(X)return"auth_terminal";if(Q instanceof n)return"cannot_persist";return"refresh_transient"}_handleRefreshFailure(Q,X){let Y=!(Q instanceof n)&&n5(Q),J=this._ownsRefresh(X);if(Y&&J)X.state.tokens.markAuthRequired(this.name);if(J)y4(X.state,this.name,this._refreshFailureCategory(Q,Y),X.failureScope);return r.warn(`MCP server "${this.name}" token refresh failed (${Y?"permanent — auth required":"transient — will retry"}, ${y0(Q)})`),Y&&J?{kind:"terminal_failure"}:{kind:"transient_failure"}}async _performTokenRefresh(Q){if(!Q.localRefreshEnabled)return{kind:"transient_failure"};if(!Q.token?.refreshToken){if(!this._ownsRefresh(Q))return{kind:"transient_failure"};return Q.state.tokens.markAuthRequired(this.name),y4(Q.state,this.name,"auth_terminal",Q.failureScope),{kind:"terminal_failure"}}try{let X=J9(this._config),Y=await Q.tokenStore.captureRefreshIdentityVersion(X);if(!this._ownsRefresh(Q))return{kind:"transient_failure"};let J=await o5(Q.token);if(!this._ownsRefresh(Q))return{kind:"transient_failure"};this._refreshPersisting=!0;let $=await Q.tokenStore.persistRefresh(this.name,J,X,Y);if(!this._ownsRefresh(Q))return await this._restoreAfterSupersededRefresh(Q,J,X,$),{kind:"transient_failure"};Q.tokenStore.commit(this.name,J),T9({state:Q.state,name:this.name,revision:$}),t0(Q.state,this.name);let W=Q.state.currentLoad?.latestPi;if(W)i(W,Q.state);return r.debug(`MCP server "${this.name}" token refreshed`),{kind:"refreshed"}}catch(X){return this._handleRefreshFailure(X,Q)}}_isSessionExpiredError(Q){if(this._config.type!=="http")return!1;if(this._activeTransport?.sessionId===void 0)return!1;return E$(Q)}_reinitializeSession(){if(this._reinitializingPromise===void 0)this._reinitializingPromise=this._doReinitializeSession().finally(()=>{this._reinitializingPromise=void 0});return this._reinitializingPromise}async _doReinitializeSession(){if(!this._client)throw Error(`MCP server "${this.name}" client is gone`);if(this._config.type!=="http")throw Error("Session re-initialization is only supported for Streamable HTTP servers");await this._client.close();let Q=this._createHttpTransport(this._config.url,this._resolvedHeaders??this._config.headers??{});try{await this._client.connect(Q)}catch(X){throw this._recordConnectFailure(X,"reinit"),X}r.info(`MCP server "${this.name}" re-initialized session`)}async _withSessionRetry(Q){if(this._config.type!=="http")return Q();try{return await Q()}catch(X){let Y=this._isSessionExpiredError(X),J=this._reinitializingPromise!==void 0;if(!(Y||J))throw X;r.info(Y?`MCP server "${this.name}" returned 404 (session expired); re-initializing and retrying`:`MCP server "${this.name}" call interrupted by a concurrent re-initialization; retrying once`);try{await this._reinitializeSession()}catch($){throw r.error(`MCP server "${this.name}" session re-initialization failed (${y0($)})`),ny(X),X}return await Q()}}_throwRefreshUnavailable(Q,X,Y){if(Y&&!X)throw Q;throw new Y8}async _withAuthRetry(Q,X,Y){let J=this._config,$=Y0(),W=Y9($,this.name,this._config.id),G=Y?.call;if(J.type!=="http"&&J.type!=="sse")return Q();let B=()=>{if(G)G.failure=void 0;return S$({operation:X,onFailure:G?(Z)=>{G.failure=Z}:void 0},Q)};try{let Z=await B();return this._clearHostedAuthFailure(),Z}catch(Z){let K=G?.failure??Z;if(this._disposed||!z1(K))throw K;let z=Y?.startupAuthRefreshBudget;if(this._isHostedAccessTokenOnly())throw this.onAuthRefreshNeeded?.(),new eX;if(this._hostedCredentialProvenance!==void 0)throw new Y8;if(z&&!z.available)throw this._markAuthRequired(K,W),K;r.debug(`MCP server "${this.name}" got 401, attempting token refresh + retry`);let H=$.shouldProactivelyRefreshTokens;if(z){if(await this._recoverStartupAuthentication(K,z)==="disposed")throw K}else{let V=await this._refreshTokenDeduped();if(this._disposed)throw K;if(V.kind==="transient_failure")this._throwRefreshUnavailable(K,H,Y?.preserveAuthErrorOnRefreshUnavailable===!0);if(V.kind==="terminal_failure")throw this._status="auth_required",K}try{let V=await B();return this._clearHostedAuthFailure(),V}catch(V){let q=G?.failure??V;if(z1(q))this._markAuthRequired(q,W);throw q}}}_clearHostedAuthFailure(){if(this._isHostedAccessTokenOnly())this.onAuthRefreshCleared?.()}_isHostedAccessTokenOnly(){return this._hostedCredentialProvenance?.kind==="accepted"&&this._hostedCredentialProvenance.hostedAccessTokenOnly}_markAuthRequired(Q,X){let Y=Y0();if(!y4(Y,this.name,"auth_terminal",X))return;this._status="auth_required",Y.tokens.markAuthRequired(this.name),this._emitState("auth_required",y0(Q)),r.warn(`MCP server "${this.name}" still 401 after refresh — auth_required`)}_wireLivenessHandlers(){let Q=this._client;if(!Q)return;Q.onclose=()=>{this._handleTransportClosed(new v$(this._config.type,"closed"))},Q.onerror=()=>{this._handleTransportClosed(new v$(this._config.type,"error"))}}_startHeartbeat(){if(this._heartbeatTimer!==void 0)return;this._heartbeatTimer=setInterval(()=>{this._sendHeartbeat()},ey),this._heartbeatTimer.unref?.()}_stopHeartbeat(){if(this._heartbeatTimer!==void 0)clearInterval(this._heartbeatTimer),this._heartbeatTimer=void 0}async probe(){let Q=Y0(),X=Y9(Q,this.name,this._config.id),Y=await this._runProbe();for(let W=2;W<=DU&&Y.outcome==="transient";W++)await v9(Xv[W-2]??0),Y=await this._runProbe();let J=Y9(Q,this.name,this._config.id),$=J.serverGeneration===X.serverGeneration&&J.mcpConfigId===X.mcpConfigId&&J.credentialRevision===X.credentialRevision&&J.credentialRevisionDomain===X.credentialRevisionDomain;if($&&Y.outcome==="alive")t0(Q,this.name,X);if($&&(Y.outcome==="alive"||Y.outcome==="authFailure"))this._lastProbeResult=Y;else if(Y.outcome==="inconclusive")r.warn(`MCP server "${this.name}" startup verification ping was inconclusive; leaving handshake status intact: ${Y.error}`);else if(Y.outcome==="transient")r.debug(`MCP server "${this.name}" startup verification ping remained transient after ${DU} attempts; not caching as failed: ${Y.error}`);return Y}getLastProbeResult(){return this._lastProbeResult}async _runProbe(){let Q=!this._client||this._disposed;if(Q)return{ok:!1,outcome:"transient",error:"MCP client is not available",isAuthError:!1};try{return await this._withAuthRetry(()=>{if(!this._client)throw Error(`MCP server "${this.name}" client is gone`);return this._client.ping({timeout:LU})},"ping",{preserveAuthErrorOnRefreshUnavailable:!0}),{ok:!0,outcome:"alive"}}catch(X){let Y=this._classifyProbeError(X,Q);if(Y==="alive")return{ok:!0,outcome:"alive"};let J=`MCP startup verification failed (${y0(X)})`,$=`MCP server "${this.name}" failed startup verification ping (${Y}): ${J}`;if(Y==="transient")r.debug($);else r.warn($);return{ok:!1,outcome:Y,error:J,isAuthError:Y==="authFailure"}}}_classifyProbeError(Q,X){if(X||!this._client||this._disposed||this._reinitializingPromise!==void 0)return"transient";if(KU(Q)||R$(Q))return"alive";if(z1(Q))return"authFailure";if(zU(Q))return"transient";return"inconclusive"}async _sendHeartbeat(){if(this._inFlightCalls.size===0||this._reinitializingPromise)return;let Q=this._client;if(!Q||this._disposed)return;try{await Q.ping({timeout:LU})}catch(X){if(this._reinitializingPromise||this._disposed)return;if(R$(X))return;r.warn(`MCP server "${this.name}" failed liveness ping; in-flight tool calls are treated as wedged`),this._failInFlightCalls(Error(`MCP server "${this.name}" is unresponsive (liveness ping failed)`))}}_handleTransportClosed(Q){if(this._reinitializingPromise||this._disposed)return;this._stopHeartbeat(),this._failInFlightCalls(Q)}_wedgeRecoveryOwnership(Q){let X=Q.failure;if(z1(X))return this._wedgeRecoveryOwners.add(Q),"recoverable";if(this._isSessionExpiredError(X))return Q.sessionRecoveryOwned=!0,this._wedgeRecoveryOwners.add(Q),"recoverable";return this._wedgeRecoveryOwners.has(Q)?"owned":"none"}_settleInFlightCall(Q,X,Y){let J=this._releaseWedgeRecoveryOwner(Q,X,Y);if(Q.failure=void 0,this._inFlightCalls.delete(Q),J)this.onWedged?.()}_releaseWedgeRecoveryOwner(Q,X,Y){if(!this._wedgeRecoveryOwners.delete(Q))return!1;if(!X&&Q.sessionRecoveryOwned&&!z1(Y))this._wedgeRequired=!0;if(this._wedgeRecoveryOwners.size!==0)return!1;let J=this._wedgePending&&this._wedgeRequired;return this._wedgePending=!1,this._wedgeRequired=!1,J}_failInFlightCalls(Q,X=!0){let Y=[...this._inFlightCalls].filter((B)=>!B.livenessRejected);if(Y.length===0)return;if(!X){for(let B of Y)B.livenessRejected=!0,B.reject(Q);r.warn(`MCP server "${this.name}" failing ${Y.length} in-flight tool call(s)`);return}let J=Y.map((B)=>({call:B,state:this._wedgeRecoveryOwnership(B)})),$=J.some(({state:B})=>B==="recoverable"),W=!1;for(let{call:B,state:Z}of J){if(Z==="recoverable"||Z==="owned"&&$)continue;B.livenessRejected=!0,W=!0,B.reject(B.failure??Q)}let G=Y.filter((B)=>B.livenessRejected).length;if(r.warn(`MCP server "${this.name}" failing ${G} in-flight tool call(s)`),this._wedgeRecoveryOwners.size>0)this._wedgePending=!0,this._wedgeRequired||=W;else if(W)this.onWedged?.()}_listToolsWithAuthRetry(Q){return this._withAuthRetry(()=>{if(!this._client)throw Error(`MCP server "${this.name}" client is gone`);return this._client.listTools()},"list_tools",{startupAuthRefreshBudget:Q})}async _refreshTools(){if(this._disposed||this._status!=="success"||!this._client)return;try{let Q=await this._listToolsWithAuthRetry();if(this._disposed)return;let X=Q.tools??[],Y=!uy(this._tools,X);if(this._tools=X,Y){r.info(`MCP server "${this.name}" tool list updated (${X.length} tool(s))`);try{this.onToolsChanged?.()}catch(J){r.warn(`MCP server "${this.name}" onToolsChanged handler threw (${y0(J)})`)}}}catch(Q){r.warn(`MCP server "${this.name}" tools/list_changed refresh failed (${y0(Q)}), keeping cached tools`)}}listTools(){return this._tools}async callTool(Q,X,Y){if(this._disposing||this._disposed)throw Error(`MCP server "${this.name}" is being disposed`);if(this._status!=="success"||!this._client)throw Error(`MCP server "${this.name}" is not connected (status: ${this._status})`);if(this._config.timeoutMs!==void 0&&this._config.timeoutMs>FU)throw Error(`MCP server "${this.name}" timeoutMs is too large: ${this._config.timeoutMs}, max is ${FU}.`);let $={timeout:this._config.timeoutMs??sy,signal:Y,resetTimeoutOnProgress:!0,maxTotalTimeout:this._config.timeoutMs??ty,onprogress:(K)=>{r.debug(`MCP server "${this.name}" tool "${Q}" progress: ${K.progress}${K.total===void 0?"":`/${K.total}`}${K.message?` - ${K.message}`:""}`)}},W,G=new Promise((K,z)=>{W={reject:z,livenessRejected:!1,sessionRecoveryOwned:!1}});if(G.catch(()=>{return}),W)this._inFlightCalls.add(W);let Z=this._withSessionRetry(()=>this._withAuthRetry(()=>{if(!this._client)throw Error(`MCP server "${this.name}" client is gone`);return this._client.callTool({name:Q,arguments:X??{}},ZU,$)},"tool_call",{call:W})).then((K)=>{if(W)this._settleInFlightCall(W,!0,void 0);return K},(K)=>{if(W)this._settleInFlightCall(W,!1,K);throw K});try{let K=await Promise.race([Z,G]),z=Uv(K.content,K.structuredContent);return{isError:K.isError===!0,content:z.content,rawItemCount:z.rawItemCount}}catch(K){if(Y?.aborted||K instanceof Error&&K.name==="AbortError")throw K;return this._reportAndThrowToolError(K,Q)}finally{if(W&&!this._wedgeRecoveryOwners.has(W))W.failure=void 0,this._inFlightCalls.delete(W)}}_reportAndThrowToolError(Q,X){if(Q instanceof Y8||Q instanceof eX)throw Q;if(z1(Q))throw Error(`Authentication failed for MCP server "${this.name}". Reconnect "${this.name}" in MCP settings before retrying this tool.`);let J=Q5(X),$=y0(Q),W=HU(Q)&&/[^a-zA-Z0-9_-]/.test(X)?` The tool name "${J}" contains characters that some servers do not support; letters, digits, underscores, and hyphens are portable.`:"",G=`MCP tool "${J}" failed (${$}).${W}`;if(!oy(Q))D7(_$(G,$),{server:this.name,op:"tool_call",transport:this._config.type,tool:J});throw _$(G,$)}beginDisposal(){if(!this._disposing)this.onToolsWithdraw?.();this._disposing=!0,this._disposed=!0,this._stopHeartbeat(),this._failInFlightCalls(Error(`MCP server "${this.name}" is being disposed`),!1),this._wedgeRecoveryOwners.clear(),this._wedgePending=!1,this._wedgeRequired=!1}async dispose(Q){this.beginDisposal(),await this._refreshPromise,this._stopHeartbeat();let X=this._client;if(this._client=void 0,this._activeTransport=void 0,this._reinitializingPromise=void 0,this._wedgeRecoveryOwners.clear(),this._wedgePending=!1,this._wedgeRequired=!1,this._stdioTransport=void 0,!X)return;try{await X.close()}catch(Y){if(r.debug(`MCP server "${this.name}" close error: ${Y instanceof Error?Y.message:String(Y)}`),Q?.strict)throw Y}}}var wU=Tv.child({prefix:"pi-mcp"}),Sv=3,Rv=60000;function Ev(Q,X){let Y=Date.now(),J=Y-Rv,$=(Q.restartHistory.get(X)??[]).filter((W)=>W>=J);if($.length>=Sv)return Q.restartHistory.set(X,$),!1;return $.push(Y),Q.restartHistory.set(X,$),!0}function IU(Q){y9(Q),o4(Q)}async function kv(Q,X,Y){if(!Ev(X,Q)){wU.warn(`MCP server "${Q}" automatic restart rate-limited`);return}wU.warn(`MCP server "${Q}" wedged; recycling transport`),await w9(Q,X,Y)}function X5(Q,X,Y){if(_v(X)){IU(Q);return}if(y5(Q,Y),K6(X))IU(Q)}function _v(Q){return L8()||Q.toolSearchLatched}function y1(Q,X,Y){return O3(Y,Q.name,Q)&&Y.serverGenerations?.get(Q.name)===X}function h$(Q,X){Q.serverGenerations??=new Map;let Y=(Q.serverGenerations.get(X)??0)+1;return Q.serverGenerations.set(X,Y),Q.statusFailureCategories??=new Map,t0(Q,X),Q.authRefreshNeededReportKeys.delete(X),Y}function xv(Q){let{state:X,config:Y,hostGeneration:J}=Q;if(Y.type!=="http"&&Y.type!=="sse"||Y.auth!=="oauth"||Y.registrySource===void 0||Y.id===void 0)return;let $=X.credentialRevisions.get(Y.name),W=X.tokens.get(Y.name),G=X.hostedCredentialOwnership?.get(Y.name);if(!($!==void 0&&W!==void 0&&G!==void 0&&G.revision===$.revision&&G.domain===$.domain&&X.oauthCredentialDomains.get(Y.name)===$.domain&&J1($.domain)===u0(Y.id))){if(G===void 0&&X.shouldProactivelyRefreshTokens)return;return Object.freeze({kind:"incomplete",configId:Y.id,hostGeneration:J})}return Object.freeze({kind:"accepted",configId:Y.id,credentialRevision:$.revision,credentialRevisionDomain:$.domain,hostGeneration:J,hostedAccessTokenOnly:G.accessTokenOnly})}function g$(Q){let{state:X,config:Y,generation:J}=Q;return new f$(Y,xv({state:X,config:Y,hostGeneration:J}))}function v0(Q,X,Y="base"){Q.configRevisions??=new Map,Q.configDesiredRevisions??=new Map,Q.configDesiredSources??=new Map;let $=Math.max(Q.configRevisions.get(X)??0,Q.configDesiredRevisions.get(X)??0)+1;return Q.configDesiredRevisions.set(X,$),Q.configDesiredSources.set(X,Y),$}function u$(Q,X){if(X.id&&X.registrySource!==void 0){let Y={...X};Q.registryConfigNamesById.set(X.id,X.name),Q.registryCredentialConfigs.set(X.name,Y),Q.registryCredentialConfigsById.set(X.id,Y)}}function m$(Q,X,Y){return Q.configDesiredRevisions.get(X)===Y}function CU(Q,X,Y){return(Q.configRevisions.get(X)??0)===Y&&(Q.configDesiredRevisions?.get(X)??Y)===Y}function l$(Q,X,Y,J){Q.onStateChange=(G,B)=>{if(!y1(Q,X,Y))return;let Z={server:Q.name,state:G,...B===void 0?{}:{errorType:B}};J.events.emit(Cv,Z)},Q.onWedged=()=>{if(!y1(Q,X,Y))return;let G=Y.currentLoad?.latestPi??J;kv(Q.name,Y,G)};let $=Q.hostedCredentialProvenance,W=$?.kind==="accepted"&&$.hostedAccessTokenOnly===!0?{serverGeneration:$.hostGeneration,mcpConfigId:$.configId,credentialRevision:$.credentialRevision,credentialRevisionDomain:$.credentialRevisionDomain}:void 0;Q.onAuthRefreshNeeded=()=>{if(!y1(Q,X,Y)||!W)return;let G=JSON.stringify(W);if(Y.statusFailureCategories.set(Q.name,{category:"auth_refresh_needed",...W}),Y.authRefreshNeededReportKeys.get(Q.name)===G)return;Y.authRefreshNeededReportKeys.set(Q.name,G),i(Y.currentLoad?.latestPi??J,Y)},Q.onAuthRefreshCleared=()=>{if(!y1(Q,X,Y)||!W)return;let G=Y.statusFailureCategories.get(Q.name);if(typeof G==="object"&&G.category==="auth_refresh_needed"&&t0(Y,Q.name,W))i(Y.currentLoad?.latestPi??J,Y)},Q.onToolsChanged=()=>{if(y1(Q,X,Y)&&Q.status==="success")X5(Y.currentLoad?.latestPi??J,Y,Q)},Q.onToolsWithdraw=()=>{let G=Y.currentLoad?.latestPi??J;if(v5(G,Q,X),G!==J)v5(J,Q,X)}}async function TU(Q,X,Y,J){let $=setTimeout(()=>{if(y1(Q,X,Y))i(J(),Y)},v4);if(typeof $.unref==="function")$.unref();try{await Q.connect()}finally{if(clearTimeout($),y1(Q,X,Y))i(J(),Y)}}async function SU(Q){let X=[...Q.servers.values()].filter((Y)=>Y.status==="success");if(X.length===0)return;await Promise.all(X.map((Y)=>Y.probe()))}function Y5(Q,X){if(X.status!=="installed")return!1;let Y=p(Q,X.config.name);return Y?.revision===X.leaseRevision&&Y.host?.config===X.config}async function yv(Q){let{state:X,config:Y,displaced:J,retirement:$}=Q;u$(X,J.config),H8(X,Y.name),J.beginDisposal?.();try{let W=h0(J.config,Y)?Promise.resolve():Y1(X,Y.name,J.config.id,J.config),B=(await Promise.allSettled([W,J.dispose({strict:!0})])).find((Z)=>Z.status==="rejected");if(B)throw B.reason;L0({state:X,name:Y.name,retirement:$,result:{status:"retired"}})}catch(W){throw L0({state:X,name:Y.name,retirement:$,result:{status:"failed",error:W}}),W}}async function vv(Q){let{state:X,server:Y,owner:J,leaseRevision:$}=Q,W=V1({state:X,name:Y.name,owner:J,revision:$,host:Y});if(!W)return;Y.beginDisposal?.();try{await Y.dispose({strict:!0}),L0({state:X,name:Y.name,retirement:W,result:{status:"retired"}}),U0({state:X,name:Y.name,owner:J,revision:$})}catch(G){throw L0({state:X,name:Y.name,retirement:W,result:{status:"failed",error:G}}),G}}async function fv(Q){let{state:X,server:Y,config:J,generation:$,owner:W,leaseRevision:G,sourceOwnership:B,activePi:Z}=Q;if(await Y.connect(),!y1(Y,$,X))return{status:"superseded",config:J};if(B?.(J)===!1)return await vv({state:X,server:Y,owner:W,leaseRevision:G}),{status:"superseded",config:J};if(Y.status==="success")X5(Z(),X,Y);if(i(Z(),X),Y.status==="failed")return{status:"unavailable",config:J,error:Error(Y.lastError??`MCP server "${J.name}" failed`)};return{status:"installed",config:J,leaseRevision:G}}function hv(Q){let{state:X,config:Y,configRevision:J,pi:$,owner:W,leaseRevision:G,sourceOwnership:B,activePi:Z}=Q,K=p(X,Y.name);if(!m$(X,Y.name,J)||K?.revision!==G||B?.(Y)===!1)return U0({state:X,name:Y.name,owner:W,revision:G}),{status:"superseded",config:Y};X.configRevisions.set(Y.name,J);let z=h$(X,Y.name),H=g$({state:X,config:Y,generation:z});if(l$(H,z,X,$),!g4({state:X,name:Y.name,owner:W,revision:G,host:H}))return U0({state:X,name:Y.name,owner:W,revision:G}),{status:"superseded",config:Y};return{connection:fv({state:X,server:H,config:Y,generation:z,owner:W,leaseRevision:G,sourceOwnership:B,activePi:Z})}}function gv(Q){let{intent:X,state:Y,pi:J,sourceOwnership:$,sourceKind:W,activePi:G}=Q,{config:B,revision:Z}=X;if($?.(B)===!1||!m$(Y,B.name,Z))return{status:"superseded",config:B};let K=Y.servers.get(B.name),z=K?a(Y,B.name,K):p(Y,B.name),H=W6(B,W),V=z8({state:Y,name:B.name,owner:H,expectedRevision:z?.revision,expectedHost:z?.host});if(!V)return{status:"collision",config:B};let q=V.lease.revision,F=()=>hv({state:Y,config:B,configRevision:Z,pi:J,owner:H,leaseRevision:q,sourceOwnership:$,activePi:G}),D=async()=>{if(V.displacedHost&&V.retirement)await yv({state:Y,config:B,displaced:V.displacedHost,retirement:V.retirement});else await N5(V.retirement);return F()};return V.retirement?D():F()}async function H1(Q,X,Y,J,$,W){let G=()=>X.currentLoad?.latestPi??Y,Z=Q.map((z)=>({config:z,revision:$?.get(z.name)??v0(X,z.name)})).map(async(z)=>{try{let H=await gv({intent:z,state:X,pi:Y,sourceOwnership:J,sourceKind:W,activePi:G});return"connection"in H?H.connection:H}catch(H){return{status:"failed",config:z.config,error:H}}});if(Z.length===0)return[];let K=setTimeout(()=>{i(G(),X)},v4);if(typeof K.unref==="function")K.unref();try{return await Promise.all(Z)}finally{clearTimeout(K)}}async function uv({name:Q,state:X,pi:Y,configRevision:J}){let $=X.servers.get(Q);if(!$)return!1;if(X.servers.get(Q)!==$||!CU(X,Q,J))return!1;let W=$.config,G=a(X,Q,$);u$(X,W),H8(X,Q);let B=V1({state:X,name:Q,owner:G.owner,revision:G.revision,host:$});if(!B)return!1;$.beginDisposal?.();try{await $.dispose({strict:!0}),L0({state:X,name:Q,retirement:B,result:{status:"retired"}})}catch(H){throw L0({state:X,name:Q,retirement:B,result:{status:"failed",error:H}}),H}if(p(X,Q)?.revision!==G.revision||!CU(X,Q,J))return U0({state:X,name:Q,owner:G.owner,revision:G.revision}),!1;let Z=h$(X,Q),K=g$({state:X,config:W,generation:Z});if(l$(K,Z,X,Y),!g4({state:X,name:Q,owner:G.owner,revision:G.revision,host:K}))return!1;let z=()=>X.currentLoad?.latestPi??Y;if(await TU(K,Z,X,z),y1(K,Z,X)&&K.status==="success")X5(z(),X,K);return!0}function w9(Q,X,Y){X.reconnects??=new Map,X.configRevisions??=new Map,X.reconnectDesiredGenerations??=new Map,X.statusFailureCategories??=new Map;let J=(X.reconnectDesiredGenerations.get(Q)??0)+1;X.reconnectDesiredGenerations.set(Q,J);let $=X.reconnects.get(Q);if($)return $;let W=(async()=>{let G=0,B=X.configRevisions.get(Q)??0;do{let Z=X.reconnectDesiredGenerations.get(Q)??0;if((X.configRevisions.get(Q)??0)!==B)return;if(!await uv({name:Q,state:X,pi:Y,configRevision:B}))return;G=Z}while(G<(X.reconnectDesiredGenerations.get(Q)??G))})().finally(()=>{if(X.reconnects.get(Q)===W)X.reconnects.delete(Q)});return X.reconnects.set(Q,W),W}async function mv(Q){let{state:X,name:Y,existing:J,config:$,retirement:W}=Q;u$(X,J.config),H8(X,Y),J.beginDisposal?.();try{let G=$!==void 0&&h0(J.config,$)?Promise.resolve():Y1(X,Y,J.config.id,J.config),Z=(await Promise.allSettled([G,J.dispose({strict:!0})])).find((K)=>K.status==="rejected");if(Z)throw Z.reason;if(W)L0({state:X,name:Y,retirement:W,result:{status:"retired"}})}catch(G){if(W)L0({state:X,name:Y,retirement:W,result:{status:"failed",error:G}});throw G}}async function RU(Q,X,Y,J,$){let W=()=>X.currentLoad?.latestPi??Y,{servers:G}=Z6(J,$,X.mcpConfigOverride,X.sessionMcpConfigDisabledOverrides),B=G.find((D)=>D.name===Q),Z=v0(X,Q),K=X.servers.get(Q),z=K?a(X,Q,K):p(X,Q),H={kind:"local",identity:B?.id??Q},V=z8({state:X,name:Q,owner:H,expectedRevision:z?.revision,expectedHost:z?.host});if(!V)return;if(K)await mv({state:X,name:Q,existing:K,config:B,retirement:V.retirement});if(V.retirement)await N5(V.retirement);if(p(X,Q)?.revision!==V.lease.revision||!m$(X,Q,Z)){U0({state:X,name:Q,owner:H,revision:V.lease.revision});return}if(X.configRevisions.set(Q,Z),!B){U0({state:X,name:Q,owner:H,revision:V.lease.revision}),i(W(),X);return}let q=h$(X,Q),F=g$({state:X,config:B,generation:q});if(l$(F,q,X,Y),!g4({state:X,name:Q,owner:H,revision:V.lease.revision,host:F}))return;if(await TU(F,q,X,W),y1(F,q,X)&&F.status==="success")X5(W(),X,F)}async function C4(Q,X,Y){X.reconnecting=!0;try{await Promise.all(Q.map((J)=>w9(J,X,Y)))}finally{X.reconnecting=!1}}import{logger as lv}from"@hermes/logger";var p$=lv.child({prefix:"pi-mcp"}),pv=1e6,cv=1000,dv=/^\d+$/;function EU(Q){return Q.startsWith("user:")?`private:${Q.slice(5)}`:Q}function J6(Q){if(typeof Q!=="object"||Q===null||Array.isArray(Q))return;let X=Q.credential_revision??Q.credentialRevision,Y=Q.credential_revision_domain??Q.credentialRevisionDomain;if(typeof X!=="string"||!dv.test(X)||typeof Y!=="string"||Y.length===0)return;return{revision:X.replace(/^0+(?=\d)/,""),domain:EU(Y)}}function iv(Q,X,Y){let J=Q?.get(X),$=typeof Y==="string"?Q?.get(Y):void 0;if(J===void 0)return $;if($===void 0)return J;return $9($,J)>0?$:J}function nv(Q,X,Y,J){let $=X.credential_revision??X.credentialRevision,W=X.credential_revision_domain??X.credentialRevisionDomain;if(($!==void 0||W!==void 0)&&Y===void 0)return p$.warn(`Skipping MCP OAuth credentials for "${Q}": invalid credential revision or domain`),"reject";let G=J?.expectedDomains?.get(Q);if(Y===void 0)return J?.requireRevision===!0||G!==void 0||J?.acceptedDomains?.has(Q)===!0?"reject":"apply";if(G?.kind==="blocked"||G?.kind==="domain"&&J1(Y.domain)!==G.domain)return"reject";let B=J?.acceptedDomains?.get(Q);if(B!==void 0&&EU(B)!==Y.domain)return"reject";let Z=iv(J?.acceptedRevisions,Y.domain,W);if(Z===void 0)return"apply";let K=$9(Y.revision,Z);if(K>0)return"apply";if(K===0&&B===void 0&&G?.kind==="domain"&&J?.equalRevisionRebindDomains?.get(Q)===G.domain)return"apply";return K===0?"equal":"reject"}function ov(Q,X,Y,J){if(J!==void 0)return!1;let $=Q.get(X);if($===void 0)return!1;return Y.expiresAt===void 0||$.expiresAt===void 0||Y.expiresAt<=$.expiresAt}function rv(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)&&typeof Q.access_token==="string"&&Q.access_token.length>0}function av(Q){let X=Q.access_token_expires_at?Q.access_token_expires_at.seconds*cv+Math.floor(Q.access_token_expires_at.nanos/pv):void 0;return{accessToken:Q.access_token,refreshToken:Q.refresh_token,expiresAt:X,tokenType:Q.token_type,scope:Q.scope,serverMetadata:{issuer:Q.issuer??Q.authorization_endpoint,authorization_endpoint:Q.authorization_endpoint,token_endpoint:Q.token_endpoint},client:{client_id:Q.client_id,client_secret:Q.client_secret}}}function J5(Q,X,Y){let J={applied:[],equal:[],rejected:[]};for(let[$,W]of Object.entries(X)){if(!rv(W)){p$.warn(`Skipping MCP OAuth credentials for "${$}": entry is not an object with a non-empty access_token`),J.rejected.push($);continue}let G=J6(W),B=nv($,W,G,Y);if(B!=="apply"){J[B==="equal"?"equal":"rejected"].push($);continue}let Z=av(W);if(ov(Q,$,Z,G)){p$.warn(`Skipping MCP OAuth credentials for "${$}": legacy payload cannot prove freshness`),J.rejected.push($);continue}if(Q.set($,Z),Y?.equalRevisionRebindDomains?.delete($),G!==void 0)Y?.acceptedRevisions?.set(G.domain,G.revision),Y?.acceptedDomains?.set($,G.domain);J.applied.push($)}return J}var tv=sv.child({prefix:"pi-mcp"});function ev(Q,X){let Y;for(let[J,$]of Q.servers){if($.config.id!==X)continue;let W=a(Q,J,$);if(W.host!==$||W.owner.kind!=="registry"||W.owner.identity!==`user:${X}`)continue;if(Y)return;Y={name:J,server:$}}return Y}function Qf(Q,X){let Y=Object.values(Q).filter((J)=>{let $=J6(J);return $!==void 0&&J1($.domain)===`user:${X}`});return Y.length===1?Y[0]:void 0}async function kU(Q){let{pi:X,state:Y,update:J}=Q,$=ev(Y,J.configId),W=Qf(J.credentials,J.configId);if(!$||!W)return;let G=p(Y,$.name);if(G?.owner.identity!==`user:${J.configId}`||$.server.config.type==="stdio"||$.server.config.auth!=="oauth")return;Y.shouldProactivelyRefreshTokens=!1;let B=$.server.getRefreshInFlight?.();if(B)await Promise.resolve(B).catch(()=>{return});if(Y.servers.get($.name)!==$.server||p(Y,$.name)!==G)return;let Z=J5(Y.tokens,{[$.name]:W},{acceptedRevisions:Y.oauthCredentialRevisions,acceptedDomains:Y.oauthCredentialDomains,expectedDomains:Y.expectedCredentialDomains,equalRevisionRebindDomains:Y.equalRevisionRebindDomains,requireRevision:!0});if(!Z.applied.includes($.name)&&!Z.equal.includes($.name))return;if(Z.applied.includes($.name)){let V=J6(W);if(V)Y.credentialRevisions.set($.name,V),Y.hostedCredentialOwnership.set($.name,{...V,accessTokenOnly:W.refresh_token===void 0});Y.statusFailureCategories.delete($.name),Y.authRefreshNeededReportKeys.delete($.name),Y.tokens.clearAuthRequired($.name)}let K=Y.currentLoad?.latestPi??X,z=Q.reconnect??w9,H=Q.report??i;await z($.name,Y,K).catch((V)=>{tv.warn(`Targeted MCP credential restart failed for config ${J.configId}: ${V instanceof Error?V.name:"non-Error"}`)}),H(K,Y),S0(Y)}import{logger as zf}from"@hermes/logger";import{execFile as Xf}from"node:child_process";import{logger as Yf}from"@hermes/logger";var Jf=5000;function $f(Q){switch(process.platform){case"darwin":return{file:"open",args:[Q]};case"win32":return{file:"cmd",args:["/c","start","",Q]};default:return{file:"xdg-open",args:[Q]}}}function _U(Q,X=Jf){let Y=Yf.child({prefix:"open-browser"});return new Promise((J)=>{let $;try{$=new URL(Q).protocol}catch{Y.warn("Refusing to open browser for an unparseable URL"),J(!1);return}if($!=="http:"&&$!=="https:"){Y.warn("Refusing to open browser for a non-http(s) URL"),J(!1);return}let{file:W,args:G}=$f(Q),B=!1,Z=null,K=setTimeout(()=>{if(B)return;B=!0,Y.warn("Browser open timed out (no display on a remote machine?)");try{Z?.kill()}catch(z){Y.debug("Failed to kill browser-open child process",{error:z})}J(!1)},X);Z=Xf(W,G,(z)=>{if(B)return;if(B=!0,clearTimeout(K),z)Y.warn("Failed to open browser",{error:z}),J(!1);else J(!0)})})}import{createServer as Wf}from"node:http";function $5(Q){return Q.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function xU(Q){let X=$5(Q.title),Y=$5(Q.heading),J=$5(Q.message),$=Q.details?$5(Q.details):void 0,W=Q.autoClose?"<script>setTimeout(() => window.close(), 2000);</script>":"";return`<!doctype html>
|
|
102
|
+
<html lang="en">
|
|
103
|
+
<head>
|
|
104
|
+
<meta charset="utf-8" />
|
|
105
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
106
|
+
<title>${X}</title>
|
|
107
|
+
<style>
|
|
108
|
+
:root { color-scheme: dark; }
|
|
109
|
+
* { box-sizing: border-box; }
|
|
110
|
+
body {
|
|
111
|
+
margin: 0;
|
|
112
|
+
min-height: 100vh;
|
|
113
|
+
display: flex;
|
|
114
|
+
align-items: center;
|
|
115
|
+
justify-content: center;
|
|
116
|
+
padding: 24px;
|
|
117
|
+
background: #09090b;
|
|
118
|
+
color: #fafafa;
|
|
119
|
+
font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
120
|
+
text-align: center;
|
|
121
|
+
}
|
|
122
|
+
main { width: 100%; max-width: 560px; }
|
|
123
|
+
h1 { margin: 0 0 10px; font-size: 28px; line-height: 1.15; font-weight: 650; }
|
|
124
|
+
p { margin: 0; line-height: 1.7; color: #a1a1aa; font-size: 15px; }
|
|
125
|
+
.details {
|
|
126
|
+
margin-top: 16px;
|
|
127
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
128
|
+
font-size: 13px;
|
|
129
|
+
color: #a1a1aa;
|
|
130
|
+
white-space: pre-wrap;
|
|
131
|
+
word-break: break-word;
|
|
132
|
+
}
|
|
133
|
+
</style>
|
|
134
|
+
</head>
|
|
135
|
+
<body>
|
|
136
|
+
<main>
|
|
137
|
+
<h1>${Y}</h1>
|
|
138
|
+
<p>${J}</p>
|
|
139
|
+
${$?`<div class="details">${$}</div>`:""}
|
|
140
|
+
</main>
|
|
141
|
+
${W}
|
|
142
|
+
</body>
|
|
143
|
+
</html>`}function yU(Q){return xU({title:"Authentication successful",heading:"Authentication successful",message:Q,autoClose:!0})}function W5(Q,X){return xU({title:"Authentication failed",heading:"Authentication failed",message:Q,details:X})}var Gf="127.0.0.1",hU="/callback",vU=3000,fU=3010,Bf="Authentication successful. You can close this window.",G5={"Content-Type":"text/html; charset=utf-8"};function gU(Q=process.env){return Boolean(Q.SSH_CONNECTION||Q.SSH_TTY)}function uU(Q,X){let Y=Q.trim();if(!Y)throw Error("No authorization code provided");let J,$;try{let W=new URL(Y);J=W.searchParams.get("code")??void 0,$=W.searchParams.get("state")??void 0}catch{if(Y.includes("code=")){let W=new URLSearchParams(Y);J=W.get("code")??void 0,$=W.get("state")??void 0}else J=Y}if(!J)throw Error("Could not find an authorization code in the pasted input");if($&&$!==X)throw Error("OAuth state mismatch");return{code:J,state:$??X}}function Zf(Q,X,Y){try{let J=new URL(Q.url??"","http://localhost");if(J.pathname!==hU){X.writeHead(404,G5),X.end(W5("Callback route not found."));return}let $=J.searchParams.get("code"),W=J.searchParams.get("state"),G=J.searchParams.get("error");if(G){X.writeHead(400,G5),X.end(W5("Authentication did not complete.",`Error: ${G}`));let B=J.searchParams.get("error_description");Y.onError(Error(`Authentication did not complete: ${G}${B?`: ${B}`:""}`));return}if(!$||!W){X.writeHead(400,G5),X.end(W5("Missing code or state parameter.")),Y.onError(Error("OAuth callback missing code or state"));return}X.writeHead(200,G5),X.end(yU(Bf)),Y.onSuccess({code:$,state:W})}catch{X.writeHead(500,{"Content-Type":"text/plain; charset=utf-8"}),X.end("Internal error")}}async function Kf(Q){for(let X=vU;X<=fU;X++)if(await new Promise((J)=>{let $=()=>{Q.removeListener("listening",W),J(!1)},W=()=>{Q.removeListener("error",$),J(!0)};Q.once("error",$),Q.once("listening",W),Q.listen(X,Gf)}))return X;throw Error(`No free port in ${vU}-${fU} for the OAuth callback server`)}async function mU(){let Q=!1,X,Y,J=new Promise((G,B)=>{X=(Z)=>{if(Q)return;Q=!0,G(Z)},Y=(Z)=>{if(Q)return;Q=!0,B(Z)}}),$=Wf((G,B)=>{Zf(G,B,{onSuccess:(Z)=>X?.(Z),onError:(Z)=>Y?.(Z)})}),W=await Kf($);return{port:W,redirectUri:`http://localhost:${W}${hU}`,waitForCode:()=>J,cancelWait:()=>X?.(null),close:()=>$.close()}}var pU=zf.child({prefix:"pi-mcp"}),Hf=300000,cU="MCP authentication was superseded";function Vf(){return gU()?"You appear to be on a remote machine. Open the URL in a local browser, then paste the final redirect URL or code below.":"Complete sign-in in your browser. If it doesn't open, paste the final redirect URL or code below."}function $6(Q){if(Q.aborted)throw Error("Authentication cancelled")}function dU(Q,X,Y){return Q.authenticationGeneration===Y.authenticationGeneration&&Q.servers.get(X)===Y.server&&(Q.serverGenerations.get(X)??0)===Y.serverGeneration&&(Q.configRevisions.get(X)??0)===Y.installedConfigRevision&&(Q.configDesiredRevisions.get(X)??0)===Y.desiredConfigRevision&&Q.tokens===Y.tokenStore&&Q.tokens.get(X)===Y.token&&iU(Q.credentialRevisions.get(X),Y.credentialRevision)}function iU(Q,X){return Q?.revision===X?.revision&&Q?.domain===X?.domain}function lU(Q,X,Y){if(!dU(Q,X,Y))throw Error(cU)}async function qf(Q,X,Y,J,$,W){let G=Q.servers.get(X),B=Q.tokens,Z=B.get(X),K=Q.credentialRevisions.get(X);if(B!==Y.tokenStore||!G||!Z||!h0(Y.server.config,G.config))return;let z=G.config,H=J9(z);try{let V=await B.restoreAfterSupersededAuthentication(X,J,Z,H,$);if(V===void 0||Q.tokens!==B||Q.servers.get(X)?.config!==z||B.get(X)!==Z||!iU(Q.credentialRevisions.get(X),K))return;T9({state:Q,name:X,revision:V}),i(Q.currentLoad?.latestPi??W,Q)}catch{pU.error(`Failed to restore authoritative MCP OAuth token for "${X}" after superseded authentication`)}}function Ff(Q){let X=Q.serverMetadata;if(!X.authorization_endpoint||!X.token_endpoint)throw Error("Authorization server metadata is missing required endpoints");let Y=Q.client.client_secret,J=Q.client.token_endpoint_auth_method;return{accessToken:Q.accessToken,refreshToken:Q.refreshToken,expiresAt:Q.expiresAt,tokenType:Q.tokenType,scope:Q.scope,resource:Q.resource,serverMetadata:{issuer:X.issuer,authorization_endpoint:X.authorization_endpoint,token_endpoint:X.token_endpoint},client:{client_id:Q.client.client_id,...typeof Y==="string"?{client_secret:Y}:{},...typeof J==="string"?{token_endpoint_auth_method:J}:{}}}}function Lf(Q,X,Y){return new Promise((J,$)=>{let W=!1,G=()=>{clearTimeout(K),X.signal.removeEventListener("abort",Z),Q.cancelWait()},B=(z)=>{if(W)return;W=!0,G(),z()},Z=()=>B(()=>$(Error("Authentication cancelled"))),K=setTimeout(()=>B(()=>$(Error("Authentication timed out"))),Hf);if(X.signal.aborted){B(()=>$(Error("Authentication cancelled")));return}X.signal.addEventListener("abort",Z),Q.waitForCode().then((z)=>{if(z)B(()=>J(new URLSearchParams({code:z.code,state:z.state})))}).catch((z)=>B(()=>$(z instanceof Error?z:Error(String(z))))),X.waitForManualCode().then((z)=>{if(!z)return;try{let H=uU(z,Y);B(()=>J(new URLSearchParams({code:H.code,state:H.state})))}catch(H){let V=H instanceof Error?H.message:String(H);B(()=>$(Error(`Could not read the pasted authorization code (${V}). Restart sign-in and paste the full redirect URL.`)))}}).catch((z)=>B(()=>$(z instanceof Error?z:Error(String(z)))))})}async function nU(Q){let{serverName:X,state:Y,pi:J,controller:$}=Q,W=Y.servers.get(X);if(!W)throw Error(`Unknown MCP server "${X}"`);let G=W.config;if(G.type!=="http"&&G.type!=="sse")throw Error(`MCP server "${X}" does not use OAuth authentication`);if(Y.authenticating)throw Error("Another MCP authentication is already in progress");Y.authenticating=!0,Y.authenticatingServerName=X;let B=++Y.authenticationGeneration,Z={authenticationGeneration:B,server:W,serverGeneration:Y.serverGenerations.get(X)??0,installedConfigRevision:Y.configRevisions.get(X)??0,desiredConfigRevision:Y.configDesiredRevisions.get(X)??0,tokenStore:Y.tokens,token:Y.tokens.get(X),credentialRevision:Y.credentialRevisions.get(X)},K=J9(G),z;try{let H=await Z.tokenStore.captureAuthenticatedIdentityVersion(K);lU(Y,X,Z),$6($.signal),z=await mU(),$6($.signal);let V=new URL(G.url),q=await K7(V);$6($.signal);let F=await z7(q);$6($.signal);let D=await H7({config:{},serverMetadata:F,redirectUris:[z.redirectUri]});$6($.signal);let U=await V7(V,D,F,z.redirectUri,q.resourceScopes?.join(" "),q.resourceIdentifier?new URL(q.resourceIdentifier):void 0);$6($.signal),$.onAuthUrl({url:U.authUri.toString(),instructions:Vf()}),$6($.signal),await _U(U.authUri.toString());let M=await Lf(z,$,U.state),P=await q7(M,U);lU(Y,X,Z);let j=Ff(P),C=await Z.tokenStore.persistAuthenticated(X,j,K,H);if(!dU(Y,X,Z))throw await qf(Y,X,Z,j,C,J),Error(cU);Z.tokenStore.commit(X,j),Y.preservedCredentialIdentities?.delete(X),T9({state:Y,name:X,revision:C}),Y.tokens.clearAuthRequired(X),t0(Y,X),await C4([X],Y,J),i(Y.currentLoad?.latestPi??J,Y),pU.info(`MCP server "${X}" authenticated`)}finally{if(z?.close(),Y.authenticationGeneration===B)Y.authenticating=!1,Y.authenticatingServerName=void 0}}import{SettingsManager as Ef}from"@augmentcode/auggie-v2";import{resolveTargetFiles as Df,SETTINGS_TARGET_ORDER as Uf,SettingsManager as Of,scopeToSettingsTarget as Mf,settingsTargetToScope as c$}from"@augmentcode/auggie-v2";var Af=Uf.map((Q)=>c$(Q)),oU=(Q,X)=>Of.create(Q,X);function rU(Q,X){switch(X){case"global":return Q.getGlobalSettings().mcpServers;case"project":return Q.getProjectSettings().mcpServers;case"local":return Q.getLocalSettings().mcpServers;case"managed":return Q.getManagedSettings().mcpServers}}function aU(Q,X,Y){let J=oU(X,Y);return Af.filter(($)=>rU(J,$)?.[Q])}function sU(Q){let X=Q.map((J)=>({target:Mf(J),path:J,exists:!0})),Y=Df({files:X});if("directTarget"in Y)return{scopes:Q,direct:c$(Y.directTarget)};return{scopes:Y.files.map((J)=>c$(J.target)),direct:null}}function Pf(Q,X,Y){let{servers:J}=Z6(X,Y);return J.find(($)=>$.name===Q)?.disabled===!0}function tU(Q,X,Y,J,$){try{let W=oU(J,$);if(!rU(W,Y)?.[Q])return{ok:!1,error:`Server "${Q}" not found in ${Y} settings`};W.update(Y,{path:["mcpServers",Q,"disabled"],value:X})}catch(W){return{ok:!1,error:W instanceof Error?W.message:String(W)}}return{ok:!0,overridden:Pf(Q,J,$)!==X}}function d$(Q){return`Cannot toggle "${Q}": server is not in any editable settings file`}function eU(Q,X,Y){return d$(Q)}function QO(Q){return`Saved toggle for "${Q}", but a higher-priority settings file overrides it`}import{logger as jf}from"@hermes/logger";var n$=jf.child({prefix:"pi-mcp"}),XO="hermes:mcp:register-server-source";function Nf(Q,X){return Q.type==="stdio"?C1(Q,X):I1(Q,X)}function YO(Q,X){return JSON.stringify(Q)===JSON.stringify(X)}function bf(Q,X){return{...Q,disabled:X}}function wf(Q){try{return Q.getServers()}catch(X){return n$.warn(`plugin MCP server source getServers() threw: ${X instanceof Error?X.message:String(X)}`),[]}}function If(Q,X){if(!Q.getDiagnostics)return;try{for(let Y of Q.getDiagnostics())X.diagnostics.push({message:Y.message,origin:"plugin"})}catch{}}function JO(Q,X){Q.diagnostics.push({server:X,message:`plugin MCP server "${X}" is shadowed by an existing MCP server of the same name; skipping`,origin:"plugin"})}function Cf(Q,X,Y,J){let $=new Map;if(!Q)return $;for(let W of wf(Q)){let G=X.servers.get(W.name),B=Nf(W,Y),Z=X.sessionPluginDisabledOverrides.get(W.name),K=bf(B,Z??B.disabled===!0),z=X.pluginServerHosts.get(W.name);if(G&&z===G)a(X,W.name,G);let H=p(X,W.name),V=G!==void 0&&H?.owner.kind==="plugin"&&H.host===G,q=G!==void 0&&z===void 0&&J.has(W.name)&&YO(G.config,K);if(q)a(X,W.name,G),D3({state:X,name:W.name,host:G});let F=H?.owner.kind==="vfs";if(G&&!(V||q||F)){X.pluginServerNames.delete(W.name),X.pluginServerHosts.delete(W.name),JO(X,W.name);continue}if($.has(W.name))continue;$.set(W.name,K)}return $}async function Tf(Q,X,Y){let J=[];for(let $ of X){if(Q.has($))continue;Y.sessionPluginDisabledOverrides.delete($);let W=p(Y,$);if(W?.owner.kind!=="plugin")continue;let G=W.host;if(!G){U0({state:Y,name:$,owner:W.owner,revision:W.revision});continue}let B=V1({state:Y,name:$,owner:W.owner,revision:W.revision,host:G});if(!B)continue;let Z=Y1(Y,$,G.config.id,G.config);G.beginDisposal?.(),J.push(Promise.allSettled([Z,G.dispose({strict:!0})]).then((K)=>{let z=K.find((H)=>H.status==="rejected");if(z)throw L0({state:Y,name:$,retirement:B,result:{status:"failed",error:z.reason}}),z.reason;L0({state:Y,name:$,retirement:B,result:{status:"retired"}}),U0({state:Y,name:$,owner:W.owner,revision:W.revision})}))}await Promise.all(J)}function $O(Q,X){JO(Q,X)}function Sf(Q){let{state:X,desired:Y,previousNames:J,previousHosts:$}=Q,W=[],G=new Map;for(let[B,Z]of Y){let K=X.servers.get(B),z=K?a(X,B,K):p(X,B);if(z?.owner.kind==="local"||z?.owner.kind==="registry"){$O(X,B);continue}if(K===$.get(B)&&J.has(B)&&YO(K.config,Z))continue;G.set(B,v0(X,B,"plugin")),W.push(Z)}return{reservedRevisions:G,toConnect:W}}async function Rf(Q,X,Y){let J=Y?.connect??H1,$=X.pluginServerSource,W=X.workspaceRoot??process.cwd();if(X.diagnostics=X.diagnostics.filter((F)=>F.origin!=="plugin"),$)If($,X);let G=new Set(X.pluginServerNames);X.pluginServerHosts??=new Map;for(let[F,D]of X.pluginServerHosts){let U=X.servers.get(F);if(U===void 0||U===D)a(X,F,D)}let B=Cf($,X,W,G);X.configDesiredRevisions??=new Map,X.configRevisions??=new Map;let Z=new Map,K=new Set;for(let[F,D]of X.hostLeases){if(D.owner.kind!=="plugin")continue;if(K.add(F),D.host)Z.set(F,D.host)}await Tf(B,K,X);let{reservedRevisions:z,toConnect:H}=Sf({state:X,desired:B,previousNames:K,previousHosts:Z});if(H.length===0)return;n$.info(`Plugin MCP source: connecting ${H.length} server(s)`);let V=()=>X.currentLoad?.latestPi??Q,q=(F)=>{let D=z.get(F.name);if(D===void 0||X.configDesiredRevisions.get(F.name)!==D)return!1;let U=p(X,F.name),M=U?.owner.kind!=="local"&&U?.owner.kind!=="registry";if(!M)$O(X,F.name);return M};try{await J(H,X,V(),q,z,"plugin");for(let F of H)q(F)}catch{}finally{X.pluginServerNames=new Set([...X.hostLeases].filter(([,F])=>F.owner.kind==="plugin").map(([F])=>F)),i(V(),X),S0(X)}}function i$(Q,X,Y){X.pluginReconcileQueue??=Promise.resolve();let $=X.pluginReconcileQueue.then(()=>Rf(Q,X,Y)).catch((W)=>{n$.warn(`Plugin MCP reconciliation failed: ${W instanceof Error?W.message:String(W)}`)});return X.pluginReconcileQueue=$,$}function WO(Q,X){let{name:Y,disabled:J,state:$,pi:W}=Q,G=$.servers.get(Y),B=G?a($,Y,G):p($,Y);if(B?.owner.kind!=="plugin"||B.host!==G)return Promise.resolve();return $.sessionPluginDisabledOverrides.set(Y,J),i$($.currentLoad?.latestPi??W,$,X)}function GO(Q,X){return{registerServerSource:(Y)=>{return X.pluginServerSource=Y,i$(X.currentLoad?.latestPi??Q,X),()=>{if(X.pluginServerSource===Y)X.pluginServerSource=void 0,i$(X.currentLoad?.latestPi??Q,X)}}}}function kf(Q,X){let J=Ef.create(Q,X).getManagedSettings().mcpServers;return new Set(Object.entries(J??{}).filter(([,$])=>$!==null).map(([$])=>$))}function BO(Q){let{server:X,state:Y,cwd:J,agentDir:$}=Q;if(kf(J,$).has(X))return{kind:"blocked",message:`Cannot toggle "${X}": server is managed and cannot be modified`};let W=Y.servers.get(X);if(!W)return{kind:"blocked",message:d$(X)};if(R5(Y.mcpConfigOverride).has(X))return{kind:"session"};if(X9(W,Y.pluginServerHosts,Y.hostLeases)!=="local")return{kind:"session"};let G=aU(X,J,$);if(G.length===0)return{kind:"blocked",message:eU(X,J,$)};let{scopes:B,direct:Z}=sU(G);return{kind:"local",scopes:B,direct:Z}}async function ZO(Q){let{server:X,disable:Y,state:J,pi:$}=Q,W=J.servers.get(X);if(!W)return;let G=J.hostLeases?.get(X)??(J.pluginServerHosts?.get(X)===W?a(J,X,W):void 0);if(G?.owner.kind==="plugin"&&G.host===W){await WO({name:X,disabled:Y,state:J,pi:$});return}if(R5(J.mcpConfigOverride).has(X))J.sessionMcpConfigDisabledOverrides.set(X,Y);if(W.config.registrySource!==void 0)J.sessionRegistryDisabledOverrides.set(X,Y);let B={...W.config,disabled:Y};await H1([B],J,$,void 0,void 0,G?.owner.kind),S0(J)}async function KO(Q){let{server:X,disable:Y,scope:J,state:$,pi:W,cwd:G,agentDir:B}=Q,Z=tU(X,Y,J,G,B);if(!Z.ok)throw Error(Z.error);return await RU(X,$,W,G,B),S0($),Z.overridden?{notice:QO(X)}:{}}import{Key as ef,matchesKey as Qh,SpinnerTimer as Xh,wrapTextWithAnsi as Yh}from"@earendil-works/pi-tui";import{Key as gf,matchesKey as uf}from"@earendil-works/pi-tui";import{getSettingsTargetLabel as _f,scopeToSettingsTarget as xf}from"@augmentcode/auggie-v2";import{truncateToWidth as yf,visibleWidth as zO}from"@earendil-works/pi-tui";var vf=15,ff=2;function HO(Q){if(Q.disabled)return{label:"Disabled",color:"muted"};switch(Q.status){case"success":return{label:`${Q.tools.length} tools available`,color:"success"};case"failed":return{label:"Failed",color:"error"};case"auth_required":return{label:"Auth required",color:"warning",hint:" Press Enter for options"};case"disabled":return{label:"Disabled",color:"muted"};default:return{label:"Initializing",color:"text"}}}function o$(Q){if(Q.registrySource==="tenant")return"Shared";if(Q.registrySource==="user")return"Private registry";if(Q.source==="plugin")return"Plugin";if(Q.source==="vfs")return"VFS";return"User-configured"}function VO(Q){return Math.max(r$(Q),vf)}function r$(Q){return Q.reduce((Y,J)=>Math.max(Y,zO(J)),0)+ff}function T4(Q,X){let Y=X-zO(Q);return Y>0?Q+" ".repeat(Y):Q}function qO(Q,X){return yf(Q,Math.max(1,X),"…")}function FO(Q,X,Y){if(X<=Y)return{start:0,end:X};let J=Math.floor(Y/2),$=Math.max(0,Math.min(Q-J,X-Y));return{start:$,end:$+Y}}function hf(Q,X){return Math.max(0,Q-X)}function a$(Q,X,Y){return Math.max(0,Math.min(Q,hf(X,Y)))}function LO(Q,X,Y){let J=Q,$=Math.min(X,Q+Y);return{start:J,end:$,aboveCount:J,belowCount:X-$,rangeLabel:`Lines ${J+1}-${$} of ${X}`}}function DO(Q,X){return String(Q+1).padStart(String(X).length," ")}function UO(Q){return Q==="auth_required"?"Reauthenticate":"Authenticate"}function s$(Q){return _f(xf(Q))}function B5(Q){if(Q.source==="plugin"&&Q.disabled)return["toggle"];let X=Q.transport==="stdio"?["viewTools","viewLogs"]:["viewTools"];if(Q.isOAuth)X.unshift("authenticate");return X.push("toggle","reconnect"),X}function OO(){return{step:"serverList",selectedServer:null,actionIndex:0,toolIndex:0,logScrollOffset:0,authInput:"",targetScopes:[],targetIndex:0,pendingToggle:null}}var J8=15;var mf="k",lf="j";function $8(Q,X){return(Q%X+X)%X}function s0(Q,X){let Y=Q.findIndex((J)=>J.name===X);return Y>=0?Y:0}function MO(Q,X){if(X.matches(Q,"tui.select.up")||Q===mf)return{kind:"up"};if(X.matches(Q,"tui.select.down")||Q===lf)return{kind:"down"};if(X.matches(Q,"tui.select.confirm"))return{kind:"confirm"};if(X.matches(Q,"tui.select.cancel"))return{kind:"cancel"};if(uf(Q,gf.backspace))return{kind:"back"};return{kind:"ignore"}}function pf(Q,X,Y){let J=Y.length;if(J===0)return X.kind==="cancel"?{state:Q,effect:{kind:"close"}}:{state:Q};switch(X.kind){case"up":{let $=$8(s0(Y,Q.selectedServer)-1,J);return{state:{...Q,selectedServer:Y[$]?.name??null}}}case"down":{let $=$8(s0(Y,Q.selectedServer)+1,J);return{state:{...Q,selectedServer:Y[$]?.name??null}}}case"confirm":{let $=Y[s0(Y,Q.selectedServer)];if($?.status==="auth_required"&&$.isOAuth)return{state:Q,effect:{kind:"authenticate",server:$.name}};return{state:{...Q,step:"serverActions",actionIndex:0}}}case"cancel":return{state:Q,effect:{kind:"close"}};default:return{state:Q}}}function cf(Q,X,Y){let J=Y.snapshots[s0(Y.snapshots,Q.selectedServer)];if(!J)return{state:{...Q,step:"serverList"}};let $=B5(J);switch(X.kind){case"up":return{state:{...Q,actionIndex:$8(Q.actionIndex-1,$.length)}};case"down":return{state:{...Q,actionIndex:$8(Q.actionIndex+1,$.length)}};case"cancel":case"back":return{state:{...Q,step:"serverList"}};case"confirm":{let W=$[Q.actionIndex];if(W==="viewTools")return{state:{...Q,step:"viewTools",toolIndex:0}};if(W==="viewLogs")return{state:{...Q,step:"viewLogs",logScrollOffset:0}};if(W==="authenticate")return{state:Q,effect:{kind:"authenticate",server:J.name}};if(W==="toggle")return{state:Q,effect:{kind:"toggle",server:J.name,disable:!J.disabled}};return{state:Q,effect:{kind:"reconnect",server:J.name}}}default:return{state:Q}}}function df(Q,X,Y){let J=Y.snapshots[s0(Y.snapshots,Q.selectedServer)]?.tools.length??0;switch(X.kind){case"up":return{state:{...Q,toolIndex:Math.max(0,Q.toolIndex-1)}};case"down":return{state:{...Q,toolIndex:Math.min(Math.max(0,J-1),Q.toolIndex+1)}};case"cancel":case"back":return{state:{...Q,step:"serverActions"}};default:return{state:Q}}}function nf(Q,X,Y){let J=Y.snapshots[s0(Y.snapshots,Q.selectedServer)]?.logLines().length??0;switch(X.kind){case"up":return{state:{...Q,logScrollOffset:a$(Q.logScrollOffset-1,J,Y.windowSize)}};case"down":return{state:{...Q,logScrollOffset:a$(Q.logScrollOffset+1,J,Y.windowSize)}};case"cancel":case"back":return{state:{...Q,step:"serverActions"}};default:return{state:Q}}}function of(Q,X){if(X.kind==="cancel"||X.kind==="back")return{state:{...Q,step:"serverActions",authInput:""}};return{state:Q}}function Z5(Q,X){return{...Q,step:X,targetScopes:[],targetIndex:0,pendingToggle:null}}function rf(Q,X){let Y=Q.targetScopes.length;if(Y===0)return{state:Z5(Q,"serverActions")};switch(X.kind){case"up":return{state:{...Q,targetIndex:$8(Q.targetIndex-1,Y)}};case"down":return{state:{...Q,targetIndex:$8(Q.targetIndex+1,Y)}};case"cancel":case"back":return{state:Z5(Q,"serverActions")};case"confirm":{let J=Q.targetScopes[Q.targetIndex],$=Q.pendingToggle;if(!(J&&$))return{state:Z5(Q,"serverActions")};return{state:Z5({...Q,actionIndex:0},"serverList"),effect:{kind:"toggleWrite",server:$.server,disable:$.disable,scope:J}}}default:return{state:Q}}}function AO(Q,X,Y){switch(Q.step){case"serverList":return pf(Q,X,Y.snapshots);case"serverActions":return cf(Q,X,Y);case"viewTools":return df(Q,X,Y);case"viewLogs":return nf(Q,X,Y);case"pasteAuthCode":return of(Q,X);case"selectTarget":return rf(Q,X);default:return{state:Q}}}var t$="→ ",K5=" ";function af(Q,X,Y){if(Q.disabled)return Y.fg("muted",Q.name);return X?Y.bold(Y.fg("accent",Q.name)):Y.fg("text",Q.name)}function PO(Q,X,Y){if(X.length===0)return[Y.fg("muted","No MCP servers available")];let J=VO(X.map((Z)=>Z.name)),$=r$(["Source",...X.map(o$)]),W=s0(X,Q.selectedServer),B=[K5+T4(Y.bold(Y.fg("accent","Name")),J)+T4(Y.bold(Y.fg("accent","Source")),$)+Y.bold(Y.fg("accent","Status"))];for(let[Z,K]of X.entries()){let z=Z===W,H=HO(K),V=Y.fg(H.color,H.label)+(H.hint?Y.fg("muted",H.hint):"");B.push((z?t$:K5)+T4(af(K,z,Y),J)+T4(Y.fg("muted",o$(K)),$)+V)}return B}var sf={authenticate:{label:"Authenticate",description:"Sign in to this server with OAuth"},viewTools:{label:"View tools",description:"See all tools provided by this server"},viewLogs:{label:"View logs",description:"View logs from this server"},reconnect:{label:"Reconnect",description:"Restart the server connection"},toggle:{label:"Disable",description:"Enable or disable this server"}};function tf(Q,X){if(Q==="toggle"){let Y=X.source!=="local";if(X.disabled)return Y?{label:"Enable for this session",description:"Re-enable this server for the current session only"}:{label:"Enable",description:"Enable this server (saved to settings.json)"};return Y?{label:"Disable for this session",description:"Disable this server for the current session only"}:{label:"Disable",description:"Disable this server (saved to settings.json)"}}return sf[Q]}function jO(Q,X,Y,J){let $=X[s0(X,Q.selectedServer)];if(!$)return[Y.fg("muted","No MCP servers available")];let W=$.transport==="stdio"?"Command: ":"URL: ",G=[Y.fg("muted",qO(W+$.connectionInfo,J))];if($.source==="plugin")G.push(Y.fg("muted","Source: plugin (toggles apply to this session only)"));G.push("");let B=B5($);for(let[Z,K]of B.entries()){let z=Z===Q.actionIndex,H=tf(K,$),V=K==="authenticate"?UO($.status):H.label,q=z?Y.bold(Y.fg("accent",V)):Y.fg("text",V);G.push((z?t$:K5)+q+Y.fg("muted",` - ${H.description}`))}return G}function NO(Q,X,Y){let J=X[s0(X,Q.selectedServer)];if(!J)return[Y.fg("muted","No tools available.")];if(J.disabled)return[Y.fg("muted","Server is disabled; no tools are currently available.")];if(J.tools.length===0)return[Y.fg("muted","No tools available.")];let $=J.tools.length,{start:W,end:G}=FO(Q.toolIndex,$,J8),B=[];for(let Z=W;Z<G;Z++){let K=J.tools[Z];if(!K)continue;let H=Z===Q.toolIndex?Y.bold(Y.fg("accent",K.name)):Y.fg("text",K.name);B.push(Y.fg("muted",`${DO(Z,$)} `)+H+(K.disabled?Y.fg("muted"," (disabled)"):""))}return B}function bO(Q,X,Y){let $=X[s0(X,Q.selectedServer)]?.logLines()??[];if($.length===0)return[Y.fg("muted","No logs available yet.")];let W=$.length,G=LO(Q.logScrollOffset,W,J8),B=[];if(W>J8)B.push(Y.fg("muted",G.rangeLabel));if(G.aboveCount>0)B.push(Y.fg("dim",`↑ ${G.aboveCount} more`));for(let Z of $.slice(G.start,G.end))B.push(Y.fg("text",Z));if(G.belowCount>0)B.push(Y.fg("dim",`↓ ${G.belowCount} more`));return B}function wO(Q,X,Y){let J=X[s0(X,Q.selectedServer)]?.name??"",$=[Y.fg("muted",`Save the toggle for "${J}" to which settings file?`),""];for(let[W,G]of Q.targetScopes.entries()){let B=W===Q.targetIndex,Z=B?Y.bold(Y.fg("accent",s$(G))):Y.fg("text",s$(G));$.push((B?t$:K5)+Z)}return $}function Jh(Q){return Q.type==="stdio"?Q.command:Q.url}function $h(Q){let X=Q.getLogHistory();if(X.length===0){let Y=Q.lastError;if(!Y)return[];return Y.split(`
|
|
144
|
+
`).map((J)=>J.trimEnd()).filter((J)=>J.length>0)}return X.flatMap((Y)=>Y.split(`
|
|
145
|
+
`)).map((Y)=>Y.trimEnd()).filter((Y)=>Y.length>0)}function IO(Q){if(Q.disabled)return 2;return Q.status==="auth_required"?0:1}function Wh(Q){let X=[];for(let Y of Q.servers.values())X.push({name:Y.name,status:Y.status,transport:Y.config.type,source:X9(Y,Q.pluginServerHosts,Q.hostLeases),registrySource:Y.config.registrySource,disabled:Y.config.disabled===!0,isOAuth:Y.config.type!=="stdio"&&Y.config.auth==="oauth",tools:Y.tools.map((J)=>({name:J.name,disabled:!1})),connectionInfo:Jh(Y.config),logLines:()=>$h(Y)});return X.sort((Y,J)=>IO(Y)-IO(J)),X}function Gh(Q,X){let Y=X[s0(X,Q.selectedServer)]?.name??"";switch(Q.step){case"serverActions":return`MCP Servers › ${Y}`;case"viewTools":return`MCP Servers › ${Y} › Tools`;case"viewLogs":return`MCP Servers › ${Y} › Logs`;case"selectTarget":return`MCP Servers › ${Y} › Settings file`;default:return"MCP Servers"}}function Bh(Q){switch(Q){case"serverList":return"↑↓ Navigate · Enter Select · Esc Close";case"serverActions":case"selectTarget":return"↑↓ Navigate · Enter Select · Esc Back";default:return"↑↓ Navigate · Esc Back"}}function Zh(Q,X,Y,J){switch(Q.step){case"serverActions":return jO(Q,X,Y,J);case"viewTools":return NO(Q,X,Y);case"viewLogs":return bO(Q,X,Y);case"selectTarget":return wO(Q,X,Y);default:return PO(Q,X,Y)}}function Kh(Q,X,Y,J){let $=Y.bold(Y.fg("accent",Gh(Q,X))),W=Zh(Q,X,Y,J);return[$,"",...W,"",Y.fg("muted",Bh(Q.step))]}function zh(Q,X,Y,J){let $=J.bold(J.fg("accent",`MCP Servers › ${Q}`)),W=`${J.fg("accent",Y)} ${J.fg("text",`${X} ${Q}…`)}`;return[$,"",W]}function Hh(){let Q;return{promise:new Promise((Y)=>{Q=Y}),resolve:Q}}function Vh(Q,X,Y){let J=(G)=>G.flatMap((B)=>Yh(B,Math.max(1,Y))),$=X.bold(X.fg("accent",`MCP Servers › ${Q.server} › Authenticate`));if(Q.status==="error")return J([$,"",X.fg("error","Authentication failed"),X.fg("muted",Q.error??"Unknown error"),"",X.fg("muted","Press any key to dismiss")]);let W=[$,"",X.fg("text","Opening your browser to sign in…")];if(Q.url)W.push(X.fg("accent",Q.url));if(Q.instructions)W.push(X.fg("muted",Q.instructions));return W.push("",`${X.fg("text","Paste code or redirect URL: ")}${X.fg("accent",Q.input)}`,"",X.fg("muted","Enter Submit · Esc Cancel")),J(W)}function qh(Q){return Q.length>0&&!Q.startsWith("\x1B")&&Q>=" "}function CO(Q){return Q?"Disabling":"Enabling"}function TO(Q,X){return`Failed to toggle "${Q}": ${X instanceof Error?X.message:String(X)}`}class SO{state=OO();config;busy=null;spinner;opDone;authenticating=null;authStatus="pending";authUrl;authInstructions;authError;authAbort;manualCode;authInPaste=!1;authPasteBuffer="";authDone;component;constructor(Q){this.config=Q,this.component={render:(X)=>this.render(X),handleInput:(X)=>this.dispatch(X),invalidate:()=>{}}}get reconnectSettled(){return this.opDone}get authSettled(){return this.authDone}render(Q){if(this.busy)return zh(this.busy.server,this.busy.verb,this.spinner?.frame??"",this.config.theme);if(this.authenticating)return Vh({server:this.authenticating,status:this.authStatus,url:this.authUrl,instructions:this.authInstructions,input:this.state.authInput,error:this.authError},this.config.theme,Q);return Kh(this.state,this.config.snapshots(),this.config.theme,Q)}dispatch(Q){if(this.busy)return;if(this.authenticating){this.handleAuthInput(Q);return}let X=this.config.snapshots(),Y=MO(Q,this.config.keybindings),J=AO(this.state,Y,{snapshots:X,windowSize:J8});if(this.state=J.state,J.effect)this.runEffect(J.effect);this.config.tui.requestRender()}runEffect(Q){switch(Q.kind){case"close":this.config.done();return;case"reconnect":this.startOp(Q.server,"Reconnecting",()=>this.config.reconnect(Q.server));return;case"authenticate":this.startAuth(Q.server);return;case"toggle":this.startToggle(Q.server,Q.disable);return;case"toggleWrite":this.startToggleWrite(Q.server,Q.disable,Q.scope);return;default:return}}startToggle(Q,X){if(this.busy||this.config.isReconnecting())return;let Y=this.config.toggle.classify(Q);if(Y.kind==="blocked"){this.config.toggle.notify(Y.message),this.state={...this.state,step:"serverList",actionIndex:0},this.config.tui.requestRender();return}if(Y.kind==="session"){this.startOp(Q,CO(X),async()=>{try{await this.config.toggle.applySession(Q,X)}catch(J){this.config.toggle.notify(TO(Q,J))}});return}if(Y.direct){this.startToggleWrite(Q,X,Y.direct);return}this.state={...this.state,step:"selectTarget",targetScopes:Y.scopes,targetIndex:0,pendingToggle:{server:Q,disable:X}},this.config.tui.requestRender()}startToggleWrite(Q,X,Y){this.startOp(Q,CO(X),async()=>{try{let{notice:J}=await this.config.toggle.applyLocal(Q,X,Y);if(J)this.config.toggle.notify(J)}catch(J){this.config.toggle.notify(TO(Q,J))}})}startOp(Q,X,Y){if(this.busy||this.config.isReconnecting())return;this.busy={server:Q,verb:X},this.spinner=new Xh(()=>this.config.tui.requestRender()),this.opDone=Y().finally(()=>{this.spinner?.stop(),this.spinner=void 0,this.busy=null,this.state={...this.state,step:"serverList",actionIndex:0},this.config.tui.requestRender()})}startAuth(Q){if(this.authenticating||this.config.isAuthenticating())return;this.authenticating=Q,this.authStatus="pending",this.authUrl=void 0,this.authInstructions=void 0,this.authError=void 0,this.state={...this.state,step:"pasteAuthCode",authInput:""},this.authAbort=new AbortController,this.manualCode=Hh();let X={onAuthUrl:(Y)=>{this.authUrl=Y.url,this.authInstructions=Y.instructions,this.config.tui.requestRender()},waitForManualCode:()=>{if(!this.manualCode)return Promise.resolve(null);return this.manualCode.promise},signal:this.authAbort.signal};this.authDone=this.config.authenticate(Q,X).then(()=>{if(this.authenticating===Q)this.exitAuth()}).catch((Y)=>{if(this.authenticating!==Q)return;this.authStatus="error",this.authError=Y instanceof Error?Y.message:String(Y),this.config.tui.requestRender()})}handleAuthInput(Q){if(this.authStatus==="error"){this.exitAuth();return}if(this.config.keybindings.matches(Q,"tui.select.cancel")){this.authAbort?.abort(),this.manualCode?.resolve(null),this.exitAuth();return}if(this.config.keybindings.matches(Q,"tui.select.confirm")){let Y=this.state.authInput.trim();if(Y)this.manualCode?.resolve(Y);return}if(Qh(Q,ef.backspace)){this.state={...this.state,authInput:this.state.authInput.slice(0,-1)},this.config.tui.requestRender();return}let X=Q;if(X.startsWith("\x1B[200~"))this.authInPaste=!0,this.authPasteBuffer="",X=X.slice(6);if(this.authInPaste){this.authPasteBuffer+=X;let Y=this.authPasteBuffer.indexOf("\x1B[201~");if(Y!==-1){let J=this.authPasteBuffer.slice(0,Y),$=this.authPasteBuffer.slice(Y+6);if(this.authInPaste=!1,this.authPasteBuffer="",J)this.state={...this.state,authInput:this.state.authInput+J},this.config.tui.requestRender();if($)this.handleAuthInput($)}return}if(qh(Q))this.state={...this.state,authInput:this.state.authInput+Q},this.config.tui.requestRender()}exitAuth(){this.authenticating=null,this.authStatus="pending",this.authUrl=void 0,this.authInstructions=void 0,this.authError=void 0,this.authAbort=void 0,this.manualCode=void 0,this.authInPaste=!1,this.authPasteBuffer="",this.state={...this.state,step:"serverList",actionIndex:0,authInput:""},this.config.tui.requestRender()}}async function RO(Q,X,Y,J,$){await Q.ui.custom((W,G,B,Z)=>{return new SO({tui:W,theme:G,keybindings:B,snapshots:()=>Wh(X),reconnect:Y,toggle:J,isReconnecting:()=>X.reconnecting,authenticate:$,isAuthenticating:()=>X.authenticating,done:()=>Z(void 0)}).component})}var Q3=["list"];function EO(Q){let{name:X,status:Y}=Q,J;switch(Y){case"success":{let $=Q.tools.length;J=$>0?` ✅ ${X} (${$} tool${$===1?"":"s"})`:` ✅ ${X} (ready)`;break}case"failed":J=` ❌ ${X} (failed)`;break;case"auth_required":J=` \uD83D\uDD10 ${X} (auth required)`;break;case"disabled":J=` ⚪ ${X} (disabled)`;break;default:J=` ⏳ ${X} (initializing...)`;break}if(Y==="failed"&&Q.lastError)return`${J}
|
|
146
|
+
error: ${Q.lastError}`;return J}function Fh(Q){return` ! ${Q.server?`${Q.server}: `:""}${Q.message}`}var Lh="No MCP servers configured. Add servers under the 'mcpServers' key in ~/.augment/settings.json or your project's .augment/settings.json.";function e$(Q,X){return X.length>0?[Q,...X]:null}function Dh(Q){let X=[],Y=[];for(let $ of Q.servers.values())(X9($,Q.pluginServerHosts,Q.hostLeases)==="plugin"?Y:X).push($);let J=[e$("MCP Server Status:",X.map(EO)),e$("Plugin MCP servers:",Y.map(EO)),e$("Diagnostics:",Q.diagnostics.map(Fh))];if(Q.servers.size===0)J.unshift([Lh]);return J.filter(($)=>$!==null).map(($)=>$.join(`
|
|
147
|
+
`)).join(`
|
|
73
148
|
|
|
74
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let B of Q.seen.entries()){let G=B[1];if(X===B[0]){$(B);continue}if(Q.external){let H=Q.external.registry.get(B[0])?.id;if(X!==B[0]&&H){$(B);continue}}if(Q.metadataRegistry.get(B[0])?.id){$(B);continue}if(G.cycle){$(B);continue}if(G.count>1){if(Q.reused==="ref"){$(B);continue}}}}function N4(Q,X){let Y=Q.seen.get(X);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let J=(G)=>{let K=Q.seen.get(G);if(K.ref===null)return;let H=K.def??K.schema,Z={...H},L=K.ref;if(K.ref=null,L){J(L);let D=Q.seen.get(L),z=D.schema;if(z.$ref&&(Q.target==="draft-07"||Q.target==="draft-04"||Q.target==="openapi-3.0"))H.allOf=H.allOf??[],H.allOf.push(z);else Object.assign(H,z);if(Object.assign(H,Z),G._zod.parent===L)for(let N in H){if(N==="$ref"||N==="allOf")continue;if(!(N in Z))delete H[N]}if(z.$ref&&D.def)for(let N in H){if(N==="$ref"||N==="allOf")continue;if(N in D.def&&JSON.stringify(H[N])===JSON.stringify(D.def[N]))delete H[N]}}let V=G._zod.parent;if(V&&V!==L){J(V);let D=Q.seen.get(V);if(D?.schema.$ref){if(H.$ref=D.schema.$ref,D.def)for(let z in H){if(z==="$ref"||z==="allOf")continue;if(z in D.def&&JSON.stringify(H[z])===JSON.stringify(D.def[z]))delete H[z]}}}Q.override({zodSchema:G,jsonSchema:H,path:K.path??[]})};for(let G of[...Q.seen.entries()].reverse())J(G[0]);let W={};if(Q.target==="draft-2020-12")W.$schema="https://json-schema.org/draft/2020-12/schema";else if(Q.target==="draft-07")W.$schema="http://json-schema.org/draft-07/schema#";else if(Q.target==="draft-04")W.$schema="http://json-schema.org/draft-04/schema#";else if(Q.target==="openapi-3.0");if(Q.external?.uri){let G=Q.external.registry.get(X)?.id;if(!G)throw Error("Schema is missing an `id` property");W.$id=Q.external.uri(G)}Object.assign(W,Y.def??Y.schema);let $=Q.metadataRegistry.get(X)?.id;if($!==void 0&&W.id===$)delete W.id;let B=Q.external?.defs??{};for(let G of Q.seen.entries()){let K=G[1];if(K.def&&K.defId){if(K.def.id===K.defId)delete K.def.id;B[K.defId]=K.def}}if(Q.external);else if(Object.keys(B).length>0)if(Q.target==="draft-2020-12")W.$defs=B;else W.definitions=B;try{let G=JSON.parse(JSON.stringify(W));return Object.defineProperty(G,"~standard",{value:{...X["~standard"],jsonSchema:{input:l9(X,"input",Q.processors),output:l9(X,"output",Q.processors)}},enumerable:!1,writable:!1}),G}catch(G){throw Error("Error converting schema to JSON.")}}function z0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let J=Q._zod.def;if(J.type==="transform")return!0;if(J.type==="array")return z0(J.element,Y);if(J.type==="set")return z0(J.valueType,Y);if(J.type==="lazy")return z0(J.getter(),Y);if(J.type==="promise"||J.type==="optional"||J.type==="nonoptional"||J.type==="nullable"||J.type==="readonly"||J.type==="default"||J.type==="prefault")return z0(J.innerType,Y);if(J.type==="intersection")return z0(J.left,Y)||z0(J.right,Y);if(J.type==="record"||J.type==="map")return z0(J.keyType,Y)||z0(J.valueType,Y);if(J.type==="pipe"){if(Q._zod.traits.has("$ZodCodec"))return!0;return z0(J.in,Y)||z0(J.out,Y)}if(J.type==="object"){for(let W in J.shape)if(z0(J.shape[W],Y))return!0;return!1}if(J.type==="union"){for(let W of J.options)if(z0(W,Y))return!0;return!1}if(J.type==="tuple"){for(let W of J.items)if(z0(W,Y))return!0;if(J.rest&&z0(J.rest,Y))return!0;return!1}return!1}var P5=(Q,X={})=>(Y)=>{let J=A4({...Y,processors:X});return X0(Q,J),O4(J,Q),N4(J,Q)},l9=(Q,X,Y={})=>(J)=>{let{libraryOptions:W,target:$}=J??{},B=A4({...W??{},target:$,io:X,processors:Y});return X0(Q,B),O4(B,Q),N4(B,Q)};var cV={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},j5=(Q,X,Y,J)=>{let W=Y;W.type="string";let{minimum:$,maximum:B,format:G,patterns:K,contentEncoding:H}=Q._zod.bag;if(typeof $==="number")W.minLength=$;if(typeof B==="number")W.maxLength=B;if(G){if(W.format=cV[G]??G,W.format==="")delete W.format;if(G==="time")delete W.format}if(H)W.contentEncoding=H;if(K&&K.size>0){let Z=[...K];if(Z.length===1)W.pattern=Z[0].source;else if(Z.length>1)W.allOf=[...Z.map((L)=>({...X.target==="draft-07"||X.target==="draft-04"||X.target==="openapi-3.0"?{type:"string"}:{},pattern:L.source}))]}},I5=(Q,X,Y,J)=>{let W=Y,{minimum:$,maximum:B,format:G,multipleOf:K,exclusiveMaximum:H,exclusiveMinimum:Z}=Q._zod.bag;if(typeof G==="string"&&G.includes("int"))W.type="integer";else W.type="number";let L=typeof Z==="number"&&Z>=($??Number.NEGATIVE_INFINITY),V=typeof H==="number"&&H<=(B??Number.POSITIVE_INFINITY),D=X.target==="draft-04"||X.target==="openapi-3.0";if(L)if(D)W.minimum=Z,W.exclusiveMinimum=!0;else W.exclusiveMinimum=Z;else if(typeof $==="number")W.minimum=$;if(V)if(D)W.maximum=H,W.exclusiveMaximum=!0;else W.exclusiveMaximum=H;else if(typeof B==="number")W.maximum=B;if(typeof K==="number")W.multipleOf=K},b5=(Q,X,Y,J)=>{Y.type="boolean"},T5=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")};var R5=(Q,X,Y,J)=>{if(X.target==="openapi-3.0")Y.type="string",Y.nullable=!0,Y.enum=[null];else Y.type="null"};var E5=(Q,X,Y,J)=>{Y.not={}},S5=(Q,X,Y,J)=>{},C5=(Q,X,Y,J)=>{},k5=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},_5=(Q,X,Y,J)=>{let W=Q._zod.def,$=k9(W.entries);if($.every((B)=>typeof B==="number"))Y.type="number";if($.every((B)=>typeof B==="string"))Y.type="string";Y.enum=$},x5=(Q,X,Y,J)=>{let W=Q._zod.def,$=[];for(let B of W.values)if(B===void 0){if(X.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof B==="bigint")if(X.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else $.push(Number(B));else $.push(B);if($.length===0);else if($.length===1){let B=$[0];if(Y.type=B===null?"null":typeof B,X.target==="draft-04"||X.target==="openapi-3.0")Y.enum=[B];else Y.const=B}else{if($.every((B)=>typeof B==="number"))Y.type="number";if($.every((B)=>typeof B==="string"))Y.type="string";if($.every((B)=>typeof B==="boolean"))Y.type="boolean";if($.every((B)=>B===null))Y.type="null";Y.enum=$}};var v5=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")};var y5=(Q,X,Y,J)=>{if(X.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")};var g5=(Q,X,Y,J)=>{let W=Y,$=Q._zod.def,{minimum:B,maximum:G}=Q._zod.bag;if(typeof B==="number")W.minItems=B;if(typeof G==="number")W.maxItems=G;W.type="array",W.items=X0($.element,X,{...J,path:[...J.path,"items"]})},f5=(Q,X,Y,J)=>{let W=Y,$=Q._zod.def;W.type="object",W.properties={};let B=$.shape;for(let H in B)W.properties[H]=X0(B[H],X,{...J,path:[...J.path,"properties",H]});let G=new Set(Object.keys(B)),K=new Set([...G].filter((H)=>{let Z=$.shape[H]._zod;if(X.io==="input")return Z.optin===void 0;else return Z.optout===void 0}));if(K.size>0)W.required=Array.from(K);if($.catchall?._zod.def.type==="never")W.additionalProperties=!1;else if(!$.catchall){if(X.io==="output")W.additionalProperties=!1}else if($.catchall)W.additionalProperties=X0($.catchall,X,{...J,path:[...J.path,"additionalProperties"]})},h5=(Q,X,Y,J)=>{let W=Q._zod.def,$=W.inclusive===!1,B=W.options.map((G,K)=>X0(G,X,{...J,path:[...J.path,$?"oneOf":"anyOf",K]}));if($)Y.oneOf=B;else Y.anyOf=B},u5=(Q,X,Y,J)=>{let W=Q._zod.def,$=X0(W.left,X,{...J,path:[...J.path,"allOf",0]}),B=X0(W.right,X,{...J,path:[...J.path,"allOf",1]}),G=(H)=>("allOf"in H)&&Object.keys(H).length===1,K=[...G($)?$.allOf:[$],...G(B)?B.allOf:[B]];Y.allOf=K};var m5=(Q,X,Y,J)=>{let W=Y,$=Q._zod.def;W.type="object";let B=$.keyType,K=B._zod.bag?.patterns;if($.mode==="loose"&&K&&K.size>0){let Z=X0($.valueType,X,{...J,path:[...J.path,"patternProperties","*"]});W.patternProperties={};for(let L of K)W.patternProperties[L.source]=Z}else{if(X.target==="draft-07"||X.target==="draft-2020-12")W.propertyNames=X0($.keyType,X,{...J,path:[...J.path,"propertyNames"]});W.additionalProperties=X0($.valueType,X,{...J,path:[...J.path,"additionalProperties"]})}let H=B._zod.values;if(H){let Z=[...H].filter((L)=>typeof L==="string"||typeof L==="number");if(Z.length>0)W.required=Z}},l5=(Q,X,Y,J)=>{let W=Q._zod.def,$=X0(W.innerType,X,J),B=X.seen.get(Q);if(X.target==="openapi-3.0")B.ref=W.innerType,Y.nullable=!0;else Y.anyOf=[$,{type:"null"}]},c5=(Q,X,Y,J)=>{let W=Q._zod.def;X0(W.innerType,X,J);let $=X.seen.get(Q);$.ref=W.innerType},p5=(Q,X,Y,J)=>{let W=Q._zod.def;X0(W.innerType,X,J);let $=X.seen.get(Q);$.ref=W.innerType,Y.default=JSON.parse(JSON.stringify(W.defaultValue))},d5=(Q,X,Y,J)=>{let W=Q._zod.def;X0(W.innerType,X,J);let $=X.seen.get(Q);if($.ref=W.innerType,X.io==="input")Y._prefault=JSON.parse(JSON.stringify(W.defaultValue))},i5=(Q,X,Y,J)=>{let W=Q._zod.def;X0(W.innerType,X,J);let $=X.seen.get(Q);$.ref=W.innerType;let B;try{B=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}Y.default=B},n5=(Q,X,Y,J)=>{let W=Q._zod.def,$=W.in._zod.traits.has("$ZodTransform"),B=X.io==="input"?$?W.out:W.in:W.out;X0(B,X,J);let G=X.seen.get(Q);G.ref=B},o5=(Q,X,Y,J)=>{let W=Q._zod.def;X0(W.innerType,X,J);let $=X.seen.get(Q);$.ref=W.innerType,Y.readOnly=!0};var U4=(Q,X,Y,J)=>{let W=Q._zod.def;X0(W.innerType,X,J);let $=X.seen.get(Q);$.ref=W.innerType};function a1(Q){return!!Q._zod}function f0(Q,X){if(a1(Q))return g9(Q,X);return Q.safeParse(X)}function s8(Q){if(!Q)return;let X;if(a1(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function r5(Q){if(a1(Q)){let $=Q._zod?.def;if($){if($.value!==void 0)return $.value;if(Array.isArray($.values)&&$.values.length>0)return $.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let J=Q.value;if(J!==void 0)return J;return}var c9={};I6(c9,{time:()=>P4,duration:()=>j4,datetime:()=>M4,date:()=>w4,ZodISOTime:()=>s5,ZodISODuration:()=>e5,ZodISODateTime:()=>t5,ZodISODate:()=>a5});var t5=O("ZodISODateTime",(Q,X)=>{n7.init(Q,X),a.init(Q,X)});function M4(Q){return W5(t5,Q)}var a5=O("ZodISODate",(Q,X)=>{o7.init(Q,X),a.init(Q,X)});function w4(Q){return $5(a5,Q)}var s5=O("ZodISOTime",(Q,X)=>{r7.init(Q,X),a.init(Q,X)});function P4(Q){return B5(s5,Q)}var e5=O("ZodISODuration",(Q,X)=>{t7.init(Q,X),a.init(Q,X)});function j4(Q){return G5(e5,Q)}var aV=(Q,X)=>{l8.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>i6(Q,Y)},flatten:{value:(Y)=>d6(Q,Y)},addIssue:{value:(Y)=>{Q.issues.push(Y),Q.message=JSON.stringify(Q.issues,p1,2)}},addIssues:{value:(Y)=>{Q.issues.push(...Y),Q.message=JSON.stringify(Q.issues,p1,2)}},isEmpty:{get(){return Q.issues.length===0}}})};var T0=O("ZodError",aV,{Parent:Error});var X$=c8(T0),Y$=p8(T0),J$=y9(T0),W$=f9(T0),$$=SJ(T0),B$=CJ(T0),G$=kJ(T0),H$=_J(T0),K$=xJ(T0),Z$=vJ(T0),L$=yJ(T0),V$=gJ(T0);var D$=new WeakMap;function p9(Q,X,Y){let J=Object.getPrototypeOf(Q),W=D$.get(J);if(!W)W=new Set,D$.set(J,W);if(W.has(X))return;W.add(X);for(let $ in Y){let B=Y[$];Object.defineProperty(J,$,{configurable:!0,enumerable:!1,get(){let G=B.bind(this);return Object.defineProperty(this,$,{configurable:!0,writable:!0,enumerable:!0,value:G}),G},set(G){Object.defineProperty(this,$,{configurable:!0,writable:!0,enumerable:!0,value:G})}})}}var c=O("ZodType",(Q,X)=>{return l.init(Q,X),Object.assign(Q["~standard"],{jsonSchema:{input:l9(Q,"input"),output:l9(Q,"output")}}),Q.toJSONSchema=P5(Q,{}),Q.def=X,Q.type=X.type,Object.defineProperty(Q,"_def",{value:X}),Q.parse=(Y,J)=>X$(Q,Y,J,{callee:Q.parse}),Q.safeParse=(Y,J)=>J$(Q,Y,J),Q.parseAsync=async(Y,J)=>Y$(Q,Y,J,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,J)=>W$(Q,Y,J),Q.spa=Q.safeParseAsync,Q.encode=(Y,J)=>$$(Q,Y,J),Q.decode=(Y,J)=>B$(Q,Y,J),Q.encodeAsync=async(Y,J)=>G$(Q,Y,J),Q.decodeAsync=async(Y,J)=>H$(Q,Y,J),Q.safeEncode=(Y,J)=>K$(Q,Y,J),Q.safeDecode=(Y,J)=>Z$(Q,Y,J),Q.safeEncodeAsync=async(Y,J)=>L$(Q,Y,J),Q.safeDecodeAsync=async(Y,J)=>V$(Q,Y,J),p9(Q,"ZodType",{check(...Y){let J=this.def;return this.clone(y.mergeDefs(J,{checks:[...J.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]}),{parent:!0})},with(...Y){return this.check(...Y)},clone(Y,J){return S0(this,Y,J)},brand(){return this},register(Y,J){return Y.add(this,J),this},refine(Y,J){return this.check(hD(Y,J))},superRefine(Y,J){return this.check(uD(Y,J))},overwrite(Y){return this.check(q1(Y))},optional(){return e(this)},exactOptional(){return TD(this)},nullable(){return A$(this)},nullish(){return e(A$(this))},nonoptional(Y){return _D(this,Y)},array(){return j(this)},or(Y){return r([this,Y])},and(Y){return XQ(this,Y)},transform(Y){return O$(this,R$(Y))},default(Y){return SD(this,Y)},prefault(Y){return kD(this,Y)},catch(Y){return vD(this,Y)},pipe(Y){return O$(this,Y)},readonly(){return fD(this)},describe(Y){let J=this.clone();return D1.add(J,{description:Y}),J},meta(...Y){if(Y.length===0)return D1.get(this);let J=this.clone();return D1.add(J,Y[0]),J},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(Y){return Y(this)}}),Object.defineProperty(Q,"description",{get(){return D1.get(Q)?.description},configurable:!0}),Q}),N$=O("_ZodString",(Q,X)=>{r8.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(J,W,$)=>j5(Q,J,W,$);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,p9(Q,"_ZodString",{regex(...J){return this.check(B4(...J))},includes(...J){return this.check(K4(...J))},startsWith(...J){return this.check(Z4(...J))},endsWith(...J){return this.check(L4(...J))},min(...J){return this.check(r1(...J))},max(...J){return this.check(t8(...J))},length(...J){return this.check(a8(...J))},nonempty(...J){return this.check(r1(1,...J))},lowercase(J){return this.check(G4(J))},uppercase(J){return this.check(H4(J))},trim(){return this.check(D4())},normalize(...J){return this.check(V4(...J))},toLowerCase(){return this.check(q4())},toUpperCase(){return this.check(z4())},slugify(){return this.check(F4())}})}),b4=O("ZodString",(Q,X)=>{r8.init(Q,X),N$.init(Q,X),Q.email=(Y)=>Q.check(fW(eV,Y)),Q.url=(Y)=>Q.check($4(U$,Y)),Q.jwt=(Y)=>Q.check(J5(qD,Y)),Q.emoji=(Y)=>Q.check(cW(QD,Y)),Q.guid=(Y)=>Q.check(W4(q$,Y)),Q.uuid=(Y)=>Q.check(hW(e8,Y)),Q.uuidv4=(Y)=>Q.check(uW(e8,Y)),Q.uuidv6=(Y)=>Q.check(mW(e8,Y)),Q.uuidv7=(Y)=>Q.check(lW(e8,Y)),Q.nanoid=(Y)=>Q.check(pW(XD,Y)),Q.guid=(Y)=>Q.check(W4(q$,Y)),Q.cuid=(Y)=>Q.check(dW(YD,Y)),Q.cuid2=(Y)=>Q.check(iW(JD,Y)),Q.ulid=(Y)=>Q.check(nW(WD,Y)),Q.base64=(Y)=>Q.check(Q5(LD,Y)),Q.base64url=(Y)=>Q.check(X5(VD,Y)),Q.xid=(Y)=>Q.check(oW($D,Y)),Q.ksuid=(Y)=>Q.check(rW(BD,Y)),Q.ipv4=(Y)=>Q.check(tW(GD,Y)),Q.ipv6=(Y)=>Q.check(aW(HD,Y)),Q.cidrv4=(Y)=>Q.check(sW(KD,Y)),Q.cidrv6=(Y)=>Q.check(eW(ZD,Y)),Q.e164=(Y)=>Q.check(Y5(DD,Y)),Q.datetime=(Y)=>Q.check(M4(Y)),Q.date=(Y)=>Q.check(w4(Y)),Q.time=(Y)=>Q.check(P4(Y)),Q.duration=(Y)=>Q.check(j4(Y))});function q(Q){return yW(b4,Q)}var a=O("ZodStringFormat",(Q,X)=>{o.init(Q,X),N$.init(Q,X)}),eV=O("ZodEmail",(Q,X)=>{f7.init(Q,X),a.init(Q,X)});var q$=O("ZodGUID",(Q,X)=>{y7.init(Q,X),a.init(Q,X)});var e8=O("ZodUUID",(Q,X)=>{g7.init(Q,X),a.init(Q,X)});var U$=O("ZodURL",(Q,X)=>{h7.init(Q,X),a.init(Q,X)});function M$(Q){return $4(U$,Q)}var QD=O("ZodEmoji",(Q,X)=>{u7.init(Q,X),a.init(Q,X)});var XD=O("ZodNanoID",(Q,X)=>{m7.init(Q,X),a.init(Q,X)});var YD=O("ZodCUID",(Q,X)=>{l7.init(Q,X),a.init(Q,X)});var JD=O("ZodCUID2",(Q,X)=>{c7.init(Q,X),a.init(Q,X)});var WD=O("ZodULID",(Q,X)=>{p7.init(Q,X),a.init(Q,X)});var $D=O("ZodXID",(Q,X)=>{d7.init(Q,X),a.init(Q,X)});var BD=O("ZodKSUID",(Q,X)=>{i7.init(Q,X),a.init(Q,X)});var GD=O("ZodIPv4",(Q,X)=>{a7.init(Q,X),a.init(Q,X)});var HD=O("ZodIPv6",(Q,X)=>{s7.init(Q,X),a.init(Q,X)});var KD=O("ZodCIDRv4",(Q,X)=>{e7.init(Q,X),a.init(Q,X)});var ZD=O("ZodCIDRv6",(Q,X)=>{QW.init(Q,X),a.init(Q,X)});var LD=O("ZodBase64",(Q,X)=>{YW.init(Q,X),a.init(Q,X)});var VD=O("ZodBase64URL",(Q,X)=>{JW.init(Q,X),a.init(Q,X)});var DD=O("ZodE164",(Q,X)=>{WW.init(Q,X),a.init(Q,X)});var qD=O("ZodJWT",(Q,X)=>{$W.init(Q,X),a.init(Q,X)});var QQ=O("ZodNumber",(Q,X)=>{e6.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(J,W,$)=>I5(Q,J,W,$),p9(Q,"ZodNumber",{gt(J,W){return this.check(o1(J,W))},gte(J,W){return this.check(g0(J,W))},min(J,W){return this.check(g0(J,W))},lt(J,W){return this.check(n1(J,W))},lte(J,W){return this.check(e0(J,W))},max(J,W){return this.check(e0(J,W))},int(J){return this.check(z$(J))},safe(J){return this.check(z$(J))},positive(J){return this.check(o1(0,J))},nonnegative(J){return this.check(g0(0,J))},negative(J){return this.check(n1(0,J))},nonpositive(J){return this.check(e0(0,J))},multipleOf(J,W){return this.check(m9(J,W))},step(J,W){return this.check(m9(J,W))},finite(){return this}});let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function u(Q){return H5(QQ,Q)}var zD=O("ZodNumberFormat",(Q,X)=>{BW.init(Q,X),QQ.init(Q,X)});function z$(Q){return Z5(zD,Q)}var T4=O("ZodBoolean",(Q,X)=>{GW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>b5(Q,Y,J,W)});function p(Q){return L5(T4,Q)}var w$=O("ZodBigInt",(Q,X)=>{HW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(J,W,$)=>T5(Q,J,W,$),Q.gte=(J,W)=>Q.check(g0(J,W)),Q.min=(J,W)=>Q.check(g0(J,W)),Q.gt=(J,W)=>Q.check(o1(J,W)),Q.gte=(J,W)=>Q.check(g0(J,W)),Q.min=(J,W)=>Q.check(g0(J,W)),Q.lt=(J,W)=>Q.check(n1(J,W)),Q.lte=(J,W)=>Q.check(e0(J,W)),Q.max=(J,W)=>Q.check(e0(J,W)),Q.positive=(J)=>Q.check(o1(BigInt(0),J)),Q.negative=(J)=>Q.check(n1(BigInt(0),J)),Q.nonpositive=(J)=>Q.check(e0(BigInt(0),J)),Q.nonnegative=(J)=>Q.check(g0(BigInt(0),J)),Q.multipleOf=(J,W)=>Q.check(m9(J,W));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var FD=O("ZodNull",(Q,X)=>{KW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>R5(Q,Y,J,W)});function P$(Q){return q5(FD,Q)}var AD=O("ZodAny",(Q,X)=>{ZW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>S5(Q,Y,J,W)});function j$(){return z5(AD)}var OD=O("ZodUnknown",(Q,X)=>{LW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>C5(Q,Y,J,W)});function s(){return F5(OD)}var ND=O("ZodNever",(Q,X)=>{VW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>E5(Q,Y,J,W)});function UD(Q){return A5(ND,Q)}var I$=O("ZodDate",(Q,X)=>{DW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(J,W,$)=>k5(Q,J,W,$),Q.min=(J,W)=>Q.check(g0(J,W)),Q.max=(J,W)=>Q.check(e0(J,W));let Y=Q._zod.bag;Q.minDate=Y.minimum?new Date(Y.minimum):null,Q.maxDate=Y.maximum?new Date(Y.maximum):null});var MD=O("ZodArray",(Q,X)=>{qW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>g5(Q,Y,J,W),Q.element=X.element,p9(Q,"ZodArray",{min(Y,J){return this.check(r1(Y,J))},nonempty(Y){return this.check(r1(1,Y))},max(Y,J){return this.check(t8(Y,J))},length(Y,J){return this.check(a8(Y,J))},unwrap(){return this.element}})});function j(Q,X){return N5(MD,Q,X)}var b$=O("ZodObject",(Q,X)=>{AW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>f5(Q,Y,J,W),y.defineLazy(Q,"shape",()=>{return X.shape}),p9(Q,"ZodObject",{keyof(){return U0(Object.keys(this._zod.def.shape))},catchall(Y){return this.clone({...this._zod.def,catchall:Y})},passthrough(){return this.clone({...this._zod.def,catchall:s()})},loose(){return this.clone({...this._zod.def,catchall:s()})},strict(){return this.clone({...this._zod.def,catchall:UD()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(Y){return y.extend(this,Y)},safeExtend(Y){return y.safeExtend(this,Y)},merge(Y){return y.merge(this,Y)},pick(Y){return y.pick(this,Y)},omit(Y){return y.omit(this,Y)},partial(...Y){return y.partial(E$,this,Y[0])},required(...Y){return y.required(S$,this,Y[0])}})});function I(Q,X){let Y={type:"object",shape:Q??{},...y.normalizeParams(X)};return new b$(Y)}function W0(Q,X){return new b$({type:"object",shape:Q,catchall:s(),...y.normalizeParams(X)})}var T$=O("ZodUnion",(Q,X)=>{Q4.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>h5(Q,Y,J,W),Q.options=X.options});function r(Q,X){return new T$({type:"union",options:Q,...y.normalizeParams(X)})}var wD=O("ZodDiscriminatedUnion",(Q,X)=>{T$.init(Q,X),OW.init(Q,X)});function R4(Q,X,Y){return new wD({type:"union",options:X,discriminator:Q,...y.normalizeParams(Y)})}var PD=O("ZodIntersection",(Q,X)=>{NW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>u5(Q,Y,J,W)});function XQ(Q,X){return new PD({type:"intersection",left:Q,right:X})}var F$=O("ZodRecord",(Q,X)=>{UW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>m5(Q,Y,J,W),Q.keyType=X.keyType,Q.valueType=X.valueType});function i(Q,X,Y){if(!X||!X._zod)return new F$({type:"record",keyType:q(),valueType:Q,...y.normalizeParams(X)});return new F$({type:"record",keyType:Q,valueType:X,...y.normalizeParams(Y)})}var I4=O("ZodEnum",(Q,X)=>{MW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(J,W,$)=>_5(Q,J,W,$),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(J,W)=>{let $={};for(let B of J)if(Y.has(B))$[B]=X.entries[B];else throw Error(`Key ${B} not found in enum`);return new I4({...X,checks:[],...y.normalizeParams(W),entries:$})},Q.exclude=(J,W)=>{let $={...X.entries};for(let B of J)if(Y.has(B))delete $[B];else throw Error(`Key ${B} not found in enum`);return new I4({...X,checks:[],...y.normalizeParams(W),entries:$})}});function U0(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((J)=>[J,J])):Q;return new I4({type:"enum",entries:Y,...y.normalizeParams(X)})}var jD=O("ZodLiteral",(Q,X)=>{wW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>x5(Q,Y,J,W),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function T(Q,X){return new jD({type:"literal",values:Array.isArray(Q)?Q:[Q],...y.normalizeParams(X)})}var ID=O("ZodTransform",(Q,X)=>{PW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>y5(Q,Y,J,W),Q._zod.parse=(Y,J)=>{if(J.direction==="backward")throw new S9(Q.constructor.name);Y.addIssue=($)=>{if(typeof $==="string")Y.issues.push(y.issue($,Y.value,X));else{let B=$;if(B.fatal)B.continue=!1;B.code??(B.code="custom"),B.input??(B.input=Y.value),B.inst??(B.inst=Q),Y.issues.push(y.issue(B))}};let W=X.transform(Y.value,Y);if(W instanceof Promise)return W.then(($)=>{return Y.value=$,Y.fallback=!0,Y});return Y.value=W,Y.fallback=!0,Y}});function R$(Q){return new ID({type:"transform",transform:Q})}var E$=O("ZodOptional",(Q,X)=>{X4.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>U4(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType});function e(Q){return new E$({type:"optional",innerType:Q})}var bD=O("ZodExactOptional",(Q,X)=>{jW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>U4(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType});function TD(Q){return new bD({type:"optional",innerType:Q})}var RD=O("ZodNullable",(Q,X)=>{IW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>l5(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType});function A$(Q){return new RD({type:"nullable",innerType:Q})}var ED=O("ZodDefault",(Q,X)=>{bW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>p5(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function SD(Q,X){return new ED({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():y.shallowClone(X)}})}var CD=O("ZodPrefault",(Q,X)=>{TW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>d5(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType});function kD(Q,X){return new CD({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():y.shallowClone(X)}})}var S$=O("ZodNonOptional",(Q,X)=>{RW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>c5(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType});function _D(Q,X){return new S$({type:"nonoptional",innerType:Q,...y.normalizeParams(X)})}var xD=O("ZodCatch",(Q,X)=>{EW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>i5(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function vD(Q,X){return new xD({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var C$=O("ZodPipe",(Q,X)=>{Y4.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>n5(Q,Y,J,W),Q.in=X.in,Q.out=X.out});function O$(Q,X){return new C$({type:"pipe",in:Q,out:X})}var yD=O("ZodPreprocess",(Q,X)=>{C$.init(Q,X),SW.init(Q,X)}),gD=O("ZodReadonly",(Q,X)=>{CW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>o5(Q,Y,J,W),Q.unwrap=()=>Q._zod.def.innerType});function fD(Q){return new gD({type:"readonly",innerType:Q})}var k$=O("ZodCustom",(Q,X)=>{kW.init(Q,X),c.init(Q,X),Q._zod.processJSONSchema=(Y,J,W)=>v5(Q,Y,J,W)});function _$(Q,X){return U5(k$,Q??(()=>!0),X)}function hD(Q,X={}){return M5(k$,Q,X)}function uD(Q,X){return w5(Q,X)}function E4(Q,X){return new yD({type:"pipe",in:R$(Q),out:X})}var v$={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 x$;(function(Q){})(x$||(x$={}));var YQ={};I6(YQ,{string:()=>mD,number:()=>lD,date:()=>dD,boolean:()=>cD,bigint:()=>pD});function mD(Q){return gW(b4,Q)}function lD(Q){return K5(QQ,Q)}function cD(Q){return V5(T4,Q)}function pD(Q){return D5(w$,Q)}function dD(Q){return O5(I$,Q)}N0(J4());var e1="2025-11-25";var y$=[e1,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],z1="io.modelcontextprotocol/related-task",WQ="2.0",$0=_$((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),g$=r([q(),u().int()]),f$=q(),MR=W0({ttl:u().optional(),pollInterval:u().optional()}),nD=I({ttl:u().optional()}),oD=I({taskId:q()}),S4=W0({progressToken:g$.optional(),[z1]:oD.optional()}),R0=I({_meta:S4.optional()}),d9=R0.extend({task:nD.optional()}),h$=(Q)=>d9.safeParse(Q).success,K0=I({method:q(),params:R0.loose().optional()}),k0=I({_meta:S4.optional()}),_0=I({method:q(),params:k0.loose().optional()}),Z0=W0({_meta:S4.optional()}),$Q=r([q(),u().int()]),u$=I({jsonrpc:T(WQ),id:$Q,...K0.shape}).strict(),i9=(Q)=>u$.safeParse(Q).success,m$=I({jsonrpc:T(WQ),..._0.shape}).strict(),l$=(Q)=>m$.safeParse(Q).success,C4=I({jsonrpc:T(WQ),id:$Q,result:Z0}).strict(),E1=(Q)=>C4.safeParse(Q).success;var C;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(C||(C={}));var k4=I({jsonrpc:T(WQ),id:$Q.optional(),error:I({code:u().int(),message:q(),data:s().optional()})}).strict();var c$=(Q)=>k4.safeParse(Q).success;var F1=r([u$,m$,C4,k4]),wR=r([C4,k4]),S1=Z0.strict(),rD=k0.extend({requestId:$Q.optional(),reason:q().optional()}),BQ=_0.extend({method:T("notifications/cancelled"),params:rD}),tD=I({src:q(),mimeType:q().optional(),sizes:j(q()).optional(),theme:U0(["light","dark"]).optional()}),n9=I({icons:j(tD).optional()}),s1=I({name:q(),title:q().optional()}),p$=s1.extend({...s1.shape,...n9.shape,version:q(),websiteUrl:q().optional(),description:q().optional()}),aD=XQ(I({applyDefaults:p().optional()}),i(q(),s())),sD=E4((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},XQ(I({form:aD.optional(),url:$0.optional()}),i(q(),s()).optional())),eD=W0({list:$0.optional(),cancel:$0.optional(),requests:W0({sampling:W0({createMessage:$0.optional()}).optional(),elicitation:W0({create:$0.optional()}).optional()}).optional()}),Qq=W0({list:$0.optional(),cancel:$0.optional(),requests:W0({tools:W0({call:$0.optional()}).optional()}).optional()}),Xq=I({experimental:i(q(),$0).optional(),sampling:I({context:$0.optional(),tools:$0.optional()}).optional(),elicitation:sD.optional(),roots:I({listChanged:p().optional()}).optional(),tasks:eD.optional(),extensions:i(q(),$0).optional()}),Yq=R0.extend({protocolVersion:q(),capabilities:Xq,clientInfo:p$}),Jq=K0.extend({method:T("initialize"),params:Yq});var Wq=I({experimental:i(q(),$0).optional(),logging:$0.optional(),completions:$0.optional(),prompts:I({listChanged:p().optional()}).optional(),resources:I({subscribe:p().optional(),listChanged:p().optional()}).optional(),tools:I({listChanged:p().optional()}).optional(),tasks:Qq.optional(),extensions:i(q(),$0).optional()}),_4=Z0.extend({protocolVersion:q(),capabilities:Wq,serverInfo:p$,instructions:q().optional()}),d$=_0.extend({method:T("notifications/initialized"),params:k0.optional()}),i$=(Q)=>d$.safeParse(Q).success,GQ=K0.extend({method:T("ping"),params:R0.optional()}),$q=I({progress:u(),total:e(u()),message:e(q())}),Bq=I({...k0.shape,...$q.shape,progressToken:g$}),HQ=_0.extend({method:T("notifications/progress"),params:Bq}),Gq=R0.extend({cursor:f$.optional()}),o9=K0.extend({params:Gq.optional()}),r9=Z0.extend({nextCursor:f$.optional()}),Hq=U0(["working","input_required","completed","failed","cancelled"]),t9=I({taskId:q(),status:Hq,ttl:r([u(),P$()]),createdAt:q(),lastUpdatedAt:q(),pollInterval:e(u()),statusMessage:e(q())}),C1=Z0.extend({task:t9}),Kq=k0.merge(t9),a9=_0.extend({method:T("notifications/tasks/status"),params:Kq}),KQ=K0.extend({method:T("tasks/get"),params:R0.extend({taskId:q()})}),ZQ=Z0.merge(t9),LQ=K0.extend({method:T("tasks/result"),params:R0.extend({taskId:q()})}),PR=Z0.loose(),VQ=o9.extend({method:T("tasks/list")}),DQ=r9.extend({tasks:j(t9)}),qQ=K0.extend({method:T("tasks/cancel"),params:R0.extend({taskId:q()})}),n$=Z0.merge(t9),o$=I({uri:q(),mimeType:e(q()),_meta:i(q(),s()).optional()}),r$=o$.extend({text:q()}),x4=q().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),t$=o$.extend({blob:x4}),s9=U0(["user","assistant"]),Q9=I({audience:j(s9).optional(),priority:u().min(0).max(1).optional(),lastModified:c9.datetime({offset:!0}).optional()}),a$=I({...s1.shape,...n9.shape,uri:q(),description:e(q()),mimeType:e(q()),size:e(u()),annotations:Q9.optional(),_meta:e(W0({}))}),Zq=I({...s1.shape,...n9.shape,uriTemplate:q(),description:e(q()),mimeType:e(q()),annotations:Q9.optional(),_meta:e(W0({}))}),Lq=o9.extend({method:T("resources/list")}),v4=r9.extend({resources:j(a$)}),Vq=o9.extend({method:T("resources/templates/list")}),y4=r9.extend({resourceTemplates:j(Zq)}),g4=R0.extend({uri:q()}),Dq=g4,qq=K0.extend({method:T("resources/read"),params:Dq}),f4=Z0.extend({contents:j(r([r$,t$]))}),h4=_0.extend({method:T("notifications/resources/list_changed"),params:k0.optional()}),zq=g4,Fq=K0.extend({method:T("resources/subscribe"),params:zq}),Aq=g4,Oq=K0.extend({method:T("resources/unsubscribe"),params:Aq}),Nq=k0.extend({uri:q()}),Uq=_0.extend({method:T("notifications/resources/updated"),params:Nq}),Mq=I({name:q(),description:e(q()),required:e(p())}),wq=I({...s1.shape,...n9.shape,description:e(q()),arguments:e(j(Mq)),_meta:e(W0({}))}),Pq=o9.extend({method:T("prompts/list")}),u4=r9.extend({prompts:j(wq)}),jq=R0.extend({name:q(),arguments:i(q(),q()).optional()}),Iq=K0.extend({method:T("prompts/get"),params:jq}),m4=I({type:T("text"),text:q(),annotations:Q9.optional(),_meta:i(q(),s()).optional()}),l4=I({type:T("image"),data:x4,mimeType:q(),annotations:Q9.optional(),_meta:i(q(),s()).optional()}),c4=I({type:T("audio"),data:x4,mimeType:q(),annotations:Q9.optional(),_meta:i(q(),s()).optional()}),bq=I({type:T("tool_use"),name:q(),id:q(),input:i(q(),s()),_meta:i(q(),s()).optional()}),Tq=I({type:T("resource"),resource:r([r$,t$]),annotations:Q9.optional(),_meta:i(q(),s()).optional()}),Rq=a$.extend({type:T("resource_link")}),p4=r([m4,l4,c4,Rq,Tq]),Eq=I({role:s9,content:p4}),d4=Z0.extend({description:q().optional(),messages:j(Eq)}),i4=_0.extend({method:T("notifications/prompts/list_changed"),params:k0.optional()}),Sq=I({title:q().optional(),readOnlyHint:p().optional(),destructiveHint:p().optional(),idempotentHint:p().optional(),openWorldHint:p().optional()}),Cq=I({taskSupport:U0(["required","optional","forbidden"]).optional()}),s$=I({...s1.shape,...n9.shape,description:q().optional(),inputSchema:I({type:T("object"),properties:i(q(),$0).optional(),required:j(q()).optional()}).catchall(s()),outputSchema:I({type:T("object"),properties:i(q(),$0).optional(),required:j(q()).optional()}).catchall(s()).optional(),annotations:Sq.optional(),execution:Cq.optional(),_meta:i(q(),s()).optional()}),kq=o9.extend({method:T("tools/list")}),n4=r9.extend({tools:j(s$)}),Q1=Z0.extend({content:j(p4).default([]),structuredContent:i(q(),s()).optional(),isError:p().optional()}),jR=Q1.or(Z0.extend({toolResult:s()})),_q=d9.extend({name:q(),arguments:i(q(),s()).optional()}),xq=K0.extend({method:T("tools/call"),params:_q}),o4=_0.extend({method:T("notifications/tools/list_changed"),params:k0.optional()}),e$=I({autoRefresh:p().default(!0),debounceMs:u().int().nonnegative().default(300)}),Q3=U0(["debug","info","notice","warning","error","critical","alert","emergency"]),vq=R0.extend({level:Q3}),yq=K0.extend({method:T("logging/setLevel"),params:vq}),gq=k0.extend({level:Q3,logger:q().optional(),data:s()}),fq=_0.extend({method:T("notifications/message"),params:gq}),hq=I({name:q().optional()}),uq=I({hints:j(hq).optional(),costPriority:u().min(0).max(1).optional(),speedPriority:u().min(0).max(1).optional(),intelligencePriority:u().min(0).max(1).optional()}),mq=I({mode:U0(["auto","required","none"]).optional()}),lq=I({type:T("tool_result"),toolUseId:q().describe("The unique identifier for the corresponding tool call."),content:j(p4).default([]),structuredContent:I({}).loose().optional(),isError:p().optional(),_meta:i(q(),s()).optional()}),cq=R4("type",[m4,l4,c4]),JQ=R4("type",[m4,l4,c4,bq,lq]),pq=I({role:s9,content:r([JQ,j(JQ)]),_meta:i(q(),s()).optional()}),dq=d9.extend({messages:j(pq),modelPreferences:uq.optional(),systemPrompt:q().optional(),includeContext:U0(["none","thisServer","allServers"]).optional(),temperature:u().optional(),maxTokens:u().int(),stopSequences:j(q()).optional(),metadata:$0.optional(),tools:j(s$).optional(),toolChoice:mq.optional()}),r4=K0.extend({method:T("sampling/createMessage"),params:dq}),t4=Z0.extend({model:q(),stopReason:e(U0(["endTurn","stopSequence","maxTokens"]).or(q())),role:s9,content:cq}),a4=Z0.extend({model:q(),stopReason:e(U0(["endTurn","stopSequence","maxTokens","toolUse"]).or(q())),role:s9,content:r([JQ,j(JQ)])}),iq=I({type:T("boolean"),title:q().optional(),description:q().optional(),default:p().optional()}),nq=I({type:T("string"),title:q().optional(),description:q().optional(),minLength:u().optional(),maxLength:u().optional(),format:U0(["email","uri","date","date-time"]).optional(),default:q().optional()}),oq=I({type:U0(["number","integer"]),title:q().optional(),description:q().optional(),minimum:u().optional(),maximum:u().optional(),default:u().optional()}),rq=I({type:T("string"),title:q().optional(),description:q().optional(),enum:j(q()),default:q().optional()}),tq=I({type:T("string"),title:q().optional(),description:q().optional(),oneOf:j(I({const:q(),title:q()})),default:q().optional()}),aq=I({type:T("string"),title:q().optional(),description:q().optional(),enum:j(q()),enumNames:j(q()).optional(),default:q().optional()}),sq=r([rq,tq]),eq=I({type:T("array"),title:q().optional(),description:q().optional(),minItems:u().optional(),maxItems:u().optional(),items:I({type:T("string"),enum:j(q())}),default:j(q()).optional()}),Qz=I({type:T("array"),title:q().optional(),description:q().optional(),minItems:u().optional(),maxItems:u().optional(),items:I({anyOf:j(I({const:q(),title:q()}))}),default:j(q()).optional()}),Xz=r([eq,Qz]),Yz=r([aq,sq,Xz]),Jz=r([Yz,iq,nq,oq]),Wz=d9.extend({mode:T("form").optional(),message:q(),requestedSchema:I({type:T("object"),properties:i(q(),Jz),required:j(q()).optional()})}),$z=d9.extend({mode:T("url"),message:q(),elicitationId:q(),url:q().url()}),Bz=r([Wz,$z]),s4=K0.extend({method:T("elicitation/create"),params:Bz}),Gz=k0.extend({elicitationId:q()}),Hz=_0.extend({method:T("notifications/elicitation/complete"),params:Gz}),e4=Z0.extend({action:U0(["accept","decline","cancel"]),content:E4((Q)=>Q===null?void 0:Q,i(q(),r([q(),u(),p(),j(q())])).optional())}),Kz=I({type:T("ref/resource"),uri:q()});var Zz=I({type:T("ref/prompt"),name:q()}),Lz=R0.extend({ref:r([Zz,Kz]),argument:I({name:q(),value:q()}),context:I({arguments:i(q(),q()).optional()}).optional()}),Vz=K0.extend({method:T("completion/complete"),params:Lz});var QX=Z0.extend({completion:W0({values:j(q()).max(100),total:e(u().int()),hasMore:e(p())})}),Dz=I({uri:q().startsWith("file://"),name:q().optional(),_meta:i(q(),s()).optional()}),qz=K0.extend({method:T("roots/list"),params:R0.optional()}),zz=Z0.extend({roots:j(Dz)}),Fz=_0.extend({method:T("notifications/roots/list_changed"),params:k0.optional()}),IR=r([GQ,Jq,Vz,yq,Iq,Pq,Lq,Vq,qq,Fq,Oq,xq,kq,KQ,LQ,VQ,qQ]),bR=r([BQ,HQ,d$,Fz,a9]),TR=r([S1,t4,a4,e4,zz,ZQ,DQ,C1]),RR=r([GQ,r4,s4,qz,KQ,LQ,VQ,qQ]),ER=r([BQ,HQ,fq,Uq,h4,o4,i4,a9,Hz]),SR=r([S1,_4,QX,d4,u4,v4,y4,f4,Q1,n4,ZQ,DQ,C1]);class S extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===C.UrlElicitationRequired&&Y){let J=Y;if(J.elicitations)return new X3(J.elicitations,X)}return new S(Q,X,Y)}}class X3 extends S{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(C.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function A1(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var Az=Symbol("Let zodToJsonSchema decide on which parser to use");var K2=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function XX(Q){let Y=s8(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let J=r5(Y);if(typeof J!=="string")throw Error("Schema method literal must be a string");return J}function YX(Q,X){let Y=f0(Q,X);if(!Y.success)throw Y.error;return Y.data}var Pz=60000;class JX{constructor(Q){if(this._options=Q,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(BQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(HQ,(X)=>{this._onprogress(X)}),this.setRequestHandler(GQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(KQ,async(X,Y)=>{let J=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!J)throw new S(C.InvalidParams,"Failed to retrieve task: Task not found");return{...J}}),this.setRequestHandler(LQ,async(X,Y)=>{let J=async()=>{let W=X.params.taskId;if(this._taskMessageQueue){let B;while(B=await this._taskMessageQueue.dequeue(W,Y.sessionId)){if(B.type==="response"||B.type==="error"){let G=B.message,K=G.id,H=this._requestResolvers.get(K);if(H)if(this._requestResolvers.delete(K),B.type==="response")H(G);else{let Z=G,L=new S(Z.error.code,Z.error.message,Z.error.data);H(L)}else{let Z=B.type==="response"?"Response":"Error";this._onerror(Error(`${Z} handler missing for request ${K}`))}continue}await this._transport?.send(B.message,{relatedRequestId:Y.requestId})}}let $=await this._taskStore.getTask(W,Y.sessionId);if(!$)throw new S(C.InvalidParams,`Task not found: ${W}`);if(!A1($.status))return await this._waitForTaskUpdate(W,Y.signal),await J();if(A1($.status)){let B=await this._taskStore.getTaskResult(W,Y.sessionId);return this._clearTaskQueue(W),{...B,_meta:{...B._meta,[z1]:{taskId:W}}}}return await J()};return await J()}),this.setRequestHandler(VQ,async(X,Y)=>{try{let{tasks:J,nextCursor:W}=await this._taskStore.listTasks(X.params?.cursor,Y.sessionId);return{tasks:J,nextCursor:W,_meta:{}}}catch(J){throw new S(C.InvalidParams,`Failed to list tasks: ${J instanceof Error?J.message:String(J)}`)}}),this.setRequestHandler(qQ,async(X,Y)=>{try{let J=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!J)throw new S(C.InvalidParams,`Task not found: ${X.params.taskId}`);if(A1(J.status))throw new S(C.InvalidParams,`Cannot cancel task in terminal status: ${J.status}`);await this._taskStore.updateTaskStatus(X.params.taskId,"cancelled","Client cancelled task execution.",Y.sessionId),this._clearTaskQueue(X.params.taskId);let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(C.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...W}}catch(J){if(J instanceof S)throw J;throw new S(C.InvalidRequest,`Failed to cancel task: ${J instanceof Error?J.message:String(J)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,X,Y,J,W=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(J,X),startTime:Date.now(),timeout:X,maxTotalTimeout:Y,resetTimeoutOnProgress:W,onTimeout:J})}_resetTimeout(Q){let X=this._timeoutInfo.get(Q);if(!X)return!1;let Y=Date.now()-X.startTime;if(X.maxTotalTimeout&&Y>=X.maxTotalTimeout)throw this._timeoutInfo.delete(Q),S.fromError(C.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:X.maxTotalTimeout,totalElapsed:Y});return clearTimeout(X.timeoutId),X.timeoutId=setTimeout(X.onTimeout,X.timeout),!0}_cleanupTimeout(Q){let X=this._timeoutInfo.get(Q);if(X)clearTimeout(X.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=Q;let X=this.transport?.onclose;this._transport.onclose=()=>{X?.(),this._onclose()};let Y=this.transport?.onerror;this._transport.onerror=(W)=>{Y?.(W),this._onerror(W)};let J=this._transport?.onmessage;this._transport.onmessage=(W,$)=>{if(J?.(W,$),E1(W)||c$(W))this._onresponse(W);else if(i9(W))this._onrequest(W,$);else if(l$(W))this._onnotification(W);else this._onerror(Error(`Unknown message type: ${JSON.stringify(W)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let Y of this._timeoutInfo.values())clearTimeout(Y.timeoutId);this._timeoutInfo.clear();for(let Y of this._requestHandlerAbortControllers.values())Y.abort();this._requestHandlerAbortControllers.clear();let X=S.fromError(C.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Y of Q.values())Y(X)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let X=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(X===void 0)return;Promise.resolve().then(()=>X(Q)).catch((Y)=>this._onerror(Error(`Uncaught error in notification handler: ${Y}`)))}_onrequest(Q,X){let Y=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,J=this._transport,W=Q.params?._meta?.[z1]?.taskId;if(Y===void 0){let H={jsonrpc:"2.0",id:Q.id,error:{code:C.MethodNotFound,message:"Method not found"}};if(W&&this._taskMessageQueue)this._enqueueTaskMessage(W,{type:"error",message:H,timestamp:Date.now()},J?.sessionId).catch((Z)=>this._onerror(Error(`Failed to enqueue error response: ${Z}`)));else J?.send(H).catch((Z)=>this._onerror(Error(`Failed to send an error response: ${Z}`)));return}let $=new AbortController;this._requestHandlerAbortControllers.set(Q.id,$);let B=h$(Q.params)?Q.params.task:void 0,G=this._taskStore?this.requestTaskStore(Q,J?.sessionId):void 0,K={signal:$.signal,sessionId:J?.sessionId,_meta:Q.params?._meta,sendNotification:async(H)=>{if($.signal.aborted)return;let Z={relatedRequestId:Q.id};if(W)Z.relatedTask={taskId:W};await this.notification(H,Z)},sendRequest:async(H,Z,L)=>{if($.signal.aborted)throw new S(C.ConnectionClosed,"Request was cancelled");let V={...L,relatedRequestId:Q.id};if(W&&!V.relatedTask)V.relatedTask={taskId:W};let D=V.relatedTask?.taskId??W;if(D&&G)await G.updateTaskStatus(D,"input_required");return await this.request(H,Z,V)},authInfo:X?.authInfo,requestId:Q.id,requestInfo:X?.requestInfo,taskId:W,taskStore:G,taskRequestedTtl:B?.ttl,closeSSEStream:X?.closeSSEStream,closeStandaloneSSEStream:X?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(B)this.assertTaskHandlerCapability(Q.method)}).then(()=>Y(Q,K)).then(async(H)=>{if($.signal.aborted)return;let Z={result:H,jsonrpc:"2.0",id:Q.id};if(W&&this._taskMessageQueue)await this._enqueueTaskMessage(W,{type:"response",message:Z,timestamp:Date.now()},J?.sessionId);else await J?.send(Z)},async(H)=>{if($.signal.aborted)return;let Z={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(H.code)?H.code:C.InternalError,message:H.message??"Internal error",...H.data!==void 0&&{data:H.data}}};if(W&&this._taskMessageQueue)await this._enqueueTaskMessage(W,{type:"error",message:Z,timestamp:Date.now()},J?.sessionId);else await J?.send(Z)}).catch((H)=>this._onerror(Error(`Failed to send response: ${H}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(Q.id)===$)this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:X,...Y}=Q.params,J=Number(X),W=this._progressHandlers.get(J);if(!W){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let $=this._responseHandlers.get(J),B=this._timeoutInfo.get(J);if(B&&$&&B.resetTimeoutOnProgress)try{this._resetTimeout(J)}catch(G){this._responseHandlers.delete(J),this._progressHandlers.delete(J),this._cleanupTimeout(J),$(G);return}W(Y)}_onresponse(Q){let X=Number(Q.id),Y=this._requestResolvers.get(X);if(Y){if(this._requestResolvers.delete(X),E1(Q))Y(Q);else{let $=new S(Q.error.code,Q.error.message,Q.error.data);Y($)}return}let J=this._responseHandlers.get(X);if(J===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(X),this._cleanupTimeout(X);let W=!1;if(E1(Q)&&Q.result&&typeof Q.result==="object"){let $=Q.result;if($.task&&typeof $.task==="object"){let B=$.task;if(typeof B.taskId==="string")W=!0,this._taskProgressTokens.set(B.taskId,X)}}if(!W)this._progressHandlers.delete(X);if(E1(Q))J(Q);else{let $=S.fromError(Q.error.code,Q.error.message,Q.error.data);J($)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,X,Y){let{task:J}=Y??{};if(!J){try{yield{type:"result",result:await this.request(Q,X,Y)}}catch($){yield{type:"error",error:$ instanceof S?$:new S(C.InternalError,String($))}}return}let W;try{let $=await this.request(Q,C1,Y);if($.task)W=$.task.taskId,yield{type:"taskCreated",task:$.task};else throw new S(C.InternalError,"Task creation did not return a task");while(!0){let B=await this.getTask({taskId:W},Y);if(yield{type:"taskStatus",task:B},A1(B.status)){if(B.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:W},X,Y)};else if(B.status==="failed")yield{type:"error",error:new S(C.InternalError,`Task ${W} failed`)};else if(B.status==="cancelled")yield{type:"error",error:new S(C.InternalError,`Task ${W} was cancelled`)};return}if(B.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:W},X,Y)};return}let G=B.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((K)=>setTimeout(K,G)),Y?.signal?.throwIfAborted()}}catch($){yield{type:"error",error:$ instanceof S?$:new S(C.InternalError,String($))}}}request(Q,X,Y){let{relatedRequestId:J,resumptionToken:W,onresumptiontoken:$,task:B,relatedTask:G}=Y??{};return new Promise((K,H)=>{let Z=(F)=>{H(F)};if(!this._transport){Z(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),B)this.assertTaskCapability(Q.method)}catch(F){Z(F);return}Y?.signal?.throwIfAborted();let L=this._requestMessageId++,V={...Q,jsonrpc:"2.0",id:L};if(Y?.onprogress)this._progressHandlers.set(L,Y.onprogress),V.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:L}};if(B)V.params={...V.params,task:B};if(G)V.params={...V.params,_meta:{...V.params?._meta||{},[z1]:G}};let D=(F)=>{this._responseHandlers.delete(L),this._progressHandlers.delete(L),this._cleanupTimeout(L),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:L,reason:String(F)}},{relatedRequestId:J,resumptionToken:W,onresumptiontoken:$}).catch((M)=>this._onerror(Error(`Failed to send cancellation: ${M}`)));let U=F instanceof S?F:new S(C.RequestTimeout,String(F));H(U)};this._responseHandlers.set(L,(F)=>{if(Y?.signal?.aborted)return;if(F instanceof Error)return H(F);try{let U=f0(X,F.result);if(!U.success)H(U.error);else K(U.data)}catch(U){H(U)}}),Y?.signal?.addEventListener("abort",()=>{D(Y?.signal?.reason)});let z=Y?.timeout??Pz,A=()=>D(S.fromError(C.RequestTimeout,"Request timed out",{timeout:z}));this._setupTimeout(L,z,Y?.maxTotalTimeout,A,Y?.resetTimeoutOnProgress??!1);let N=G?.taskId;if(N){let F=(U)=>{let M=this._responseHandlers.get(L);if(M)M(U);else this._onerror(Error(`Response handler missing for side-channeled request ${L}`))};this._requestResolvers.set(L,F),this._enqueueTaskMessage(N,{type:"request",message:V,timestamp:Date.now()}).catch((U)=>{this._cleanupTimeout(L),H(U)})}else this._transport.send(V,{relatedRequestId:J,resumptionToken:W,onresumptiontoken:$}).catch((F)=>{this._cleanupTimeout(L),H(F)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},ZQ,X)}async getTaskResult(Q,X,Y){return this.request({method:"tasks/result",params:Q},X,Y)}async listTasks(Q,X){return this.request({method:"tasks/list",params:Q},DQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},n$,X)}async notification(Q,X){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let Y=X?.relatedTask?.taskId;if(Y){let B={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[z1]:X.relatedTask}}};await this._enqueueTaskMessage(Y,{type:"notification",message:B,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!X?.relatedRequestId&&!X?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let B={...Q,jsonrpc:"2.0"};if(X?.relatedTask)B={...B,params:{...B.params,_meta:{...B.params?._meta||{},[z1]:X.relatedTask}}};this._transport?.send(B,X).catch((G)=>this._onerror(G))});return}let $={...Q,jsonrpc:"2.0"};if(X?.relatedTask)$={...$,params:{...$.params,_meta:{...$.params?._meta||{},[z1]:X.relatedTask}}};await this._transport.send($,X)}setRequestHandler(Q,X){let Y=XX(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(J,W)=>{let $=YX(Q,J);return Promise.resolve(X($,W))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,X){let Y=XX(Q);this._notificationHandlers.set(Y,(J)=>{let W=YX(Q,J);return Promise.resolve(X(W))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let X=this._taskProgressTokens.get(Q);if(X!==void 0)this._progressHandlers.delete(X),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,X,Y){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let J=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,X,Y,J)}async _clearTaskQueue(Q,X){if(this._taskMessageQueue){let Y=await this._taskMessageQueue.dequeueAll(Q,X);for(let J of Y)if(J.type==="request"&&i9(J.message)){let W=J.message.id,$=this._requestResolvers.get(W);if($)$(new S(C.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(W);else this._onerror(Error(`Resolver missing for request ${W} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,X){let Y=this._options?.defaultTaskPollInterval??1000;try{let J=await this._taskStore?.getTask(Q);if(J?.pollInterval)Y=J.pollInterval}catch{}return new Promise((J,W)=>{if(X.aborted){W(new S(C.InvalidRequest,"Request cancelled"));return}let $=setTimeout(J,Y);X.addEventListener("abort",()=>{clearTimeout($),W(new S(C.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,X){let Y=this._taskStore;if(!Y)throw Error("No task store configured");return{createTask:async(J)=>{if(!Q)throw Error("No request provided");return await Y.createTask(J,Q.id,{method:Q.method,params:Q.params},X)},getTask:async(J)=>{let W=await Y.getTask(J,X);if(!W)throw new S(C.InvalidParams,"Failed to retrieve task: Task not found");return W},storeTaskResult:async(J,W,$)=>{await Y.storeTaskResult(J,W,$,X);let B=await Y.getTask(J,X);if(B){let G=a9.parse({method:"notifications/tasks/status",params:B});if(await this.notification(G),A1(B.status))this._cleanupTaskProgressHandler(J)}},getTaskResult:(J)=>{return Y.getTaskResult(J,X)},updateTaskStatus:async(J,W,$)=>{let B=await Y.getTask(J,X);if(!B)throw new S(C.InvalidParams,`Task "${J}" not found - it may have been cleaned up`);if(A1(B.status))throw new S(C.InvalidParams,`Cannot update task "${J}" from terminal status "${B.status}" to "${W}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Y.updateTaskStatus(J,W,$,X);let G=await Y.getTask(J,X);if(G){let K=a9.parse({method:"notifications/tasks/status",params:G});if(await this.notification(K),A1(G.status))this._cleanupTaskProgressHandler(J)}},listTasks:(J)=>{return Y.listTasks(J,X)}}}}function Y3(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function J3(Q,X){let Y={...Q};for(let J in X){let W=J,$=X[W];if($===void 0)continue;let B=Y[W];if(Y3(B)&&Y3($))Y[W]={...B,...$};else Y[W]=$}return Y}var hK=j6(sX(),1),uK=j6(fK(),1);function dP(){let Q=new hK.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return uK.default(Q),Q}class HY{constructor(Q){this._ajv=Q??dP()}getValidator(Q){let X="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(Y)=>{if(X(Y))return{valid:!0,data:Y,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(X.errors)}}}}class KY{constructor(Q){this._client=Q}async*callToolStream(Q,X=Q1,Y){let J=this._client,W={...Y,task:Y?.task??(J.isToolTask(Q.name)?{}:void 0)},$=J.requestStream({method:"tools/call",params:Q},X,W),B=J.getToolOutputValidator(Q.name);for await(let G of $){if(G.type==="result"&&B){let K=G.result;if(!K.structuredContent&&!K.isError){yield{type:"error",error:new S(C.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(K.structuredContent)try{let H=B(K.structuredContent);if(!H.valid){yield{type:"error",error:new S(C.InvalidParams,`Structured content does not match the tool's output schema: ${H.errorMessage}`)};return}}catch(H){if(H instanceof S){yield{type:"error",error:H};return}yield{type:"error",error:new S(C.InvalidParams,`Failed to validate structured content: ${H instanceof Error?H.message:String(H)}`)};return}}yield G}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function mK(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"tools/call":if(!Q.tools?.call)throw Error(`${Y} does not support task creation for tools/call (required for ${X})`);break;default:break}}function lK(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${Y} does not support task creation for sampling/createMessage (required for ${X})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${Y} does not support task creation for elicitation/create (required for ${X})`);break;default:break}}function aQ(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,J=Q.properties;for(let W of Object.keys(J)){let $=J[W];if(Y[W]===void 0&&Object.prototype.hasOwnProperty.call($,"default"))Y[W]=$.default;if(Y[W]!==void 0)aQ($,Y[W])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")aQ(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")aQ(Y,X)}}function iP(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class ZY extends JX{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new HY,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",o4,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",i4,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",h4,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new KY(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=J3(this._capabilities,Q)}setRequestHandler(Q,X){let J=s8(Q)?.method;if(!J)throw Error("Schema is missing a method literal");let W;if(a1(J)){let B=J;W=B._zod?.def?.value??B.value}else{let B=J;W=B._def?.value??B.value}if(typeof W!=="string")throw Error("Schema method literal must be a string");let $=W;if($==="elicitation/create"){let B=async(G,K)=>{let H=f0(s4,G);if(!H.success){let F=H.error instanceof Error?H.error.message:String(H.error);throw new S(C.InvalidParams,`Invalid elicitation request: ${F}`)}let{params:Z}=H.data;Z.mode=Z.mode??"form";let{supportsFormMode:L,supportsUrlMode:V}=iP(this._capabilities.elicitation);if(Z.mode==="form"&&!L)throw new S(C.InvalidParams,"Client does not support form-mode elicitation requests");if(Z.mode==="url"&&!V)throw new S(C.InvalidParams,"Client does not support URL-mode elicitation requests");let D=await Promise.resolve(X(G,K));if(Z.task){let F=f0(C1,D);if(!F.success){let U=F.error instanceof Error?F.error.message:String(F.error);throw new S(C.InvalidParams,`Invalid task creation result: ${U}`)}return F.data}let z=f0(e4,D);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new S(C.InvalidParams,`Invalid elicitation result: ${F}`)}let A=z.data,N=Z.mode==="form"?Z.requestedSchema:void 0;if(Z.mode==="form"&&A.action==="accept"&&A.content&&N){if(this._capabilities.elicitation?.form?.applyDefaults)try{aQ(N,A.content)}catch{}}return A};return super.setRequestHandler(Q,B)}if($==="sampling/createMessage"){let B=async(G,K)=>{let H=f0(r4,G);if(!H.success){let A=H.error instanceof Error?H.error.message:String(H.error);throw new S(C.InvalidParams,`Invalid sampling request: ${A}`)}let{params:Z}=H.data,L=await Promise.resolve(X(G,K));if(Z.task){let A=f0(C1,L);if(!A.success){let N=A.error instanceof Error?A.error.message:String(A.error);throw new S(C.InvalidParams,`Invalid task creation result: ${N}`)}return A.data}let D=Z.tools||Z.toolChoice?a4:t4,z=f0(D,L);if(!z.success){let A=z.error instanceof Error?z.error.message:String(z.error);throw new S(C.InvalidParams,`Invalid sampling result: ${A}`)}return z.data};return super.setRequestHandler(Q,B)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:e1,capabilities:this._capabilities,clientInfo:this._clientInfo}},_4,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!y$.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){mK(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;lK(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},S1,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},QX,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},S1,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},d4,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},u4,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},v4,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},y4,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},f4,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},S1,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},S1,X)}async callTool(Q,X=Q1,Y){if(this.isToolTaskRequired(Q.name))throw new S(C.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let J=await this.request({method:"tools/call",params:Q},X,Y),W=this.getToolOutputValidator(Q.name);if(W){if(!J.structuredContent&&!J.isError)throw new S(C.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(J.structuredContent)try{let $=W(J.structuredContent);if(!$.valid)throw new S(C.InvalidParams,`Structured content does not match the tool's output schema: ${$.errorMessage}`)}catch($){if($ instanceof S)throw $;throw new S(C.InvalidParams,`Failed to validate structured content: ${$ instanceof Error?$.message:String($)}`)}}return J}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let J=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,J)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},n4,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,J){let W=e$.safeParse(Y);if(!W.success)throw Error(`Invalid ${Q} listChanged options: ${W.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:$,debounceMs:B}=W.data,{onChanged:G}=Y,K=async()=>{if(!$){G(null,null);return}try{let Z=await J();G(null,Z)}catch(Z){let L=Z instanceof Error?Z:Error(String(Z));G(L,null)}},H=()=>{if(B){let Z=this._listChangedDebounceTimers.get(Q);if(Z)clearTimeout(Z);let L=setTimeout(K,B);this._listChangedDebounceTimers.set(Q,L)}else K()};this.setNotificationHandler(X,H)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}class VY extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}var cK=10,nP=13,h1=32;function LY(Q){}function sQ(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=LY,onError:Y=LY,onRetry:J=LY,onComment:W}=Q,$=[],B=!0,G,K="",H=0,Z;function L(F){if(B&&(B=!1,F.charCodeAt(0)===239&&F.charCodeAt(1)===187&&F.charCodeAt(2)===191&&(F=F.slice(3))),$.length===0){let b=V(F);b!==""&&$.push(b);return}if(F.indexOf(`
|
|
75
|
-
`)===-1&&F.indexOf("\r")===-1){$.push(F);return}$.push(F);let U=$.join("");$.length=0;let M=V(U);M!==""&&$.push(M)}function V(F){let U=0;if(F.indexOf("\r")===-1){let M=F.indexOf(`
|
|
76
|
-
`,U);for(;M!==-1;){if(U===M){H>0&&X({id:G,event:Z,data:K}),G=void 0,K="",H=0,Z=void 0,U=M+1,M=F.indexOf(`
|
|
77
|
-
`,U);continue}let b=F.charCodeAt(U);if(pK(F,U,b)){let P=F.charCodeAt(U+5)===h1?U+6:U+5,n=F.slice(P,M);if(H===0&&F.charCodeAt(M+1)===cK){X({id:G,event:Z,data:n}),G=void 0,K="",Z=void 0,U=M+2,M=F.indexOf(`
|
|
78
|
-
`,U);continue}K=H===0?n:`${K}
|
|
79
|
-
${n}`,H++}else dK(F,U,b)?Z=F.slice(F.charCodeAt(U+6)===h1?U+7:U+6,M)||void 0:D(F,U,M);U=M+1,M=F.indexOf(`
|
|
80
|
-
`,U)}return F.slice(U)}for(;U<F.length;){let M=F.indexOf("\r",U),b=F.indexOf(`
|
|
81
|
-
`,U),P=-1;if(M!==-1&&b!==-1?P=M<b?M:b:M!==-1?M===F.length-1?P=-1:P=M:b!==-1&&(P=b),P===-1)break;D(F,U,P),U=P+1,F.charCodeAt(U-1)===nP&&F.charCodeAt(U)===cK&&U++}return F.slice(U)}function D(F,U,M){if(U===M){A();return}let b=F.charCodeAt(U);if(pK(F,U,b)){let E0=F.charCodeAt(U+5)===h1?U+6:U+5,l1=F.slice(E0,M);K=H===0?l1:`${K}
|
|
82
|
-
${l1}`,H++;return}if(dK(F,U,b)){Z=F.slice(F.charCodeAt(U+6)===h1?U+7:U+6,M)||void 0;return}if(b===105&&F.charCodeAt(U+1)===100&&F.charCodeAt(U+2)===58){let E0=F.slice(F.charCodeAt(U+3)===h1?U+4:U+3,M);G=E0.includes("\x00")?void 0:E0;return}if(b===58){if(W){let E0=F.slice(U,M);W(E0.slice(F.charCodeAt(U+1)===h1?2:1))}return}let P=F.slice(U,M),n=P.indexOf(":");if(n===-1){z(P,"",P);return}let O0=P.slice(0,n),T1=P.charCodeAt(n+1)===h1?2:1,E9=P.slice(n+T1);z(O0,E9,P)}function z(F,U,M){switch(F){case"event":Z=U||void 0;break;case"data":K=H===0?U:`${K}
|
|
83
|
-
${U}`,H++;break;case"id":G=U.includes("\x00")?void 0:U;break;case"retry":/^\d+$/.test(U)?J(parseInt(U,10)):Y(new VY(`Invalid \`retry\` value: "${U}"`,{type:"invalid-retry",value:U,line:M}));break;default:Y(new VY(`Unknown field "${F.length>20?`${F.slice(0,20)}…`:F}"`,{type:"unknown-field",field:F,value:U,line:M}));break}}function A(){H>0&&X({id:G,event:Z,data:K}),G=void 0,K="",H=0,Z=void 0}function N(F={}){if(F.consume&&$.length>0){let U=$.join("");D(U,0,U.length)}B=!0,G=void 0,K="",H=0,Z=void 0,$.length=0}return{feed:L,reset:N}}function pK(Q,X,Y){return Y===100&&Q.charCodeAt(X+1)===97&&Q.charCodeAt(X+2)===116&&Q.charCodeAt(X+3)===97&&Q.charCodeAt(X+4)===58}function dK(Q,X,Y){return Y===101&&Q.charCodeAt(X+1)===118&&Q.charCodeAt(X+2)===101&&Q.charCodeAt(X+3)===110&&Q.charCodeAt(X+4)===116&&Q.charCodeAt(X+5)===58}class DY extends Event{constructor(Q,X){var Y,J;super(Q),this.code=(Y=X==null?void 0:X.code)!=null?Y:void 0,this.message=(J=X==null?void 0:X.message)!=null?J:void 0}[Symbol.for("nodejs.util.inspect.custom")](Q,X,Y){return Y(iK(this),X)}[Symbol.for("Deno.customInspect")](Q,X){return Q(iK(this),X)}}function oP(Q){let X=globalThis.DOMException;return typeof X=="function"?new X(Q,"SyntaxError"):SyntaxError(Q)}function qY(Q){return Q instanceof Error?"errors"in Q&&Array.isArray(Q.errors)?Q.errors.map(qY).join(", "):("cause"in Q)&&Q.cause instanceof Error?`${Q}: ${qY(Q.cause)}`:Q.message:`${Q}`}function iK(Q){return{type:Q.type,message:Q.message,code:Q.code,defaultPrevented:Q.defaultPrevented,cancelable:Q.cancelable,timeStamp:Q.timeStamp}}var oK=(Q)=>{throw TypeError(Q)},wY=(Q,X,Y)=>X.has(Q)||oK("Cannot "+Y),v=(Q,X,Y)=>(wY(Q,X,"read from private field"),Y?Y.call(Q):X.get(Q)),B0=(Q,X,Y)=>X.has(Q)?oK("Cannot add the same private member more than once"):X instanceof WeakSet?X.add(Q):X.set(Q,Y),Q0=(Q,X,Y,J)=>(wY(Q,X,"write to private field"),X.set(Q,Y),Y),B1=(Q,X,Y)=>(wY(Q,X,"access private method"),Y),I0,u1,q9,eQ,Q6,I8,A9,b8,I1,z9,O9,F9,P8,d0,zY,FY,AY,nK,OY,NY,j8,UY,MY;class N9 extends EventTarget{constructor(Q,X){var Y,J;super(),B0(this,d0),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,B0(this,I0),B0(this,u1),B0(this,q9),B0(this,eQ),B0(this,Q6),B0(this,I8),B0(this,A9),B0(this,b8,null),B0(this,I1),B0(this,z9),B0(this,O9,null),B0(this,F9,null),B0(this,P8,null),B0(this,FY,async(W)=>{var $;v(this,z9).reset();let{body:B,redirected:G,status:K,headers:H}=W;if(K===204){B1(this,d0,j8).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(G?Q0(this,q9,new URL(W.url)):Q0(this,q9,void 0),K!==200){B1(this,d0,j8).call(this,`Non-200 status code (${K})`,K);return}if(!(H.get("content-type")||"").startsWith("text/event-stream")){B1(this,d0,j8).call(this,'Invalid content type, expected "text/event-stream"',K);return}if(v(this,I0)===this.CLOSED)return;Q0(this,I0,this.OPEN);let Z=new Event("open");if(($=v(this,P8))==null||$.call(this,Z),this.dispatchEvent(Z),typeof B!="object"||!B||!("getReader"in B)){B1(this,d0,j8).call(this,"Invalid response body, expected a web ReadableStream",K),this.close();return}let L=new TextDecoder,V=B.getReader(),D=!0;do{let{done:z,value:A}=await V.read();A&&v(this,z9).feed(L.decode(A,{stream:!z})),z&&(D=!1,v(this,z9).reset(),B1(this,d0,UY).call(this))}while(D)}),B0(this,AY,(W)=>{Q0(this,I1,void 0),!(W.name==="AbortError"||W.type==="aborted")&&B1(this,d0,UY).call(this,qY(W))}),B0(this,OY,(W)=>{typeof W.id=="string"&&Q0(this,b8,W.id);let $=new MessageEvent(W.event||"message",{data:W.data,origin:v(this,q9)?v(this,q9).origin:v(this,u1).origin,lastEventId:W.id||""});v(this,F9)&&(!W.event||W.event==="message")&&v(this,F9).call(this,$),this.dispatchEvent($)}),B0(this,NY,(W)=>{Q0(this,I8,W)}),B0(this,MY,()=>{Q0(this,A9,void 0),v(this,I0)===this.CONNECTING&&B1(this,d0,zY).call(this)});try{if(Q instanceof URL)Q0(this,u1,Q);else if(typeof Q=="string")Q0(this,u1,new URL(Q,rP()));else throw Error("Invalid URL")}catch{throw oP("An invalid or illegal string was specified")}Q0(this,z9,sQ({onEvent:v(this,OY),onRetry:v(this,NY)})),Q0(this,I0,this.CONNECTING),Q0(this,I8,3000),Q0(this,Q6,(Y=X==null?void 0:X.fetch)!=null?Y:globalThis.fetch),Q0(this,eQ,(J=X==null?void 0:X.withCredentials)!=null?J:!1),B1(this,d0,zY).call(this)}get readyState(){return v(this,I0)}get url(){return v(this,u1).href}get withCredentials(){return v(this,eQ)}get onerror(){return v(this,O9)}set onerror(Q){Q0(this,O9,Q)}get onmessage(){return v(this,F9)}set onmessage(Q){Q0(this,F9,Q)}get onopen(){return v(this,P8)}set onopen(Q){Q0(this,P8,Q)}addEventListener(Q,X,Y){let J=X;super.addEventListener(Q,J,Y)}removeEventListener(Q,X,Y){let J=X;super.removeEventListener(Q,J,Y)}close(){v(this,A9)&&clearTimeout(v(this,A9)),v(this,I0)!==this.CLOSED&&(v(this,I1)&&v(this,I1).abort(),Q0(this,I0,this.CLOSED),Q0(this,I1,void 0))}}I0=new WeakMap,u1=new WeakMap,q9=new WeakMap,eQ=new WeakMap,Q6=new WeakMap,I8=new WeakMap,A9=new WeakMap,b8=new WeakMap,I1=new WeakMap,z9=new WeakMap,O9=new WeakMap,F9=new WeakMap,P8=new WeakMap,d0=new WeakSet,zY=function(){Q0(this,I0,this.CONNECTING),Q0(this,I1,new AbortController),v(this,Q6)(v(this,u1),B1(this,d0,nK).call(this)).then(v(this,FY)).catch(v(this,AY))},FY=new WeakMap,AY=new WeakMap,nK=function(){var Q;let X={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...v(this,b8)?{"Last-Event-ID":v(this,b8)}:void 0},cache:"no-store",signal:(Q=v(this,I1))==null?void 0:Q.signal};return"window"in globalThis&&(X.credentials=this.withCredentials?"include":"same-origin"),X},OY=new WeakMap,NY=new WeakMap,j8=function(Q,X){var Y;v(this,I0)!==this.CLOSED&&Q0(this,I0,this.CLOSED);let J=new DY("error",{code:X,message:Q});(Y=v(this,O9))==null||Y.call(this,J),this.dispatchEvent(J)},UY=function(Q,X){var Y;if(v(this,I0)===this.CLOSED)return;Q0(this,I0,this.CONNECTING);let J=new DY("error",{code:X,message:Q});(Y=v(this,O9))==null||Y.call(this,J),this.dispatchEvent(J),Q0(this,A9,setTimeout(v(this,MY),v(this,I8)))},MY=new WeakMap,N9.CONNECTING=0,N9.OPEN=1,N9.CLOSED=2;function rP(){let Q="document"in globalThis?globalThis.document:void 0;return Q&&typeof Q=="object"&&"baseURI"in Q&&typeof Q.baseURI=="string"?Q.baseURI:void 0}function U9(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function X6(Q=fetch,X){if(!X)return Q;return async(Y,J)=>{let W={...X,...J,headers:J?.headers?{...U9(X.headers),...U9(J.headers)}:X.headers};return Q(Y,W)}}var PY;PY=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function tP(Q){return(await PY).getRandomValues(new Uint8Array(Q))}async function aP(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,J="";while(J.length<Q){let W=await tP(Q-J.length);for(let $ of W)if($<Y)J+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[$%66]}return J}async function sP(Q){return await aP(Q)}async function eP(Q){let X=await(await PY).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function jY(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await sP(Q),Y=await eP(X);return{code_verifier:X,code_challenge:Y}}var D0=M$().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:v$.custom,message:"URL must be parseable",fatal:!0}),x6}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),tK=W0({resource:q().url(),authorization_servers:j(D0).optional(),jwks_uri:q().url().optional(),scopes_supported:j(q()).optional(),bearer_methods_supported:j(q()).optional(),resource_signing_alg_values_supported:j(q()).optional(),resource_name:q().optional(),resource_documentation:q().optional(),resource_policy_uri:q().url().optional(),resource_tos_uri:q().url().optional(),tls_client_certificate_bound_access_tokens:p().optional(),authorization_details_types_supported:j(q()).optional(),dpop_signing_alg_values_supported:j(q()).optional(),dpop_bound_access_tokens_required:p().optional()}),IY=W0({issuer:q(),authorization_endpoint:D0,token_endpoint:D0,registration_endpoint:D0.optional(),scopes_supported:j(q()).optional(),response_types_supported:j(q()),response_modes_supported:j(q()).optional(),grant_types_supported:j(q()).optional(),token_endpoint_auth_methods_supported:j(q()).optional(),token_endpoint_auth_signing_alg_values_supported:j(q()).optional(),service_documentation:D0.optional(),revocation_endpoint:D0.optional(),revocation_endpoint_auth_methods_supported:j(q()).optional(),revocation_endpoint_auth_signing_alg_values_supported:j(q()).optional(),introspection_endpoint:q().optional(),introspection_endpoint_auth_methods_supported:j(q()).optional(),introspection_endpoint_auth_signing_alg_values_supported:j(q()).optional(),code_challenge_methods_supported:j(q()).optional(),client_id_metadata_document_supported:p().optional()}),Qj=W0({issuer:q(),authorization_endpoint:D0,token_endpoint:D0,userinfo_endpoint:D0.optional(),jwks_uri:D0,registration_endpoint:D0.optional(),scopes_supported:j(q()).optional(),response_types_supported:j(q()),response_modes_supported:j(q()).optional(),grant_types_supported:j(q()).optional(),acr_values_supported:j(q()).optional(),subject_types_supported:j(q()),id_token_signing_alg_values_supported:j(q()),id_token_encryption_alg_values_supported:j(q()).optional(),id_token_encryption_enc_values_supported:j(q()).optional(),userinfo_signing_alg_values_supported:j(q()).optional(),userinfo_encryption_alg_values_supported:j(q()).optional(),userinfo_encryption_enc_values_supported:j(q()).optional(),request_object_signing_alg_values_supported:j(q()).optional(),request_object_encryption_alg_values_supported:j(q()).optional(),request_object_encryption_enc_values_supported:j(q()).optional(),token_endpoint_auth_methods_supported:j(q()).optional(),token_endpoint_auth_signing_alg_values_supported:j(q()).optional(),display_values_supported:j(q()).optional(),claim_types_supported:j(q()).optional(),claims_supported:j(q()).optional(),service_documentation:q().optional(),claims_locales_supported:j(q()).optional(),ui_locales_supported:j(q()).optional(),claims_parameter_supported:p().optional(),request_parameter_supported:p().optional(),request_uri_parameter_supported:p().optional(),require_request_uri_registration:p().optional(),op_policy_uri:D0.optional(),op_tos_uri:D0.optional(),client_id_metadata_document_supported:p().optional()}),aK=I({...Qj.shape,...IY.pick({code_challenge_methods_supported:!0}).shape}),sK=I({access_token:q(),id_token:q().optional(),token_type:q(),expires_in:YQ.number().optional(),scope:q().optional(),refresh_token:q().optional()}).strip(),eK=I({error:q(),error_description:q().optional(),error_uri:q().optional()}),rK=D0.optional().or(T("").transform(()=>{return})),Xj=I({redirect_uris:j(D0),token_endpoint_auth_method:q().optional(),grant_types:j(q()).optional(),response_types:j(q()).optional(),client_name:q().optional(),client_uri:D0.optional(),logo_uri:rK,scope:q().optional(),contacts:j(q()).optional(),tos_uri:rK,policy_uri:q().optional(),jwks_uri:D0.optional(),jwks:j$().optional(),software_id:q().optional(),software_version:q().optional(),software_statement:q().optional()}).strip(),Yj=I({client_id:q(),client_secret:q().optional(),client_id_issued_at:u().optional(),client_secret_expires_at:u().optional()}).strip(),QZ=Xj.merge(Yj),Z_=I({error:q(),error_description:q().optional()}).strip(),L_=I({token:q(),token_type_hint:q().optional()}).strip();function XZ(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function YZ({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),J=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==J.origin)return!1;if(Y.pathname.length<J.pathname.length)return!1;let W=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",$=J.pathname.endsWith("/")?J.pathname:J.pathname+"/";return W.startsWith($)}class J0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class Y6 extends J0{}Y6.errorCode="invalid_request";class M9 extends J0{}M9.errorCode="invalid_client";class w9 extends J0{}w9.errorCode="invalid_grant";class P9 extends J0{}P9.errorCode="unauthorized_client";class J6 extends J0{}J6.errorCode="unsupported_grant_type";class W6 extends J0{}W6.errorCode="invalid_scope";class $6 extends J0{}$6.errorCode="access_denied";class b1 extends J0{}b1.errorCode="server_error";class B6 extends J0{}B6.errorCode="temporarily_unavailable";class G6 extends J0{}G6.errorCode="unsupported_response_type";class H6 extends J0{}H6.errorCode="unsupported_token_type";class K6 extends J0{}K6.errorCode="invalid_token";class Z6 extends J0{}Z6.errorCode="method_not_allowed";class L6 extends J0{}L6.errorCode="too_many_requests";class j9 extends J0{}j9.errorCode="invalid_client_metadata";class V6 extends J0{}V6.errorCode="insufficient_scope";class D6 extends J0{}D6.errorCode="invalid_target";var JZ={[Y6.errorCode]:Y6,[M9.errorCode]:M9,[w9.errorCode]:w9,[P9.errorCode]:P9,[J6.errorCode]:J6,[W6.errorCode]:W6,[$6.errorCode]:$6,[b1.errorCode]:b1,[B6.errorCode]:B6,[G6.errorCode]:G6,[H6.errorCode]:H6,[K6.errorCode]:K6,[Z6.errorCode]:Z6,[L6.errorCode]:L6,[j9.errorCode]:j9,[V6.errorCode]:V6,[D6.errorCode]:D6};class b0 extends Error{constructor(Q){super(Q??"Unauthorized")}}function Jj(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var bY="code",TY="S256";function Wj(Q,X){let Y=Q.client_secret!==void 0;if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&Jj(Q.token_endpoint_auth_method)&&(X.length===0||X.includes(Q.token_endpoint_auth_method)))return Q.token_endpoint_auth_method;if(X.length===0)return Y?"client_secret_basic":"none";if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function $j(Q,X,Y,J){let{client_id:W,client_secret:$}=X;switch(Q){case"client_secret_basic":Bj(W,$,Y);return;case"client_secret_post":Gj(W,$,J);return;case"none":Hj(W,J);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function Bj(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let J=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${J}`)}function Gj(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function Hj(Q,X){X.set("client_id",Q)}async function $Z(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let J=eK.parse(JSON.parse(Y)),{error:W,error_description:$,error_uri:B}=J;return new(JZ[W]||b1)($||"",B)}catch(J){let W=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${J}. Raw body: ${Y}`;return new b1(W)}}async function G1(Q,X){try{return await RY(Q,X)}catch(Y){if(Y instanceof M9||Y instanceof P9)return await Q.invalidateCredentials?.("all"),await RY(Q,X);else if(Y instanceof w9)return await Q.invalidateCredentials?.("tokens"),await RY(Q,X);throw Y}}async function RY(Q,{serverUrl:X,authorizationCode:Y,scope:J,resourceMetadataUrl:W,fetchFn:$}){let B=await Q.discoveryState?.(),G,K,H,Z=W;if(!Z&&B?.resourceMetadataUrl)Z=new URL(B.resourceMetadataUrl);if(B?.authorizationServerUrl){if(K=B.authorizationServerUrl,G=B.resourceMetadata,H=B.authorizationServerMetadata??await GZ(K,{fetchFn:$}),!G)try{G=await BZ(X,{resourceMetadataUrl:Z},$)}catch{}if(H!==B.authorizationServerMetadata||G!==B.resourceMetadata)await Q.saveDiscoveryState?.({authorizationServerUrl:String(K),resourceMetadataUrl:Z?.toString(),resourceMetadata:G,authorizationServerMetadata:H})}else{let M=await zj(X,{resourceMetadataUrl:Z,fetchFn:$});K=M.authorizationServerUrl,H=M.authorizationServerMetadata,G=M.resourceMetadata,await Q.saveDiscoveryState?.({authorizationServerUrl:String(K),resourceMetadataUrl:Z?.toString(),resourceMetadata:G,authorizationServerMetadata:H})}let L=await Zj(X,Q,G),V=J||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,D=await Promise.resolve(Q.clientInformation());if(!D){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let M=H?.client_id_metadata_document_supported===!0,b=Q.clientMetadataUrl;if(b&&!Kj(b))throw new j9(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${b}`);if(M&&b)D={client_id:b},await Q.saveClientInformation?.(D);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let n=await Uj(K,{metadata:H,clientMetadata:Q.clientMetadata,scope:V,fetchFn:$});await Q.saveClientInformation(n),D=n}}let z=!Q.redirectUrl;if(Y!==void 0||z){let M=await Nj(Q,K,{metadata:H,resource:L,authorizationCode:Y,fetchFn:$});return await Q.saveTokens(M),"AUTHORIZED"}let A=await Q.tokens();if(A?.refresh_token)try{let M=await Oj(K,{metadata:H,clientInformation:D,refreshToken:A.refresh_token,resource:L,addClientAuthentication:Q.addClientAuthentication,fetchFn:$});return await Q.saveTokens(M),"AUTHORIZED"}catch(M){if(!(M instanceof J0)||M instanceof b1);else throw M}let N=Q.state?await Q.state():void 0,{authorizationUrl:F,codeVerifier:U}=await Fj(K,{metadata:H,clientInformation:D,state:N,redirectUrl:Q.redirectUrl,scope:V,resource:L});return await Q.saveCodeVerifier(U),await Q.redirectToAuthorization(F),"REDIRECT"}function Kj(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function Zj(Q,X,Y){let J=XZ(Q);if(X.validateResourceURL)return await X.validateResourceURL(J,Y?.resource);if(!Y)return;if(!YZ({requestedResource:J,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${J} (or origin)`);return new URL(Y.resource)}function I9(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,J]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!J)return{};let W=EY(Q,"resource_metadata")||void 0,$;if(W)try{$=new URL(W)}catch{}let B=EY(Q,"scope")||void 0,G=EY(Q,"error")||void 0;return{resourceMetadataUrl:$,scope:B,error:G}}function EY(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let J=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),W=Y.match(J);if(W)return W[1]||W[2];return null}async function BZ(Q,X,Y=fetch){let J=await Dj(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!J||J.status===404)throw await J?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!J.ok)throw await J.body?.cancel(),Error(`HTTP ${J.status} trying to load well-known OAuth protected resource metadata.`);return tK.parse(await J.json())}async function SY(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(J){if(J instanceof TypeError)if(X)return SY(Q,void 0,Y);else return;throw J}}function Lj(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function WZ(Q,X,Y=fetch){return await SY(Q,{"MCP-Protocol-Version":X},Y)}function Vj(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function Dj(Q,X,Y,J){let W=new URL(Q),$=J?.protocolVersion??e1,B;if(J?.metadataUrl)B=new URL(J.metadataUrl);else{let K=Lj(X,W.pathname);B=new URL(K,J?.metadataServerUrl??W),B.search=W.search}let G=await WZ(B,$,Y);if(!J?.metadataUrl&&Vj(G,W.pathname)){let K=new URL(`/.well-known/${X}`,W);G=await WZ(K,$,Y)}return G}function qj(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",J=[];if(!Y)return J.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),J.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),J;let W=X.pathname;if(W.endsWith("/"))W=W.slice(0,-1);return J.push({url:new URL(`/.well-known/oauth-authorization-server${W}`,X.origin),type:"oauth"}),J.push({url:new URL(`/.well-known/openid-configuration${W}`,X.origin),type:"oidc"}),J.push({url:new URL(`${W}/.well-known/openid-configuration`,X.origin),type:"oidc"}),J}async function GZ(Q,{fetchFn:X=fetch,protocolVersion:Y=e1}={}){let J={"MCP-Protocol-Version":Y,Accept:"application/json"},W=qj(Q);for(let{url:$,type:B}of W){let G=await SY($,J,X);if(!G)continue;if(!G.ok){if(await G.body?.cancel(),G.status>=400&&G.status<500)continue;throw Error(`HTTP ${G.status} trying to load ${B==="oauth"?"OAuth":"OpenID provider"} metadata from ${$}`)}if(B==="oauth")return IY.parse(await G.json());else return aK.parse(await G.json())}return}async function zj(Q,X){let Y,J;try{if(Y=await BZ(Q,{resourceMetadataUrl:X?.resourceMetadataUrl},X?.fetchFn),Y.authorization_servers&&Y.authorization_servers.length>0)J=Y.authorization_servers[0]}catch{}if(!J)J=String(new URL("/",Q));let W=await GZ(J,{fetchFn:X?.fetchFn});return{authorizationServerUrl:J,authorizationServerMetadata:W,resourceMetadata:Y}}async function Fj(Q,{metadata:X,clientInformation:Y,redirectUrl:J,scope:W,state:$,resource:B}){let G;if(X){if(G=new URL(X.authorization_endpoint),!X.response_types_supported.includes(bY))throw Error(`Incompatible auth server: does not support response type ${bY}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(TY))throw Error(`Incompatible auth server: does not support code challenge method ${TY}`)}else G=new URL("/authorize",Q);let K=await jY(),H=K.code_verifier,Z=K.code_challenge;if(G.searchParams.set("response_type",bY),G.searchParams.set("client_id",Y.client_id),G.searchParams.set("code_challenge",Z),G.searchParams.set("code_challenge_method",TY),G.searchParams.set("redirect_uri",String(J)),$)G.searchParams.set("state",$);if(W)G.searchParams.set("scope",W);if(W?.includes("offline_access"))G.searchParams.append("prompt","consent");if(B)G.searchParams.set("resource",B.href);return{authorizationUrl:G,codeVerifier:H}}function Aj(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function HZ(Q,{metadata:X,tokenRequestParams:Y,clientInformation:J,addClientAuthentication:W,resource:$,fetchFn:B}){let G=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),K=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if($)Y.set("resource",$.href);if(W)await W(K,Y,G,X);else if(J){let Z=X?.token_endpoint_auth_methods_supported??[],L=Wj(J,Z);$j(L,J,K,Y)}let H=await(B??fetch)(G,{method:"POST",headers:K,body:Y});if(!H.ok)throw await $Z(H);return sK.parse(await H.json())}async function Oj(Q,{metadata:X,clientInformation:Y,refreshToken:J,resource:W,addClientAuthentication:$,fetchFn:B}){let G=new URLSearchParams({grant_type:"refresh_token",refresh_token:J}),K=await HZ(Q,{metadata:X,tokenRequestParams:G,clientInformation:Y,addClientAuthentication:$,resource:W,fetchFn:B});return{refresh_token:J,...K}}async function Nj(Q,X,{metadata:Y,resource:J,authorizationCode:W,fetchFn:$}={}){let B=Q.clientMetadata.scope,G;if(Q.prepareTokenRequest)G=await Q.prepareTokenRequest(B);if(!G){if(!W)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let H=await Q.codeVerifier();G=Aj(W,H,Q.redirectUrl)}let K=await Q.clientInformation();return HZ(X,{metadata:Y,tokenRequestParams:G,clientInformation:K??void 0,addClientAuthentication:Q.addClientAuthentication,resource:J,fetchFn:$})}async function Uj(Q,{metadata:X,clientMetadata:Y,scope:J,fetchFn:W}){let $;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(X.registration_endpoint)}else $=new URL("/register",Q);let B=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...Y,...J!==void 0?{scope:J}:{}})});if(!B.ok)throw await $Z(B);return QZ.parse(await B.json())}class q6 extends Error{constructor(Q,X,Y){super(`SSE error: ${X}`);this.code=Q,this.event=Y}}class CY{constructor(Q,X){this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=X?.eventSourceInit,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=X6(X?.fetch,X?.requestInit)}async _authThenStart(){if(!this._authProvider)throw new b0("No auth provider");let Q;try{Q=await G1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new b0;return await this._startOrAuth()}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=U9(this._requestInit?.headers);return new Headers({...Q,...X})}_startOrAuth(){let Q=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((X,Y)=>{this._eventSource=new N9(this._url.href,{...this._eventSourceInit,fetch:async(J,W)=>{let $=await this._commonHeaders();$.set("Accept","text/event-stream");let B=await Q(J,{...W,headers:$});if(B.status===401&&B.headers.has("www-authenticate")){let{resourceMetadataUrl:G,scope:K}=I9(B);this._resourceMetadataUrl=G,this._scope=K}return B}}),this._abortController=new AbortController,this._eventSource.onerror=(J)=>{if(J.code===401&&this._authProvider){this._authThenStart().then(X,Y);return}let W=new q6(J.code,J.message,J);Y(W),this.onerror?.(W)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",(J)=>{let W=J;try{if(this._endpoint=new URL(W.data,this._url),this._endpoint.origin!==this._url.origin)throw Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch($){Y($),this.onerror?.($),this.close();return}X()}),this._eventSource.onmessage=(J)=>{let W=J,$;try{$=F1.parse(JSON.parse(W.data))}catch(B){this.onerror?.(B);return}this.onmessage?.($)}})}async start(){if(this._eventSource)throw Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(Q){if(!this._authProvider)throw new b0("No auth provider");if(await G1(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new b0("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(Q){if(!this._endpoint)throw Error("Not connected");try{let X=await this._commonHeaders();X.set("content-type","application/json");let Y={...this._requestInit,method:"POST",headers:X,body:JSON.stringify(Q),signal:this._abortController?.signal},J=await(this._fetch??fetch)(this._endpoint,Y);if(!J.ok){let W=await J.text().catch(()=>null);if(J.status===401&&this._authProvider){let{resourceMetadataUrl:$,scope:B}=I9(J);if(this._resourceMetadataUrl=$,this._scope=B,await G1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new b0;return this.send(Q)}throw Error(`Error POSTing to endpoint (HTTP ${J.status}): ${W}`)}await J.body?.cancel()}catch(X){throw this.onerror?.(X),X}}setProtocolVersion(Q){this._protocolVersion=Q}}var sZ=j6(tZ(),1);import lY from"node:process";import{PassThrough as aj}from"node:stream";class mY{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
|
|
84
|
-
`);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),tj(X)}clear(){this._buffer=void 0}}function tj(Q){return F1.parse(JSON.parse(Q))}function aZ(Q){return JSON.stringify(Q)+`
|
|
85
|
-
`}var sj=lY.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function F6(){let Q={};for(let X of sj){let Y=lY.env[X];if(Y===void 0)continue;if(Y.startsWith("()"))continue;Q[X]=Y}return Q}class cY{constructor(Q){if(this._readBuffer=new mY,this._stderrStream=null,this._serverParams=Q,Q.stderr==="pipe"||Q.stderr==="overlapped")this._stderrStream=new aj}async start(){if(this._process)throw Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,X)=>{if(this._process=sZ.default(this._serverParams.command,this._serverParams.args??[],{env:{...F6(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:lY.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",(Y)=>{X(Y),this.onerror?.(Y)}),this._process.on("spawn",()=>{Q()}),this._process.on("close",(Y)=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",(Y)=>{this.onerror?.(Y)}),this._process.stdout?.on("data",(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()}),this._process.stdout?.on("error",(Y)=>{this.onerror?.(Y)}),this._stderrStream&&this._process.stderr)this._process.stderr.pipe(this._stderrStream)})}get stderr(){if(this._stderrStream)return this._stderrStream;return this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._process){let Q=this._process;this._process=void 0;let X=new Promise((Y)=>{Q.once("close",()=>{Y()})});try{Q.stdin?.end()}catch{}if(await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())]),Q.exitCode===null){try{Q.kill("SIGTERM")}catch{}await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())])}if(Q.exitCode===null)try{Q.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(Q){return new Promise((X)=>{if(!this._process?.stdin)throw Error("Not connected");let Y=aZ(Q);if(this._process.stdin.write(Y))X();else this._process.stdin.once("drain",X)})}}class pY extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y}={}){let J;super({start(W){J=sQ({onEvent:($)=>{W.enqueue($)},onError($){Q==="terminate"?W.error($):typeof Q=="function"&&Q($)},onRetry:X,onComment:Y})},transform(W){J.feed(W)}})}}var ej={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class H1 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class dY{constructor(Q,X){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=X6(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??ej}async _authThenStart(){if(!this._authProvider)throw new b0("No auth provider");let Q;try{Q=await G1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new b0;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=U9(this._requestInit?.headers);return new Headers({...Q,...X})}async _startOrAuthSse(Q){let{resumptionToken:X}=Q;try{let Y=await this._commonHeaders();if(Y.set("Accept","text/event-stream"),X)Y.set("last-event-id",X);let J=await(this._fetch??fetch)(this._url,{method:"GET",headers:Y,signal:this._abortController?.signal});if(!J.ok){if(await J.body?.cancel(),J.status===401&&this._authProvider)return await this._authThenStart();if(J.status===405)return;throw new H1(J.status,`Failed to open SSE stream: ${J.statusText}`)}this._handleSseStream(J.body,Q,!0)}catch(Y){throw this.onerror?.(Y),Y}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let X=this._reconnectionOptions.initialReconnectionDelay,Y=this._reconnectionOptions.reconnectionDelayGrowFactor,J=this._reconnectionOptions.maxReconnectionDelay;return Math.min(X*Math.pow(Y,Q),J)}_scheduleReconnection(Q,X=0){let Y=this._reconnectionOptions.maxRetries;if(X>=Y){this.onerror?.(Error(`Maximum reconnection attempts (${Y}) exceeded.`));return}let J=this._getNextReconnectionDelay(X);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch((W)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${W instanceof Error?W.message:String(W)}`)),this._scheduleReconnection(Q,X+1)})},J)}_handleSseStream(Q,X,Y){if(!Q)return;let{onresumptiontoken:J,replayMessageId:W}=X,$,B=!1,G=!1;(async()=>{try{let H=Q.pipeThrough(new TextDecoderStream).pipeThrough(new pY({onRetry:(V)=>{this._serverRetryMs=V}})).getReader();while(!0){let{value:V,done:D}=await H.read();if(D)break;if(V.id)$=V.id,B=!0,J?.(V.id);if(!V.data)continue;if(!V.event||V.event==="message")try{let z=F1.parse(JSON.parse(V.data));if(E1(z)){if(G=!0,W!==void 0)z.id=W}this.onmessage?.(z)}catch(z){this.onerror?.(z)}}if((Y||B)&&!G&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:$,onresumptiontoken:J,replayMessageId:W},0)}catch(H){if(this.onerror?.(Error(`SSE stream disconnected: ${H}`)),(Y||B)&&!G&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:$,onresumptiontoken:J,replayMessageId:W},0)}catch(V){this.onerror?.(Error(`Failed to reconnect: ${V instanceof Error?V.message:String(V)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new b0("No auth provider");if(await G1(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new b0("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,X){try{let{resumptionToken:Y,onresumptiontoken:J}=X||{};if(Y){this._startOrAuthSse({resumptionToken:Y,replayMessageId:i9(Q)?Q.id:void 0}).catch((L)=>this.onerror?.(L));return}let W=await this._commonHeaders();W.set("content-type","application/json"),W.set("accept","application/json, text/event-stream");let $={...this._requestInit,method:"POST",headers:W,body:JSON.stringify(Q),signal:this._abortController?.signal},B=await(this._fetch??fetch)(this._url,$),G=B.headers.get("mcp-session-id");if(G)this._sessionId=G;if(!B.ok){let L=await B.text().catch(()=>null);if(B.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new H1(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:V,scope:D}=I9(B);if(this._resourceMetadataUrl=V,this._scope=D,await G1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new b0;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(B.status===403&&this._authProvider){let{resourceMetadataUrl:V,scope:D,error:z}=I9(B);if(z==="insufficient_scope"){let A=B.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===A)throw new H1(403,"Server returned 403 after trying upscoping");if(D)this._scope=D;if(V)this._resourceMetadataUrl=V;if(this._lastUpscopingHeader=A??void 0,await G1(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new b0;return this.send(Q)}}throw new H1(B.status,`Error POSTing to endpoint: ${L}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,B.status===202){if(await B.body?.cancel(),i$(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((L)=>this.onerror?.(L));return}let H=(Array.isArray(Q)?Q:[Q]).filter((L)=>("method"in L)&&("id"in L)&&L.id!==void 0).length>0,Z=B.headers.get("content-type");if(H)if(Z?.includes("text/event-stream"))this._handleSseStream(B.body,{onresumptiontoken:J},!1);else if(Z?.includes("application/json")){let L=await B.json(),V=Array.isArray(L)?L.map((D)=>F1.parse(D)):[F1.parse(L)];for(let D of V)this.onmessage?.(D)}else throw await B.body?.cancel(),new H1(-1,`Unexpected content type: ${Z}`);else await B.body?.cancel()}catch(Y){throw this.onerror?.(Y),Y}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),X={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},Y=await(this._fetch??fetch)(this._url,X);if(await Y.body?.cancel(),!Y.ok&&Y.status!==405)throw new H1(Y.status,`Failed to terminate session: ${Y.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,X){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:X?.onresumptiontoken})}}function eZ(Q){if(!Q.useShellInterpolation)return{command:Q.command,args:Q.args};if(process.platform==="win32")return{command:"cmd.exe",args:["/c",Q.command]};return{command:"/bin/sh",args:["-c",Q.command]}}function QL(Q){return{...F6(),...Q??{}}}function XL(){return F6()}class T8 extends cY{static MAX_CAPTURED_LINES=100;static MAX_LINE_BUFFER_CHARS=16384;_captured=[];_lineBuffer="";async start(){await super.start();let Q=this.stderr;if(!Q)return;Q.on("data",(X)=>this.ingestStderr(X))}ingestStderr(Q){this._lineBuffer+=Q.toString();let X=this._lineBuffer.split(`
|
|
86
|
-
`);if(this._lineBuffer=X.at(-1)??"",this._lineBuffer.length>T8.MAX_LINE_BUFFER_CHARS)this._lineBuffer=this._lineBuffer.slice(-T8.MAX_LINE_BUFFER_CHARS);for(let Y of X.slice(0,-1))this.pushCapturedLine(`${Y}
|
|
87
|
-
`)}pushCapturedLine(Q){if(this._captured.push(Q),this._captured.length>T8.MAX_CAPTURED_LINES)this._captured.shift()}consumeStderr(){if(this._lineBuffer.length>0)this.pushCapturedLine(this._lineBuffer),this._lineBuffer="";let Q=this._captured.join("");return this._captured=[],Q}}function YL(Q){let X={command:Q.command,args:Q.args,env:Q.env,stderr:"pipe",...Q.cwd?{cwd:Q.cwd}:{}};return new T8(X)}function JL(Q){if(!Q)return;return(X,Y)=>{let J=new Headers(Y?.headers);for(let[W,$]of Object.entries(Q()))J.set(W,$);return fetch(X,{...Y,headers:J})}}function WL(Q,X){let Y=JL(X.getHeaders);return new dY(new URL(Q),{requestInit:{headers:{...X.headers}},...Y?{fetch:Y}:{}})}function $L(Q,X){let Y=JL(X.getHeaders);return new CY(new URL(Q),{requestInit:{headers:{...X.headers}},...Y?{fetch:Y}:{}})}function BL(){return new ZY({name:"hermes-mcp-client",version:"0.1.0"},{capabilities:{}})}function A6(Q){return(Q instanceof H1||Q instanceof q6)&&Q.code===401}var y0=QI.child({prefix:"pi-mcp"}),XI=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*[a-zA-Z]`,"g");function YI(Q,X){if(!X)return Q;try{let Y=X.consumeStderr();if(!Y.trim())return Q;let J=Y.replace(XI,"").split(`
|
|
88
|
-
`).map(($)=>$.trim()).filter(($)=>$.length>0).pop();if(!J)return Q;let W=J.length>200?`${J.slice(0,200)}…`:J;return`${Q}: ${W}`}catch{return Q}}var JI=2000000;function WI(Q){for(let X of Object.values(Q))if(g8(X))return!0;return!1}var O6="${augmentToken}";function $I(Q){try{let X=new URL(Q);if(X.protocol!=="https:")return!1;let{hostname:Y}=X;return Y==="augmentcode.com"||Y.endsWith(".augmentcode.com")}catch{return!1}}function BI(Q){try{let X=new URL(Q);return`${X.protocol}//${X.hostname}`}catch{return"<invalid URL>"}}class N6{name;_config;_client;_status;_lastError;_tools=[];_connectPromise;_disposed=!1;_resolvedEnv;_resolvedHeaders;constructor(Q){this._config=Q,this.name=Q.name,this._status=Q.disabled?"disabled":"initializing"}get status(){return this._status}get config(){return this._config}get lastError(){return this._lastError}get tools(){return this._tools}connect(){if(this._status==="disabled")return Promise.resolve();if(this._connectPromise)return this._connectPromise;return this._connectPromise=this._doConnect().catch((Q)=>{y0.warn(`MCP server "${this.name}" connect failed: ${Q instanceof Error?Q.message:String(Q)}`)}),this._connectPromise}async _doConnect(){let Q,X;try{let Y=this._config;if(Y.type==="http"||Y.type==="sse")await this._maybeProactiveRefresh();this._expandAugmentToken(),await this._resolveSecretRefs();let J=this._createTransport();if(Y.type==="stdio")X=J;Q=BL(),this._client=Q,await Q.connect(J);let W=await this._withAuthRetry(()=>{if(!this._client)throw Error(`MCP server "${this.name}" client is gone`);return this._client.listTools()});if(this._disposed){await Q.close(),this._client=void 0;return}this._tools=W.tools??[],this._status="success",this._lastError=void 0,G0().tokens.clearAuthRequired(this.name),y0.info(`MCP server "${this.name}" connected (${this._tools.length} tool(s))`)}catch(Y){if(A6(Y))this._status="auth_required",G0().tokens.markAuthRequired(this.name);else this._status="failed";let J=Y instanceof Error?Y.message:String(Y);this._lastError=YI(J,X);let W=this._client??Q;if(W){try{await W.close()}catch($){y0.debug(`MCP server "${this.name}" close after failed connect: ${$ instanceof Error?$.message:String($)}`)}this._client=void 0}}}_createTransport(){let Q=this._config;switch(Q.type){case"stdio":{let X=eZ(Q),Y=QL(this._resolvedEnv??Q.env);return YL({command:X.command,args:X.args,env:Y,cwd:Q.cwd})}case"http":return WL(Q.url,{headers:this._resolvedHeaders??Q.headers??{},getHeaders:()=>this._buildAuthHeaders()});case"sse":return $L(Q.url,{headers:this._resolvedHeaders??Q.headers??{},getHeaders:()=>this._buildAuthHeaders()});default:return Q}}async _resolveSecretRefs(){let Q=this._config,X=Q.type==="stdio"?Q.env:this._resolvedHeaders??Q.headers;if(!X||!WI(X))return;let Y=G0().secretsClient;if(!Y){this._recordLiteralRefs(X,"no credentials available");return}let J;try{J=await NJ({configEnv:X,localEnv:Q.type==="stdio"?XL():{},getSecret:(W)=>Y.getSecret(W)})}catch(W){y0.error(`MCP server "${this.name}" secret resolution failed: ${W instanceof Error?W.message:String(W)}`),this._recordLiteralRefs(X,"secret resolution error");return}if(Q.type==="stdio")this._resolvedEnv=J;else this._resolvedHeaders=J;this._recordLiteralRefs(J??X,"secret not found")}_recordLiteralRefs(Q,X){let Y=G0();for(let[J,W]of Object.entries(Q)){if(!g8(W))continue;let $=`secret reference in "${J}" left unresolved (${X})`;if(Y.diagnostics.some((G)=>G.server===this.name&&G.message===$))continue;Y.diagnostics.push({server:this.name,message:$}),y0.warn(`MCP server "${this.name}": ${$}`)}}_expandAugmentToken(){let Q=this._config;if(Q.type!=="http"&&Q.type!=="sse")return;let X=Q.headers;if(!X)return;if(!Object.values(X).some(($)=>$.includes(O6)))return;let J;if($I(Q.url)){let $=G0().credentials?.apiKey;if($)J=$;else this._recordTokenDiagnostic(`${O6} in a header but no Augment credentials are available; sending the literal placeholder`,"warn")}else this._recordTokenDiagnostic(`${O6} in a header is only expanded for https augmentcode.com / *.augmentcode.com URLs; "${BI(Q.url)}" does not qualify, sending the literal placeholder`,"error");if(J===void 0)return;let W={};for(let[$,B]of Object.entries(X))W[$]=B.replaceAll(O6,J);this._resolvedHeaders=W}_recordTokenDiagnostic(Q,X){let Y=G0();if(Y.diagnostics.some(($)=>$.server===this.name&&$.message===Q))return;Y.diagnostics.push({server:this.name,message:Q});let W=`MCP server "${this.name}": ${Q}`;if(X==="error")y0.error(W);else y0.warn(W)}_buildAuthHeaders(){let Q=G0().tokens.get(this.name);return Q?{Authorization:`Bearer ${Q.accessToken}`}:{}}async _maybeProactiveRefresh(){let Q=G0().tokens.get(this.name);if(!Q)return;if(zJ(Q)){if(Q.refreshToken)await this._refreshTokenDeduped();else if(FJ(Q))G0().tokens.markAuthRequired(this.name)}}_refreshTokenDeduped(){let Q=G0(),X=Q.refreshes.get(this.name);if(X)return X;let Y=(async()=>{let J=Q.tokens.get(this.name);if(!J?.refreshToken){Q.tokens.markAuthRequired(this.name);return}try{let W=await AJ(J);Q.tokens.set(this.name,W),y0.debug(`MCP server "${this.name}" token refreshed`)}catch(W){Q.tokens.markAuthRequired(this.name),y0.warn(`MCP server "${this.name}" token refresh failed: ${W instanceof Error?W.message:String(W)}`)}})().finally(()=>{Q.refreshes.delete(this.name)});return Q.refreshes.set(this.name,Y),Y}async _withAuthRetry(Q){let X=this._config;if(X.type!=="http"&&X.type!=="sse")return Q();try{return await Q()}catch(Y){if(!A6(Y))throw Y;y0.debug(`MCP server "${this.name}" got 401, attempting token refresh + retry`),await this._refreshTokenDeduped();try{return await Q()}catch(J){if(A6(J))this._status="auth_required",G0().tokens.markAuthRequired(this.name),y0.warn(`MCP server "${this.name}" still 401 after refresh — auth_required`);throw J}}}listTools(){return this._tools}async callTool(Q,X,Y){if(this._status!=="success"||!this._client)throw Error(`MCP server "${this.name}" is not connected (status: ${this._status})`);let J=this._config.timeoutMs??JI,W=await this._withAuthRetry(()=>{if(!this._client)throw Error(`MCP server "${this.name}" client is gone`);return this._client.callTool({name:Q,arguments:X??{}},Q1,{timeout:J,signal:Y})}),$=[];if(Array.isArray(W.content)){for(let B of W.content)if(B.type==="text"&&typeof B.text==="string")$.push({type:"text",text:B.text});else if(B.type==="image"&&typeof B.data==="string"&&typeof B.mimeType==="string"){let G=B;$.push({type:"image",mimeType:G.mimeType,data:G.data})}}return{isError:W.isError===!0,content:$}}async dispose(){this._disposed=!0;let Q=this._client;if(this._client=void 0,!Q)return;try{await Q.close()}catch(X){y0.debug(`MCP server "${this.name}" close error: ${X instanceof Error?X.message:String(X)}`)}}}async function U6(Q,X,Y){let J=[];for(let W of Q){let $=X.servers.get(W.name);if($)$.dispose();let B=new N6(W);X.servers.set(W.name,B),J.push(B.connect().then(()=>{if(B.status==="success")v8(X.currentLoad?.latestPi??Y,B)}))}await Promise.all(J)}async function GL(Q,X,Y){let J=X.servers.get(Q);if(!J)return;let W=J.config;J.dispose();let $=new N6(W);if(X.servers.set(Q,$),await $.connect(),$.status==="success")v8(Y,$)}import{logger as FI}from"@hermes/logger";import{logger as GI}from"@hermes/logger";var HL=GI.child({prefix:"pi-mcp"}),R8={maxTries:3,initialMs:500,mult:2,maxMs:2000},iY=30000,E8=200;class R9 extends Error{statusCode;statusText;responseBody;constructor(Q,X,Y){super(`${Q} ${X}: ${Y}`);this.name="McpRegistryHttpError",this.statusCode=Q,this.statusText=X,this.responseBody=Y}}function HI(Q){if(Q instanceof R9)return Q.statusCode>=500;return!0}function KI(Q){return new Promise((X)=>setTimeout(X,Q))}async function M6(Q){let X;for(let Y=0;Y<R8.maxTries;Y++)try{return await Q()}catch(J){if(X=J,!HI(J))throw J;if(Y<R8.maxTries-1){let W=Math.min(R8.initialMs*R8.mult**Y,R8.maxMs);await KI(W)}}throw X}class nY{apiKey;apiUrl;fetchImpl;timeoutMs;constructor(Q,X,Y){this.apiKey=Q.apiKey,this.apiUrl=Q.apiUrl.replace(/\/+$/,""),this.fetchImpl=X,this.timeoutMs=Y??iY}async callApi(Q,X){let J=await(this.fetchImpl??fetch)(`${this.apiUrl}${Q}`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"},body:X===void 0?"{}":JSON.stringify({product_type:X}),signal:AbortSignal.timeout(this.timeoutMs)});if(!J.ok){let W=await J.text().catch(()=>""),$=W.length>E8?`${W.slice(0,E8)}…[truncated]`:W;throw new R9(J.status,J.statusText,$)}return await J.json()}getMcpTenantConfigs(Q){return M6(()=>this.callApi("/settings/get-mcp-tenant-configs",Q))}getMcpUserConfigs(Q){return M6(()=>this.callApi("/settings/get-mcp-user-configs",Q))}}async function KL(Q,X){let Y=[],[J,W]=await Promise.allSettled([Q.getMcpTenantConfigs(X),Q.getMcpUserConfigs(X)]),$={},B={};if(J.status==="fulfilled")$=J.value;else{let G=`Failed to fetch tenant MCP configs: ${String(J.reason)}`;HL.warn(G),Y.push({message:G})}if(W.status==="fulfilled")B=W.value;else{let G=`Failed to fetch user MCP configs: ${String(W.reason)}`;HL.warn(G),Y.push({message:G})}return{tenant:$,user:B,diagnostics:Y}}var oY={UNSPECIFIED:0,NONE:1,OAUTH:2,API_KEY:3},S8={UNSPECIFIED:0,CLI:1,CLOUD_AGENT:2};function ZI(Q){if(Q===void 0||Q===null)return;if(typeof Q==="number"||!Number.isNaN(Number(Q)))switch(Number(Q)){case oY.OAUTH:return"oauth";case oY.API_KEY:return"header";default:return}let X=String(Q).toLowerCase();if(X==="oauth"||X==="mcp_auth_type_oauth")return"oauth";if(X==="header"||X==="api_key"||X==="mcp_auth_type_api_key")return"header";return}function LI(Q){if(typeof Q==="number"||!Number.isNaN(Number(Q)))switch(Number(Q)){case S8.CLI:return"cli";case S8.CLOUD_AGENT:return"cloud_agent";default:return}switch(Q){case"MCP_PRODUCT_TYPE_CLI":return"cli";case"MCP_PRODUCT_TYPE_CLOUD_AGENT":return"cloud_agent";default:return}}function ZL(Q){if(!Q||Q.length===0)return;let X=Q.map(LI).filter((Y)=>Y!==void 0);return X.length===0?void 0:X}function LL(Q,X){let Y=Q.config;if(!Y)return{ok:!1,reason:"no config payload"};let J=ZI(Y.auth_type),W={name:Y.name,type:Y.type==="http"||Y.type==="sse"||Y.type==="stdio"?Y.type:void 0,disabled:Y.disabled,command:Y.command,args:Y.args,env:Y.env,url:Y.url,auth:J==="oauth"?"oauth":void 0,timeoutMs:Y.timeout_ms,useShellInterpolation:Y.use_shell_interpolation},$=R6(W);if(($==="http"||$==="sse")&&Y.env)W.headers=Y.env;try{return{ok:!0,server:{...x8(Y.name??Q.id,W),id:Q.id,registrySource:X}}}catch(B){return{ok:!1,reason:B instanceof K1?B.message:String(B)}}}function rY(Q,X,Y){let J=new Map;for(let W of Q)if(Y(W.id))J.set(W.id,W);for(let W of X)J.set(W.id,W);return[...J.values()]}function VI(Q){let{tenantConfigs:X,userConfigs:Y,enabledSharedServerIds:J,configIds:W}=Q;if(W!=null&&W.length===0){let Z=rY(X,Y,()=>!0);return{selected:[],filteredOutIds:Z.map((L)=>L.id),missingIds:[]}}if(W!=null){let Z=new Set(W),L=rY(X,Y,()=>!0),V=new Set(L.map((N)=>N.id)),D=L.filter((N)=>Z.has(N.id)),z=L.filter((N)=>!Z.has(N.id)).map((N)=>N.id),A=W.filter((N)=>!V.has(N));return{selected:D,filteredOutIds:z,missingIds:A}}let $=new Set(J),B=[];for(let Z of X)if(!$.has(Z.id))B.push(Z.id);let G=rY(X,Y,(Z)=>$.has(Z)),K=new Set(Y.map((Z)=>Z.id)),H=[];for(let Z of G){let V=!K.has(Z.id)&&$.has(Z.id)?Q.serverProductPreferences[Z.id]?.enabled_products:void 0,D=ZL(V??Z.enabled_products);if(D===void 0||D.includes("cloud_agent"))H.push(Z);else B.push(Z.id)}return{selected:H,filteredOutIds:B,missingIds:[]}}function DI(Q){return Q==null?S8.CLOUD_AGENT:void 0}function qI(Q){return Q.map((X)=>({message:`Selected MCP config id "${X}" was not returned by the registry (not opted in to the shared server, deleted, or an unknown id)`}))}function zI(Q,X,Y,J){try{return{ok:!0,server:Q.type==="stdio"?_8(Q,J):k8(Q,J)}}catch(W){let $=W instanceof Error?W.message:String(W);return{ok:!1,diagnostic:{server:Q.name,message:`Skipped registry MCP server "${Q.name}" (id=${X}, ${Y}): ${$}`}}}}async function VL(Q){let X=Q.client??new nY(Q.creds),{tenant:Y,user:J,diagnostics:W}=await KL(X,DI(Q.configIds)),$=J.mcp_configs??[],B=new Set($.map((D)=>D.id)),{selected:G,filteredOutIds:K,missingIds:H}=VI({tenantConfigs:Y.mcp_configs??[],userConfigs:$,enabledSharedServerIds:J.enabled_shared_server_ids??[],serverProductPreferences:J.server_product_preferences??{},configIds:Q.configIds});W.push(...qI(H));let Z=[],L=new Set(Q.localServerNames),V=[...G.filter((D)=>B.has(D.id)),...G.filter((D)=>!B.has(D.id))];for(let D of V){if(D.config?.disabled)continue;let z=B.has(D.id)?"user":"tenant",A=LL(D,z);if(!A.ok){let U=D.config?.name;W.push({server:U,message:`Skipped registry MCP server "${U??D.id}" (id=${D.id}, ${z}): ${A.reason}`});continue}let N=A.server;if(L.has(N.name)){let U=Q.localServerNames.has(N.name)?`Skipped registry MCP server "${N.name}" (id=${D.id}, ${z}): a local server with the same name takes precedence`:`Skipped registry MCP server "${N.name}" (id=${D.id}, ${z}): name collides with a higher-precedence registry server`;W.push({server:N.name,message:U});continue}let F=zI(N,D.id,z,Q.workspaceRoot);if(!F.ok){W.push(F.diagnostic);continue}L.add(N.name),Z.push(F.server)}return{servers:Z,diagnostics:W,filteredOutIds:K}}var m1=FI.child({prefix:"pi-mcp"});function AI(Q){for(let[X,Y]of Q.servers)if(Y.config.registrySource!==void 0)Y.dispose(),Q.servers.delete(X)}function DL(Q){let{pi:X,state:Y,data:J,deps:W}=Q,$=W?.discover??VL,B=W?.connect??U6,G=J;if(!G||typeof G!=="object"||Array.isArray(G))return m1.warn("augment:mcp-config-ids payload is not an object"),Promise.resolve();let K=Y.credentials;if(!K)return m1.warn("augment:mcp-config-ids received before credentials; skipping registry discovery"),Promise.resolve();AI(Y),Y.diagnostics=Y.diagnostics.filter((V)=>V.origin!=="registry");let H=++Y.registryGeneration,Z=Y.currentLoad?.latestPi??X,L=new Set;for(let V of Y.servers.values())if(V.config.registrySource===void 0)L.add(V.name);return $({configIds:G.configIds,creds:K,workspaceRoot:Y.workspaceRoot??process.cwd(),localServerNames:L}).then((V)=>{if(Y.registryGeneration!==H){m1.info(`Registry discovery superseded by a newer selection; skipping ${V.servers.length} server(s)`);return}for(let D of V.diagnostics)Y.diagnostics.push({...D,origin:"registry"}),m1.warn(D.message);if(V.filteredOutIds.length>0)m1.info(`Registry discovery filtered out ${V.filteredOutIds.length} server(s) by selection/opt-in/product`);if(V.servers.length===0)return;return m1.info(`Registry discovery: connecting ${V.servers.length} server(s)`),B(V.servers,Y,Z)}).catch((V)=>{let D=`Registry discovery failed: ${V instanceof Error?V.message:String(V)}`;if(m1.warn(D),Y.registryGeneration===H)Y.diagnostics.push({message:D,origin:"registry"})})}import{logger as OI}from"@hermes/logger";var tY=OI.child({prefix:"pi-mcp"}),NI=1;function UI(Q){return Q.replace(/[^a-zA-Z0-9_-]/g,"-")}function MI(Q,X){if(X?.["augment:encoding"]!=="base64")return Q;if(/^[A-Za-z0-9+/]*={0,2}$/.test(Q)&&Q.length%4===0)return Buffer.from(Q,"base64").toString("utf-8");return Q}class aY{apiKey;apiUrl;fetchImpl;timeoutMs;cache=new Map;inflight=new Map;constructor(Q,X,Y){this.apiKey=Q.apiKey,this.apiUrl=Q.apiUrl.replace(/\/+$/,""),this.fetchImpl=X,this.timeoutMs=Y??iY}getSecret(Q){let X=UI(Q),Y=this.inflight.get(X);if(Y)return Y;let J=this._resolve(X).finally(()=>{this.inflight.delete(X)});return this.inflight.set(X,J),J}async _resolve(Q){let X=await this._tryGet("/user-secrets/get",{name:Q,scope:NI},Q);if(X.value!==void 0)return this.cache.set(Q,X.value),X.value;let Y=await this._tryGet("/tenant-secrets/get",{name:Q},Q);if(Y.value!==void 0)return this.cache.set(Q,Y.value),Y.value;if(X.errored||Y.errored){let J=this.cache.get(Q);if(J!==void 0)tY.debug(`Secret "${Q}" lookup failed; using cached fallback value`);return J}this.cache.delete(Q);return}async _tryGet(Q,X,Y){try{let J=await M6(()=>this._callApi(Q,X)),W=J.secret?.value;if(W===void 0)return{errored:!1};return{value:MI(W,J.secret?.tags),errored:!1}}catch(J){if(J instanceof R9&&J.statusCode===404)return tY.debug(`Secret "${Y}" not found via ${Q} (404)`),{errored:!1};let W=J instanceof Error?J.message:String(J);return tY.debug(`Secret "${Y}" lookup via ${Q} failed: ${W}`),{errored:!0}}}async _callApi(Q,X){let J=await(this.fetchImpl??fetch)(`${this.apiUrl}${Q}`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify(X),signal:AbortSignal.timeout(this.timeoutMs)});if(!J.ok){let W=await J.text().catch(()=>""),$=W.length>E8?`${W.slice(0,E8)}…[truncated]`:W;throw new R9(J.status,J.statusText,$)}return await J.json()}}function sY(Q){return{latestPi:Q}}var w6=wI.child({prefix:"pi-mcp"}),qL="augment:mcp-oauth-credentials",zL="augment:credentials",PI="augment:mcp-config-ids";function jI(Q,X){if(X.credsListenerBound)return;X.credsListenerBound=!0,Q.events.on(qL,(Y)=>{if(!Y||typeof Y!=="object"){w6.warn(`${qL} payload is not an object`);return}let J=Y,W=XJ(X.tokens,J);if(W.length===0)return;w6.info(`Seeded MCP OAuth token(s) for ${W.length} server(s)`);let $=X.currentLoad?.latestPi??Q;for(let B of W){let G=X.servers.get(B);if(G&&G.config.type!=="stdio"&&G.config.auth==="oauth")GL(B,X,$)}})}function II(Q,X){if(X.configIdsListenerBound)return;X.configIdsListenerBound=!0,Q.events.on(zL,(Y)=>{let J=Y;if(!J||typeof J.apiKey!=="string"||typeof J.apiUrl!=="string"){w6.warn(`${zL} payload missing apiKey or apiUrl`);return}X.credentials={apiKey:J.apiKey,apiUrl:J.apiUrl},X.secretsClient=new aY(X.credentials)}),Q.events.on(PI,(Y)=>{DL({pi:Q,state:X,data:Y})})}function bI(Q){let X=G0();X.currentLoad=sY(Q),YJ(Q,X),jI(Q,X),II(Q,X),Q.on("session_start",(Y,J)=>{if(X.currentLoad=sY(Q),X.workspaceRoot=J.cwd,X.connectStarted)qJ(Q,X);else{X.connectStarted=!0;let{servers:W,diagnostics:$}=LJ(J.cwd,J.agentDir);for(let B of $)X.diagnostics.push(B),w6.warn(B.message);U6(W,X,Q)}})}export{bI as default};
|
|
149
|
+
`)}function Uh(Q){let X=Q.trim().split(/\s+/)[0];if(!X)return"list";if(Q3.includes(X))return X;return}async function Oh(Q,X,Y){if(X.servers.size===0){Q.ui.notify("MCP servers are not available","warning");return}if(X.reconnecting){Q.ui.notify("MCP servers are already restarting...","warning");return}Q.ui.notify("Restarting MCP servers...","info");let J=C4([...X.servers.keys()],X,Y);if(Q.mode==="interactive")return;await J}function kO(Q,X){Q.registerCommand("mcp",{description:"List configured MCP servers and their status",getArgumentCompletions:(Y)=>{let J=Y.trim().toLowerCase();return Q3.filter(($)=>$.startsWith(J)).map(($)=>({value:$,label:$}))},handler:async(Y,J)=>{if(Y.trim().length===0&&J.mode==="interactive"&&J.hasUI){await RO(J,X,(G)=>C4([G],X,Q),{classify:(G)=>BO({server:G,state:X,cwd:J.cwd,agentDir:J.agentDir}),applySession:(G,B)=>ZO({server:G,disable:B,state:X,pi:Q}),applyLocal:(G,B,Z)=>KO({server:G,disable:B,scope:Z,state:X,pi:Q,cwd:J.cwd,agentDir:J.agentDir}),notify:(G)=>J.ui.notify(G,"info")},(G,B)=>nU({serverName:G,state:X,pi:Q,controller:B}));return}let W=Uh(Y);if(!W){J.ui.notify(`Unknown /mcp subcommand. Available: ${Q3.join(", ")}.`,"warning");return}switch(W){case"list":{J.ui.notify(Dh(X),"info");return}default:return W}}}),Q.registerCommand("restart-mcp",{description:"Restart all configured MCP servers",handler:async(Y,J)=>{await Oh(J,X,Q)}})}import{logger as Mh}from"@hermes/logger";var _O=Mh.child({prefix:"pi-mcp"}),X3="augment:feature-flags";function Ah(Q){if(!Q||typeof Q!=="object")return;let X=Q;if(!X.flags||typeof X.flags!=="object")return;if(X.errorStatus!==void 0&&typeof X.errorStatus!=="string")return;return Q}function xO(Q,X){if(X.featureFlagsListenerBound)return;X.featureFlagsListenerBound=!0,Q.events.on(X3,(Y)=>{let J=Ah(Y);if(J===void 0){_O.warn(`${X3} payload missing a flags object or has a non-string errorStatus`);return}X.featureFlags=J,_O.debug(`Received feature-flag snapshot via ${X3} event`+(J.errorStatus?` (errorStatus=${J.errorStatus})`:""))})}import{logger as Ph}from"@hermes/logger";var z5=Ph.child({prefix:"pi-mcp"}),Y3="augment:mcp-attach-result";function yO(Q,X){if(X.attachResultListenerBound)return;X.attachResultListenerBound=!0,Q.events.on(Y3,(Y)=>{let J=Y,$=typeof J?.requestId==="string"?J.requestId:"";if(!$){z5.warn(`${Y3} payload missing requestId`);return}let W=X.attachResolvers.get($);if(!W){z5.debug(`${Y3}: no pending resolver for request ${$} (already timed out?)`);return}let G={...typeof J?.status==="string"?{status:J.status}:{},...typeof J?.error==="string"?{error:J.error}:{}};W(G)})}function H5(Q,X){if(!X.mcpAttachCloudSignaled||X.mcpAttachDisabled||!X.credentials)return Promise.resolve();if(X.catalogRefreshInFlight)return X.catalogRefreshInFlight;let Y=X.credentials,J=(async()=>{let $=await n3(Y);if($.ok)X.mcpCatalog=$.entries,z5.debug(`MCP catalog refreshed: ${$.entries.length} entry(s)`);else if($.disable)X.mcpAttachDisabled=!0,X.mcpCatalog=void 0,z5.debug("MCP catalog endpoint unavailable (404); disabling attach for this session");if(K6(X))y9(X.currentLoad?.latestPi??Q)})().finally(()=>{X.catalogRefreshInFlight=void 0});return X.catalogRefreshInFlight=J,J}import{logger as jh}from"@hermes/logger";var S4=jh.child({prefix:"pi-mcp"}),vO=300000,J3=600000;function Nh(Q){if(!Q.shouldProactivelyRefreshTokens)return;let X=Date.now();for(let Y of Q.servers.values()){let{config:J}=Y;if(J.type!=="http"&&J.type!=="sse")continue;if(J.disabled)continue;if(J.auth!=="oauth")continue;let $=Q.tokens.get(Y.name);if(!$)continue;if($.expiresAt===void 0)continue;if(j8($,X))continue;if($.expiresAt>X+J3)continue;S4.debug(`Background refresh: token for MCP server "${Y.name}" expires within ${J3}ms; refreshing`),Y.refreshTokenIfPossible().then((W)=>{if(W.kind!=="refreshed")S4.warn(`Background refresh for MCP server "${Y.name}" did not complete (${W.kind})`)}).catch(()=>{S4.warn(`Background refresh for MCP server "${Y.name}" rejected unexpectedly`)})}}function fO(Q){if(Q.backgroundRefreshIntervalId!==void 0)return;if(!Q.shouldProactivelyRefreshTokens)return;let X=setInterval(()=>{Nh(Q)},vO);if(typeof X.unref==="function")X.unref();Q.backgroundRefreshIntervalId=X,S4.debug(`Started background MCP OAuth refresh loop (interval ${vO}ms, buffer ${J3}ms)`)}function hO(Q){if(Q.backgroundRefreshIntervalId===void 0)return;clearInterval(Q.backgroundRefreshIntervalId),Q.backgroundRefreshIntervalId=void 0,S4.debug("Stopped background MCP OAuth refresh loop")}import{logger as fh}from"@hermes/logger";function bh(Q){if(Q===void 0||Q===null)return;if(typeof Q==="number"||!Number.isNaN(Number(Q)))switch(Number(Q)){case z6.OAUTH:return"oauth";case z6.API_KEY:return"header";default:return}let X=String(Q).toLowerCase();if(X==="oauth"||X==="mcp_auth_type_oauth")return"oauth";if(X==="header"||X==="api_key"||X==="mcp_auth_type_api_key")return"header";return}function wh(Q){if(typeof Q==="number"||!Number.isNaN(Number(Q)))switch(Number(Q)){case k9.CLI:return"cli";case k9.CLOUD_AGENT:return"cloud_agent";default:return}switch(Q){case"MCP_PRODUCT_TYPE_CLI":return"cli";case"MCP_PRODUCT_TYPE_CLOUD_AGENT":return"cloud_agent";default:return}}function V5(Q){if(Q===void 0||Q===null)return;if(Q.length===0)return[];let X=Q.map(wh).filter((Y)=>Y!==void 0);return X.length===0?void 0:X}function q5(Q,X){let Y=Q.config;if(!Y)return{ok:!1,reason:"no config payload"};let J=bh(Y.auth_type),$={name:Y.name,type:Y.type==="http"||Y.type==="sse"||Y.type==="stdio"?Y.type:void 0,disabled:Y.disabled,command:Y.command,args:Y.args,env:Y.env,url:Y.url,auth:J==="oauth"?"oauth":void 0,timeoutMs:Y.timeout_ms,useShellInterpolation:Y.use_shell_interpolation},W=G6($);if((W==="http"||W==="sse")&&Y.env)$.headers=Y.env;try{return{ok:!0,server:{...B6(Y.name??Q.id,$),id:Q.id,registrySource:X}}}catch(G){return{ok:!1,reason:G instanceof T1?G.message:String(G)}}}function Ih(Q){let X=Q.config?.auth_type;if(!(X===z6.OAUTH||typeof X==="string"&&(X.toLowerCase()==="oauth"||X.toLowerCase()==="mcp_auth_type_oauth")))return!1;return Q.has_oauth_credentials!==!0&&Q.needs_reauthentication!==!0}function Ch(Q){let X=Q.name;if(Q.type==="stdio")return`stdio\x00${X}\x00${Q.command}\x00${Q.args.join(" ")}`;return`${Q.type}\x00${X}\x00${Q.url}`}function $3(Q,X,Y){let J=new Map;for(let $ of Q)if(Y($.id))J.set($.id,$);for(let $ of X)J.set($.id,$);return[...J.values()]}function Th(Q,X,Y){if(Y!==void 0&&Q.added_by===Y)return V5(Q.enabled_products);let J=X[Q.id]?.enabled_products;if(J!==void 0)return V5(J);return[]}function Sh(Q){let{tenantConfigs:X,userConfigs:Y,enabledSharedServerIds:J,serverProductPreferences:$,configIds:W,currentUserId:G}=Q;if(W!=null&&W.length===0){let q=$3(X,Y,()=>!0);return{selected:[],filteredOutIds:q.map((F)=>F.id),missingIds:[],retainedNames:[]}}if(W!=null){let q=new Set(W),F=$3(X,Y,()=>!0),D=new Set(F.map((j)=>j.id)),U=F.filter((j)=>q.has(j.id)),M=F.filter((j)=>!q.has(j.id)).map((j)=>j.id),P=W.filter((j)=>!D.has(j));return{selected:U,filteredOutIds:M,missingIds:P,retainedNames:[]}}let B=new Set(J),Z=[];for(let q of X)if(!B.has(q.id))Z.push(q.id);let K=$3(X,Y,(q)=>B.has(q)),z=new Set(Y.map((q)=>q.id)),H=[],V=[];for(let q of K){let D=!z.has(q.id)&&B.has(q.id)?Th(q,$,G):V5(q.enabled_products);if(D===void 0||D.includes("cloud_agent"))H.push(q);else if(Z.push(q.id),q.config?.name)V.push(q.config.name)}return{selected:H,filteredOutIds:Z,missingIds:[],retainedNames:V}}function Rh(Q){return Q==null?k9.CLOUD_AGENT:void 0}function Eh(Q){return Q.map((X)=>({message:`Selected MCP config id "${X}" was not returned by the registry (not opted in to the shared server, deleted, or an unknown id)`}))}function kh(Q,X,Y,J){try{return{ok:!0,server:Q.type==="stdio"?C1(Q,J):I1(Q,J)}}catch($){let W=$ instanceof Error?$.message:String($);return{ok:!1,diagnostic:{server:Q.name,message:`Skipped registry MCP server "${Q.name}" (id=${X}, ${Y}): ${W}`}}}}function _h(Q){let{payload:X,userIds:Y,localServerNames:J,seenNames:$,workspaceRoot:W}=Q;if(X.config?.disabled)return X.config.name?{kind:"retained",name:X.config.name}:{kind:"dropped"};let G=Y.has(X.id)?"user":"tenant",B=q5(X,G);if(!B.ok){let z=X.config?.name,H={server:z,message:`Skipped registry MCP server "${z??X.id}" (id=${X.id}, ${G}): ${B.reason}`};return z?{kind:"retained",name:z,diagnostic:H}:{kind:"dropped",diagnostic:H}}let Z=B.server;if($.has(Z.name)){let z=J.has(Z.name)?`Skipped registry MCP server "${Z.name}" (id=${X.id}, ${G}): a local server with the same name takes precedence`:`Skipped registry MCP server "${Z.name}" (id=${X.id}, ${G}): name collides with a higher-precedence registry server`;return{kind:"retained",name:Z.name,diagnostic:{server:Z.name,message:z}}}let K=kh(Z,X.id,G,W);if(!K.ok)return{kind:"retained",name:Z.name,diagnostic:K.diagnostic};return $.add(Z.name),{kind:"connected",server:K.server}}function xh(Q){let X=[],Y=[],J=[];for(let $ of Q)if(Ih($))Y.push($.id),J.push({server:$.config?.name,message:`Skipped MCP server "${$.config?.name??$.id}" (id=${$.id}): OAuth authentication was never completed (no stored credentials), so it cannot connect`});else X.push($);return{selected:X,droppedIds:Y,diagnostics:J}}function yh(Q){let X=[],Y=[],J=[],$=new Set;for(let W of Q){let G=Ch(W);if($.has(G)){Y.push(W.name),J.push({server:W.name,message:`Skipped duplicate MCP server "${W.name}" (id=${W.id}): byte-identical to another selected server`});continue}$.add(G),X.push(W)}return{servers:X,droppedNames:Y,diagnostics:J}}async function F5(Q){let X=Q.client??new m5(Q.creds),{tenant:Y,user:J,diagnostics:$}=await WW(X,Rh(Q.configIds)),W=J.mcp_configs??[],G=new Set(W.map((P)=>P.id)),{selected:B,filteredOutIds:Z,missingIds:K,retainedNames:z}=Sh({tenantConfigs:Y.mcp_configs??[],userConfigs:W,enabledSharedServerIds:J.enabled_shared_server_ids??[],serverProductPreferences:J.server_product_preferences??{},configIds:Q.configIds,currentUserId:Q.currentUserId}),H=xh(B),V=H.selected;Z.push(...H.droppedIds),$.push(...H.diagnostics),$.push(...Eh(K));let q=[],F=new Set(Q.localServerNames),D=[...V.filter((P)=>G.has(P.id)),...V.filter((P)=>!G.has(P.id))];for(let P of D){let j=_h({payload:P,userIds:G,localServerNames:Q.localServerNames,seenNames:F,workspaceRoot:Q.workspaceRoot});if(j.kind!=="connected"&&j.diagnostic)$.push(j.diagnostic);if(j.kind==="connected")q.push(j.server);else if(j.kind==="retained")z.push(j.name)}let U=yh(q);z.push(...U.droppedNames),$.push(...U.diagnostics);let M=new Map;for(let P of[...Y.mcp_configs??[],...W])if(P.config?.name)M.set(P.id,P.config.name);return{servers:U.servers,diagnostics:$,filteredOutIds:Z,retainedNames:z,namesById:M}}import{logger as vh}from"@hermes/logger";var W8=vh.child({prefix:"pi-mcp"});function gO(Q,X){let Y=Q;if(!Y||typeof Y!=="object"||!Y.id){W8.warn("Embedded MCP config is missing an id; ignoring");return}let J=q5(Y,"tenant");if(!J.ok){W8.warn(`Embedded MCP config '${Y.id}' is not convertible; ignoring: ${J.reason}`);return}let $=X??process.cwd();try{return J.server.type==="stdio"?C1(J.server,$):I1(J.server,$)}catch(W){W8.warn(`Embedded MCP config '${Y.id}' failed expansion; ignoring: ${W instanceof Error?W.message:String(W)}`);return}}function uO(Q,X){let Y;try{Y=JSON.parse(Q)}catch(J){W8.warn(`Failed to parse embedded MCP config: ${J instanceof Error?J.name:"non-Error thrown"}`);return}return gO(Y,X)}function L5(Q,X){let Y=Q;if(typeof Y==="string")try{Y=JSON.parse(Y)}catch(G){W8.warn(`Failed to parse embedded MCP configs: ${G instanceof Error?G.name:"non-Error thrown"}`);return}if(!Array.isArray(Y)){W8.warn("Embedded MCP configs payload is not an array; ignoring");return}let J=[],$=new Map,W=!1;for(let G of Y){let B=G,Z=gO(G,X);if(B&&typeof B==="object"&&B.id&&B.config?.name)$.set(B.id,{name:B.config.name,...Z?{config:Z}:{}});if(B?.config?.disabled){W=!0;continue}if(Z)J.push(Z)}if(J.length===0&&!W)return;return{servers:J,allConfigsById:$}}var N1=fh.child({prefix:"pi-mcp"});function hh(Q,X,Y){Q.dynamicallyAddedConfigIds.add(X),Q.failedAddConfigIds.delete(X),Q.nameCollisionAddConfigIds.delete(X),Q.sessionRemovedConfigIds.delete(X);for(let J of Y)if(J.id!==void 0)Q.registryConfigNamesById.set(J.id,J.name),Q.registryCredentialConfigsById.set(J.id,{...J})}function v1(Q){g0({state:Q.state,domain:u0(Q.configId),epoch:Q.intentEpoch})}function gh(Q){let X=new Set;for(let[Y,J]of Q.servers){let $=a(Q,Y,J);if($.owner.kind==="local"||$.owner.kind==="registry")X.add(Y)}for(let[Y,J]of Q.hostLeases)if(J.owner.kind==="local"||J.owner.kind==="registry")X.add(Y);return X}function mO(Q,X){for(let Y of Q.servers.values())if(Y.config.id===X)return!0;return!1}function lO(Q,X){for(let Y of X.diagnostics)Q.diagnostics.push({...Y,origin:"registry"}),N1.warn(Y.message);for(let[Y,J]of X.namesById??[])Q.registryConfigNamesById.set(Y,J)}function R4(Q,X){let{state:Y,configId:J,superseded:$,hasLiveHostForId:W}=Q;v1(Q);let G=`Live MCP add-server failed for config id ${J}: ${X instanceof Error?X.message:String(X)}`;if(N1.warn(G),$())return;if(Y.diagnostics.push({message:G,origin:"registry"}),!W()){Y.failedAddConfigIds.add(J);return}Y.dynamicallyAddedConfigIds.add(J),Y.sessionRemovedConfigIds.delete(J)}function uh(Q,X){return X.flatMap((Y)=>Y5(Q,Y)?[Y.config]:[])}function mh(Q){return Q.find((X)=>X.status==="failed"||X.status==="unavailable")}function lh(Q,X){let Y=mh(X);if(Y){if(R4(Q,Y.error),Y.error instanceof w1)throw Y.error;return}let J=uh(Q.state,X).filter(($)=>$.id===Q.configId);if(J.length>0&&!Q.superseded()){hh(Q.state,Q.configId,J);return}if(!Q.superseded()&&X.some(($)=>$.status==="collision"))Q.state.failedAddConfigIds.add(Q.configId),Q.state.nameCollisionAddConfigIds.add(Q.configId)}function pO(Q,X){try{lh(Q,X)}finally{if(!Q.superseded())Q.report(Q.state.currentLoad?.latestPi??Q.activePi,Q.state)}}function ph(Q,X){let{state:Y,configId:J,superseded:$,hasLiveHostForId:W}=Q,G=Y.servers.get(X.name);if(!G)return!1;let B=a(Y,X.name,G);if(B.owner.kind==="plugin"||B.owner.kind==="vfs")return!1;if(W())return N1.info(`Live MCP add-server: embedded config id ${J} resolves to already-connected server "${X.name}"; no-op`),!0;let Z=`Live MCP add-server: embedded config id ${J} collides on display name "${X.name}" with an already-connected server; cannot add a second server sharing that name`;if(N1.warn(Z),!$())Y.registryConfigNamesById.set(J,X.name),Y.diagnostics.push({message:Z,origin:"registry"}),Y.failedAddConfigIds.add(J),Y.nameCollisionAddConfigIds.add(J);return!0}async function ch(Q,X){if(Q.state.missingHostRemovals.has(Q.configId))await F8(Q.state,Q.configId);if(Q.superseded()){v1(Q);return}if(ph(Q,X)){v1(Q);return}try{if(!await R9({state:Q.state,config:X,pi:Q.activePi})){v1(Q);return}}catch(Y){throw R4(Q,Y),Y}N1.info(`Live MCP add-server: connecting embedded config id ${Q.configId} (no registry refetch)`);try{let Y=await Q.connect([X],Q.state,Q.activePi,Q.sourceOwnership);pO(Q,Y??[])}catch(Y){if(R4(Q,Y),Y instanceof w1)throw Y}}async function dh(Q,X){let{state:Y,configId:J,superseded:$,hasLiveHostForId:W}=Q;if($()){v1(Q),N1.info(`Live MCP add-server for config id ${J} superseded by a newer selection; discarding`);return}if(X.servers.length===0){if(lO(Y,X),N1.info(`Live MCP add-server: config id ${J} resolved to no new server (already connected, not opted in, or unknown id)`),!W())Y.failedAddConfigIds.add(J);v1(Q);return}if(await F8(Y,J),$()){v1(Q);return}try{if((await Promise.all(X.servers.map((Z)=>R9({state:Y,config:Z,pi:Q.activePi})))).some((Z)=>!Z)){v1(Q);return}}catch(B){throw R4(Q,B),B}N1.info(`Live MCP add-server: connecting ${X.servers.length} server(s) for config id ${J}`);let G=await Q.connect(X.servers,Y,Q.activePi,Q.sourceOwnership);if($()){v1(Q);return}lO(Y,X),pO(Q,G??[])}function ih(Q,X){if(typeof X!=="string")return;return uO(X,Q.workspaceRoot??process.cwd())}function cO(Q){let{pi:X,state:Y,data:J,deps:$}=Q,W=J,G=W&&typeof W.configId==="string"?W.configId:"";if(!G)return N1.warn("augment:mcp-add-server payload missing configId"),Promise.resolve();if(!c4({state:Y,configId:G,generation:W?.attachmentGeneration}))return N1.info(`Ignoring stale live MCP add-server command for config id ${G}`),Promise.resolve();Y.sessionRemovedConfigIds.delete(G);let B=u4({state:Y,domain:u0(G),forceNew:!0}),Z=gh(Y),K=Y.currentLoad?.latestPi??X,z=Y.registryGeneration;Y.liveEditGenerations??=new Map;let H=(Y.liveEditGenerations.get(G)??0)+1;Y.liveEditGenerations.set(G,H);let V=()=>Y.registryGeneration!==z||Y.liveEditGenerations.get(G)!==H,q={state:Y,configId:G,activePi:K,connect:$?.connect??H1,report:$?.report??i,intentEpoch:B.epoch,superseded:V,sourceOwnership:()=>!V(),hasLiveHostForId:()=>mO(Y,G)},F=ih(Y,W?.embeddedConfig),D;if(F)D=ch(q,F);else{let U=Y.credentials;if(U)D=($?.discover??F5)({configIds:[G],creds:U,currentUserId:U.userId,workspaceRoot:Y.workspaceRoot??process.cwd(),localServerNames:Z}).then((P)=>dh(q,P)).catch((P)=>{if(!(P instanceof w1)){R4(q,P);return}throw P});else N1.warn("augment:mcp-add-server received before credentials; cannot fetch registry config"),v1(q),D=Promise.resolve()}return d4({state:Y,configId:G,generation:W?.attachmentGeneration,operation:D,wasApplied:()=>mO(Y,G)})}import{logger as nh}from"@hermes/logger";var f1=nh.child({prefix:"pi-mcp"});function iO(Q){let{selectedIds:X,config:Y}=Q;return X!==void 0&&(Y?.id===void 0||!X.has(Y.id))}function nO(Q){let{state:X,name:Y,lease:J,host:$,isDeselected:W,selectionIsEmpty:G,replacementOwners:B}=Q;if(G){if($){if(!V1({state:X,name:Y,owner:J.owner,revision:J.revision,host:$}))return;return v0(X,Y),"retiring"}return U0({state:X,name:Y,owner:J.owner,revision:J.revision}),v0(X,Y),"released"}let Z=B.get(Y),K=z8({state:X,name:Y,owner:Z??J.owner,expectedRevision:J.revision,...$?{expectedHost:$}:{}});if(!K)return;if(W&&Z===void 0)X.expectedCredentialDomains.set(Y,{kind:"blocked"});return{configRevision:v0(X,Y),leaseRevision:K.lease.revision}}function oh(Q){let{state:X,name:Y,server:J,selectedIds:$,replacementOwners:W,slotReservations:G,processedNames:B}=Q,Z=a(X,Y,J);if(Z.owner.kind!=="registry"||Z.host!==J)return;B.add(Y);let K={...J.config};if(X.registryCredentialConfigs.set(Y,K),J.config.id)X.registryConfigNamesById.set(J.config.id,Y),X.registryCredentialConfigsById.set(J.config.id,K);let z=nO({state:X,name:Y,lease:Z,host:J,isDeselected:iO({selectedIds:$,config:J.config}),selectionIsEmpty:$?.size===0,replacementOwners:W});if(z===void 0)return;if(z!=="released"&&z!=="retiring")G.set(Y,z);let H=p(X,Y)?.retirement;return J.beginDisposal?.(),J.dispose({strict:!0}).then(()=>{if(H)L0({state:X,name:Y,retirement:H,result:{status:"retired"}});if(z==="retiring")U0({state:X,name:Y,owner:Z.owner,revision:Z.revision})},(V)=>{if(H)L0({state:X,name:Y,retirement:H,result:{status:"failed",error:V}});throw V})}function rh(Q){let{state:X,name:Y,lease:J,selectedIds:$,replacementOwners:W,slotReservations:G}=Q,B=nO({state:X,name:Y,lease:J,isDeselected:iO({selectedIds:$,config:X.registryCredentialConfigs.get(Y)}),selectionIsEmpty:$?.size===0,replacementOwners:W});if(B&&B!=="released"&&B!=="retiring")G.set(Y,B)}async function ah(Q,X,Y){let J=X?new Set(X):void 0,$=new Map,W=[],G=new Set;for(let[B,Z]of Q.servers){let K=oh({state:Q,name:B,server:Z,selectedIds:J,replacementOwners:Y,slotReservations:$,processedNames:G});if(K)W.push(K)}for(let[B,Z]of Q.hostLeases){if(G.has(B)||Z.owner.kind!=="registry"||Z.host!==void 0)continue;rh({state:Q,name:B,lease:Z,selectedIds:J,replacementOwners:Y,slotReservations:$})}return await Promise.all(W),$}async function oO(Q,X,Y,J,$){let W=[],G=new Map(X.map((H)=>[H.name,H])),B=$?new Set(Y):new Set,Z=new Set([...B].flatMap((H)=>{let V=Q.registryConfigNamesById.get(H);return V===void 0?[]:[V]})),K=new Set(X.flatMap((H)=>H.id===void 0?[]:[H.id]));for(let[H,V]of Q.registryCredentialConfigs){let q=G.get(H);if(q===void 0&&V.id!==void 0&&J.has(V.id)&&!K.has(V.id)){G.set(H,V);continue}let F=V.id===void 0?Z.has(H):B.has(V.id);if(q===void 0&&!F)W.push(Y1(Q,H,V.id,V))}try{await Promise.all(W)}catch(H){let V=`Registry credential reconciliation failed: ${H instanceof Error?H.message:String(H)}`;throw new w1(V)}let z=new Map;for(let[H,V]of G){let q=Q.registryCredentialConfigs.get(H);if(q){if(z.set(H,{...q}),h0(q,V)&&V.id!==void 0)Q.registryCredentialConfigsById.set(V.id,{...V})}}Q.registryCredentialConfigs=z}function sh(Q,X,Y){let J=X!=null&&X.length>0?new Set(X):void 0,$=[],W=[],G=[],B=[],Z=new Set(Y);for(let H of Q.servers){if(J&&H.id!==void 0&&!J.has(H.id)){G.push(H.id);continue}if(Z.has(H.name)){W.push({server:H.name,message:`Skipped embedded MCP server "${H.name}" (id=${H.id}): a local server with the same name takes precedence`}),B.push(H.name);continue}Z.add(H.name),$.push(H)}let K=new Set($.map((H)=>H.name)),z=new Set(B);for(let[H,{name:V}]of Q.allConfigsById){if(J&&!J.has(H))continue;if(!(K.has(V)||z.has(V)))z.add(V),B.push(V)}return{servers:$,diagnostics:W,filteredOutIds:G,retainedNames:B}}function th(Q){let{state:X,configIds:Y}=Q,J=X.embeddedRegistryConfigs;if(X.embeddedRegistryConfigs=void 0,J===void 0||Y?.length===0)return;return L5(J,X.workspaceRoot??process.cwd())}async function eh(Q){let{state:X,previousSelectedIds:Y,configIds:J}=Q;if(!J)return;let $=new Set(J),W=[],G=[];for(let B of Y){if($.has(B))continue;let Z=X.registryConfigNamesById.get(B),K=[...$].some((z)=>{return X.registryCredentialIntents.get(u0(z))?.configName===Z});if(Z&&!K){let z=X.registryCredentialConfigs.get(Z);W.push({id:B,name:Z}),G.push(Y1(X,Z,B,z?.id===B?z:void 0))}}try{await Promise.all(G);for(let{id:B,name:Z}of W)if(X.registryCredentialConfigs.get(Z)?.id===B)X.registryCredentialConfigs.delete(Z)}catch(B){let Z=`Registry credential deselection failed: ${B instanceof Error?B.message:String(B)}`;throw new w1(Z)}}function Qg(Q){let X=new Map,Y=Q.configIds?new Set(Q.configIds):void 0;for(let[J,{name:$}]of Q.parsedEmbedded?.allConfigsById??[])if(Y===void 0||Y.has(J))X.set($,{kind:"registry",identity:`user:${J}`});return X}function Xg(Q){Q.lastSuccessfulVfsMcpSignature=void 0,Q.blockedVfsMcpNames.clear(),Q.diagnostics=Q.diagnostics.filter((X)=>X.origin!=="registry"),Q.dynamicallyAddedConfigIds.clear(),Q.failedAddConfigIds.clear(),Q.nameCollisionAddConfigIds.clear(),Q.sessionRemovedConfigIds.clear(),Q.selectedRegistryConfigIds=void 0}function Yg(Q){let X=new Set;for(let[Y,J]of Q.servers){let $=a(Q,Y,J);if($.owner.kind==="local"&&$.host===J)X.add(Y)}for(let[Y,J]of Q.hostLeases)if(J.owner.kind==="local")X.add(Y);return X}function Jg(Q){let{state:X,result:Y,previousSelectedIds:J,selection:$}=Q,W=new Set([...$??[],...Y.servers.flatMap((G)=>G.id===void 0?[]:[G.id]),...Y.namesById?.keys()??[]]);return oO(X,Y.servers,J,W,$!==void 0)}async function rO(Q,X){await Promise.all(X.servers.map((Y)=>Y.id===void 0?Promise.resolve():F8(Q,Y.id)))}async function dO(Q){if(await rO(Q.state,Q.result),Q.state.registryGeneration===Q.generation)await Jg(Q);return Q.result}function $g(Q){let{state:X,configIds:Y,parsedEmbedded:J,credentials:$,localServerNames:W,previousSelectedIds:G,selection:B,generation:Z,discover:K}=Q;if(J){f1.info(`Registry selection: using ${J.servers.length} embedded config(s) (no registry fetch)`);let H=sh(J,Y,W);return dO({state:X,result:H,previousSelectedIds:G,selection:B,generation:Z})}if(!$)return;return K({configIds:Y,creds:$,currentUserId:$.userId,workspaceRoot:X.workspaceRoot??process.cwd(),localServerNames:W}).then((H)=>dO({state:X,result:H,previousSelectedIds:G,selection:B,generation:Z}))}function Wg(Q){let{state:X,result:Y,selection:J}=Q;X.selectedRegistryConfigIds=J;for(let $ of Y.diagnostics)X.diagnostics.push({...$,origin:"registry"}),f1.warn($.message);for(let[$,W]of Y.namesById??[])X.registryConfigNamesById.set($,W);if(Y.filteredOutIds.length>0)f1.info(`Registry discovery filtered out ${Y.filteredOutIds.length} server(s) by selection/opt-in/product`)}function Gg(Q){let{state:X,result:Y}=Q,J=Y.servers.map((W)=>{let G=X.sessionRegistryDisabledOverrides.get(W.name);return G===void 0?W:{...W,disabled:G}}),$=new Set([...J.map((W)=>W.name),...Y.retainedNames??[]]);for(let W of X.sessionRegistryDisabledOverrides.keys())if(!$.has(W))X.sessionRegistryDisabledOverrides.delete(W);return J}function Bg(Q){let{state:X,generation:Y}=Q;return(J)=>{if(X.registryGeneration!==Y||J.id===void 0)return X.registryGeneration===Y;let $=X.missingHostRemovalFences.get(J.id);return!X.sessionRemovedConfigIds.has(J.id)&&$?.registryGeneration!==Y}}function W3(Q){let{state:X,result:Y,selection:J,slotReservations:$}=Q,W=new Set([...Y.servers.map((G)=>G.name),...Y.retainedNames??[],...(J??[]).flatMap((G)=>{let B=X.registryConfigNamesById.get(G);return B?[B]:[]})]);for(let[G,B]of $){if(W.has(G))continue;let Z=p(X,G);if(Z?.owner.kind==="registry"&&Z.host===void 0&&Z.revision===B.leaseRevision)U0({state:X,name:G,owner:Z.owner,revision:B.leaseRevision})}}async function Zg(Q){let{state:X,result:Y,selection:J,generation:$,connect:W,pi:G,slotReservations:B}=Q;if(X.registryGeneration!==$){W3({state:X,result:{servers:[],diagnostics:[],filteredOutIds:[]},selection:void 0,slotReservations:B}),f1.info(`Registry discovery superseded by a newer selection; skipping ${Y.servers.length} server(s)`);return}if(await rO(X,Y),X.registryGeneration!==$)return;let Z=Bg({state:X,generation:$}),K=Y.servers.filter(Z);if((await Promise.all(K.map((D)=>R9({state:X,config:D,pi:G})))).some((D)=>!D))return;if(X.registryGeneration!==$)return;Wg({state:X,result:Y,selection:J}),W3({state:X,result:Y,selection:J,slotReservations:B});let H=Gg({state:X,result:{...Y,servers:K}});if(H.length===0)return;let V=H.filter((D)=>{let U=X.servers.get(D.name);if((U?a(X,D.name,U):p(X,D.name))?.owner.kind==="local")return f1.info(`Registry install of "${D.name}" skipped: a local server claimed the name during discovery`),!1;let P=B.get(D.name)?.configRevision;if(P===void 0)return!0;let j=X.configDesiredRevisions.get(D.name);if(j!==P)return f1.info(`Registry install of "${D.name}" skipped: slot revision advanced from ${P} to ${j} by a concurrent operation`),!1;return!0});if(V.length===0)return;f1.info(`Registry discovery: connecting ${V.length} server(s)`);let F=(await W(V,X,X.currentLoad?.latestPi??G,Z))?.find((D)=>D.status==="failed");if(F)throw F.error instanceof Error?F.error:Error(String(F.error))}async function Kg(Q){let{state:X,error:Y,generation:J,previousSelectedIds:$,selection:W}=Q,G=`Registry discovery failed: ${Y instanceof Error?Y.message:String(Y)}`;if(f1.warn(G),X.registryGeneration!==J)return;await oO(X,[],$,new Set(W??[]),W!==void 0),X.selectedRegistryConfigIds=W,X.diagnostics.push({message:G,origin:"registry"})}function zg(Q,X){for(let Y of X??[]){let J=u0(Y),$=Q.registryCredentialIntents.get(J);if($?.configName)Q.expectedCredentialDomains.set($.configName,{kind:"blocked"});g0({state:Q,domain:J,epoch:$?.epoch})}}async function Hg(Q){let X;try{let Y=await Promise.all([Q.disposal,Q.discovery]);X=Y[0],await Zg({...Q.resultArgs,result:Y[1],slotReservations:X})}catch(Y){if(X??=await Q.disposal.catch(()=>new Map),W3({state:Q.resultArgs.state,result:{servers:[],diagnostics:[],filteredOutIds:[]},selection:Q.resultArgs.state.registryGeneration===Q.resultArgs.generation?Q.resultArgs.selection:void 0,slotReservations:X}),Y instanceof w1){if(zg(Q.resultArgs.state,Q.resultArgs.selection),!Q.resultArgs.state.diagnostics.some((J)=>J.message===Y.message))Q.resultArgs.state.diagnostics.push({message:Y.message,origin:"registry"});throw Y}await Kg({...Q.resultArgs,error:Y})}}function aO(Q){let{pi:X,state:Y,data:J,deps:$}=Q,W=$?.discover??F5,G=$?.connect??H1,B=J;if(!B||typeof B!=="object"||Array.isArray(B))return f1.warn("augment:mcp-config-ids payload is not an object"),Promise.resolve();if(Array.isArray(B.configIds))T3(Y,new Set(B.configIds.map(u0)));let Z=th({state:Y,configIds:B.configIds}),K=Y.credentials;if(!(Z||K)){f1.warn("augment:mcp-config-ids received before credentials; skipping registry discovery");for(let M of B.configIds??[])g0({state:Y,domain:u0(M)});return Promise.resolve()}let z=Y.selectedRegistryConfigIds??[],H=eh({state:Y,previousSelectedIds:z,configIds:B.configIds}),V=Qg({parsedEmbedded:Z,configIds:B.configIds}),q=++Y.registryGeneration,F=Promise.all([ah(Y,B.configIds,V),H]).then(([M])=>M);Xg(Y);let D=B.configIds?[...B.configIds]:void 0,U=$g({state:Y,configIds:B.configIds,parsedEmbedded:Z,credentials:K,localServerNames:Yg(Y),previousSelectedIds:z,selection:D,generation:q,discover:W});if(!U)return Promise.resolve();return Hg({disposal:F,discovery:U,resultArgs:{state:Y,previousSelectedIds:z,selection:D,generation:q,connect:G,pi:X}})}import{logger as Vg}from"@hermes/logger";var I9=Vg.child({prefix:"pi-mcp"});function qg(Q,X){g0({state:Q,domain:`user:${X}`}),Q.liveEditGenerations??=new Map;let Y=(Q.liveEditGenerations.get(X)??0)+1;return Q.liveEditGenerations.set(X,Y),Y}function Fg(Q){let{state:X,configId:Y,liveEditGeneration:J}=Q,$={liveEditGeneration:J,registryGeneration:X.registryGeneration};return X.missingHostRemovalFences.set(Y,$),$}function QM(Q){let{state:X,configId:Y,fence:J}=Q;return X.registryGeneration===J.registryGeneration&&X.liveEditGenerations.get(Y)===J.liveEditGeneration}function Lg(Q){let{state:X,configId:Y,fence:J}=Q;if(X.missingHostRemovalFences.get(Y)===J)X.missingHostRemovalFences.delete(Y)}function sO(Q){let{state:X,configId:Y,fence:J,operation:$,retryPreviousFailureOnly:W=!1}=Q,G=X.missingHostRemovals.get(Y),B=(async()=>{let Z=!1;if(G)try{await G.promise}catch{Z=!0}if(W&&!Z)return;await $()})().finally(()=>{if(X.missingHostRemovals.get(Y)?.promise===B)Lg({state:X,configId:Y,fence:J}),X.missingHostRemovals.delete(Y)});return X.missingHostRemovals.set(Y,{promise:B,liveEditGeneration:J.liveEditGeneration,registryGeneration:J.registryGeneration}),B}function XM(Q,X){Q.failedAddConfigIds.delete(X),Q.nameCollisionAddConfigIds.delete(X),Q.dynamicallyAddedConfigIds.delete(X),Q.sessionRemovedConfigIds.add(X)}function tO(Q,X){for(let[Y,J]of Q.servers){let $=a(Q,Y,J);if(J.config.id===X&&$.owner.kind==="registry"&&$.host===J)return Y}return}function YM(Q,X){let Y=Q.preservedCredentialIdentities?.get(X);if(!Y?.id)return;Q.expectedCredentialDomains.set(X,{kind:"domain",domain:`user:${Y.id}`})}function Dg(Q){let{state:X,name:Y,config:J,retirement:$}=Q;if(X.servers.has(Y))return;let W=p(X,Y),G=J?W6(J):void 0;if(W===void 0){v0(X,Y);return}let B=W.host===void 0&&W.owner.kind==="registry"&&G?.kind==="registry"&&W.owner.identity===G.identity,Z=$?.incumbent.owner.kind==="registry"&&G?.kind==="registry"&&$.incumbent.owner.identity===G.identity;if(!B&&!Z)return;if(($?.settled&&W.retirement===$?U3({state:X,name:Y,retiredOwner:$.incumbent.owner,retirement:$}):U0({state:X,name:Y,owner:W.owner,revision:W.revision}))&&p(X,Y)===void 0)YM(X,Y),v0(X,Y)}async function G3(Q){let{state:X,configId:Y,pi:J,report:$,sourceFence:W}=Q,G=X.registryCredentialConfigsById.get(Y),B=G?.name;if(!G||!B){let P=`Live MCP remove-server cannot retire config id ${Y}: exact registry identity is unavailable`;throw I9.warn(P),X.diagnostics.push({message:P,origin:"registry"}),Error(P)}X.configDesiredRevisions??=new Map,X.configDesiredSources??=new Map;let Z=p(X,B),K=W6(G),z=Z?.retirement?.incumbent.owner.kind==="registry"&&K.kind==="registry"&&Z.retirement.incumbent.owner.identity===K.identity?Z.retirement:void 0,H=Z!==void 0&&Z.host===void 0&&Z.owner.kind==="registry"&&K.kind==="registry"&&Z.owner.identity===K.identity,V=X.configDesiredRevisions.get(B),q=X.configDesiredSources.get(B),F=H&&z?.settled!==!0?v0(X,B):void 0;if(z&&!z.settled){if((await z.teardown).status==="retired"&&!H)return}let U=p(X,B)?.retirement===z?z:void 0,M=U?.result;if(z&&M?.status==="failed"&&M.transportDisposed!==!0){let P=M.error instanceof Error?M.error:Error(String(M.error)),j=`Live MCP remove-server cannot complete ${B}: strict transport disposal is unresolved`;throw I9.warn(j),X.diagnostics.push({server:B,message:j}),P}try{await V8(X,B,Y,G)}catch(P){if(F!==void 0&&X.configDesiredRevisions.get(B)===F){if(V===void 0)X.configDesiredRevisions.delete(B);else X.configDesiredRevisions.set(B,V);if(q===void 0)X.configDesiredSources.delete(B);else X.configDesiredSources.set(B,q)}let j=`Live MCP remove-server failed to detach ${B}: ${P instanceof Error?P.message:String(P)}`;throw I9.warn(j),X.diagnostics.push({server:B,message:j}),P}if(QM({state:X,configId:Y,fence:W}))XM(X,Y),Dg({state:X,name:B,config:G,retirement:U});I9.info(`Live MCP remove-server: config id ${Y} resolved to no live server (already removed or unknown id)`),$(X.currentLoad?.latestPi??J,X)}function eO(Q){let{state:X,name:Y,operation:J,result:$}=Q;if($.status!=="rejected")return;let W=`Live MCP remove-server failed to ${J} ${Y}: ${$.reason instanceof Error?$.reason.message:String($.reason)}`;I9.warn(W),X.diagnostics.push({server:Y,message:W})}async function Ug(Q){let{state:X,name:Y,configId:J,server:$}=Q,[W]=await Promise.allSettled([$.dispose({strict:!0})]);if(eO({state:X,name:Y,operation:"dispose",result:W}),W.status==="rejected")return{removed:!1,failure:W.reason,transportDisposed:!1};let[G]=await Promise.allSettled([V8(X,Y,J,$.config)]);return eO({state:X,name:Y,operation:"detach",result:G}),G.status==="fulfilled"?{removed:!0,failure:void 0,transportDisposed:!0}:{removed:!1,failure:G.reason,transportDisposed:!0}}async function Og(Q){let{state:X,configId:Y,name:J,pi:$,report:W,sourceFence:G}=Q,B=X.servers.get(J),Z=B?a(X,J,B):p(X,J);if(!B||!Z||Z.owner.kind!=="registry"||Z.host!==B)return;X.registryConfigNamesById.set(Y,J),X.registryCredentialConfigsById.set(Y,{...B.config});let K=X.configDesiredRevisions.get(J),z=X.configDesiredSources.get(J),H=v0(X,J),V=V1({state:X,name:J,owner:Z.owner,revision:Z.revision,host:B});if(!V)return;B.beginDisposal?.(),I9.info(`Live MCP remove-server: disposing ${J} (config id ${Y})`);let q=X.currentLoad?.latestPi??$,{removed:F,failure:D,transportDisposed:U}=await Ug({state:X,name:J,configId:Y,server:B});if(F&&QM({state:X,configId:Y,fence:G}))XM(X,Y);else if(!F&&X.configDesiredRevisions.get(J)===H){if(K===void 0)X.configDesiredRevisions.delete(J);else X.configDesiredRevisions.set(J,K);if(z===void 0)X.configDesiredSources.delete(J);else X.configDesiredSources.set(J,z)}if(L0({state:X,name:J,retirement:V,result:F?{status:"retired"}:{status:"failed",error:D,transportDisposed:U}}),F){if(U0({state:X,name:J,owner:Z.owner,revision:Z.revision}))YM(X,J)}if(W(q,X),!F)throw D}function JM(Q){let{pi:X,state:Y,data:J,deps:$}=Q,W=J,G=W&&typeof W.configId==="string"?W.configId:"";if(!G)return I9.warn("augment:mcp-remove-server payload missing configId"),Promise.resolve();if(!c4({state:Y,configId:G,generation:W?.attachmentGeneration}))return I9.info(`Ignoring stale live MCP remove-server command for config id ${G}`),Promise.resolve();let B=(U)=>d4({state:Y,configId:G,generation:W?.attachmentGeneration,operation:U,wasApplied:()=>!0}),Z=$?.report??i,K=tO(Y,G),z=Y.registryCredentialConfigsById.get(G),H=z?.name?p(Y,z.name)?.retirement:void 0,V=Y.missingHostRemovals.get(G),q=V?.registryGeneration===Y.registryGeneration&&V?.liveEditGeneration===Y.liveEditGenerations.get(G);if(q&&H===void 0)return B(V.promise);if(q&&H!==void 0){let U=Y.missingHostRemovalFences.get(G);if(U)return B(sO({state:Y,configId:G,fence:U,retryPreviousFailureOnly:!0,operation:()=>G3({state:Y,configId:G,pi:X,report:Z,sourceFence:U})}))}let F=qg(Y,G);if(K===void 0&&z===void 0)return B(G3({state:Y,configId:G,pi:X,report:Z,sourceFence:{liveEditGeneration:F,registryGeneration:Y.registryGeneration}}));let D=Fg({state:Y,configId:G,liveEditGeneration:F});return B(sO({state:Y,configId:G,fence:D,operation:()=>{let U=tO(Y,G);return U===void 0?G3({state:Y,configId:G,pi:X,report:Z,sourceFence:D}):Og({state:Y,configId:G,name:U,pi:X,report:Z,sourceFence:D})}}))}import{logger as Mg}from"@hermes/logger";var E4=Mg.child({prefix:"pi-mcp"}),$M=3,WM=60000,Ag=1000,Pg=8000;function B3(Q){let{pi:X,state:Y,data:J,deps:$}=Q,W=$?.reconnect??w9,G=$?.now??Date.now,B=$?.sleep??v9,Z=$?.report??i,K=J,z=K&&typeof K.serverName==="string"?K.serverName:"";if(!z)return E4.warn("augment:mcp-restart-server payload missing serverName"),Promise.resolve();if(!Y.servers.has(z))return E4.warn(`augment:mcp-restart-server: no live MCP server named ${z}`),Promise.resolve();let H=G(),V=Y.mcpRestartState.get(z),q=V&&H-V.lastRestart<WM?V.count+1:1,F=Y.currentLoad?.latestPi??X;if(q>$M)return E4.warn(`augment:mcp-restart-server: ${z} exceeded ${$M} restarts within ${WM}ms; rejecting`),Z(F,Y),Promise.resolve();Y.mcpRestartState.set(z,{count:q,lastRestart:H});let D=Math.min(Ag*2**(q-1),Pg);return(q>1?B(D):Promise.resolve()).then(()=>{return E4.info(`Live MCP restart-server: reconnecting ${z}`),W(z,Y,F)}).catch((M)=>{let P=`Live MCP restart-server failed for ${z}: ${M instanceof Error?M.message:String(M)}`;E4.warn(P),Y.diagnostics.push({server:z,message:P})}).then(()=>{Z(F,Y)})}import{logger as jg}from"@hermes/logger";var k4=jg.child({prefix:"pi-mcp"}),Ng=/^\d+$/,Z3=1,GM="AUGMENT_ACTIVE_SPACE_ID",bg="augment-mcp-access-token-";function D5(Q){return Q.replace(/[^a-zA-Z0-9_-]/g,"-")}function BM(Q,X){if(X?.["augment:encoding"]!=="base64")return Q;if(/^[A-Za-z0-9+/]*={0,2}$/.test(Q)&&Q.length%4===0)return Buffer.from(Q,"base64").toString("utf-8");return Q}class K3{apiKey;apiUrl;userAgent;fetchImpl;timeoutMs;cache=new Map;inflight=new Map;constructor(Q,X,Y){this.apiKey=Q.apiKey,this.apiUrl=Q.apiUrl.replace(/\/+$/,""),this.userAgent=Q.userAgent,this.fetchImpl=X,this.timeoutMs=Y??g5}lookupBody(Q){let X={name:Q};if(!Q.startsWith(bg)&&Object.hasOwn(process.env,GM))X.active_space_id=process.env[GM]??"";return X}getSecret(Q){let X=D5(Q),Y=this.inflight.get(X);if(Y)return Y;let J=this._resolve(X).finally(()=>{this.inflight.delete(X)});return this.inflight.set(X,J),J}upsertUserSecret(Q,X,Y){return f9(()=>this.upsertUserSecretOnce(Q,X,Y))}async upsertUserSecretOnce(Q,X,Y){let J=D5(Q),W=(await this._callUpsert({name:J,value:X,scope:Z3,...Y===void 0?{}:{expected_version:Y}})).secret?.version;if(typeof W!=="string"||!Ng.test(W))throw Error("user secret upsert response contained an invalid persisted version");let G=BigInt(W).toString();return this.cache.set(J,X),k4.debug(`Upserted user secret "${J}"`),G}async deleteUserSecret(Q){await f9(()=>this.deleteUserSecretOnce(Q))}async deleteUserSecretOnce(Q){let X=D5(Q);this.cache.delete(X),await this._callDelete({name:X,scope:Z3}),k4.debug(`Deleted user secret "${X}"`)}async _callUpsert(Q){let Y=await(this.fetchImpl??fetch)(`${this.apiUrl}/user-secrets/upsert`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify(Q),signal:AbortSignal.timeout(this.timeoutMs)});if(!Y.ok){let J=await Y.text().catch(()=>""),$=J.length>g1?`${J.slice(0,g1)}…[truncated]`:J;throw new q1(Y.status,Y.statusText,$)}return await Y.json()}async _callDelete(Q){let Y=await(this.fetchImpl??fetch)(`${this.apiUrl}/user-secrets/delete`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify(Q),signal:AbortSignal.timeout(this.timeoutMs)});if(!Y.ok){let J=await Y.text().catch(()=>""),$=J.length>g1?`${J.slice(0,g1)}…[truncated]`:J;throw new q1(Y.status,Y.statusText,$)}}async getUserSecretWithVersion(Q){let X=D5(Q);try{let Y=await f9(()=>this._callApi("/mcp-secrets/get",this.lookupBody(X))),J=Y.secret?.value,$=Y.secret?.version;if(J===void 0||$===void 0)return;let W=Y.secret?.scope===Z3||Y.secret?.scope==="SECRET_SCOPE_PRIVATE";return{value:BM(J,Y.secret?.tags),version:W?$:"0"}}catch(Y){if(Y instanceof q1&&Y.statusCode===404)return;throw Y}}async _resolve(Q){let X=await this._tryGet("/mcp-secrets/get",this.lookupBody(Q),Q);if(X.value!==void 0)return this.cache.set(Q,X.value),X.value;if(X.errored){let Y=this.cache.get(Q);if(Y!==void 0)k4.debug(`Secret "${Q}" lookup failed; using cached fallback value`);return Y}this.cache.delete(Q);return}async _tryGet(Q,X,Y){try{let J=await f9(()=>this._callApi(Q,X)),$=J.secret?.value;if($===void 0)return{errored:!1};return{value:BM($,J.secret?.tags),errored:!1}}catch(J){if(J instanceof q1&&J.statusCode===404)return k4.debug(`Secret "${Y}" not found via ${Q} (404)`),{errored:!1};let $=J instanceof Error?J.message:String(J);return k4.debug(`Secret "${Y}" lookup via ${Q} failed: ${$}`),{errored:!0}}}async _callApi(Q,X){let J=await(this.fetchImpl??fetch)(`${this.apiUrl}${Q}`,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json",...this.userAgent?{"User-Agent":this.userAgent}:{}},body:JSON.stringify(X),signal:AbortSignal.timeout(this.timeoutMs)});if(!J.ok){let $=await J.text().catch(()=>""),W=$.length>g1?`${$.slice(0,g1)}…[truncated]`:$;throw new q1(J.status,J.statusText,W)}return await J.json()}}function z3(Q){return{latestPi:Q}}import{randomUUID as wg}from"node:crypto";import{setToolSource as Ig}from"@augmentcode/auggie-v2";import{logger as Cg}from"@hermes/logger";import{Type as Tg}from"@sinclair/typebox";var KM=Cg.child({prefix:"pi-mcp"}),U5="attach-mcp-server",Sg="augment:mcp-attach-request",Rg=15000,Eg={type:"object",properties:{config_id:{type:"string",description:"Id (or name) of the MCP server to attach, as listed among the available unattached servers in find-tool's description."}},required:["config_id"]};function kg(Q,X){let Y=X.trim(),J=Y.toLowerCase(),$=Q.mcpCatalog??[];return $.find((W)=>W.id===Y)??$.find((W)=>W.name.toLowerCase()===J)}function _g(Q,X){return new Promise((Y)=>{let J=setTimeout(()=>{Q.attachResolvers.delete(X),Y(void 0)},Rg);Q.attachResolvers.set(X,($)=>{clearTimeout(J),Q.attachResolvers.delete(X),Y($)})})}function ZM(Q){let X=D8(Q).map((Y)=>`${Y.name} (id: ${Y.id})`);return X.length>0?`Available unattached servers: ${X.join(", ")}.`:"No unattached servers are currently available."}function xg(Q){let{entry:X,state:Y}=Q,J=[...Y.servers.values()].find(($)=>$.config.id===X.id);if(J?.status==="auth_required")return O0(`MCP server "${X.name}" requires authentication. Ask the user to reconnect it from the session MCP panel before trying again.`);if(J?.status==="failed"||Y.failedAddConfigIds.has(X.id))return O0(`MCP server "${X.name}" failed to connect after the attach was accepted. Ask the user to reconnect it from the session MCP panel before trying again.`);return}function yg(Q){let{entry:X,result:Y,state:J}=Q;if(Y===void 0)return O0(`Timed out waiting for the attach request for "${X.name}" to be acknowledged. The server may still attach shortly; check find-tool's server list before retrying.`);if(Y.error==="UNIMPLEMENTED")return J.mcpAttachDisabled=!0,O0("Attaching MCP servers is not enabled for this session. Ask the user to attach the server from the session's MCP settings instead.");if(Y.error==="DENIED")return O0(`The control plane denied the request to attach "${X.name}". Do not retry; ask the user to verify that the server is available for this session.`);if(Y.error!==void 0)return O0(`Could not reach the control plane to attach "${X.name}". Try again later.`);switch(Y.status){case"ACCEPTED":return O0(`Attach accepted for "${X.name}". Connection continues in the background; use find-tool to discover its tools when ready. If its tools do not appear, call attach-mcp-server again with the same config id for connection guidance.`);case"ALREADY_ATTACHED":return O0(`MCP server "${X.name}" is already attached to this session. Use find-tool to discover its tools.`);case"AUTH_REQUIRED":return O0(`MCP server "${X.name}" requires authentication — the user must connect it from the session MCP panel before it can be attached.`);case"NO_ACTIVE_VM":return O0(`Could not reach the control plane to attach "${X.name}". Try again later.`);default:return O0(`The attach request for "${X.name}" returned an unrecognized status. Check find-tool's server list shortly to see whether it attached.`)}}async function vg(Q,X,Y){if(X.mcpAttachDisabled)return O0("Attaching MCP servers is not enabled for this session. Ask the user to attach the server from the session's MCP settings instead.");let{config_id:J}=Y??{};if(typeof J!=="string"||J.trim().length===0)throw Error(`${U5} requires a string "config_id" parameter. ${ZM(X)}`);let $=kg(X,J);if(!$)return O0(`No MCP server matching "${J}" is available to attach. ${ZM(X)}`);let W=xg({entry:$,state:X});if(W!==void 0)return W;if(f5(X,$))return O0(`MCP server "${$.name}" is already attached to this session. Use find-tool to discover its tools.`);if($.state!=="available"&&$.state!=="opt_in_required")return O0(`MCP server "${$.name}" is not currently available to attach. Ask the user to attach it from the session's MCP settings.`);let G=wg();KM.info(`attach-mcp-server: requesting attach of "${$.name}" (config=${$.id} request=${G})`);let B=_g(X,G);Q.events.emit(Sg,{configId:$.id,requestId:G});let Z=await B;return yg({entry:$,result:Z,state:X})}function H3(Q,X){let Y={name:U5,label:U5,description:"Attach an available MCP server to this session so its tools become usable. Only servers listed as available-but-not-attached in find-tool's description can be attached. Call this tool immediately when the user's request needs one of those servers; it attaches directly without requiring user approval.",parameters:Tg.Unsafe(Eg),execute:(J,$)=>vg(Q,X,$)};Ig(U5,"mcp"),Q.registerTool(Y),KM.debug("Registered attach-mcp-server tool")}import{logger as fg}from"@hermes/logger";var G8=fg.child({prefix:"pi-mcp"});async function hg(Q){let X=[];for(let[Y,J]of Q.servers){let $=a(Q,Y,J);if($.owner.kind!=="vfs"||$.host!==J)continue;let W=V1({state:Q,name:Y,owner:$.owner,revision:$.revision,host:J});if(!W)continue;v0(Q,Y);let G=Y1(Q,Y,J.config.id,J.config);J.beginDisposal?.(),X.push(Promise.allSettled([G,J.dispose({strict:!0})]).then((B)=>{let Z=B.find((K)=>K.status==="rejected");if(Z)throw L0({state:Q,name:Y,retirement:W,result:{status:"failed",error:Z.reason}}),Z.reason;L0({state:Q,name:Y,retirement:W,result:{status:"retired"}}),U0({state:Q,name:Y,owner:$.owner,revision:$.revision})}))}await Promise.all(X)}function gg(Q,X){for(let Y of X??[])if(typeof Y?.message==="string")Q.diagnostics.push({message:Y.message,origin:"vfs"}),G8.warn(Y.message)}function ug(Q){let{state:X,name:Y,stored:J,higherPriorityNames:$,blockedNames:W,workspaceRoot:G}=Q;if($.has(Y)){W.add(Y);let B=`VFS MCP server "${Y}" ignored: a higher-priority server with the same name takes precedence`;X.diagnostics.push({server:Y,message:B,origin:"vfs"}),G8.warn(B);return}try{let B=B6(Y,J);return{...B.type==="stdio"?C1(B,G):I1(B,G),vfsSource:"vfs"}}catch(B){let Z=B instanceof T1?B.message:`Failed to normalize VFS MCP server "${Y}": ${B instanceof Error?B.message:String(B)}`;X.diagnostics.push({server:Y,message:Z,origin:"vfs"}),G8.warn(Z);return}}function mg(Q,X){let Y=new Set;for(let[G,B]of Q.servers){let Z=a(Q,G,B);if(Z.owner.kind!=="vfs"&&Z.host===B)Y.add(G)}for(let[G,B]of Q.hostLeases)if(B.owner.kind!=="vfs")Y.add(G);let J=Q.workspaceRoot??process.cwd(),$=[],W=new Set;for(let[G,B]of Object.entries(X.servers??{})){if(B===null)continue;let Z=ug({state:Q,name:G,stored:B,higherPriorityNames:Y,blockedNames:W,workspaceRoot:J});if(Z)$.push(Z)}return{servers:$,blockedNames:W}}function lg(Q){for(let X of Q.blockedVfsMcpNames){let Y=Q.hostLeases.get(X);if(!Y||Y.owner.kind==="vfs")return!1}return!0}function zM(Q){let{pi:X,state:Y,data:J,deps:$}=Q,W=$?.connect??H1,G=J;if(!G||typeof G!=="object"||Array.isArray(G))return G8.warn("augment:mcp-vfs-servers payload is not an object"),Promise.resolve();let B=typeof G.signature==="string"?G.signature:void 0;if(B!==void 0&&B===Y.lastSuccessfulVfsMcpSignature&&lg(Y))return Promise.resolve();let Z=++Y.vfsGeneration,K=new Set,z=hg(Y);return Y.diagnostics=Y.diagnostics.filter((H)=>H.origin!=="vfs"),Y.lastSuccessfulVfsMcpSignature=void 0,Y.blockedVfsMcpNames.clear(),z.then(()=>{if(Y.vfsGeneration!==Z)return!1;gg(Y,G.diagnostics);let{servers:H,blockedNames:V}=mg(Y,G);if(K=V,H.length===0){if(B!==void 0)Y.lastSuccessfulVfsMcpSignature=B,Y.blockedVfsMcpNames=V;return!1}return G8.info(`VFS MCP overlay: connecting ${H.length} server(s)`),W(H,Y,Y.currentLoad?.latestPi??X,()=>Y.vfsGeneration===Z).then((q)=>{let F=q?.find((D)=>D.status==="failed"||D.status==="unavailable");if(F)throw F.error instanceof Error?F.error:Error(String(F.error));return H.every((D)=>(q??[]).some((U)=>U.config===D&&Y5(Y,U)))})}).then((H)=>{if(!H)return;if(B!==void 0&&Y.vfsGeneration===Z)Y.lastSuccessfulVfsMcpSignature=B,Y.blockedVfsMcpNames=K}).catch((H)=>{let V=`VFS MCP overlay connect failed: ${H instanceof Error?H.message:String(H)}`;if(G8.warn(V),Y.vfsGeneration===Z)Y.diagnostics.push({message:V,origin:"vfs"})})}var X1=pg.child({prefix:"pi-mcp"}),FM="augment:mcp-oauth-credentials",HM="augment:mcp-header-secrets",VM="augment:credentials",cg="augment:mcp-config-ids",qM="augment:mcp-configs",dg="augment:mcp-vfs-servers",ig="augment:mcp-add-server",ng="augment:mcp-restart-server",og="augment:mcp-remove-server";function rg(Q){if(!Q.secretsClient)return;if(Q.tokens instanceof e4)return;let X=Q.tokens;Q.tokens=new e4(()=>Q.secretsClient,()=>Q.shouldProactivelyRefreshTokens,X.snapshot()),X1.debug("Installed durable BackendTokenStore (durable ops gated at runtime)")}function ag(Q){if(!Q||typeof Q!=="object"){X1.warn(`${FM} payload is not an object`);return}let X=Q,Y=X.suppressReconnect===!0&&typeof X.credentials==="object"&&X.credentials!==null&&!Array.isArray(X.credentials);return{credentials:Y?X.credentials:Q,restart:Y&&X.restart&&typeof X.restart==="object"?X.restart:void 0,suppressReconnect:Y,targetConfigId:Y&&typeof X.targetConfigId==="string"?X.targetConfigId:void 0}}function sg(Q){let{pi:X,state:Y,payload:J}=Q;if(J.targetConfigId){kU({pi:X,state:Y,update:{configId:J.targetConfigId,credentials:J.credentials}});return}if(Object.keys(J.credentials).length>0)Y.shouldProactivelyRefreshTokens=!1;let $=new Set;for(let G of Object.keys(J.credentials)){let B=Y.servers.get(G)?.getRefreshInFlight?.();if(B)$.add(B)}let W=()=>{let G=$u({pi:X,state:Y,credentials:J.credentials,suppressReconnect:J.suppressReconnect}),{restart:B}=J;if(typeof B?.serverName!=="string"||typeof B.requestId!=="string")return;if(G.applied.includes(B.serverName)){B3({pi:X,state:Y,data:{serverName:B.serverName,requestId:B.requestId}});return}if(Object.hasOwn(J.credentials,B.serverName)&&!G.equal.includes(B.serverName))X1.warn("MCP restart credential was rejected; keeping the existing host"),Y.diagnostics.push({server:B.serverName,message:"MCP restart credential was rejected; keeping the existing host"})};if($.size===0){W();return}Promise.allSettled($).then(W)}function tg(Q,X){if(X.credsListenerBound)return;X.credsListenerBound=!0,Q.events.on(FM,(Y)=>{let J=ag(Y);if(J)sg({pi:Q,state:X,payload:J})})}function eg(Q){let{state:X,name:Y,revision:J}=Q,$=J1(J.domain);if(X.pendingRegistryCredentialDomains.has($)&&X.registryCredentialIntents.has($))return!1;let W=X.expectedCredentialDomains.get(Y),G=X.oauthCredentialDomains.get(Y),B=X.servers.get(Y),Z=B?.config.id;if(W===void 0&&G===void 0)return B?.config.registrySource!==void 0&&Z!==void 0&&u0(Z)===$;return W?.kind==="domain"&&W.domain===$||G===J.domain}function Qu(Q){let{state:X,domain:Y}=Q,J=J1(Y);return X.pendingRegistryCredentialDomains.has(J)&&X.registryCredentialIntents.has(J)}function Xu(Q){let{state:X,credentials:Y,suppressReconnect:J}=Q,$={};for(let[W,G]of Object.entries(Y)){let B=J6(G);if(B===void 0){$[W]=G;continue}if(Qu({state:X,domain:B.domain})){S3({state:X,revision:B,credential:G,suppressReconnect:J});continue}if(eg({state:X,name:W,revision:B})){$[W]=G;continue}C3({state:X,serverName:W,revision:B,credential:G,suppressReconnect:J})}return $}function Yu(Q){let{state:X,applicable:Y,seeded:J}=Q;for(let $ of J){let W=Y[$],G=J6(W);if(G===void 0)X.credentialRevisions.delete($),X.hostedCredentialOwnership.delete($);else X.credentialRevisions.set($,G),X.hostedCredentialOwnership.set($,{...G,accessTokenOnly:W?.refresh_token===void 0});X.statusFailureCategories.delete($),X.authRefreshNeededReportKeys.delete($),X.tokens.clearAuthRequired($)}}function Ju(Q){let{pi:X,state:Y,seeded:J,suppressReconnect:$}=Q;if($)return;let W=Y.currentLoad?.latestPi??X;for(let G of J){let B=Y.servers.get(G),Z=Y.expectedCredentialDomains.get(G),K=p(Y,G),z=Z?.kind!=="domain"||K?.owner.kind==="registry"&&K.owner.identity===Z.domain;if(B&&z&&B.config.type!=="stdio"&&B.config.auth==="oauth")w9(G,Y,W).catch(()=>{return}).finally(()=>{i(W,Y),S0(Y)})}}function $u(Q){let{pi:X,state:Y,credentials:J,suppressReconnect:$}=Q;Y.oauthCredentialRevisions??=new Map,Y.oauthCredentialDomains??=new Map,Y.credentialRevisions??=new Map,Y.expectedCredentialDomains??=new Map;let W=Xu({state:Y,credentials:J,suppressReconnect:$}),G=J5(Y.tokens,W,{acceptedRevisions:Y.oauthCredentialRevisions,acceptedDomains:Y.oauthCredentialDomains,expectedDomains:Y.expectedCredentialDomains,equalRevisionRebindDomains:Y.equalRevisionRebindDomains,requireRevision:!0});if(Yu({state:Y,applicable:W,seeded:G.applied}),G.applied.length===0)return G;return X1.info(`Seeded MCP OAuth token(s) for ${G.applied.length} server(s)`),Ju({pi:X,state:Y,seeded:G.applied,suppressReconnect:$}),G}function Wu(Q,X){if(X.headerSecretsListenerBound)return;X.headerSecretsListenerBound=!0,Q.events.on(HM,(Y)=>{if(!Y||typeof Y!=="object"||Array.isArray(Y)){X1.warn(`${HM} payload is not an object`);return}let J=Y,$=typeof J.secrets==="object"&&J.secrets!==null&&!Array.isArray(J.secrets);FG(X,$?J.secrets:Y,{authoritative:$&&J.authoritative===!0})})}function Gu(Q,X){if(X.configIdsListenerBound)return;X.configIdsListenerBound=!0,Q.events.on(VM,(Y)=>{let J=Y;if(!J||typeof J.apiKey!=="string"||typeof J.apiUrl!=="string"){X1.warn(`${VM} payload missing apiKey or apiUrl`);return}X.credentials={apiKey:J.apiKey,apiUrl:J.apiUrl,...typeof J.userAgent==="string"?{userAgent:J.userAgent}:{},...typeof J.userId==="string"?{userId:J.userId}:{}},X.secretsClient=new K3(X.credentials),rg(X)}),Q.events.on(cg,(Y)=>{if(!X.mcpAttachCloudSignaled)X.mcpAttachCloudSignaled=!0,H3(X.currentLoad?.latestPi??Q,X);aO({pi:Q,state:X,data:Y}).then(()=>{i(X.currentLoad?.latestPi??Q,X)}).catch((J)=>{X1.warn(`Registry config apply did not retire credentials durably: ${J instanceof Error?J.message:String(J)}`),i(X.currentLoad?.latestPi??Q,X)}).finally(()=>{let J=X.currentLoad?.latestPi??Q;S0(X),H5(J,X)})})}function Bu(Q,X){if(X.mcpConfigsListenerBound)return;X.mcpConfigsListenerBound=!0,Q.events.on(qM,(Y)=>{let $=Y?.configs;if($!==void 0&&!Array.isArray($)){X1.warn(`${qM} payload configs is not an array`),X.embeddedRegistryConfigs=void 0;return}if(X.embeddedRegistryConfigs=$,$!==void 0){let W=L5($,X.workspaceRoot??process.cwd());for(let{config:G}of W?.allConfigsById.values()??[])if(G)R9({state:X,config:G,pi:Q}).catch((B)=>{X1.warn(`Embedded MCP credential intent did not retire durably: ${B instanceof Error?B.message:String(B)}`)})}X1.info(`Stored ${$===void 0?0:$.length} embedded MCP config(s) for the next registry selection`)})}function Zu(Q,X){if(X.vfsListenerBound)return;X.vfsListenerBound=!0,Q.events.on(dg,(Y)=>{zM({pi:Q,state:X,data:Y}).then(()=>{i(X.currentLoad?.latestPi??Q,X),S0(X)})})}function Ku(Q,X){if(X.addServerListenerBound)return;X.addServerListenerBound=!0,Q.events.on(ig,(Y)=>{cO({pi:Q,state:X,data:Y}).then(()=>{i(X.currentLoad?.latestPi??Q,X)}).catch((J)=>{X1.warn(`Live MCP add-server did not retire credentials durably: ${J instanceof Error?J.message:String(J)}`),i(X.currentLoad?.latestPi??Q,X)}).finally(()=>{let J=X.currentLoad?.latestPi??Q;S0(X),H5(J,X)})})}function zu(Q,X){if(X.restartServerListenerBound)return;X.restartServerListenerBound=!0,Q.events.on(ng,(Y)=>{B3({pi:Q,state:X,data:Y}).then(()=>{S0(X)})})}function Hu(Q,X){if(X.removeServerListenerBound)return;X.removeServerListenerBound=!0,Q.events.on(og,(Y)=>{JM({pi:Q,state:X,data:Y}).catch((J)=>{X1.warn(`Live MCP remove-server did not retire durably: ${J instanceof Error?J.message:String(J)}`)}).finally(()=>{let J=X.currentLoad?.latestPi??Q;S0(X),H5(J,X)})})}function Y10(Q){return VG(Q)}function Vu(Q){let X=Y0();X.currentLoad=z3(Q);let Y=!1;if(kO(Q,X),tg(Q,X),Wu(Q,X),Gu(Q,X),Bu(Q,X),Zu(Q,X),Ku(Q,X),zu(Q,X),Hu(Q,X),xO(Q,X),yO(Q,X),X.mcpAttachCloudSignaled)H3(Q,X);Q.on("session_start",(J,$)=>{X.currentLoad=z3(Q),X.workspaceRoot=$.cwd;let W=$.mcpConfigOverride;if(X.mcpConfigOverride=Array.isArray(W)&&W.length>0?W:void 0,X.ui=$.ui,fO(X),X.connectStarted){if(K6(X))y9(Q),o4(Q);else p3(Q,X);S0(X)}else{if(X.connectStarted=!0,L8())y9(Q);let{servers:G,diagnostics:B}=Z6($.cwd,$.agentDir,X.mcpConfigOverride,X.sessionMcpConfigDisabledOverrides);for(let Z of B)X.diagnostics.push(Z),X1.warn(Z.message);H1(G,X,Q).then(()=>SU(X)).catch(()=>{}).finally(()=>{i(X.currentLoad?.latestPi??Q,X),S0(X)})}if(!Y)Y=!0,Q.events.emit(XO,GO(Q,X))}),Q.on("session_shutdown",()=>{hO(X)})}export{Y10 as setMcpErrorReporter,Vu as default};
|
|
89
150
|
|
|
90
|
-
//# debugId=
|
|
151
|
+
//# debugId=7F432F4F1462A6FC64756E2164756E21
|