@swifty.js/swifty 0.0.21 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-ZCMBUWLZ.js → agent-5T7KNC7V.js} +1 -1
- package/dist/{anthropic-4ZVG7AMA.js → anthropic-P2R4GW6F.js} +1 -1
- package/dist/{chunk-Y5WGBAGP.js → chunk-HJIGA37J.js} +1 -1
- package/dist/{chunk-DDBH5AEN.js → chunk-L73IHJF4.js} +53 -53
- package/dist/{chunk-S6ZADC7C.js → chunk-NEAR6YPZ.js} +1 -1
- package/dist/{chunk-MUPVOATV.js → chunk-NLNH3IRT.js} +1 -1
- package/dist/{chunk-6E6UA7MT.js → chunk-YQQVB6VB.js} +9 -8
- package/dist/lib/agent-2AGRYN3R.js +9 -0
- package/dist/lib/anthropic-GFWP3ORB.js +22 -0
- package/dist/lib/bwrap-QRGPUP4J.js +6 -0
- package/dist/lib/checker-IIXJXQCB.js +19 -0
- package/dist/lib/chunk-6GOWRPYS.js +339 -0
- package/dist/lib/chunk-7URDLWQN.js +426 -0
- package/dist/lib/chunk-C7IHCJZ3.js +849 -0
- package/dist/lib/chunk-EJLGB2EJ.js +377 -0
- package/dist/lib/chunk-GHF2PSEW.js +8 -0
- package/dist/lib/chunk-GNBXECZN.js +243 -0
- package/dist/lib/chunk-HK2Z6WP4.js +223 -0
- package/dist/lib/chunk-LUEP4JMF.js +549 -0
- package/dist/lib/chunk-ORSYNBMM.js +38 -0
- package/dist/lib/chunk-RR2CZ6CY.js +598 -0
- package/dist/lib/chunk-UHVO63Y7.js +1246 -0
- package/dist/lib/chunk-UMFNTXKA.js +88 -0
- package/dist/lib/chunk-VUD72RTY.js +39 -0
- package/dist/lib/glob.wasm +0 -0
- package/dist/lib/index.d.ts +5350 -0
- package/dist/lib/index.js +12002 -0
- package/dist/lib/openai-HXRMPNB7.js +15 -0
- package/dist/lib/seatbelt-FT5IY73W.js +6 -0
- package/dist/lib/tool-filter-VF7TZRE5.js +19 -0
- package/dist/main.js +225 -225
- package/dist/{openai-HXD52MZB.js → openai-TVUUHRG7.js} +1 -1
- package/dist/{server-VMHWEO2Y.js → server-ZTLHJWEQ.js} +14 -14
- package/package.json +14 -2
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __swiftyCreateRequire } from "node:module";
|
|
3
3
|
const require = __swiftyCreateRequire(import.meta.url);
|
|
4
|
-
import{b as Gl,h as ms}from"./chunk-S6ZADC7C.js";import{a as rr}from"./chunk-6E6UA7MT.js";import{a as Ue,b as Rl,c as ds,d as As}from"./chunk-MUPVOATV.js";import{e as Hl,f as or}from"./chunk-GUXBLUNR.js";import{a as Ll}from"./chunk-ZZQE743W.js";import{a as gt}from"./chunk-7MHXMDYC.js";import{A as Ul,B as Fl,C as $,D as C,I as T,K as ni,L as Ol,M as Hr,O,Q as et,R as Yr,S,T as ps,a as xl,d as Tl,e as Se,f as Dl,g as $l,h as A,i as Pl,j as J,k as K,l as jl,m as Nl,n as ne,o as _,p as k,q as le,r as re,s as ri,t as oi,u as X,v as Re,w as b,x as se,y as zl,z as si}from"./chunk-LX2LK3TF.js";import{a as fs,b as Yl,c as Jl,f as Wl}from"./chunk-A2VR3BC4.js";import{a as ql}from"./chunk-E55KH72M.js";import{a as ft,b as Q,d as us}from"./chunk-X3UA5OZL.js";var no=Q(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.regexpCode=W.getEsmExportName=W.getProperty=W.safeStringify=W.stringify=W.strConcat=W.addCodeArg=W.str=W._=W.nil=W._Code=W.Name=W.IDENTIFIER=W._CodeOrName=void 0;var oo=class{};W._CodeOrName=oo;W.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Dt=class extends oo{constructor(e){if(super(),!W.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};W.Name=Dt;var Pe=class extends oo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,o)=>`${r}${o}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,o)=>(o instanceof Dt&&(r[o.str]=(r[o.str]||0)+1),r),{})}};W._Code=Pe;W.nil=new Pe("");function hu(t,...e){let r=[t[0]],o=0;for(;o<e.length;)Pi(r,e[o]),r.push(t[++o]);return new Pe(r)}W._=hu;var $i=new Pe("+");function Eu(t,...e){let r=[so(t[0])],o=0;for(;o<e.length;)r.push($i),Pi(r,e[o]),r.push($i,so(t[++o]));return gE(r),new Pe(r)}W.str=Eu;function Pi(t,e){e instanceof Pe?t.push(...e._items):e instanceof Dt?t.push(e):t.push(yE(e))}W.addCodeArg=Pi;function gE(t){let e=1;for(;e<t.length-1;){if(t[e]===$i){let r=hE(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function hE(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Dt||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Dt))return`"${t}${e.slice(1)}`}function EE(t,e){return e.emptyStr()?t:t.emptyStr()?e:Eu`${t}${e}`}W.strConcat=EE;function yE(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:so(Array.isArray(t)?t.join(","):t)}function wE(t){return new Pe(so(t))}W.stringify=wE;function so(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}W.safeStringify=so;function CE(t){return typeof t=="string"&&W.IDENTIFIER.test(t)?new Pe(`.${t}`):hu`[${t}]`}W.getProperty=CE;function IE(t){if(typeof t=="string"&&W.IDENTIFIER.test(t))return new Pe(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}W.getEsmExportName=IE;function BE(t){return new Pe(t.toString())}W.regexpCode=BE});var zi=Q(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.ValueScope=Me.ValueScopeName=Me.Scope=Me.varKinds=Me.UsedValueState=void 0;var ke=no(),ji=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},vs;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(vs||(Me.UsedValueState=vs={}));Me.varKinds={const:new ke.Name("const"),let:new ke.Name("let"),var:new ke.Name("var")};var bs=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof ke.Name?e:this.name(e)}name(e){return new ke.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,o;if(!((o=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||o===void 0)&&o.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Me.Scope=bs;var xs=class extends ke.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:o}){this.value=e,this.scopePath=(0,ke._)`.${new ke.Name(r)}[${o}]`}};Me.ValueScopeName=xs;var QE=(0,ke._)`\n`,Ni=class extends bs{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?QE:ke.nil}}get(){return this._scope}name(e){return new xs(e,this._newName(e))}value(e,r){var o;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:n}=s,i=(o=r.key)!==null&&o!==void 0?o:r.ref,a=this._values[n];if(a){let l=a.get(i);if(l)return l}else a=this._values[n]=new Map;a.set(i,s);let c=this._scope[n]||(this._scope[n]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:n,itemIndex:u}),s}getValue(e,r){let o=this._values[e];if(o)return o.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,o=>{if(o.scopePath===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return(0,ke._)`${e}${o.scopePath}`})}scopeCode(e=this._values,r,o){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,o)}_reduceValues(e,r,o={},s){let n=ke.nil;for(let i in e){let a=e[i];if(!a)continue;let c=o[i]=o[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,vs.Started);let l=r(u);if(l){let d=this.opts.es5?Me.varKinds.var:Me.varKinds.const;n=(0,ke._)`${n}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))n=(0,ke._)`${n}${l}${this.opts._n}`;else throw new ji(u);c.set(u,vs.Completed)})}return n}};Me.ValueScope=Ni});var U=Q(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var G=no(),Fe=zi(),wt=no();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return wt._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return wt.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return wt.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return wt.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return wt.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return wt.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return wt.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return wt.Name}});var $s=zi();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return $s.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return $s.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return $s.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return $s.varKinds}});F.operators={GT:new G._Code(">"),GTE:new G._Code(">="),LT:new G._Code("<"),LTE:new G._Code("<="),EQ:new G._Code("==="),NEQ:new G._Code("!=="),NOT:new G._Code("!"),OR:new G._Code("||"),AND:new G._Code("&&"),ADD:new G._Code("+")};var rt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Ui=class extends rt{constructor(e,r,o){super(),this.varKind=e,this.name=r,this.rhs=o}render({es5:e,_n:r}){let o=e?Fe.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${o} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=lr(this.rhs,e,r)),this}get names(){return this.rhs instanceof G._CodeOrName?this.rhs.names:{}}},Rs=class extends rt{constructor(e,r,o){super(),this.lhs=e,this.rhs=r,this.sideEffects=o}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof G.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=lr(this.rhs,e,r),this}get names(){let e=this.lhs instanceof G.Name?{}:{...this.lhs.names};return Ds(e,this.rhs)}},Fi=class extends Rs{constructor(e,r,o,s){super(e,o,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Oi=class extends rt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Li=class extends rt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},qi=class extends rt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Gi=class extends rt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=lr(this.code,e,r),this}get names(){return this.code instanceof G._CodeOrName?this.code.names:{}}},io=class extends rt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,o)=>r+o.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let o=e[r].optimizeNodes();Array.isArray(o)?e.splice(r,1,...o):o?e[r]=o:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:o}=this,s=o.length;for(;s--;){let n=o[s];n.optimizeNames(e,r)||(_E(e,n.names),o.splice(s,1))}return o.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>jt(e,r.names),{})}},ot=class extends io{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Hi=class extends io{},cr=class extends ot{};cr.kind="else";var $t=class t extends ot{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let o=r.optimizeNodes();r=this.else=Array.isArray(o)?new cr(o):o}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(yu(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var o;if(this.else=(o=this.else)===null||o===void 0?void 0:o.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=lr(this.condition,e,r),this}get names(){let e=super.names;return Ds(e,this.condition),this.else&&jt(e,this.else.names),e}};$t.kind="if";var Pt=class extends ot{};Pt.kind="for";var Yi=class extends Pt{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=lr(this.iteration,e,r),this}get names(){return jt(super.names,this.iteration.names)}},Ji=class extends Pt{constructor(e,r,o,s){super(),this.varKind=e,this.name=r,this.from=o,this.to=s}render(e){let r=e.es5?Fe.varKinds.var:this.varKind,{name:o,from:s,to:n}=this;return`for(${r} ${o}=${s}; ${o}<${n}; ${o}++)`+super.render(e)}get names(){let e=Ds(super.names,this.from);return Ds(e,this.to)}},Ts=class extends Pt{constructor(e,r,o,s){super(),this.loop=e,this.varKind=r,this.name=o,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=lr(this.iterable,e,r),this}get names(){return jt(super.names,this.iterable.names)}},ao=class extends ot{constructor(e,r,o){super(),this.name=e,this.args=r,this.async=o}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};ao.kind="func";var co=class extends io{render(e){return"return "+super.render(e)}};co.kind="return";var Wi=class extends ot{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var o,s;return super.optimizeNames(e,r),(o=this.catch)===null||o===void 0||o.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&jt(e,this.catch.names),this.finally&&jt(e,this.finally.names),e}},lo=class extends ot{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};lo.kind="catch";var uo=class extends ot{render(e){return"finally"+super.render(e)}};uo.kind="finally";var Vi=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
5
|
-
`:""},this._extScope=e,this._scope=new Fe.Scope({parent:e}),this._nodes=[new Hi]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let o=this._extScope.value(e,r);return(this._values[o.prefix]||(this._values[o.prefix]=new Set)).add(o),o}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,o,s){let n=this._scope.toName(r);return o!==void 0&&s&&(this._constants[n.str]=o),this._leafNode(new Ui(e,n,o)),n}const(e,r,o){return this._def(Fe.varKinds.const,e,r,o)}let(e,r,o){return this._def(Fe.varKinds.let,e,r,o)}var(e,r,o){return this._def(Fe.varKinds.var,e,r,o)}assign(e,r,o){return this._leafNode(new Rs(e,r,o))}add(e,r){return this._leafNode(new Fi(e,F.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==G.nil&&this._leafNode(new Gi(e)),this}object(...e){let r=["{"];for(let[o,s]of e)r.length>1&&r.push(","),r.push(o),(o!==s||this.opts.es5)&&(r.push(":"),(0,G.addCodeArg)(r,s));return r.push("}"),new G._Code(r)}if(e,r,o){if(this._blockNode(new $t(e)),r&&o)this.code(r).else().code(o).endIf();else if(r)this.code(r).endIf();else if(o)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new $t(e))}else(){return this._elseNode(new cr)}endIf(){return this._endBlockNode($t,cr)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Yi(e),r)}forRange(e,r,o,s,n=this.opts.es5?Fe.varKinds.var:Fe.varKinds.let){let i=this._scope.toName(e);return this._for(new Ji(n,i,r,o),()=>s(i))}forOf(e,r,o,s=Fe.varKinds.const){let n=this._scope.toName(e);if(this.opts.es5){let i=r instanceof G.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,G._)`${i}.length`,a=>{this.var(n,(0,G._)`${i}[${a}]`),o(n)})}return this._for(new Ts("of",s,n,r),()=>o(n))}forIn(e,r,o,s=this.opts.es5?Fe.varKinds.var:Fe.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,G._)`Object.keys(${r})`,o);let n=this._scope.toName(e);return this._for(new Ts("in",s,n,r),()=>o(n))}endFor(){return this._endBlockNode(Pt)}label(e){return this._leafNode(new Oi(e))}break(e){return this._leafNode(new Li(e))}return(e){let r=new co;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(co)}try(e,r,o){if(!r&&!o)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Wi;if(this._blockNode(s),this.code(e),r){let n=this.name("e");this._currNode=s.catch=new lo(n),r(n)}return o&&(this._currNode=s.finally=new uo,this.code(o)),this._endBlockNode(lo,uo)}throw(e){return this._leafNode(new qi(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let o=this._nodes.length-r;if(o<0||e!==void 0&&o!==e)throw new Error(`CodeGen: wrong number of nodes: ${o} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=G.nil,o,s){return this._blockNode(new ao(e,r,o)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(ao)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let o=this._currNode;if(o instanceof e||r&&o instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof $t))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};F.CodeGen=Vi;function jt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ds(t,e){return e instanceof G._CodeOrName?jt(t,e.names):t}function lr(t,e,r){if(t instanceof G.Name)return o(t);if(!s(t))return t;return new G._Code(t._items.reduce((n,i)=>(i instanceof G.Name&&(i=o(i)),i instanceof G._Code?n.push(...i._items):n.push(i),n),[]));function o(n){let i=r[n.str];return i===void 0||e[n.str]!==1?n:(delete e[n.str],i)}function s(n){return n instanceof G._Code&&n._items.some(i=>i instanceof G.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function _E(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function yu(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,G._)`!${Ki(t)}`}F.not=yu;var SE=wu(F.operators.AND);function kE(...t){return t.reduce(SE)}F.and=kE;var ME=wu(F.operators.OR);function vE(...t){return t.reduce(ME)}F.or=vE;function wu(t){return(e,r)=>e===G.nil?r:r===G.nil?e:(0,G._)`${Ki(e)} ${t} ${Ki(r)}`}function Ki(t){return t instanceof G.Name?t:(0,G._)`(${t})`}});var H=Q(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.checkStrictMode=L.getErrorPath=L.Type=L.useFunc=L.setEvaluated=L.evaluatedPropsToName=L.mergeEvaluated=L.eachItem=L.unescapeJsonPointer=L.escapeJsonPointer=L.escapeFragment=L.unescapeFragment=L.schemaRefOrVal=L.schemaHasRulesButRef=L.schemaHasRules=L.checkUnknownRules=L.alwaysValidSchema=L.toHash=void 0;var Z=U(),bE=no();function xE(t){let e={};for(let r of t)e[r]=!0;return e}L.toHash=xE;function RE(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Bu(t,e),!Qu(e,t.self.RULES.all))}L.alwaysValidSchema=RE;function Bu(t,e=t.schema){let{opts:r,self:o}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=o.RULES.keywords;for(let n in e)s[n]||ku(t,`unknown keyword: "${n}"`)}L.checkUnknownRules=Bu;function Qu(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}L.schemaHasRules=Qu;function TE(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}L.schemaHasRulesButRef=TE;function DE({topSchemaRef:t,schemaPath:e},r,o,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,Z._)`${r}`}return(0,Z._)`${t}${e}${(0,Z.getProperty)(o)}`}L.schemaRefOrVal=DE;function $E(t){return _u(decodeURIComponent(t))}L.unescapeFragment=$E;function PE(t){return encodeURIComponent(Xi(t))}L.escapeFragment=PE;function Xi(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}L.escapeJsonPointer=Xi;function _u(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}L.unescapeJsonPointer=_u;function jE(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}L.eachItem=jE;function Cu({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:o}){return(s,n,i,a)=>{let c=i===void 0?n:i instanceof Z.Name?(n instanceof Z.Name?t(s,n,i):e(s,n,i),i):n instanceof Z.Name?(e(s,i,n),n):r(n,i);return a===Z.Name&&!(c instanceof Z.Name)?o(s,c):c}}L.mergeEvaluated={props:Cu({mergeNames:(t,e,r)=>t.if((0,Z._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,Z._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,Z._)`${r} || {}`).code((0,Z._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,Z._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,Z._)`${r} || {}`),ea(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Su}),items:Cu({mergeNames:(t,e,r)=>t.if((0,Z._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,Z._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,Z._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,Z._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Su(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,Z._)`{}`);return e!==void 0&&ea(t,r,e),r}L.evaluatedPropsToName=Su;function ea(t,e,r){Object.keys(r).forEach(o=>t.assign((0,Z._)`${e}${(0,Z.getProperty)(o)}`,!0))}L.setEvaluated=ea;var Iu={};function NE(t,e){return t.scopeValue("func",{ref:e,code:Iu[e.code]||(Iu[e.code]=new bE._Code(e.code))})}L.useFunc=NE;var Zi;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Zi||(L.Type=Zi={}));function zE(t,e,r){if(t instanceof Z.Name){let o=e===Zi.Num;return r?o?(0,Z._)`"[" + ${t} + "]"`:(0,Z._)`"['" + ${t} + "']"`:o?(0,Z._)`"/" + ${t}`:(0,Z._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,Z.getProperty)(t).toString():"/"+Xi(t)}L.getErrorPath=zE;function ku(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}L.checkStrictMode=ku});var st=Q(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});var ye=U(),UE={data:new ye.Name("data"),valCxt:new ye.Name("valCxt"),instancePath:new ye.Name("instancePath"),parentData:new ye.Name("parentData"),parentDataProperty:new ye.Name("parentDataProperty"),rootData:new ye.Name("rootData"),dynamicAnchors:new ye.Name("dynamicAnchors"),vErrors:new ye.Name("vErrors"),errors:new ye.Name("errors"),this:new ye.Name("this"),self:new ye.Name("self"),scope:new ye.Name("scope"),json:new ye.Name("json"),jsonPos:new ye.Name("jsonPos"),jsonLen:new ye.Name("jsonLen"),jsonPart:new ye.Name("jsonPart")};ta.default=UE});var Ao=Q(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.extendErrors=we.resetErrorsCount=we.reportExtraError=we.reportError=we.keyword$DataError=we.keywordError=void 0;var Y=U(),Ps=H(),Be=st();we.keywordError={message:({keyword:t})=>(0,Y.str)`must pass "${t}" keyword validation`};we.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Y.str)`"${t}" keyword must be ${e} ($data)`:(0,Y.str)`"${t}" keyword is invalid ($data)`};function FE(t,e=we.keywordError,r,o){let{it:s}=t,{gen:n,compositeRule:i,allErrors:a}=s,c=bu(t,e,r);o??(i||a)?Mu(n,c):vu(s,(0,Y._)`[${c}]`)}we.reportError=FE;function OE(t,e=we.keywordError,r){let{it:o}=t,{gen:s,compositeRule:n,allErrors:i}=o,a=bu(t,e,r);Mu(s,a),n||i||vu(o,Be.default.vErrors)}we.reportExtraError=OE;function LE(t,e){t.assign(Be.default.errors,e),t.if((0,Y._)`${Be.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Y._)`${Be.default.vErrors}.length`,e),()=>t.assign(Be.default.vErrors,null)))}we.resetErrorsCount=LE;function qE({gen:t,keyword:e,schemaValue:r,data:o,errsCount:s,it:n}){if(s===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",s,Be.default.errors,a=>{t.const(i,(0,Y._)`${Be.default.vErrors}[${a}]`),t.if((0,Y._)`${i}.instancePath === undefined`,()=>t.assign((0,Y._)`${i}.instancePath`,(0,Y.strConcat)(Be.default.instancePath,n.errorPath))),t.assign((0,Y._)`${i}.schemaPath`,(0,Y.str)`${n.errSchemaPath}/${e}`),n.opts.verbose&&(t.assign((0,Y._)`${i}.schema`,r),t.assign((0,Y._)`${i}.data`,o))})}we.extendErrors=qE;function Mu(t,e){let r=t.const("err",e);t.if((0,Y._)`${Be.default.vErrors} === null`,()=>t.assign(Be.default.vErrors,(0,Y._)`[${r}]`),(0,Y._)`${Be.default.vErrors}.push(${r})`),t.code((0,Y._)`${Be.default.errors}++`)}function vu(t,e){let{gen:r,validateName:o,schemaEnv:s}=t;s.$async?r.throw((0,Y._)`new ${t.ValidationError}(${e})`):(r.assign((0,Y._)`${o}.errors`,e),r.return(!1))}var Nt={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function bu(t,e,r){let{createErrors:o}=t.it;return o===!1?(0,Y._)`{}`:GE(t,e,r)}function GE(t,e,r={}){let{gen:o,it:s}=t,n=[HE(s,r),YE(t,r)];return JE(t,e,n),o.object(...n)}function HE({errorPath:t},{instancePath:e}){let r=e?(0,Y.str)`${t}${(0,Ps.getErrorPath)(e,Ps.Type.Str)}`:t;return[Be.default.instancePath,(0,Y.strConcat)(Be.default.instancePath,r)]}function YE({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:o}){let s=o?e:(0,Y.str)`${e}/${t}`;return r&&(s=(0,Y.str)`${s}${(0,Ps.getErrorPath)(r,Ps.Type.Str)}`),[Nt.schemaPath,s]}function JE(t,{params:e,message:r},o){let{keyword:s,data:n,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;o.push([Nt.keyword,s],[Nt.params,typeof e=="function"?e(t):e||(0,Y._)`{}`]),c.messages&&o.push([Nt.message,typeof r=="function"?r(t):r]),c.verbose&&o.push([Nt.schema,i],[Nt.parentSchema,(0,Y._)`${l}${d}`],[Be.default.data,n]),u&&o.push([Nt.propertyName,u])}});var Ru=Q(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.boolOrEmptySchema=ur.topBoolOrEmptySchema=void 0;var WE=Ao(),VE=U(),KE=st(),ZE={message:"boolean schema is false"};function XE(t){let{gen:e,schema:r,validateName:o}=t;r===!1?xu(t,!1):typeof r=="object"&&r.$async===!0?e.return(KE.default.data):(e.assign((0,VE._)`${o}.errors`,null),e.return(!0))}ur.topBoolOrEmptySchema=XE;function ey(t,e){let{gen:r,schema:o}=t;o===!1?(r.var(e,!1),xu(t)):r.var(e,!0)}ur.boolOrEmptySchema=ey;function xu(t,e){let{gen:r,data:o}=t,s={gen:r,keyword:"false schema",data:o,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,WE.reportError)(s,ZE,void 0,e)}});var ra=Q(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.getRules=dr.isJSONType=void 0;var ty=["string","number","integer","boolean","null","object","array"],ry=new Set(ty);function oy(t){return typeof t=="string"&&ry.has(t)}dr.isJSONType=oy;function sy(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}dr.getRules=sy});var oa=Q(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.shouldUseRule=Ct.shouldUseGroup=Ct.schemaHasRulesForType=void 0;function ny({schema:t,self:e},r){let o=e.RULES.types[r];return o&&o!==!0&&Tu(t,o)}Ct.schemaHasRulesForType=ny;function Tu(t,e){return e.rules.some(r=>Du(t,r))}Ct.shouldUseGroup=Tu;function Du(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(o=>t[o]!==void 0))}Ct.shouldUseRule=Du});var po=Q(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.reportTypeError=Ce.checkDataTypes=Ce.checkDataType=Ce.coerceAndCheckDataType=Ce.getJSONTypes=Ce.getSchemaTypes=Ce.DataType=void 0;var iy=ra(),ay=oa(),cy=Ao(),N=U(),$u=H(),Ar;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Ar||(Ce.DataType=Ar={}));function ly(t){let e=Pu(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ce.getSchemaTypes=ly;function Pu(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(iy.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ce.getJSONTypes=Pu;function uy(t,e){let{gen:r,data:o,opts:s}=t,n=dy(e,s.coerceTypes),i=e.length>0&&!(n.length===0&&e.length===1&&(0,ay.schemaHasRulesForType)(t,e[0]));if(i){let a=na(e,o,s.strictNumbers,Ar.Wrong);r.if(a,()=>{n.length?Ay(t,e,n):ia(t)})}return i}Ce.coerceAndCheckDataType=uy;var ju=new Set(["string","number","integer","boolean","null"]);function dy(t,e){return e?t.filter(r=>ju.has(r)||e==="array"&&r==="array"):[]}function Ay(t,e,r){let{gen:o,data:s,opts:n}=t,i=o.let("dataType",(0,N._)`typeof ${s}`),a=o.let("coerced",(0,N._)`undefined`);n.coerceTypes==="array"&&o.if((0,N._)`${i} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>o.assign(s,(0,N._)`${s}[0]`).assign(i,(0,N._)`typeof ${s}`).if(na(e,s,n.strictNumbers),()=>o.assign(a,s))),o.if((0,N._)`${a} !== undefined`);for(let u of r)(ju.has(u)||u==="array"&&n.coerceTypes==="array")&&c(u);o.else(),ia(t),o.endIf(),o.if((0,N._)`${a} !== undefined`,()=>{o.assign(s,a),py(t,a)});function c(u){switch(u){case"string":o.elseIf((0,N._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,N._)`"" + ${s}`).elseIf((0,N._)`${s} === null`).assign(a,(0,N._)`""`);return;case"number":o.elseIf((0,N._)`${i} == "boolean" || ${s} === null
|
|
4
|
+
import{b as Gl,h as ms}from"./chunk-NEAR6YPZ.js";import{a as rr}from"./chunk-YQQVB6VB.js";import{a as Ue,b as Rl,c as ds,d as As}from"./chunk-NLNH3IRT.js";import{e as Hl,f as or}from"./chunk-GUXBLUNR.js";import{a as Ll}from"./chunk-ZZQE743W.js";import{a as gt}from"./chunk-7MHXMDYC.js";import{A as Ul,B as Fl,C as $,D as C,I as T,K as ni,L as Ol,M as Hr,O,Q as et,R as Yr,S,T as ps,a as xl,d as Tl,e as Se,f as Dl,g as $l,h as A,i as Pl,j as J,k as K,l as jl,m as Nl,n as ne,o as _,p as k,q as le,r as re,s as ri,t as oi,u as X,v as Re,w as b,x as se,y as zl,z as si}from"./chunk-LX2LK3TF.js";import{a as fs,b as Yl,c as Jl,f as Wl}from"./chunk-A2VR3BC4.js";import{a as ql}from"./chunk-E55KH72M.js";import{a as ft,b as Q,d as us}from"./chunk-X3UA5OZL.js";var no=Q(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.regexpCode=W.getEsmExportName=W.getProperty=W.safeStringify=W.stringify=W.strConcat=W.addCodeArg=W.str=W._=W.nil=W._Code=W.Name=W.IDENTIFIER=W._CodeOrName=void 0;var oo=class{};W._CodeOrName=oo;W.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Dt=class extends oo{constructor(e){if(super(),!W.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};W.Name=Dt;var Pe=class extends oo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,o)=>`${r}${o}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,o)=>(o instanceof Dt&&(r[o.str]=(r[o.str]||0)+1),r),{})}};W._Code=Pe;W.nil=new Pe("");function hu(t,...e){let r=[t[0]],o=0;for(;o<e.length;)Pi(r,e[o]),r.push(t[++o]);return new Pe(r)}W._=hu;var $i=new Pe("+");function Eu(t,...e){let r=[so(t[0])],o=0;for(;o<e.length;)r.push($i),Pi(r,e[o]),r.push($i,so(t[++o]));return gE(r),new Pe(r)}W.str=Eu;function Pi(t,e){e instanceof Pe?t.push(...e._items):e instanceof Dt?t.push(e):t.push(yE(e))}W.addCodeArg=Pi;function gE(t){let e=1;for(;e<t.length-1;){if(t[e]===$i){let r=hE(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function hE(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Dt||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Dt))return`"${t}${e.slice(1)}`}function EE(t,e){return e.emptyStr()?t:t.emptyStr()?e:Eu`${t}${e}`}W.strConcat=EE;function yE(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:so(Array.isArray(t)?t.join(","):t)}function wE(t){return new Pe(so(t))}W.stringify=wE;function so(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}W.safeStringify=so;function CE(t){return typeof t=="string"&&W.IDENTIFIER.test(t)?new Pe(`.${t}`):hu`[${t}]`}W.getProperty=CE;function IE(t){if(typeof t=="string"&&W.IDENTIFIER.test(t))return new Pe(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}W.getEsmExportName=IE;function BE(t){return new Pe(t.toString())}W.regexpCode=BE});var zi=Q(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.ValueScope=ve.ValueScopeName=ve.Scope=ve.varKinds=ve.UsedValueState=void 0;var ke=no(),ji=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ms;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Ms||(ve.UsedValueState=Ms={}));ve.varKinds={const:new ke.Name("const"),let:new ke.Name("let"),var:new ke.Name("var")};var bs=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof ke.Name?e:this.name(e)}name(e){return new ke.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,o;if(!((o=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||o===void 0)&&o.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};ve.Scope=bs;var xs=class extends ke.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:o}){this.value=e,this.scopePath=(0,ke._)`.${new ke.Name(r)}[${o}]`}};ve.ValueScopeName=xs;var QE=(0,ke._)`\n`,Ni=class extends bs{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?QE:ke.nil}}get(){return this._scope}name(e){return new xs(e,this._newName(e))}value(e,r){var o;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:n}=s,i=(o=r.key)!==null&&o!==void 0?o:r.ref,a=this._values[n];if(a){let l=a.get(i);if(l)return l}else a=this._values[n]=new Map;a.set(i,s);let c=this._scope[n]||(this._scope[n]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:n,itemIndex:u}),s}getValue(e,r){let o=this._values[e];if(o)return o.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,o=>{if(o.scopePath===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return(0,ke._)`${e}${o.scopePath}`})}scopeCode(e=this._values,r,o){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,o)}_reduceValues(e,r,o={},s){let n=ke.nil;for(let i in e){let a=e[i];if(!a)continue;let c=o[i]=o[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Ms.Started);let l=r(u);if(l){let d=this.opts.es5?ve.varKinds.var:ve.varKinds.const;n=(0,ke._)`${n}${d} ${u} = ${l};${this.opts._n}`}else if(l=s?.(u))n=(0,ke._)`${n}${l}${this.opts._n}`;else throw new ji(u);c.set(u,Ms.Completed)})}return n}};ve.ValueScope=Ni});var U=Q(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var G=no(),Fe=zi(),wt=no();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return wt._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return wt.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return wt.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return wt.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return wt.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return wt.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return wt.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return wt.Name}});var $s=zi();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return $s.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return $s.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return $s.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return $s.varKinds}});F.operators={GT:new G._Code(">"),GTE:new G._Code(">="),LT:new G._Code("<"),LTE:new G._Code("<="),EQ:new G._Code("==="),NEQ:new G._Code("!=="),NOT:new G._Code("!"),OR:new G._Code("||"),AND:new G._Code("&&"),ADD:new G._Code("+")};var rt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Ui=class extends rt{constructor(e,r,o){super(),this.varKind=e,this.name=r,this.rhs=o}render({es5:e,_n:r}){let o=e?Fe.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return`${o} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=lr(this.rhs,e,r)),this}get names(){return this.rhs instanceof G._CodeOrName?this.rhs.names:{}}},Rs=class extends rt{constructor(e,r,o){super(),this.lhs=e,this.rhs=r,this.sideEffects=o}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof G.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=lr(this.rhs,e,r),this}get names(){let e=this.lhs instanceof G.Name?{}:{...this.lhs.names};return Ds(e,this.rhs)}},Fi=class extends Rs{constructor(e,r,o,s){super(e,o,s),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Oi=class extends rt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Li=class extends rt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},qi=class extends rt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Gi=class extends rt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=lr(this.code,e,r),this}get names(){return this.code instanceof G._CodeOrName?this.code.names:{}}},io=class extends rt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,o)=>r+o.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let o=e[r].optimizeNodes();Array.isArray(o)?e.splice(r,1,...o):o?e[r]=o:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:o}=this,s=o.length;for(;s--;){let n=o[s];n.optimizeNames(e,r)||(_E(e,n.names),o.splice(s,1))}return o.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>jt(e,r.names),{})}},ot=class extends io{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Hi=class extends io{},cr=class extends ot{};cr.kind="else";var $t=class t extends ot{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let o=r.optimizeNodes();r=this.else=Array.isArray(o)?new cr(o):o}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(yu(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var o;if(this.else=(o=this.else)===null||o===void 0?void 0:o.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=lr(this.condition,e,r),this}get names(){let e=super.names;return Ds(e,this.condition),this.else&&jt(e,this.else.names),e}};$t.kind="if";var Pt=class extends ot{};Pt.kind="for";var Yi=class extends Pt{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=lr(this.iteration,e,r),this}get names(){return jt(super.names,this.iteration.names)}},Ji=class extends Pt{constructor(e,r,o,s){super(),this.varKind=e,this.name=r,this.from=o,this.to=s}render(e){let r=e.es5?Fe.varKinds.var:this.varKind,{name:o,from:s,to:n}=this;return`for(${r} ${o}=${s}; ${o}<${n}; ${o}++)`+super.render(e)}get names(){let e=Ds(super.names,this.from);return Ds(e,this.to)}},Ts=class extends Pt{constructor(e,r,o,s){super(),this.loop=e,this.varKind=r,this.name=o,this.iterable=s}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=lr(this.iterable,e,r),this}get names(){return jt(super.names,this.iterable.names)}},ao=class extends ot{constructor(e,r,o){super(),this.name=e,this.args=r,this.async=o}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};ao.kind="func";var co=class extends io{render(e){return"return "+super.render(e)}};co.kind="return";var Wi=class extends ot{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var o,s;return super.optimizeNames(e,r),(o=this.catch)===null||o===void 0||o.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&jt(e,this.catch.names),this.finally&&jt(e,this.finally.names),e}},lo=class extends ot{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};lo.kind="catch";var uo=class extends ot{render(e){return"finally"+super.render(e)}};uo.kind="finally";var Vi=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
5
|
+
`:""},this._extScope=e,this._scope=new Fe.Scope({parent:e}),this._nodes=[new Hi]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let o=this._extScope.value(e,r);return(this._values[o.prefix]||(this._values[o.prefix]=new Set)).add(o),o}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,o,s){let n=this._scope.toName(r);return o!==void 0&&s&&(this._constants[n.str]=o),this._leafNode(new Ui(e,n,o)),n}const(e,r,o){return this._def(Fe.varKinds.const,e,r,o)}let(e,r,o){return this._def(Fe.varKinds.let,e,r,o)}var(e,r,o){return this._def(Fe.varKinds.var,e,r,o)}assign(e,r,o){return this._leafNode(new Rs(e,r,o))}add(e,r){return this._leafNode(new Fi(e,F.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==G.nil&&this._leafNode(new Gi(e)),this}object(...e){let r=["{"];for(let[o,s]of e)r.length>1&&r.push(","),r.push(o),(o!==s||this.opts.es5)&&(r.push(":"),(0,G.addCodeArg)(r,s));return r.push("}"),new G._Code(r)}if(e,r,o){if(this._blockNode(new $t(e)),r&&o)this.code(r).else().code(o).endIf();else if(r)this.code(r).endIf();else if(o)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new $t(e))}else(){return this._elseNode(new cr)}endIf(){return this._endBlockNode($t,cr)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Yi(e),r)}forRange(e,r,o,s,n=this.opts.es5?Fe.varKinds.var:Fe.varKinds.let){let i=this._scope.toName(e);return this._for(new Ji(n,i,r,o),()=>s(i))}forOf(e,r,o,s=Fe.varKinds.const){let n=this._scope.toName(e);if(this.opts.es5){let i=r instanceof G.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,G._)`${i}.length`,a=>{this.var(n,(0,G._)`${i}[${a}]`),o(n)})}return this._for(new Ts("of",s,n,r),()=>o(n))}forIn(e,r,o,s=this.opts.es5?Fe.varKinds.var:Fe.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,G._)`Object.keys(${r})`,o);let n=this._scope.toName(e);return this._for(new Ts("in",s,n,r),()=>o(n))}endFor(){return this._endBlockNode(Pt)}label(e){return this._leafNode(new Oi(e))}break(e){return this._leafNode(new Li(e))}return(e){let r=new co;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(co)}try(e,r,o){if(!r&&!o)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Wi;if(this._blockNode(s),this.code(e),r){let n=this.name("e");this._currNode=s.catch=new lo(n),r(n)}return o&&(this._currNode=s.finally=new uo,this.code(o)),this._endBlockNode(lo,uo)}throw(e){return this._leafNode(new qi(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let o=this._nodes.length-r;if(o<0||e!==void 0&&o!==e)throw new Error(`CodeGen: wrong number of nodes: ${o} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=G.nil,o,s){return this._blockNode(new ao(e,r,o)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(ao)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let o=this._currNode;if(o instanceof e||r&&o instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof $t))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};F.CodeGen=Vi;function jt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ds(t,e){return e instanceof G._CodeOrName?jt(t,e.names):t}function lr(t,e,r){if(t instanceof G.Name)return o(t);if(!s(t))return t;return new G._Code(t._items.reduce((n,i)=>(i instanceof G.Name&&(i=o(i)),i instanceof G._Code?n.push(...i._items):n.push(i),n),[]));function o(n){let i=r[n.str];return i===void 0||e[n.str]!==1?n:(delete e[n.str],i)}function s(n){return n instanceof G._Code&&n._items.some(i=>i instanceof G.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function _E(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function yu(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,G._)`!${Ki(t)}`}F.not=yu;var SE=wu(F.operators.AND);function kE(...t){return t.reduce(SE)}F.and=kE;var vE=wu(F.operators.OR);function ME(...t){return t.reduce(vE)}F.or=ME;function wu(t){return(e,r)=>e===G.nil?r:r===G.nil?e:(0,G._)`${Ki(e)} ${t} ${Ki(r)}`}function Ki(t){return t instanceof G.Name?t:(0,G._)`(${t})`}});var H=Q(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.checkStrictMode=L.getErrorPath=L.Type=L.useFunc=L.setEvaluated=L.evaluatedPropsToName=L.mergeEvaluated=L.eachItem=L.unescapeJsonPointer=L.escapeJsonPointer=L.escapeFragment=L.unescapeFragment=L.schemaRefOrVal=L.schemaHasRulesButRef=L.schemaHasRules=L.checkUnknownRules=L.alwaysValidSchema=L.toHash=void 0;var Z=U(),bE=no();function xE(t){let e={};for(let r of t)e[r]=!0;return e}L.toHash=xE;function RE(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Bu(t,e),!Qu(e,t.self.RULES.all))}L.alwaysValidSchema=RE;function Bu(t,e=t.schema){let{opts:r,self:o}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=o.RULES.keywords;for(let n in e)s[n]||ku(t,`unknown keyword: "${n}"`)}L.checkUnknownRules=Bu;function Qu(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}L.schemaHasRules=Qu;function TE(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}L.schemaHasRulesButRef=TE;function DE({topSchemaRef:t,schemaPath:e},r,o,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,Z._)`${r}`}return(0,Z._)`${t}${e}${(0,Z.getProperty)(o)}`}L.schemaRefOrVal=DE;function $E(t){return _u(decodeURIComponent(t))}L.unescapeFragment=$E;function PE(t){return encodeURIComponent(Xi(t))}L.escapeFragment=PE;function Xi(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}L.escapeJsonPointer=Xi;function _u(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}L.unescapeJsonPointer=_u;function jE(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}L.eachItem=jE;function Cu({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:o}){return(s,n,i,a)=>{let c=i===void 0?n:i instanceof Z.Name?(n instanceof Z.Name?t(s,n,i):e(s,n,i),i):n instanceof Z.Name?(e(s,i,n),n):r(n,i);return a===Z.Name&&!(c instanceof Z.Name)?o(s,c):c}}L.mergeEvaluated={props:Cu({mergeNames:(t,e,r)=>t.if((0,Z._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,Z._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,Z._)`${r} || {}`).code((0,Z._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,Z._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,Z._)`${r} || {}`),ea(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Su}),items:Cu({mergeNames:(t,e,r)=>t.if((0,Z._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,Z._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,Z._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,Z._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Su(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,Z._)`{}`);return e!==void 0&&ea(t,r,e),r}L.evaluatedPropsToName=Su;function ea(t,e,r){Object.keys(r).forEach(o=>t.assign((0,Z._)`${e}${(0,Z.getProperty)(o)}`,!0))}L.setEvaluated=ea;var Iu={};function NE(t,e){return t.scopeValue("func",{ref:e,code:Iu[e.code]||(Iu[e.code]=new bE._Code(e.code))})}L.useFunc=NE;var Zi;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Zi||(L.Type=Zi={}));function zE(t,e,r){if(t instanceof Z.Name){let o=e===Zi.Num;return r?o?(0,Z._)`"[" + ${t} + "]"`:(0,Z._)`"['" + ${t} + "']"`:o?(0,Z._)`"/" + ${t}`:(0,Z._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,Z.getProperty)(t).toString():"/"+Xi(t)}L.getErrorPath=zE;function ku(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}L.checkStrictMode=ku});var st=Q(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});var ye=U(),UE={data:new ye.Name("data"),valCxt:new ye.Name("valCxt"),instancePath:new ye.Name("instancePath"),parentData:new ye.Name("parentData"),parentDataProperty:new ye.Name("parentDataProperty"),rootData:new ye.Name("rootData"),dynamicAnchors:new ye.Name("dynamicAnchors"),vErrors:new ye.Name("vErrors"),errors:new ye.Name("errors"),this:new ye.Name("this"),self:new ye.Name("self"),scope:new ye.Name("scope"),json:new ye.Name("json"),jsonPos:new ye.Name("jsonPos"),jsonLen:new ye.Name("jsonLen"),jsonPart:new ye.Name("jsonPart")};ta.default=UE});var Ao=Q(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.extendErrors=we.resetErrorsCount=we.reportExtraError=we.reportError=we.keyword$DataError=we.keywordError=void 0;var Y=U(),Ps=H(),Be=st();we.keywordError={message:({keyword:t})=>(0,Y.str)`must pass "${t}" keyword validation`};we.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Y.str)`"${t}" keyword must be ${e} ($data)`:(0,Y.str)`"${t}" keyword is invalid ($data)`};function FE(t,e=we.keywordError,r,o){let{it:s}=t,{gen:n,compositeRule:i,allErrors:a}=s,c=bu(t,e,r);o??(i||a)?vu(n,c):Mu(s,(0,Y._)`[${c}]`)}we.reportError=FE;function OE(t,e=we.keywordError,r){let{it:o}=t,{gen:s,compositeRule:n,allErrors:i}=o,a=bu(t,e,r);vu(s,a),n||i||Mu(o,Be.default.vErrors)}we.reportExtraError=OE;function LE(t,e){t.assign(Be.default.errors,e),t.if((0,Y._)`${Be.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Y._)`${Be.default.vErrors}.length`,e),()=>t.assign(Be.default.vErrors,null)))}we.resetErrorsCount=LE;function qE({gen:t,keyword:e,schemaValue:r,data:o,errsCount:s,it:n}){if(s===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",s,Be.default.errors,a=>{t.const(i,(0,Y._)`${Be.default.vErrors}[${a}]`),t.if((0,Y._)`${i}.instancePath === undefined`,()=>t.assign((0,Y._)`${i}.instancePath`,(0,Y.strConcat)(Be.default.instancePath,n.errorPath))),t.assign((0,Y._)`${i}.schemaPath`,(0,Y.str)`${n.errSchemaPath}/${e}`),n.opts.verbose&&(t.assign((0,Y._)`${i}.schema`,r),t.assign((0,Y._)`${i}.data`,o))})}we.extendErrors=qE;function vu(t,e){let r=t.const("err",e);t.if((0,Y._)`${Be.default.vErrors} === null`,()=>t.assign(Be.default.vErrors,(0,Y._)`[${r}]`),(0,Y._)`${Be.default.vErrors}.push(${r})`),t.code((0,Y._)`${Be.default.errors}++`)}function Mu(t,e){let{gen:r,validateName:o,schemaEnv:s}=t;s.$async?r.throw((0,Y._)`new ${t.ValidationError}(${e})`):(r.assign((0,Y._)`${o}.errors`,e),r.return(!1))}var Nt={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function bu(t,e,r){let{createErrors:o}=t.it;return o===!1?(0,Y._)`{}`:GE(t,e,r)}function GE(t,e,r={}){let{gen:o,it:s}=t,n=[HE(s,r),YE(t,r)];return JE(t,e,n),o.object(...n)}function HE({errorPath:t},{instancePath:e}){let r=e?(0,Y.str)`${t}${(0,Ps.getErrorPath)(e,Ps.Type.Str)}`:t;return[Be.default.instancePath,(0,Y.strConcat)(Be.default.instancePath,r)]}function YE({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:o}){let s=o?e:(0,Y.str)`${e}/${t}`;return r&&(s=(0,Y.str)`${s}${(0,Ps.getErrorPath)(r,Ps.Type.Str)}`),[Nt.schemaPath,s]}function JE(t,{params:e,message:r},o){let{keyword:s,data:n,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;o.push([Nt.keyword,s],[Nt.params,typeof e=="function"?e(t):e||(0,Y._)`{}`]),c.messages&&o.push([Nt.message,typeof r=="function"?r(t):r]),c.verbose&&o.push([Nt.schema,i],[Nt.parentSchema,(0,Y._)`${l}${d}`],[Be.default.data,n]),u&&o.push([Nt.propertyName,u])}});var Ru=Q(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.boolOrEmptySchema=ur.topBoolOrEmptySchema=void 0;var WE=Ao(),VE=U(),KE=st(),ZE={message:"boolean schema is false"};function XE(t){let{gen:e,schema:r,validateName:o}=t;r===!1?xu(t,!1):typeof r=="object"&&r.$async===!0?e.return(KE.default.data):(e.assign((0,VE._)`${o}.errors`,null),e.return(!0))}ur.topBoolOrEmptySchema=XE;function ey(t,e){let{gen:r,schema:o}=t;o===!1?(r.var(e,!1),xu(t)):r.var(e,!0)}ur.boolOrEmptySchema=ey;function xu(t,e){let{gen:r,data:o}=t,s={gen:r,keyword:"false schema",data:o,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,WE.reportError)(s,ZE,void 0,e)}});var ra=Q(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.getRules=dr.isJSONType=void 0;var ty=["string","number","integer","boolean","null","object","array"],ry=new Set(ty);function oy(t){return typeof t=="string"&&ry.has(t)}dr.isJSONType=oy;function sy(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}dr.getRules=sy});var oa=Q(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.shouldUseRule=Ct.shouldUseGroup=Ct.schemaHasRulesForType=void 0;function ny({schema:t,self:e},r){let o=e.RULES.types[r];return o&&o!==!0&&Tu(t,o)}Ct.schemaHasRulesForType=ny;function Tu(t,e){return e.rules.some(r=>Du(t,r))}Ct.shouldUseGroup=Tu;function Du(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(o=>t[o]!==void 0))}Ct.shouldUseRule=Du});var po=Q(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.reportTypeError=Ce.checkDataTypes=Ce.checkDataType=Ce.coerceAndCheckDataType=Ce.getJSONTypes=Ce.getSchemaTypes=Ce.DataType=void 0;var iy=ra(),ay=oa(),cy=Ao(),N=U(),$u=H(),Ar;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Ar||(Ce.DataType=Ar={}));function ly(t){let e=Pu(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ce.getSchemaTypes=ly;function Pu(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(iy.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ce.getJSONTypes=Pu;function uy(t,e){let{gen:r,data:o,opts:s}=t,n=dy(e,s.coerceTypes),i=e.length>0&&!(n.length===0&&e.length===1&&(0,ay.schemaHasRulesForType)(t,e[0]));if(i){let a=na(e,o,s.strictNumbers,Ar.Wrong);r.if(a,()=>{n.length?Ay(t,e,n):ia(t)})}return i}Ce.coerceAndCheckDataType=uy;var ju=new Set(["string","number","integer","boolean","null"]);function dy(t,e){return e?t.filter(r=>ju.has(r)||e==="array"&&r==="array"):[]}function Ay(t,e,r){let{gen:o,data:s,opts:n}=t,i=o.let("dataType",(0,N._)`typeof ${s}`),a=o.let("coerced",(0,N._)`undefined`);n.coerceTypes==="array"&&o.if((0,N._)`${i} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>o.assign(s,(0,N._)`${s}[0]`).assign(i,(0,N._)`typeof ${s}`).if(na(e,s,n.strictNumbers),()=>o.assign(a,s))),o.if((0,N._)`${a} !== undefined`);for(let u of r)(ju.has(u)||u==="array"&&n.coerceTypes==="array")&&c(u);o.else(),ia(t),o.endIf(),o.if((0,N._)`${a} !== undefined`,()=>{o.assign(s,a),py(t,a)});function c(u){switch(u){case"string":o.elseIf((0,N._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,N._)`"" + ${s}`).elseIf((0,N._)`${s} === null`).assign(a,(0,N._)`""`);return;case"number":o.elseIf((0,N._)`${i} == "boolean" || ${s} === null
|
|
6
6
|
|| (${i} == "string" && ${s} && ${s} == +${s})`).assign(a,(0,N._)`+${s}`);return;case"integer":o.elseIf((0,N._)`${i} === "boolean" || ${s} === null
|
|
7
7
|
|| (${i} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(a,(0,N._)`+${s}`);return;case"boolean":o.elseIf((0,N._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(a,!1).elseIf((0,N._)`${s} === "true" || ${s} === 1`).assign(a,!0);return;case"null":o.elseIf((0,N._)`${s} === "" || ${s} === 0 || ${s} === false`),o.assign(a,null);return;case"array":o.elseIf((0,N._)`${i} === "string" || ${i} === "number"
|
|
8
|
-
|| ${i} === "boolean" || ${s} === null`).assign(a,(0,N._)`[${s}]`)}}}function py({gen:t,parentData:e,parentDataProperty:r},o){t.if((0,N._)`${e} !== undefined`,()=>t.assign((0,N._)`${e}[${r}]`,o))}function sa(t,e,r,o=Ar.Correct){let s=o===Ar.Correct?N.operators.EQ:N.operators.NEQ,n;switch(t){case"null":return(0,N._)`${e} ${s} null`;case"array":n=(0,N._)`Array.isArray(${e})`;break;case"object":n=(0,N._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":n=i((0,N._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":n=i();break;default:return(0,N._)`typeof ${e} ${s} ${t}`}return o===Ar.Correct?n:(0,N.not)(n);function i(a=N.nil){return(0,N.and)((0,N._)`typeof ${e} == "number"`,a,r?(0,N._)`isFinite(${e})`:N.nil)}}Ce.checkDataType=sa;function na(t,e,r,o){if(t.length===1)return sa(t[0],e,r,o);let s,n=(0,$u.toHash)(t);if(n.array&&n.object){let i=(0,N._)`typeof ${e} != "object"`;s=n.null?i:(0,N._)`!${e} || ${i}`,delete n.null,delete n.array,delete n.object}else s=N.nil;n.number&&delete n.integer;for(let i in n)s=(0,N.and)(s,sa(i,e,r,o));return s}Ce.checkDataTypes=na;var my={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,N._)`{type: ${t}}`:(0,N._)`{type: ${e}}`};function ia(t){let e=fy(t);(0,cy.reportError)(e,my)}Ce.reportTypeError=ia;function fy(t){let{gen:e,data:r,schema:o}=t,s=(0,$u.schemaRefOrVal)(t,o,"type");return{gen:e,keyword:"type",data:r,schema:o.type,schemaCode:s,schemaValue:s,parentSchema:o,params:{},it:t}}});var zu=Q(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.assignDefaults=void 0;var pr=U(),gy=H();function hy(t,e){let{properties:r,items:o}=t.schema;if(e==="object"&&r)for(let s in r)Nu(t,s,r[s].default);else e==="array"&&Array.isArray(o)&&o.forEach((s,n)=>Nu(t,n,s.default))}js.assignDefaults=hy;function Nu(t,e,r){let{gen:o,compositeRule:s,data:n,opts:i}=t;if(r===void 0)return;let a=(0,pr._)`${n}${(0,pr.getProperty)(e)}`;if(s){(0,gy.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,pr._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,pr._)`${c} || ${a} === null || ${a} === ""`),o.if(c,(0,pr._)`${a} = ${(0,pr.stringify)(r)}`)}});var je=Q(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.validateUnion=V.validateArray=V.usePattern=V.callValidateCode=V.schemaProperties=V.allSchemaProperties=V.noPropertyInData=V.propertyInData=V.isOwnProperty=V.hasPropFunc=V.reportMissingProp=V.checkMissingProp=V.checkReportMissingProp=void 0;var ee=U(),aa=H(),It=st(),Ey=H();function yy(t,e){let{gen:r,data:o,it:s}=t;r.if(la(r,o,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ee._)`${e}`},!0),t.error()})}V.checkReportMissingProp=yy;function wy({gen:t,data:e,it:{opts:r}},o,s){return(0,ee.or)(...o.map(n=>(0,ee.and)(la(t,e,n,r.ownProperties),(0,ee._)`${s} = ${n}`)))}V.checkMissingProp=wy;function Cy(t,e){t.setParams({missingProperty:e},!0),t.error()}V.reportMissingProp=Cy;function Uu(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ee._)`Object.prototype.hasOwnProperty`})}V.hasPropFunc=Uu;function ca(t,e,r){return(0,ee._)`${Uu(t)}.call(${e}, ${r})`}V.isOwnProperty=ca;function Iy(t,e,r,o){let s=(0,ee._)`${e}${(0,ee.getProperty)(r)} !== undefined`;return o?(0,ee._)`${s} && ${ca(t,e,r)}`:s}V.propertyInData=Iy;function la(t,e,r,o){let s=(0,ee._)`${e}${(0,ee.getProperty)(r)} === undefined`;return o?(0,ee.or)(s,(0,ee.not)(ca(t,e,r))):s}V.noPropertyInData=la;function Fu(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}V.allSchemaProperties=Fu;function By(t,e){return Fu(e).filter(r=>!(0,aa.alwaysValidSchema)(t,e[r]))}V.schemaProperties=By;function Qy({schemaCode:t,data:e,it:{gen:r,topSchemaRef:o,schemaPath:s,errorPath:n},it:i},a,c,u){let l=u?(0,ee._)`${t}, ${e}, ${o}${s}`:e,d=[[It.default.instancePath,(0,ee.strConcat)(It.default.instancePath,n)],[It.default.parentData,i.parentData],[It.default.parentDataProperty,i.parentDataProperty],[It.default.rootData,It.default.rootData]];i.opts.dynamicRef&&d.push([It.default.dynamicAnchors,It.default.dynamicAnchors]);let p=(0,ee._)`${l}, ${r.object(...d)}`;return c!==ee.nil?(0,ee._)`${a}.call(${c}, ${p})`:(0,ee._)`${a}(${p})`}V.callValidateCode=Qy;var _y=(0,ee._)`new RegExp`;function Sy({gen:t,it:{opts:e}},r){let o=e.unicodeRegExp?"u":"",{regExp:s}=e.code,n=s(r,o);return t.scopeValue("pattern",{key:n.toString(),ref:n,code:(0,ee._)`${s.code==="new RegExp"?_y:(0,Ey.useFunc)(t,s)}(${r}, ${o})`})}V.usePattern=Sy;function ky(t){let{gen:e,data:r,keyword:o,it:s}=t,n=e.name("valid");if(s.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(n,!0),i(()=>e.break()),n;function i(a){let c=e.const("len",(0,ee._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:o,dataProp:u,dataPropType:aa.Type.Num},n),e.if((0,ee.not)(n),a)})}}V.validateArray=ky;function My(t){let{gen:e,schema:r,keyword:o,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,aa.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:o,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,ee._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ee.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}V.validateUnion=My});var qu=Q(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.validateKeywordUsage=We.validSchemaType=We.funcKeywordCode=We.macroKeywordCode=void 0;var Qe=U(),zt=st(),vy=je(),by=Ao();function xy(t,e){let{gen:r,keyword:o,schema:s,parentSchema:n,it:i}=t,a=e.macro.call(i.self,s,n,i),c=Lu(r,o,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Qe.nil,errSchemaPath:`${i.errSchemaPath}/${o}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}We.macroKeywordCode=xy;function Ry(t,e){var r;let{gen:o,keyword:s,schema:n,parentSchema:i,$data:a,it:c}=t;Dy(c,e);let u=!a&&e.compile?e.compile.call(c.self,n,i,c):e.validate,l=Lu(o,s,u),d=o.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)f(),e.modifying&&Ou(t),h(()=>t.error());else{let y=e.async?m():g();e.modifying&&Ou(t),h(()=>Ty(t,y))}}function m(){let y=o.let("ruleErrs",null);return o.try(()=>f((0,Qe._)`await `),w=>o.assign(d,!1).if((0,Qe._)`${w} instanceof ${c.ValidationError}`,()=>o.assign(y,(0,Qe._)`${w}.errors`),()=>o.throw(w))),y}function g(){let y=(0,Qe._)`${l}.errors`;return o.assign(y,null),f(Qe.nil),y}function f(y=e.async?(0,Qe._)`await `:Qe.nil){let w=c.opts.passContext?zt.default.this:zt.default.self,I=!("compile"in e&&!a||e.schema===!1);o.assign(d,(0,Qe._)`${y}${(0,vy.callValidateCode)(t,l,w,I)}`,e.modifying)}function h(y){var w;o.if((0,Qe.not)((w=e.valid)!==null&&w!==void 0?w:d),y)}}We.funcKeywordCode=Ry;function Ou(t){let{gen:e,data:r,it:o}=t;e.if(o.parentData,()=>e.assign(r,(0,Qe._)`${o.parentData}[${o.parentDataProperty}]`))}function Ty(t,e){let{gen:r}=t;r.if((0,Qe._)`Array.isArray(${e})`,()=>{r.assign(zt.default.vErrors,(0,Qe._)`${zt.default.vErrors} === null ? ${e} : ${zt.default.vErrors}.concat(${e})`).assign(zt.default.errors,(0,Qe._)`${zt.default.vErrors}.length`),(0,by.extendErrors)(t)},()=>t.error())}function Dy({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Lu(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Qe.stringify)(r)})}function $y(t,e,r=!1){return!e.length||e.some(o=>o==="array"?Array.isArray(t):o==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==o||r&&typeof t>"u")}We.validSchemaType=$y;function Py({schema:t,opts:e,self:r,errSchemaPath:o},s,n){if(Array.isArray(s.keyword)?!s.keyword.includes(n):s.keyword!==n)throw new Error("ajv implementation error");let i=s.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${n}: ${i.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[n])){let c=`keyword "${n}" value is invalid at path "${o}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}We.validateKeywordUsage=Py});var Hu=Q(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.extendSubschemaMode=Bt.extendSubschemaData=Bt.getSubschema=void 0;var Ve=U(),Gu=H();function jy(t,{keyword:e,schemaProp:r,schema:o,schemaPath:s,errSchemaPath:n,topSchemaRef:i}){if(e!==void 0&&o!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,Ve._)`${t.schemaPath}${(0,Ve.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Ve._)`${t.schemaPath}${(0,Ve.getProperty)(e)}${(0,Ve.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Gu.escapeFragment)(r)}`}}if(o!==void 0){if(s===void 0||n===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:s,topSchemaRef:i,errSchemaPath:n}}throw new Error('either "keyword" or "schema" must be passed')}Bt.getSubschema=jy;function Ny(t,e,{dataProp:r,dataPropType:o,data:s,dataTypes:n,propertyName:i}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=a.let("data",(0,Ve._)`${e.data}${(0,Ve.getProperty)(r)}`,!0);c(p),t.errorPath=(0,Ve.str)`${u}${(0,Gu.getErrorPath)(r,o,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Ve._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Ve.Name?s:a.let("data",s,!0);c(u),i!==void 0&&(t.propertyName=i)}n&&(t.dataTypes=n);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Bt.extendSubschemaData=Ny;function zy(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:o,createErrors:s,allErrors:n}){o!==void 0&&(t.compositeRule=o),s!==void 0&&(t.createErrors=s),n!==void 0&&(t.allErrors=n),t.jtdDiscriminator=e,t.jtdMetadata=r}Bt.extendSubschemaMode=zy});var ua=Q((IR,Yu)=>{"use strict";Yu.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var o,s,n;if(Array.isArray(e)){if(o=e.length,o!=r.length)return!1;for(s=o;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(n=Object.keys(e),o=n.length,o!==Object.keys(r).length)return!1;for(s=o;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,n[s]))return!1;for(s=o;s--!==0;){var i=n[s];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var Wu=Q((BR,Ju)=>{"use strict";var Qt=Ju.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var o=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Ns(e,o,s,t,"",t)};Qt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qt.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 Ns(t,e,r,o,s,n,i,a,c,u){if(o&&typeof o=="object"&&!Array.isArray(o)){e(o,s,n,i,a,c,u);for(var l in o){var d=o[l];if(Array.isArray(d)){if(l in Qt.arrayKeywords)for(var p=0;p<d.length;p++)Ns(t,e,r,d[p],s+"/"+l+"/"+p,n,s,l,o,p)}else if(l in Qt.propsKeywords){if(d&&typeof d=="object")for(var m in d)Ns(t,e,r,d[m],s+"/"+l+"/"+Uy(m),n,s,l,o,m)}else(l in Qt.keywords||t.allKeys&&!(l in Qt.skipKeywords))&&Ns(t,e,r,d,s+"/"+l,n,s,l,o)}r(o,s,n,i,a,c,u)}}function Uy(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var mo=Q(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.getSchemaRefs=ve.resolveUrl=ve.normalizeId=ve._getFullPath=ve.getFullPath=ve.inlineRef=void 0;var Fy=H(),Oy=ua(),Ly=Wu(),qy=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Gy(t,e=!0){return typeof t=="boolean"?!0:e===!0?!da(t):e?Vu(t)<=e:!1}ve.inlineRef=Gy;var Hy=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function da(t){for(let e in t){if(Hy.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(da)||typeof r=="object"&&da(r))return!0}return!1}function Vu(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!qy.has(r)&&(typeof t[r]=="object"&&(0,Fy.eachItem)(t[r],o=>e+=Vu(o)),e===1/0))return 1/0}return e}function Ku(t,e="",r){r!==!1&&(e=mr(e));let o=t.parse(e);return Zu(t,o)}ve.getFullPath=Ku;function Zu(t,e){return t.serialize(e).split("#")[0]+"#"}ve._getFullPath=Zu;var Yy=/#\/?$/;function mr(t){return t?t.replace(Yy,""):""}ve.normalizeId=mr;function Jy(t,e,r){return r=mr(r),t.resolve(e,r)}ve.resolveUrl=Jy;var Wy=/^[a-z_][-a-z0-9._]*$/i;function Vy(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:o}=this.opts,s=mr(t[r]||e),n={"":s},i=Ku(o,s,!1),a={},c=new Set;return Ly(t,{allKeys:!0},(d,p,m,g)=>{if(g===void 0)return;let f=i+p,h=n[g];typeof d[r]=="string"&&(h=y.call(this,d[r])),w.call(this,d.$anchor),w.call(this,d.$dynamicAnchor),n[p]=h;function y(I){let v=this.opts.uriResolver.resolve;if(I=mr(h?v(h,I):I),c.has(I))throw l(I);c.add(I);let E=this.refs[I];return typeof E=="string"&&(E=this.refs[E]),typeof E=="object"?u(d,E.schema,I):I!==mr(f)&&(I[0]==="#"?(u(d,a[I],I),a[I]=d):this.refs[I]=f),I}function w(I){if(typeof I=="string"){if(!Wy.test(I))throw new Error(`invalid anchor "${I}"`);y.call(this,`#${I}`)}}}),a;function u(d,p,m){if(p!==void 0&&!Oy(d,p))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}ve.getSchemaRefs=Vy});var ho=Q(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.getData=_t.KeywordCxt=_t.validateFunctionCode=void 0;var od=Ru(),Xu=po(),pa=oa(),zs=po(),Ky=zu(),go=qu(),Aa=Hu(),x=U(),j=st(),Zy=mo(),nt=H(),fo=Ao();function Xy(t){if(id(t)&&(ad(t),nd(t))){rw(t);return}sd(t,()=>(0,od.topBoolOrEmptySchema)(t))}_t.validateFunctionCode=Xy;function sd({gen:t,validateName:e,schema:r,schemaEnv:o,opts:s},n){s.code.es5?t.func(e,(0,x._)`${j.default.data}, ${j.default.valCxt}`,o.$async,()=>{t.code((0,x._)`"use strict"; ${ed(r,s)}`),tw(t,s),t.code(n)}):t.func(e,(0,x._)`${j.default.data}, ${ew(s)}`,o.$async,()=>t.code(ed(r,s)).code(n))}function ew(t){return(0,x._)`{${j.default.instancePath}="", ${j.default.parentData}, ${j.default.parentDataProperty}, ${j.default.rootData}=${j.default.data}${t.dynamicRef?(0,x._)`, ${j.default.dynamicAnchors}={}`:x.nil}}={}`}function tw(t,e){t.if(j.default.valCxt,()=>{t.var(j.default.instancePath,(0,x._)`${j.default.valCxt}.${j.default.instancePath}`),t.var(j.default.parentData,(0,x._)`${j.default.valCxt}.${j.default.parentData}`),t.var(j.default.parentDataProperty,(0,x._)`${j.default.valCxt}.${j.default.parentDataProperty}`),t.var(j.default.rootData,(0,x._)`${j.default.valCxt}.${j.default.rootData}`),e.dynamicRef&&t.var(j.default.dynamicAnchors,(0,x._)`${j.default.valCxt}.${j.default.dynamicAnchors}`)},()=>{t.var(j.default.instancePath,(0,x._)`""`),t.var(j.default.parentData,(0,x._)`undefined`),t.var(j.default.parentDataProperty,(0,x._)`undefined`),t.var(j.default.rootData,j.default.data),e.dynamicRef&&t.var(j.default.dynamicAnchors,(0,x._)`{}`)})}function rw(t){let{schema:e,opts:r,gen:o}=t;sd(t,()=>{r.$comment&&e.$comment&&ld(t),aw(t),o.let(j.default.vErrors,null),o.let(j.default.errors,0),r.unevaluated&&ow(t),cd(t),uw(t)})}function ow(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,x._)`${r}.evaluated`),e.if((0,x._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,x._)`${t.evaluated}.props`,(0,x._)`undefined`)),e.if((0,x._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,x._)`${t.evaluated}.items`,(0,x._)`undefined`))}function ed(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,x._)`/*# sourceURL=${r} */`:x.nil}function sw(t,e){if(id(t)&&(ad(t),nd(t))){nw(t,e);return}(0,od.boolOrEmptySchema)(t,e)}function nd({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function id(t){return typeof t.schema!="boolean"}function nw(t,e){let{schema:r,gen:o,opts:s}=t;s.$comment&&r.$comment&&ld(t),cw(t),lw(t);let n=o.const("_errs",j.default.errors);cd(t,n),o.var(e,(0,x._)`${n} === ${j.default.errors}`)}function ad(t){(0,nt.checkUnknownRules)(t),iw(t)}function cd(t,e){if(t.opts.jtd)return td(t,[],!1,e);let r=(0,Xu.getSchemaTypes)(t.schema),o=(0,Xu.coerceAndCheckDataType)(t,r);td(t,r,!o,e)}function iw(t){let{schema:e,errSchemaPath:r,opts:o,self:s}=t;e.$ref&&o.ignoreKeywordsWithRef&&(0,nt.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function aw(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,nt.checkStrictMode)(t,"default is ignored in the schema root")}function cw(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Zy.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function lw(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ld({gen:t,schemaEnv:e,schema:r,errSchemaPath:o,opts:s}){let n=r.$comment;if(s.$comment===!0)t.code((0,x._)`${j.default.self}.logger.log(${n})`);else if(typeof s.$comment=="function"){let i=(0,x.str)`${o}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,x._)`${j.default.self}.opts.$comment(${n}, ${i}, ${a}.schema)`)}}function uw(t){let{gen:e,schemaEnv:r,validateName:o,ValidationError:s,opts:n}=t;r.$async?e.if((0,x._)`${j.default.errors} === 0`,()=>e.return(j.default.data),()=>e.throw((0,x._)`new ${s}(${j.default.vErrors})`)):(e.assign((0,x._)`${o}.errors`,j.default.vErrors),n.unevaluated&&dw(t),e.return((0,x._)`${j.default.errors} === 0`))}function dw({gen:t,evaluated:e,props:r,items:o}){r instanceof x.Name&&t.assign((0,x._)`${e}.props`,r),o instanceof x.Name&&t.assign((0,x._)`${e}.items`,o)}function td(t,e,r,o){let{gen:s,schema:n,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(n.$ref&&(c.ignoreKeywordsWithRef||!(0,nt.schemaHasRulesButRef)(n,l))){s.block(()=>dd(t,"$ref",l.all.$ref.definition));return}c.jtd||Aw(t,e),s.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,pa.shouldUseGroup)(n,p)&&(p.type?(s.if((0,zs.checkDataType)(p.type,i,c.strictNumbers)),rd(t,p),e.length===1&&e[0]===p.type&&r&&(s.else(),(0,zs.reportTypeError)(t)),s.endIf()):rd(t,p),a||s.if((0,x._)`${j.default.errors} === ${o||0}`))}}function rd(t,e){let{gen:r,schema:o,opts:{useDefaults:s}}=t;s&&(0,Ky.assignDefaults)(t,e.type),r.block(()=>{for(let n of e.rules)(0,pa.shouldUseRule)(o,n)&&dd(t,n.keyword,n.definition,e.type)})}function Aw(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(pw(t,e),t.opts.allowUnionTypes||mw(t,e),fw(t,t.dataTypes))}function pw(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ud(t.dataTypes,r)||ma(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),hw(t,e)}}function mw(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&ma(t,"use allowUnionTypes to allow union type keyword")}function fw(t,e){let r=t.self.RULES.all;for(let o in r){let s=r[o];if(typeof s=="object"&&(0,pa.shouldUseRule)(t.schema,s)){let{type:n}=s.definition;n.length&&!n.some(i=>gw(e,i))&&ma(t,`missing type "${n.join(",")}" for keyword "${o}"`)}}}function gw(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ud(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function hw(t,e){let r=[];for(let o of t.dataTypes)ud(e,o)?r.push(o):e.includes("integer")&&o==="number"&&r.push("integer");t.dataTypes=r}function ma(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,nt.checkStrictMode)(t,e,t.opts.strictTypes)}var Us=class{constructor(e,r,o){if((0,go.validateKeywordUsage)(e,r,o),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=o,this.data=e.data,this.schema=e.schema[o],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,nt.schemaRefOrVal)(e,this.schema,o,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Ad(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,go.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${o} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",j.default.errors))}result(e,r,o){this.failResult((0,x.not)(e),r,o)}failResult(e,r,o){this.gen.if(e),o?o():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,x.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,x._)`${r} !== undefined && (${(0,x.or)(this.invalid$data(),e)})`)}error(e,r,o){if(r){this.setParams(r),this._error(e,o),this.setParams({});return}this._error(e,o)}_error(e,r){(e?fo.reportExtraError:fo.reportError)(this,this.def.error,r)}$dataError(){(0,fo.reportError)(this,this.def.$dataError||fo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,fo.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,o=x.nil){this.gen.block(()=>{this.check$data(e,o),r()})}check$data(e=x.nil,r=x.nil){if(!this.$data)return;let{gen:o,schemaCode:s,schemaType:n,def:i}=this;o.if((0,x.or)((0,x._)`${s} === undefined`,r)),e!==x.nil&&o.assign(e,!0),(n.length||i.validateSchema)&&(o.elseIf(this.invalid$data()),this.$dataError(),e!==x.nil&&o.assign(e,!1)),o.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:o,def:s,it:n}=this;return(0,x.or)(i(),a());function i(){if(o.length){if(!(r instanceof x.Name))throw new Error("ajv implementation error");let c=Array.isArray(o)?o:[o];return(0,x._)`${(0,zs.checkDataTypes)(c,r,n.opts.strictNumbers,zs.DataType.Wrong)}`}return x.nil}function a(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,x._)`!${c}(${r})`}return x.nil}}subschema(e,r){let o=(0,Aa.getSubschema)(this.it,e);(0,Aa.extendSubschemaData)(o,this.it,e),(0,Aa.extendSubschemaMode)(o,e);let s={...this.it,...o,items:void 0,props:void 0};return sw(s,r),s}mergeEvaluated(e,r){let{it:o,gen:s}=this;o.opts.unevaluated&&(o.props!==!0&&e.props!==void 0&&(o.props=nt.mergeEvaluated.props(s,e.props,o.props,r)),o.items!==!0&&e.items!==void 0&&(o.items=nt.mergeEvaluated.items(s,e.items,o.items,r)))}mergeValidEvaluated(e,r){let{it:o,gen:s}=this;if(o.opts.unevaluated&&(o.props!==!0||o.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,x.Name)),!0}};_t.KeywordCxt=Us;function dd(t,e,r,o){let s=new Us(t,r,e);"code"in r?r.code(s,o):s.$data&&r.validate?(0,go.funcKeywordCode)(s,r):"macro"in r?(0,go.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,go.funcKeywordCode)(s,r)}var Ew=/^\/(?:[^~]|~0|~1)*$/,yw=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ad(t,{dataLevel:e,dataNames:r,dataPathArr:o}){let s,n;if(t==="")return j.default.rootData;if(t[0]==="/"){if(!Ew.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,n=j.default.rootData}else{let u=yw.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return o[e-l]}if(l>e)throw new Error(c("data",l));if(n=r[e-l],!s)return n}let i=n,a=s.split("/");for(let u of a)u&&(n=(0,x._)`${n}${(0,x.getProperty)((0,nt.unescapeJsonPointer)(u))}`,i=(0,x._)`${i} && ${n}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}_t.getData=Ad});var Fs=Q(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});var fa=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ga.default=fa});var Eo=Q(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});var ha=mo(),Ea=class extends Error{constructor(e,r,o,s){super(s||`can't resolve reference ${o} from id ${r}`),this.missingRef=(0,ha.resolveUrl)(e,r,o),this.missingSchema=(0,ha.normalizeId)((0,ha.getFullPath)(e,this.missingRef))}};ya.default=Ea});var Ls=Q(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.resolveSchema=Ne.getCompilingSchema=Ne.resolveRef=Ne.compileSchema=Ne.SchemaEnv=void 0;var Oe=U(),ww=Fs(),Ut=st(),Le=mo(),pd=H(),Cw=ho(),fr=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let o;typeof e.schema=="object"&&(o=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Le.normalizeId)(o?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=o?.$async,this.refs={}}};Ne.SchemaEnv=fr;function Ca(t){let e=md.call(this,t);if(e)return e;let r=(0,Le.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:o,lines:s}=this.opts.code,{ownProperties:n}=this.opts,i=new Oe.CodeGen(this.scope,{es5:o,lines:s,ownProperties:n}),a;t.$async&&(a=i.scopeValue("Error",{ref:ww.default,code:(0,Oe._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Ut.default.data,parentData:Ut.default.parentData,parentDataProperty:Ut.default.parentDataProperty,dataNames:[Ut.default.data],dataPathArr:[Oe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Oe.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Oe.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Oe._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,Cw.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Ut.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${Ut.default.self}`,`${Ut.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:g,items:f}=u;m.evaluated={props:g instanceof Oe.Name?void 0:g,items:f instanceof Oe.Name?void 0:f,dynamicProps:g instanceof Oe.Name,dynamicItems:f instanceof Oe.Name},m.source&&(m.source.evaluated=(0,Oe.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Ne.compileSchema=Ca;function Iw(t,e,r){var o;r=(0,Le.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let n=_w.call(this,t,r);if(n===void 0){let i=(o=t.localRefs)===null||o===void 0?void 0:o[r],{schemaId:a}=this.opts;i&&(n=new fr({schema:i,schemaId:a,root:t,baseId:e}))}if(n!==void 0)return t.refs[r]=Bw.call(this,n)}Ne.resolveRef=Iw;function Bw(t){return(0,Le.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Ca.call(this,t)}function md(t){for(let e of this._compilations)if(Qw(e,t))return e}Ne.getCompilingSchema=md;function Qw(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function _w(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Os.call(this,t,e)}function Os(t,e){let r=this.opts.uriResolver.parse(e),o=(0,Le._getFullPath)(this.opts.uriResolver,r),s=(0,Le.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&o===s)return wa.call(this,r,t);let n=(0,Le.normalizeId)(o),i=this.refs[n]||this.schemas[n];if(typeof i=="string"){let a=Os.call(this,t,i);return typeof a?.schema!="object"?void 0:wa.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Ca.call(this,i),n===(0,Le.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(s=(0,Le.resolveUrl)(this.opts.uriResolver,s,u)),new fr({schema:a,schemaId:c,root:t,baseId:s})}return wa.call(this,r,i)}}Ne.resolveSchema=Os;var Sw=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function wa(t,{baseId:e,schema:r,root:o}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,pd.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!Sw.has(a)&&u&&(e=(0,Le.resolveUrl)(this.opts.uriResolver,e,u))}let n;if(typeof r!="boolean"&&r.$ref&&!(0,pd.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Le.resolveUrl)(this.opts.uriResolver,e,r.$ref);n=Os.call(this,o,a)}let{schemaId:i}=this.opts;if(n=n||new fr({schema:r,schemaId:i,root:o,baseId:e}),n.schema!==n.root.schema)return n}});var fd=Q((vR,kw)=>{kw.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 Qa=Q((bR,Cd)=>{"use strict";var Mw=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),hd=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),Ia=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Ed=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),vw=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Ba(t){let e="",r=0,o=0;for(o=0;o<t.length;o++)if(r=t[o].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[o];break}for(o+=1;o<t.length;o++){if(r=t[o].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[o]}return e}var bw=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function gd(t){return t.length=0,!0}function xw(t,e,r){if(t.length){let o=Ba(t);if(o!=="")e.push(o);else return r.error=!0,!1;t.length=0}return!0}function Rw(t){let e=0,r={error:!1,address:"",zone:""},o=[],s=[],n=!1,i=!1,a=xw;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(n===!0&&(i=!0),!a(s,o,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(n=!0),o.push(":");continue}else if(u==="%"){if(!a(s,o,r))break;a=gd}else{s.push(u);continue}}return s.length&&(a===gd?r.zone=s.join(""):i?o.push(s.join("")):o.push(Ba(s))),r.address=o.join(""),r}function yd(t){if(Tw(t,":")<2)return{host:t,isIPV6:!1};let e=Rw(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,o=e.address;return e.zone&&(r+="%"+e.zone,o+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:o}}}function Tw(t,e){let r=0;for(let o=0;o<t.length;o++)t[o]===e&&r++;return r}function Dw(t){let e=t,r=[],o=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((o=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,o)),e=e.slice(o)}return r.join("")}var $w={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},Pw=/[@/?#:]/g,jw=/[@/?#]/g;function wd(t,e){let r=e?jw:Pw;return r.lastIndex=0,t.replace(r,o=>$w[o])}function Nw(t,e=!1){if(t.indexOf("%")===-1)return t;let r="";for(let o=0;o<t.length;o++){if(t[o]==="%"&&o+2<t.length){let s=t.slice(o+1,o+3);if(Ia(s)){let n=s.toUpperCase(),i=String.fromCharCode(parseInt(n,16));e&&Ed(i)?r+=i:r+="%"+n,o+=2;continue}}r+=t[o]}return r}function zw(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let o=t.slice(r+1,r+3);if(Ia(o)){let s=o.toUpperCase(),n=String.fromCharCode(parseInt(s,16));n!=="."&&Ed(n)?e+=n:e+="%"+s,r+=2;continue}}vw(t[r])?e+=t[r]:e+=escape(t[r])}return e}function Uw(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let o=t.slice(r+1,r+3);if(Ia(o)){e+="%"+o.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function Fw(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!hd(r)){let o=yd(r);o.isIPV6===!0?r=`[${o.escapedHost}]`:r=wd(r,!1)}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Cd.exports={nonSimpleDomain:bw,recomposeAuthority:Fw,reescapeHostDelimiters:wd,normalizePercentEncoding:Nw,normalizePathEncoding:zw,escapePreservingEscapes:Uw,removeDotSegments:Dw,isIPv4:hd,isUUID:Mw,normalizeIPv6:yd,stringArrayToHexStripped:Ba}});var Sd=Q((xR,_d)=>{"use strict";var{isUUID:Ow}=Qa(),Lw=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,qw=["http","https","ws","wss","urn","urn:uuid"];function Gw(t){return qw.indexOf(t)!==-1}function _a(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Id(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Bd(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function Hw(t){return t.secure=_a(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Yw(t){if((t.port===(_a(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function Jw(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Lw);if(r){let o=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${o}:${e.nid||t.nid}`,n=Sa(s);t.path=void 0,n&&(t=n.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Ww(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",o=t.nid.toLowerCase(),s=`${r}:${e.nid||o}`,n=Sa(s);n&&(t=n.serialize(t,e));let i=t,a=t.nss;return i.path=`${o||e.nid}:${a}`,e.skipEscape=!0,i}function Vw(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!Ow(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Kw(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Qd={scheme:"http",domainHost:!0,parse:Id,serialize:Bd},Zw={scheme:"https",domainHost:Qd.domainHost,parse:Id,serialize:Bd},qs={scheme:"ws",domainHost:!0,parse:Hw,serialize:Yw},Xw={scheme:"wss",domainHost:qs.domainHost,parse:qs.parse,serialize:qs.serialize},eC={scheme:"urn",parse:Jw,serialize:Ww,skipNormalize:!0},tC={scheme:"urn:uuid",parse:Vw,serialize:Kw,skipNormalize:!0},Gs={http:Qd,https:Zw,ws:qs,wss:Xw,urn:eC,"urn:uuid":tC};Object.setPrototypeOf(Gs,null);function Sa(t){return t&&(Gs[t]||Gs[t.toLowerCase()])||void 0}_d.exports={wsIsSecure:_a,SCHEMES:Gs,isValidSchemeName:Gw,getSchemeHandler:Sa}});var Rd=Q((RR,Hs)=>{"use strict";var{normalizeIPv6:rC,removeDotSegments:yo,recomposeAuthority:oC,normalizePercentEncoding:sC,normalizePathEncoding:nC,escapePreservingEscapes:iC,reescapeHostDelimiters:aC,isIPv4:cC,nonSimpleDomain:lC}=Qa(),{SCHEMES:uC,getSchemeHandler:Md}=Sd();function dC(t,e){return typeof t=="string"?t=hC(t,e):typeof t=="object"&&(t=gr(Ft(t,e),e)),t}function AC(t,e,r){let o=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=vd(gr(t,o),gr(e,o),o,!0);return o.skipEscape=!0,Ft(s,o)}function vd(t,e,r,o){let s={};return o||(t=gr(Ft(t,r),r),e=gr(Ft(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yo(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yo(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=yo(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=yo(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function pC(t,e,r){let o=kd(t,r),s=kd(e,r);return o!==void 0&&s!==void 0&&o.toLowerCase()===s.toLowerCase()}function Ft(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},o=Object.assign({},e),s=[],n=Md(o.scheme||r.scheme);n&&n.serialize&&n.serialize(r,o),r.path!==void 0&&(o.skipEscape?r.path=sC(r.path):(r.path=iC(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),o.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let i=oC(r);if(i!==void 0&&(o.reference!=="suffix"&&s.push("//"),s.push(i),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let a=r.path;!o.absolutePath&&(!n||!n.absolutePath)&&(a=yo(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),s.push(a)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var mC=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,fC=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function gC(t,e){if(e[2]!==void 0&&t.path&&t.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof t.port=="number"&&(t.port<0||t.port>65535))return"URI port is malformed."}function bd(t,e){let r=Object.assign({},e),o={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1,n=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(fC);i!==null&&i[1].indexOf("\\")!==-1&&(o.error="URI authority must not contain a literal backslash.",s=!0);let a=t.match(mC);if(a){o.scheme=a[1],o.userinfo=a[3],o.host=a[4],o.port=parseInt(a[5],10),o.path=a[6]||"",o.query=a[7],o.fragment=a[8],isNaN(o.port)&&(o.port=a[5]);let c=gC(o,a);if(c!==void 0&&(o.error=o.error||c,s=!0),o.host)if(cC(o.host)===!1){let d=rC(o.host);o.host=d.host.toLowerCase(),n=d.isIPV6}else n=!0;o.scheme===void 0&&o.userinfo===void 0&&o.host===void 0&&o.port===void 0&&o.query===void 0&&!o.path?o.reference="same-document":o.scheme===void 0?o.reference="relative":o.fragment===void 0?o.reference="absolute":o.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==o.reference&&(o.error=o.error||"URI is not a "+r.reference+" reference.");let u=Md(r.scheme||o.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&o.host&&(r.domainHost||u&&u.domainHost)&&n===!1&&lC(o.host))try{o.host=new URL("http://"+o.host).hostname}catch(l){o.error=o.error||"Host's domain name can not be converted to ASCII: "+l}if((!u||u&&!u.skipNormalize)&&(t.indexOf("%")!==-1&&(o.scheme!==void 0&&(o.scheme=unescape(o.scheme)),o.host!==void 0&&(o.host=aC(unescape(o.host),n))),o.path&&(o.path=nC(o.path)),o.fragment))try{o.fragment=encodeURI(decodeURIComponent(o.fragment))}catch{o.error=o.error||"URI malformed"}u&&u.parse&&u.parse(o,r)}else o.error=o.error||"URI can not be parsed.";return{parsed:o,malformedAuthorityOrPort:s}}function gr(t,e){return bd(t,e).parsed}function hC(t,e){return xd(t,e).normalized}function xd(t,e){let{parsed:r,malformedAuthorityOrPort:o}=bd(t,e);return{normalized:o?t:Ft(r,e),malformedAuthorityOrPort:o}}function kd(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:o}=xd(t,e);return o?void 0:r}if(typeof t=="object")return Ft(t,e)}var ka={SCHEMES:uC,normalize:dC,resolve:AC,resolveComponent:vd,equal:pC,serialize:Ft,parse:gr};Hs.exports=ka;Hs.exports.default=ka;Hs.exports.fastUri=ka});var Dd=Q(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var Td=Rd();Td.code='require("ajv/dist/runtime/uri").default';Ma.default=Td});var Od=Q(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.CodeGen=ge.Name=ge.nil=ge.stringify=ge.str=ge._=ge.KeywordCxt=void 0;var EC=ho();Object.defineProperty(ge,"KeywordCxt",{enumerable:!0,get:function(){return EC.KeywordCxt}});var hr=U();Object.defineProperty(ge,"_",{enumerable:!0,get:function(){return hr._}});Object.defineProperty(ge,"str",{enumerable:!0,get:function(){return hr.str}});Object.defineProperty(ge,"stringify",{enumerable:!0,get:function(){return hr.stringify}});Object.defineProperty(ge,"nil",{enumerable:!0,get:function(){return hr.nil}});Object.defineProperty(ge,"Name",{enumerable:!0,get:function(){return hr.Name}});Object.defineProperty(ge,"CodeGen",{enumerable:!0,get:function(){return hr.CodeGen}});var yC=Fs(),zd=Eo(),wC=ra(),wo=Ls(),CC=U(),Co=mo(),Ys=po(),ba=H(),$d=fd(),IC=Dd(),Ud=(t,e)=>new RegExp(t,e);Ud.code="new RegExp";var BC=["removeAdditional","useDefaults","coerceTypes"],QC=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_C={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."},SC={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Pd=200;function kC(t){var e,r,o,s,n,i,a,c,u,l,d,p,m,g,f,h,y,w,I,v,E,B,M,z,D;let ce=t.strict,Gr=(e=t.code)===null||e===void 0?void 0:e.optimize,cs=Gr===!0||Gr===void 0?1:Gr||0,ls=(o=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&o!==void 0?o:Ud,mt=(s=t.uriResolver)!==null&&s!==void 0?s:IC.default;return{strictSchema:(i=(n=t.strictSchema)!==null&&n!==void 0?n:ce)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:ce)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:ce)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:ce)!==null&&p!==void 0?p:"log",strictRequired:(g=(m=t.strictRequired)!==null&&m!==void 0?m:ce)!==null&&g!==void 0?g:!1,code:t.code?{...t.code,optimize:cs,regExp:ls}:{optimize:cs,regExp:ls},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:Pd,loopEnum:(h=t.loopEnum)!==null&&h!==void 0?h:Pd,meta:(y=t.meta)!==null&&y!==void 0?y:!0,messages:(w=t.messages)!==null&&w!==void 0?w:!0,inlineRefs:(I=t.inlineRefs)!==null&&I!==void 0?I:!0,schemaId:(v=t.schemaId)!==null&&v!==void 0?v:"$id",addUsedSchema:(E=t.addUsedSchema)!==null&&E!==void 0?E:!0,validateSchema:(B=t.validateSchema)!==null&&B!==void 0?B:!0,validateFormats:(M=t.validateFormats)!==null&&M!==void 0?M:!0,unicodeRegExp:(z=t.unicodeRegExp)!==null&&z!==void 0?z:!0,int32range:(D=t.int32range)!==null&&D!==void 0?D:!0,uriResolver:mt}}var Io=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...kC(e)};let{es5:r,lines:o}=this.opts.code;this.scope=new CC.ValueScope({scope:{},prefixes:QC,es5:r,lines:o}),this.logger=TC(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,wC.getRules)(),jd.call(this,_C,e,"NOT SUPPORTED"),jd.call(this,SC,e,"DEPRECATED","warn"),this._metaOpts=xC.call(this),e.formats&&vC.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&bC.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),MC.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:o}=this.opts,s=$d;o==="id"&&(s={...$d},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[o],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let o;if(typeof e=="string"){if(o=this.getSchema(e),!o)throw new Error(`no schema with key or ref "${e}"`)}else o=this.compile(e);let s=o(r);return"$async"in o||(this.errors=o.errors),s}compile(e,r){let o=this._addSchema(e,r);return o.validate||this._compileSchemaEnv(o)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:o}=this.opts;return s.call(this,e,r);async function s(l,d){await n.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||i.call(this,p)}async function n(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof zd.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await n.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=o(l))}finally{delete this._loading[l]}}}addSchema(e,r,o,s=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,o,s);return this}let n;if(typeof e=="object"){let{schemaId:i}=this.opts;if(n=e[i],n!==void 0&&typeof n!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Co.normalizeId)(r||n),this._checkUnique(r),this.schemas[r]=this._addSchema(e,o,r,s,!0),this}addMetaSchema(e,r,o=this.opts.validateSchema){return this.addSchema(e,r,!0,o),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let o;if(o=e.$schema,o!==void 0&&typeof o!="string")throw new Error("$schema must be a string");if(o=o||this.opts.defaultMeta||this.defaultMeta(),!o)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(o,e);if(!s&&r){let n="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(n);else throw new Error(n)}return s}getSchema(e){let r;for(;typeof(r=Nd.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:o}=this.opts,s=new wo.SchemaEnv({schema:{},schemaId:o});if(r=wo.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Nd.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let o=e[this.opts.schemaId];return o&&(o=(0,Co.normalizeId)(o),delete this.schemas[o],delete this.refs[o]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let o;if(typeof e=="string")o=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=o);else if(typeof e=="object"&&r===void 0){if(r=e,o=r.keyword,Array.isArray(o)&&!o.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if($C.call(this,o,r),!r)return(0,ba.eachItem)(o,n=>va.call(this,n)),this;jC.call(this,r);let s={...r,type:(0,Ys.getJSONTypes)(r.type),schemaType:(0,Ys.getJSONTypes)(r.schemaType)};return(0,ba.eachItem)(o,s.type.length===0?n=>va.call(this,n,s):n=>s.type.forEach(i=>va.call(this,n,s,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let o of r.rules){let s=o.rules.findIndex(n=>n.keyword===e);s>=0&&o.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:o="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${o}${s.instancePath} ${s.message}`).reduce((s,n)=>s+r+n)}$dataMetaSchema(e,r){let o=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let n=s.split("/").slice(1),i=e;for(let a of n)i=i[a];for(let a in o){let c=o[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=Fd(l))}}return e}_removeAllSchemas(e,r){for(let o in e){let s=e[o];(!r||r.test(o))&&(typeof s=="string"?delete e[o]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[o]))}}_addSchema(e,r,o,s=this.opts.validateSchema,n=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;o=(0,Co.normalizeId)(i||o);let u=Co.getSchemaRefs.call(this,e,o);return c=new wo.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:o,localRefs:u}),this._cache.set(c.schema,c),n&&!o.startsWith("#")&&(o&&this._checkUnique(o),this.refs[o]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):wo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{wo.compileSchema.call(this,e)}finally{this.opts=r}}};Io.ValidationError=yC.default;Io.MissingRefError=zd.default;ge.default=Io;function jd(t,e,r,o="error"){for(let s in t){let n=s;n in e&&this.logger[o](`${r}: option ${s}. ${t[n]}`)}}function Nd(t){return t=(0,Co.normalizeId)(t),this.schemas[t]||this.refs[t]}function MC(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function vC(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function bC(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function xC(){let t={...this.opts};for(let e of BC)delete t[e];return t}var RC={log(){},warn(){},error(){}};function TC(t){if(t===!1)return RC;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var DC=/^[a-z_$][a-z0-9_$:-]*$/i;function $C(t,e){let{RULES:r}=this;if((0,ba.eachItem)(t,o=>{if(r.keywords[o])throw new Error(`Keyword ${o} is already defined`);if(!DC.test(o))throw new Error(`Keyword ${o} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function va(t,e,r){var o;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:n}=this,i=s?n.post:n.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},n.rules.push(i)),n.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Ys.getJSONTypes)(e.type),schemaType:(0,Ys.getJSONTypes)(e.schemaType)}};e.before?PC.call(this,i,a,e.before):i.rules.push(a),n.all[t]=a,(o=e.implements)===null||o===void 0||o.forEach(c=>this.addKeyword(c))}function PC(t,e,r){let o=t.rules.findIndex(s=>s.keyword===r);o>=0?t.rules.splice(o,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function jC(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Fd(e)),t.validateSchema=this.compile(e,!0))}var NC={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Fd(t){return{anyOf:[t,NC]}}});var Ld=Q(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});var zC={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};xa.default=zC});var Yd=Q(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.callRef=Ot.getValidate=void 0;var UC=Eo(),qd=je(),be=U(),Er=st(),Gd=Ls(),Js=H(),FC={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:o}=t,{baseId:s,schemaEnv:n,validateName:i,opts:a,self:c}=o,{root:u}=n;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Gd.resolveRef.call(c,u,s,r);if(l===void 0)throw new UC.default(o.opts.uriResolver,s,r);if(l instanceof Gd.SchemaEnv)return p(l);return m(l);function d(){if(n===u)return Ws(t,i,n,n.$async);let g=e.scopeValue("root",{ref:u});return Ws(t,(0,be._)`${g}.validate`,u,u.$async)}function p(g){let f=Hd(t,g);Ws(t,f,g,g.$async)}function m(g){let f=e.scopeValue("schema",a.code.source===!0?{ref:g,code:(0,be.stringify)(g)}:{ref:g}),h=e.name("valid"),y=t.subschema({schema:g,dataTypes:[],schemaPath:be.nil,topSchemaRef:f,errSchemaPath:r},h);t.mergeEvaluated(y),t.ok(h)}}};function Hd(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,be._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ot.getValidate=Hd;function Ws(t,e,r,o){let{gen:s,it:n}=t,{allErrors:i,schemaEnv:a,opts:c}=n,u=c.passContext?Er.default.this:be.nil;o?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let g=s.let("valid");s.try(()=>{s.code((0,be._)`await ${(0,qd.callValidateCode)(t,e,u)}`),m(e),i||s.assign(g,!0)},f=>{s.if((0,be._)`!(${f} instanceof ${n.ValidationError})`,()=>s.throw(f)),p(f),i||s.assign(g,!1)}),t.ok(g)}function d(){t.result((0,qd.callValidateCode)(t,e,u),()=>m(e),()=>p(e))}function p(g){let f=(0,be._)`${g}.errors`;s.assign(Er.default.vErrors,(0,be._)`${Er.default.vErrors} === null ? ${f} : ${Er.default.vErrors}.concat(${f})`),s.assign(Er.default.errors,(0,be._)`${Er.default.vErrors}.length`)}function m(g){var f;if(!n.opts.unevaluated)return;let h=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(n.props!==!0)if(h&&!h.dynamicProps)h.props!==void 0&&(n.props=Js.mergeEvaluated.props(s,h.props,n.props));else{let y=s.var("props",(0,be._)`${g}.evaluated.props`);n.props=Js.mergeEvaluated.props(s,y,n.props,be.Name)}if(n.items!==!0)if(h&&!h.dynamicItems)h.items!==void 0&&(n.items=Js.mergeEvaluated.items(s,h.items,n.items));else{let y=s.var("items",(0,be._)`${g}.evaluated.items`);n.items=Js.mergeEvaluated.items(s,y,n.items,be.Name)}}}Ot.callRef=Ws;Ot.default=FC});var Jd=Q(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});var OC=Ld(),LC=Yd(),qC=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",OC.default,LC.default];Ra.default=qC});var Wd=Q(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});var Vs=U(),St=Vs.operators,Ks={maximum:{okStr:"<=",ok:St.LTE,fail:St.GT},minimum:{okStr:">=",ok:St.GTE,fail:St.LT},exclusiveMaximum:{okStr:"<",ok:St.LT,fail:St.GTE},exclusiveMinimum:{okStr:">",ok:St.GT,fail:St.LTE}},GC={message:({keyword:t,schemaCode:e})=>(0,Vs.str)`must be ${Ks[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Vs._)`{comparison: ${Ks[t].okStr}, limit: ${e}}`},HC={keyword:Object.keys(Ks),type:"number",schemaType:"number",$data:!0,error:GC,code(t){let{keyword:e,data:r,schemaCode:o}=t;t.fail$data((0,Vs._)`${r} ${Ks[e].fail} ${o} || isNaN(${r})`)}};Ta.default=HC});var Vd=Q(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});var Bo=U(),YC={message:({schemaCode:t})=>(0,Bo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Bo._)`{multipleOf: ${t}}`},JC={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:YC,code(t){let{gen:e,data:r,schemaCode:o,it:s}=t,n=s.opts.multipleOfPrecision,i=e.let("res"),a=n?(0,Bo._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${n}`:(0,Bo._)`${i} !== parseInt(${i})`;t.fail$data((0,Bo._)`(${o} === 0 || (${i} = ${r}/${o}, ${a}))`)}};Da.default=JC});var Zd=Q($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});function Kd(t){let e=t.length,r=0,o=0,s;for(;o<e;)r++,s=t.charCodeAt(o++),s>=55296&&s<=56319&&o<e&&(s=t.charCodeAt(o),(s&64512)===56320&&o++);return r}$a.default=Kd;Kd.code='require("ajv/dist/runtime/ucs2length").default'});var Xd=Q(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});var Lt=U(),WC=H(),VC=Zd(),KC={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Lt.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Lt._)`{limit: ${t}}`},ZC={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:KC,code(t){let{keyword:e,data:r,schemaCode:o,it:s}=t,n=e==="maxLength"?Lt.operators.GT:Lt.operators.LT,i=s.opts.unicode===!1?(0,Lt._)`${r}.length`:(0,Lt._)`${(0,WC.useFunc)(t.gen,VC.default)}(${r})`;t.fail$data((0,Lt._)`${i} ${n} ${o}`)}};Pa.default=ZC});var eA=Q(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});var XC=je(),eI=H(),yr=U(),tI={message:({schemaCode:t})=>(0,yr.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,yr._)`{pattern: ${t}}`},rI={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:tI,code(t){let{gen:e,data:r,$data:o,schema:s,schemaCode:n,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(o){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,yr._)`new RegExp`:(0,eI.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,yr._)`${u}(${n}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,yr._)`!${l}`)}else{let c=(0,XC.usePattern)(t,s);t.fail$data((0,yr._)`!${c}.test(${r})`)}}};ja.default=rI});var tA=Q(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});var Qo=U(),oI={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Qo.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Qo._)`{limit: ${t}}`},sI={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:oI,code(t){let{keyword:e,data:r,schemaCode:o}=t,s=e==="maxProperties"?Qo.operators.GT:Qo.operators.LT;t.fail$data((0,Qo._)`Object.keys(${r}).length ${s} ${o}`)}};Na.default=sI});var rA=Q(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var _o=je(),So=U(),nI=H(),iI={message:({params:{missingProperty:t}})=>(0,So.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,So._)`{missingProperty: ${t}}`},aI={keyword:"required",type:"object",schemaType:"array",$data:!0,error:iI,code(t){let{gen:e,schema:r,schemaCode:o,data:s,$data:n,it:i}=t,{opts:a}=i;if(!n&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:g}=t.it;for(let f of r)if(m?.[f]===void 0&&!g.has(f)){let h=i.schemaEnv.baseId+i.errSchemaPath,y=`required property "${f}" is not defined at "${h}" (strictRequired)`;(0,nI.checkStrictMode)(i,y,i.opts.strictRequired)}}function u(){if(c||n)t.block$data(So.nil,d);else for(let m of r)(0,_o.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||n){let g=e.let("valid",!0);t.block$data(g,()=>p(m,g)),t.ok(g)}else e.if((0,_o.checkMissingProp)(t,r,m)),(0,_o.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",o,m=>{t.setParams({missingProperty:m}),e.if((0,_o.noPropertyInData)(e,s,m,a.ownProperties),()=>t.error())})}function p(m,g){t.setParams({missingProperty:m}),e.forOf(m,o,()=>{e.assign(g,(0,_o.propertyInData)(e,s,m,a.ownProperties)),e.if((0,So.not)(g),()=>{t.error(),e.break()})},So.nil)}}};za.default=aI});var oA=Q(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});var ko=U(),cI={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ko.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ko._)`{limit: ${t}}`},lI={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:cI,code(t){let{keyword:e,data:r,schemaCode:o}=t,s=e==="maxItems"?ko.operators.GT:ko.operators.LT;t.fail$data((0,ko._)`${r}.length ${s} ${o}`)}};Ua.default=lI});var Zs=Q(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});var sA=ua();sA.code='require("ajv/dist/runtime/equal").default';Fa.default=sA});var nA=Q(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var Oa=po(),he=U(),uI=H(),dI=Zs(),AI={message:({params:{i:t,j:e}})=>(0,he.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,he._)`{i: ${t}, j: ${e}}`},pI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:AI,code(t){let{gen:e,data:r,$data:o,schema:s,parentSchema:n,schemaCode:i,it:a}=t;if(!o&&!s)return;let c=e.let("valid"),u=n.items?(0,Oa.getSchemaTypes)(n.items):[];t.block$data(c,l,(0,he._)`${i} === false`),t.ok(c);function l(){let g=e.let("i",(0,he._)`${r}.length`),f=e.let("j");t.setParams({i:g,j:f}),e.assign(c,!0),e.if((0,he._)`${g} > 1`,()=>(d()?p:m)(g,f))}function d(){return u.length>0&&!u.some(g=>g==="object"||g==="array")}function p(g,f){let h=e.name("item"),y=(0,Oa.checkDataTypes)(u,h,a.opts.strictNumbers,Oa.DataType.Wrong),w=e.const("indices",(0,he._)`{}`);e.for((0,he._)`;${g}--;`,()=>{e.let(h,(0,he._)`${r}[${g}]`),e.if(y,(0,he._)`continue`),u.length>1&&e.if((0,he._)`typeof ${h} == "string"`,(0,he._)`${h} += "_"`),e.if((0,he._)`typeof ${w}[${h}] == "number"`,()=>{e.assign(f,(0,he._)`${w}[${h}]`),t.error(),e.assign(c,!1).break()}).code((0,he._)`${w}[${h}] = ${g}`)})}function m(g,f){let h=(0,uI.useFunc)(e,dI.default),y=e.name("outer");e.label(y).for((0,he._)`;${g}--;`,()=>e.for((0,he._)`${f} = ${g}; ${f}--;`,()=>e.if((0,he._)`${h}(${r}[${g}], ${r}[${f}])`,()=>{t.error(),e.assign(c,!1).break(y)})))}}};La.default=pI});var iA=Q(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var qa=U(),mI=H(),fI=Zs(),gI={message:"must be equal to constant",params:({schemaCode:t})=>(0,qa._)`{allowedValue: ${t}}`},hI={keyword:"const",$data:!0,error:gI,code(t){let{gen:e,data:r,$data:o,schemaCode:s,schema:n}=t;o||n&&typeof n=="object"?t.fail$data((0,qa._)`!${(0,mI.useFunc)(e,fI.default)}(${r}, ${s})`):t.fail((0,qa._)`${n} !== ${r}`)}};Ga.default=hI});var aA=Q(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});var Mo=U(),EI=H(),yI=Zs(),wI={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Mo._)`{allowedValues: ${t}}`},CI={keyword:"enum",schemaType:"array",$data:!0,error:wI,code(t){let{gen:e,data:r,$data:o,schema:s,schemaCode:n,it:i}=t;if(!o&&s.length===0)throw new Error("enum must have non-empty array");let a=s.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,EI.useFunc)(e,yI.default)),l;if(a||o)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let m=e.const("vSchema",n);l=(0,Mo.or)(...s.map((g,f)=>p(m,f)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",n,m=>e.if((0,Mo._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function p(m,g){let f=s[g];return typeof f=="object"&&f!==null?(0,Mo._)`${u()}(${r}, ${m}[${g}])`:(0,Mo._)`${r} === ${f}`}}};Ha.default=CI});var cA=Q(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});var II=Wd(),BI=Vd(),QI=Xd(),_I=eA(),SI=tA(),kI=rA(),MI=oA(),vI=nA(),bI=iA(),xI=aA(),RI=[II.default,BI.default,QI.default,_I.default,SI.default,kI.default,MI.default,vI.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},bI.default,xI.default];Ya.default=RI});var Wa=Q(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.validateAdditionalItems=void 0;var qt=U(),Ja=H(),TI={message:({params:{len:t}})=>(0,qt.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,qt._)`{limit: ${t}}`},DI={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:TI,code(t){let{parentSchema:e,it:r}=t,{items:o}=e;if(!Array.isArray(o)){(0,Ja.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}lA(t,o)}};function lA(t,e){let{gen:r,schema:o,data:s,keyword:n,it:i}=t;i.items=!0;let a=r.const("len",(0,qt._)`${s}.length`);if(o===!1)t.setParams({len:e.length}),t.pass((0,qt._)`${a} <= ${e.length}`);else if(typeof o=="object"&&!(0,Ja.alwaysValidSchema)(i,o)){let u=r.var("valid",(0,qt._)`${a} <= ${e.length}`);r.if((0,qt.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:n,dataProp:l,dataPropType:Ja.Type.Num},u),i.allErrors||r.if((0,qt.not)(u),()=>r.break())})}}vo.validateAdditionalItems=lA;vo.default=DI});var Va=Q(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.validateTuple=void 0;var uA=U(),Xs=H(),$I=je(),PI={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return dA(t,"additionalItems",e);r.items=!0,!(0,Xs.alwaysValidSchema)(r,e)&&t.ok((0,$I.validateArray)(t))}};function dA(t,e,r=t.schema){let{gen:o,parentSchema:s,data:n,keyword:i,it:a}=t;l(s),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Xs.mergeEvaluated.items(o,r.length,a.items));let c=o.name("valid"),u=o.const("len",(0,uA._)`${n}.length`);r.forEach((d,p)=>{(0,Xs.alwaysValidSchema)(a,d)||(o.if((0,uA._)`${u} > ${p}`,()=>t.subschema({keyword:i,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:m}=a,g=r.length,f=g===d.minItems&&(g===d.maxItems||d[e]===!1);if(p.strictTuples&&!f){let h=`"${i}" is ${g}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,Xs.checkStrictMode)(a,h,p.strictTuples)}}}bo.validateTuple=dA;bo.default=PI});var AA=Q(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var jI=Va(),NI={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,jI.validateTuple)(t,"items")};Ka.default=NI});var mA=Q(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var pA=U(),zI=H(),UI=je(),FI=Wa(),OI={message:({params:{len:t}})=>(0,pA.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,pA._)`{limit: ${t}}`},LI={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:OI,code(t){let{schema:e,parentSchema:r,it:o}=t,{prefixItems:s}=r;o.items=!0,!(0,zI.alwaysValidSchema)(o,e)&&(s?(0,FI.validateAdditionalItems)(t,s):t.ok((0,UI.validateArray)(t)))}};Za.default=LI});var fA=Q(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});var ze=U(),en=H(),qI={message:({params:{min:t,max:e}})=>e===void 0?(0,ze.str)`must contain at least ${t} valid item(s)`:(0,ze.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ze._)`{minContains: ${t}}`:(0,ze._)`{minContains: ${t}, maxContains: ${e}}`},GI={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:qI,code(t){let{gen:e,schema:r,parentSchema:o,data:s,it:n}=t,i,a,{minContains:c,maxContains:u}=o;n.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,ze._)`${s}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,en.checkStrictMode)(n,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,en.checkStrictMode)(n,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,en.alwaysValidSchema)(n,r)){let f=(0,ze._)`${l} >= ${i}`;a!==void 0&&(f=(0,ze._)`${f} && ${l} <= ${a}`),t.pass(f);return}n.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,ze._)`${s}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let f=e.name("_valid"),h=e.let("count",0);m(f,()=>e.if(f,()=>g(h)))}function m(f,h){e.forRange("i",0,l,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:en.Type.Num,compositeRule:!0},f),h()})}function g(f){e.code((0,ze._)`${f}++`),a===void 0?e.if((0,ze._)`${f} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,ze._)`${f} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,ze._)`${f} >= ${i}`,()=>e.assign(d,!0)))}}};Xa.default=GI});var EA=Q(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.validateSchemaDeps=Ke.validatePropertyDeps=Ke.error=void 0;var ec=U(),HI=H(),xo=je();Ke.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let o=e===1?"property":"properties";return(0,ec.str)`must have ${o} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:o}})=>(0,ec._)`{property: ${t},
|
|
8
|
+
|| ${i} === "boolean" || ${s} === null`).assign(a,(0,N._)`[${s}]`)}}}function py({gen:t,parentData:e,parentDataProperty:r},o){t.if((0,N._)`${e} !== undefined`,()=>t.assign((0,N._)`${e}[${r}]`,o))}function sa(t,e,r,o=Ar.Correct){let s=o===Ar.Correct?N.operators.EQ:N.operators.NEQ,n;switch(t){case"null":return(0,N._)`${e} ${s} null`;case"array":n=(0,N._)`Array.isArray(${e})`;break;case"object":n=(0,N._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":n=i((0,N._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":n=i();break;default:return(0,N._)`typeof ${e} ${s} ${t}`}return o===Ar.Correct?n:(0,N.not)(n);function i(a=N.nil){return(0,N.and)((0,N._)`typeof ${e} == "number"`,a,r?(0,N._)`isFinite(${e})`:N.nil)}}Ce.checkDataType=sa;function na(t,e,r,o){if(t.length===1)return sa(t[0],e,r,o);let s,n=(0,$u.toHash)(t);if(n.array&&n.object){let i=(0,N._)`typeof ${e} != "object"`;s=n.null?i:(0,N._)`!${e} || ${i}`,delete n.null,delete n.array,delete n.object}else s=N.nil;n.number&&delete n.integer;for(let i in n)s=(0,N.and)(s,sa(i,e,r,o));return s}Ce.checkDataTypes=na;var my={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,N._)`{type: ${t}}`:(0,N._)`{type: ${e}}`};function ia(t){let e=fy(t);(0,cy.reportError)(e,my)}Ce.reportTypeError=ia;function fy(t){let{gen:e,data:r,schema:o}=t,s=(0,$u.schemaRefOrVal)(t,o,"type");return{gen:e,keyword:"type",data:r,schema:o.type,schemaCode:s,schemaValue:s,parentSchema:o,params:{},it:t}}});var zu=Q(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.assignDefaults=void 0;var pr=U(),gy=H();function hy(t,e){let{properties:r,items:o}=t.schema;if(e==="object"&&r)for(let s in r)Nu(t,s,r[s].default);else e==="array"&&Array.isArray(o)&&o.forEach((s,n)=>Nu(t,n,s.default))}js.assignDefaults=hy;function Nu(t,e,r){let{gen:o,compositeRule:s,data:n,opts:i}=t;if(r===void 0)return;let a=(0,pr._)`${n}${(0,pr.getProperty)(e)}`;if(s){(0,gy.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,pr._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,pr._)`${c} || ${a} === null || ${a} === ""`),o.if(c,(0,pr._)`${a} = ${(0,pr.stringify)(r)}`)}});var je=Q(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.validateUnion=V.validateArray=V.usePattern=V.callValidateCode=V.schemaProperties=V.allSchemaProperties=V.noPropertyInData=V.propertyInData=V.isOwnProperty=V.hasPropFunc=V.reportMissingProp=V.checkMissingProp=V.checkReportMissingProp=void 0;var ee=U(),aa=H(),It=st(),Ey=H();function yy(t,e){let{gen:r,data:o,it:s}=t;r.if(la(r,o,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ee._)`${e}`},!0),t.error()})}V.checkReportMissingProp=yy;function wy({gen:t,data:e,it:{opts:r}},o,s){return(0,ee.or)(...o.map(n=>(0,ee.and)(la(t,e,n,r.ownProperties),(0,ee._)`${s} = ${n}`)))}V.checkMissingProp=wy;function Cy(t,e){t.setParams({missingProperty:e},!0),t.error()}V.reportMissingProp=Cy;function Uu(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ee._)`Object.prototype.hasOwnProperty`})}V.hasPropFunc=Uu;function ca(t,e,r){return(0,ee._)`${Uu(t)}.call(${e}, ${r})`}V.isOwnProperty=ca;function Iy(t,e,r,o){let s=(0,ee._)`${e}${(0,ee.getProperty)(r)} !== undefined`;return o?(0,ee._)`${s} && ${ca(t,e,r)}`:s}V.propertyInData=Iy;function la(t,e,r,o){let s=(0,ee._)`${e}${(0,ee.getProperty)(r)} === undefined`;return o?(0,ee.or)(s,(0,ee.not)(ca(t,e,r))):s}V.noPropertyInData=la;function Fu(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}V.allSchemaProperties=Fu;function By(t,e){return Fu(e).filter(r=>!(0,aa.alwaysValidSchema)(t,e[r]))}V.schemaProperties=By;function Qy({schemaCode:t,data:e,it:{gen:r,topSchemaRef:o,schemaPath:s,errorPath:n},it:i},a,c,u){let l=u?(0,ee._)`${t}, ${e}, ${o}${s}`:e,d=[[It.default.instancePath,(0,ee.strConcat)(It.default.instancePath,n)],[It.default.parentData,i.parentData],[It.default.parentDataProperty,i.parentDataProperty],[It.default.rootData,It.default.rootData]];i.opts.dynamicRef&&d.push([It.default.dynamicAnchors,It.default.dynamicAnchors]);let p=(0,ee._)`${l}, ${r.object(...d)}`;return c!==ee.nil?(0,ee._)`${a}.call(${c}, ${p})`:(0,ee._)`${a}(${p})`}V.callValidateCode=Qy;var _y=(0,ee._)`new RegExp`;function Sy({gen:t,it:{opts:e}},r){let o=e.unicodeRegExp?"u":"",{regExp:s}=e.code,n=s(r,o);return t.scopeValue("pattern",{key:n.toString(),ref:n,code:(0,ee._)`${s.code==="new RegExp"?_y:(0,Ey.useFunc)(t,s)}(${r}, ${o})`})}V.usePattern=Sy;function ky(t){let{gen:e,data:r,keyword:o,it:s}=t,n=e.name("valid");if(s.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(n,!0),i(()=>e.break()),n;function i(a){let c=e.const("len",(0,ee._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:o,dataProp:u,dataPropType:aa.Type.Num},n),e.if((0,ee.not)(n),a)})}}V.validateArray=ky;function vy(t){let{gen:e,schema:r,keyword:o,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,aa.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:o,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,ee._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ee.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}V.validateUnion=vy});var qu=Q(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.validateKeywordUsage=We.validSchemaType=We.funcKeywordCode=We.macroKeywordCode=void 0;var Qe=U(),zt=st(),My=je(),by=Ao();function xy(t,e){let{gen:r,keyword:o,schema:s,parentSchema:n,it:i}=t,a=e.macro.call(i.self,s,n,i),c=Lu(r,o,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Qe.nil,errSchemaPath:`${i.errSchemaPath}/${o}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}We.macroKeywordCode=xy;function Ry(t,e){var r;let{gen:o,keyword:s,schema:n,parentSchema:i,$data:a,it:c}=t;Dy(c,e);let u=!a&&e.compile?e.compile.call(c.self,n,i,c):e.validate,l=Lu(o,s,u),d=o.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)f(),e.modifying&&Ou(t),h(()=>t.error());else{let y=e.async?m():g();e.modifying&&Ou(t),h(()=>Ty(t,y))}}function m(){let y=o.let("ruleErrs",null);return o.try(()=>f((0,Qe._)`await `),w=>o.assign(d,!1).if((0,Qe._)`${w} instanceof ${c.ValidationError}`,()=>o.assign(y,(0,Qe._)`${w}.errors`),()=>o.throw(w))),y}function g(){let y=(0,Qe._)`${l}.errors`;return o.assign(y,null),f(Qe.nil),y}function f(y=e.async?(0,Qe._)`await `:Qe.nil){let w=c.opts.passContext?zt.default.this:zt.default.self,I=!("compile"in e&&!a||e.schema===!1);o.assign(d,(0,Qe._)`${y}${(0,My.callValidateCode)(t,l,w,I)}`,e.modifying)}function h(y){var w;o.if((0,Qe.not)((w=e.valid)!==null&&w!==void 0?w:d),y)}}We.funcKeywordCode=Ry;function Ou(t){let{gen:e,data:r,it:o}=t;e.if(o.parentData,()=>e.assign(r,(0,Qe._)`${o.parentData}[${o.parentDataProperty}]`))}function Ty(t,e){let{gen:r}=t;r.if((0,Qe._)`Array.isArray(${e})`,()=>{r.assign(zt.default.vErrors,(0,Qe._)`${zt.default.vErrors} === null ? ${e} : ${zt.default.vErrors}.concat(${e})`).assign(zt.default.errors,(0,Qe._)`${zt.default.vErrors}.length`),(0,by.extendErrors)(t)},()=>t.error())}function Dy({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Lu(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Qe.stringify)(r)})}function $y(t,e,r=!1){return!e.length||e.some(o=>o==="array"?Array.isArray(t):o==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==o||r&&typeof t>"u")}We.validSchemaType=$y;function Py({schema:t,opts:e,self:r,errSchemaPath:o},s,n){if(Array.isArray(s.keyword)?!s.keyword.includes(n):s.keyword!==n)throw new Error("ajv implementation error");let i=s.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${n}: ${i.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[n])){let c=`keyword "${n}" value is invalid at path "${o}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}We.validateKeywordUsage=Py});var Hu=Q(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.extendSubschemaMode=Bt.extendSubschemaData=Bt.getSubschema=void 0;var Ve=U(),Gu=H();function jy(t,{keyword:e,schemaProp:r,schema:o,schemaPath:s,errSchemaPath:n,topSchemaRef:i}){if(e!==void 0&&o!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,Ve._)`${t.schemaPath}${(0,Ve.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Ve._)`${t.schemaPath}${(0,Ve.getProperty)(e)}${(0,Ve.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,Gu.escapeFragment)(r)}`}}if(o!==void 0){if(s===void 0||n===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:s,topSchemaRef:i,errSchemaPath:n}}throw new Error('either "keyword" or "schema" must be passed')}Bt.getSubschema=jy;function Ny(t,e,{dataProp:r,dataPropType:o,data:s,dataTypes:n,propertyName:i}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=a.let("data",(0,Ve._)`${e.data}${(0,Ve.getProperty)(r)}`,!0);c(p),t.errorPath=(0,Ve.str)`${u}${(0,Gu.getErrorPath)(r,o,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Ve._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){let u=s instanceof Ve.Name?s:a.let("data",s,!0);c(u),i!==void 0&&(t.propertyName=i)}n&&(t.dataTypes=n);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Bt.extendSubschemaData=Ny;function zy(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:o,createErrors:s,allErrors:n}){o!==void 0&&(t.compositeRule=o),s!==void 0&&(t.createErrors=s),n!==void 0&&(t.allErrors=n),t.jtdDiscriminator=e,t.jtdMetadata=r}Bt.extendSubschemaMode=zy});var ua=Q((IR,Yu)=>{"use strict";Yu.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var o,s,n;if(Array.isArray(e)){if(o=e.length,o!=r.length)return!1;for(s=o;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(n=Object.keys(e),o=n.length,o!==Object.keys(r).length)return!1;for(s=o;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,n[s]))return!1;for(s=o;s--!==0;){var i=n[s];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var Wu=Q((BR,Ju)=>{"use strict";var Qt=Ju.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var o=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Ns(e,o,s,t,"",t)};Qt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qt.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 Ns(t,e,r,o,s,n,i,a,c,u){if(o&&typeof o=="object"&&!Array.isArray(o)){e(o,s,n,i,a,c,u);for(var l in o){var d=o[l];if(Array.isArray(d)){if(l in Qt.arrayKeywords)for(var p=0;p<d.length;p++)Ns(t,e,r,d[p],s+"/"+l+"/"+p,n,s,l,o,p)}else if(l in Qt.propsKeywords){if(d&&typeof d=="object")for(var m in d)Ns(t,e,r,d[m],s+"/"+l+"/"+Uy(m),n,s,l,o,m)}else(l in Qt.keywords||t.allKeys&&!(l in Qt.skipKeywords))&&Ns(t,e,r,d,s+"/"+l,n,s,l,o)}r(o,s,n,i,a,c,u)}}function Uy(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var mo=Q(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.getSchemaRefs=Me.resolveUrl=Me.normalizeId=Me._getFullPath=Me.getFullPath=Me.inlineRef=void 0;var Fy=H(),Oy=ua(),Ly=Wu(),qy=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Gy(t,e=!0){return typeof t=="boolean"?!0:e===!0?!da(t):e?Vu(t)<=e:!1}Me.inlineRef=Gy;var Hy=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function da(t){for(let e in t){if(Hy.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(da)||typeof r=="object"&&da(r))return!0}return!1}function Vu(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!qy.has(r)&&(typeof t[r]=="object"&&(0,Fy.eachItem)(t[r],o=>e+=Vu(o)),e===1/0))return 1/0}return e}function Ku(t,e="",r){r!==!1&&(e=mr(e));let o=t.parse(e);return Zu(t,o)}Me.getFullPath=Ku;function Zu(t,e){return t.serialize(e).split("#")[0]+"#"}Me._getFullPath=Zu;var Yy=/#\/?$/;function mr(t){return t?t.replace(Yy,""):""}Me.normalizeId=mr;function Jy(t,e,r){return r=mr(r),t.resolve(e,r)}Me.resolveUrl=Jy;var Wy=/^[a-z_][-a-z0-9._]*$/i;function Vy(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:o}=this.opts,s=mr(t[r]||e),n={"":s},i=Ku(o,s,!1),a={},c=new Set;return Ly(t,{allKeys:!0},(d,p,m,g)=>{if(g===void 0)return;let f=i+p,h=n[g];typeof d[r]=="string"&&(h=y.call(this,d[r])),w.call(this,d.$anchor),w.call(this,d.$dynamicAnchor),n[p]=h;function y(I){let M=this.opts.uriResolver.resolve;if(I=mr(h?M(h,I):I),c.has(I))throw l(I);c.add(I);let E=this.refs[I];return typeof E=="string"&&(E=this.refs[E]),typeof E=="object"?u(d,E.schema,I):I!==mr(f)&&(I[0]==="#"?(u(d,a[I],I),a[I]=d):this.refs[I]=f),I}function w(I){if(typeof I=="string"){if(!Wy.test(I))throw new Error(`invalid anchor "${I}"`);y.call(this,`#${I}`)}}}),a;function u(d,p,m){if(p!==void 0&&!Oy(d,p))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Me.getSchemaRefs=Vy});var ho=Q(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.getData=_t.KeywordCxt=_t.validateFunctionCode=void 0;var od=Ru(),Xu=po(),pa=oa(),zs=po(),Ky=zu(),go=qu(),Aa=Hu(),x=U(),j=st(),Zy=mo(),nt=H(),fo=Ao();function Xy(t){if(id(t)&&(ad(t),nd(t))){rw(t);return}sd(t,()=>(0,od.topBoolOrEmptySchema)(t))}_t.validateFunctionCode=Xy;function sd({gen:t,validateName:e,schema:r,schemaEnv:o,opts:s},n){s.code.es5?t.func(e,(0,x._)`${j.default.data}, ${j.default.valCxt}`,o.$async,()=>{t.code((0,x._)`"use strict"; ${ed(r,s)}`),tw(t,s),t.code(n)}):t.func(e,(0,x._)`${j.default.data}, ${ew(s)}`,o.$async,()=>t.code(ed(r,s)).code(n))}function ew(t){return(0,x._)`{${j.default.instancePath}="", ${j.default.parentData}, ${j.default.parentDataProperty}, ${j.default.rootData}=${j.default.data}${t.dynamicRef?(0,x._)`, ${j.default.dynamicAnchors}={}`:x.nil}}={}`}function tw(t,e){t.if(j.default.valCxt,()=>{t.var(j.default.instancePath,(0,x._)`${j.default.valCxt}.${j.default.instancePath}`),t.var(j.default.parentData,(0,x._)`${j.default.valCxt}.${j.default.parentData}`),t.var(j.default.parentDataProperty,(0,x._)`${j.default.valCxt}.${j.default.parentDataProperty}`),t.var(j.default.rootData,(0,x._)`${j.default.valCxt}.${j.default.rootData}`),e.dynamicRef&&t.var(j.default.dynamicAnchors,(0,x._)`${j.default.valCxt}.${j.default.dynamicAnchors}`)},()=>{t.var(j.default.instancePath,(0,x._)`""`),t.var(j.default.parentData,(0,x._)`undefined`),t.var(j.default.parentDataProperty,(0,x._)`undefined`),t.var(j.default.rootData,j.default.data),e.dynamicRef&&t.var(j.default.dynamicAnchors,(0,x._)`{}`)})}function rw(t){let{schema:e,opts:r,gen:o}=t;sd(t,()=>{r.$comment&&e.$comment&&ld(t),aw(t),o.let(j.default.vErrors,null),o.let(j.default.errors,0),r.unevaluated&&ow(t),cd(t),uw(t)})}function ow(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,x._)`${r}.evaluated`),e.if((0,x._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,x._)`${t.evaluated}.props`,(0,x._)`undefined`)),e.if((0,x._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,x._)`${t.evaluated}.items`,(0,x._)`undefined`))}function ed(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,x._)`/*# sourceURL=${r} */`:x.nil}function sw(t,e){if(id(t)&&(ad(t),nd(t))){nw(t,e);return}(0,od.boolOrEmptySchema)(t,e)}function nd({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function id(t){return typeof t.schema!="boolean"}function nw(t,e){let{schema:r,gen:o,opts:s}=t;s.$comment&&r.$comment&&ld(t),cw(t),lw(t);let n=o.const("_errs",j.default.errors);cd(t,n),o.var(e,(0,x._)`${n} === ${j.default.errors}`)}function ad(t){(0,nt.checkUnknownRules)(t),iw(t)}function cd(t,e){if(t.opts.jtd)return td(t,[],!1,e);let r=(0,Xu.getSchemaTypes)(t.schema),o=(0,Xu.coerceAndCheckDataType)(t,r);td(t,r,!o,e)}function iw(t){let{schema:e,errSchemaPath:r,opts:o,self:s}=t;e.$ref&&o.ignoreKeywordsWithRef&&(0,nt.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function aw(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,nt.checkStrictMode)(t,"default is ignored in the schema root")}function cw(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Zy.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function lw(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ld({gen:t,schemaEnv:e,schema:r,errSchemaPath:o,opts:s}){let n=r.$comment;if(s.$comment===!0)t.code((0,x._)`${j.default.self}.logger.log(${n})`);else if(typeof s.$comment=="function"){let i=(0,x.str)`${o}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,x._)`${j.default.self}.opts.$comment(${n}, ${i}, ${a}.schema)`)}}function uw(t){let{gen:e,schemaEnv:r,validateName:o,ValidationError:s,opts:n}=t;r.$async?e.if((0,x._)`${j.default.errors} === 0`,()=>e.return(j.default.data),()=>e.throw((0,x._)`new ${s}(${j.default.vErrors})`)):(e.assign((0,x._)`${o}.errors`,j.default.vErrors),n.unevaluated&&dw(t),e.return((0,x._)`${j.default.errors} === 0`))}function dw({gen:t,evaluated:e,props:r,items:o}){r instanceof x.Name&&t.assign((0,x._)`${e}.props`,r),o instanceof x.Name&&t.assign((0,x._)`${e}.items`,o)}function td(t,e,r,o){let{gen:s,schema:n,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(n.$ref&&(c.ignoreKeywordsWithRef||!(0,nt.schemaHasRulesButRef)(n,l))){s.block(()=>dd(t,"$ref",l.all.$ref.definition));return}c.jtd||Aw(t,e),s.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,pa.shouldUseGroup)(n,p)&&(p.type?(s.if((0,zs.checkDataType)(p.type,i,c.strictNumbers)),rd(t,p),e.length===1&&e[0]===p.type&&r&&(s.else(),(0,zs.reportTypeError)(t)),s.endIf()):rd(t,p),a||s.if((0,x._)`${j.default.errors} === ${o||0}`))}}function rd(t,e){let{gen:r,schema:o,opts:{useDefaults:s}}=t;s&&(0,Ky.assignDefaults)(t,e.type),r.block(()=>{for(let n of e.rules)(0,pa.shouldUseRule)(o,n)&&dd(t,n.keyword,n.definition,e.type)})}function Aw(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(pw(t,e),t.opts.allowUnionTypes||mw(t,e),fw(t,t.dataTypes))}function pw(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ud(t.dataTypes,r)||ma(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),hw(t,e)}}function mw(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&ma(t,"use allowUnionTypes to allow union type keyword")}function fw(t,e){let r=t.self.RULES.all;for(let o in r){let s=r[o];if(typeof s=="object"&&(0,pa.shouldUseRule)(t.schema,s)){let{type:n}=s.definition;n.length&&!n.some(i=>gw(e,i))&&ma(t,`missing type "${n.join(",")}" for keyword "${o}"`)}}}function gw(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ud(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function hw(t,e){let r=[];for(let o of t.dataTypes)ud(e,o)?r.push(o):e.includes("integer")&&o==="number"&&r.push("integer");t.dataTypes=r}function ma(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,nt.checkStrictMode)(t,e,t.opts.strictTypes)}var Us=class{constructor(e,r,o){if((0,go.validateKeywordUsage)(e,r,o),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=o,this.data=e.data,this.schema=e.schema[o],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,nt.schemaRefOrVal)(e,this.schema,o,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Ad(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,go.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${o} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",j.default.errors))}result(e,r,o){this.failResult((0,x.not)(e),r,o)}failResult(e,r,o){this.gen.if(e),o?o():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,x.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,x._)`${r} !== undefined && (${(0,x.or)(this.invalid$data(),e)})`)}error(e,r,o){if(r){this.setParams(r),this._error(e,o),this.setParams({});return}this._error(e,o)}_error(e,r){(e?fo.reportExtraError:fo.reportError)(this,this.def.error,r)}$dataError(){(0,fo.reportError)(this,this.def.$dataError||fo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,fo.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,o=x.nil){this.gen.block(()=>{this.check$data(e,o),r()})}check$data(e=x.nil,r=x.nil){if(!this.$data)return;let{gen:o,schemaCode:s,schemaType:n,def:i}=this;o.if((0,x.or)((0,x._)`${s} === undefined`,r)),e!==x.nil&&o.assign(e,!0),(n.length||i.validateSchema)&&(o.elseIf(this.invalid$data()),this.$dataError(),e!==x.nil&&o.assign(e,!1)),o.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:o,def:s,it:n}=this;return(0,x.or)(i(),a());function i(){if(o.length){if(!(r instanceof x.Name))throw new Error("ajv implementation error");let c=Array.isArray(o)?o:[o];return(0,x._)`${(0,zs.checkDataTypes)(c,r,n.opts.strictNumbers,zs.DataType.Wrong)}`}return x.nil}function a(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,x._)`!${c}(${r})`}return x.nil}}subschema(e,r){let o=(0,Aa.getSubschema)(this.it,e);(0,Aa.extendSubschemaData)(o,this.it,e),(0,Aa.extendSubschemaMode)(o,e);let s={...this.it,...o,items:void 0,props:void 0};return sw(s,r),s}mergeEvaluated(e,r){let{it:o,gen:s}=this;o.opts.unevaluated&&(o.props!==!0&&e.props!==void 0&&(o.props=nt.mergeEvaluated.props(s,e.props,o.props,r)),o.items!==!0&&e.items!==void 0&&(o.items=nt.mergeEvaluated.items(s,e.items,o.items,r)))}mergeValidEvaluated(e,r){let{it:o,gen:s}=this;if(o.opts.unevaluated&&(o.props!==!0||o.items!==!0))return s.if(r,()=>this.mergeEvaluated(e,x.Name)),!0}};_t.KeywordCxt=Us;function dd(t,e,r,o){let s=new Us(t,r,e);"code"in r?r.code(s,o):s.$data&&r.validate?(0,go.funcKeywordCode)(s,r):"macro"in r?(0,go.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0,go.funcKeywordCode)(s,r)}var Ew=/^\/(?:[^~]|~0|~1)*$/,yw=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ad(t,{dataLevel:e,dataNames:r,dataPathArr:o}){let s,n;if(t==="")return j.default.rootData;if(t[0]==="/"){if(!Ew.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,n=j.default.rootData}else{let u=yw.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return o[e-l]}if(l>e)throw new Error(c("data",l));if(n=r[e-l],!s)return n}let i=n,a=s.split("/");for(let u of a)u&&(n=(0,x._)`${n}${(0,x.getProperty)((0,nt.unescapeJsonPointer)(u))}`,i=(0,x._)`${i} && ${n}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}_t.getData=Ad});var Fs=Q(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});var fa=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ga.default=fa});var Eo=Q(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});var ha=mo(),Ea=class extends Error{constructor(e,r,o,s){super(s||`can't resolve reference ${o} from id ${r}`),this.missingRef=(0,ha.resolveUrl)(e,r,o),this.missingSchema=(0,ha.normalizeId)((0,ha.getFullPath)(e,this.missingRef))}};ya.default=Ea});var Ls=Q(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.resolveSchema=Ne.getCompilingSchema=Ne.resolveRef=Ne.compileSchema=Ne.SchemaEnv=void 0;var Oe=U(),ww=Fs(),Ut=st(),Le=mo(),pd=H(),Cw=ho(),fr=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let o;typeof e.schema=="object"&&(o=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Le.normalizeId)(o?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=o?.$async,this.refs={}}};Ne.SchemaEnv=fr;function Ca(t){let e=md.call(this,t);if(e)return e;let r=(0,Le.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:o,lines:s}=this.opts.code,{ownProperties:n}=this.opts,i=new Oe.CodeGen(this.scope,{es5:o,lines:s,ownProperties:n}),a;t.$async&&(a=i.scopeValue("Error",{ref:ww.default,code:(0,Oe._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Ut.default.data,parentData:Ut.default.parentData,parentDataProperty:Ut.default.parentDataProperty,dataNames:[Ut.default.data],dataPathArr:[Oe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Oe.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Oe.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Oe._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,Cw.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Ut.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${Ut.default.self}`,`${Ut.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:g,items:f}=u;m.evaluated={props:g instanceof Oe.Name?void 0:g,items:f instanceof Oe.Name?void 0:f,dynamicProps:g instanceof Oe.Name,dynamicItems:f instanceof Oe.Name},m.source&&(m.source.evaluated=(0,Oe.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}Ne.compileSchema=Ca;function Iw(t,e,r){var o;r=(0,Le.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let n=_w.call(this,t,r);if(n===void 0){let i=(o=t.localRefs)===null||o===void 0?void 0:o[r],{schemaId:a}=this.opts;i&&(n=new fr({schema:i,schemaId:a,root:t,baseId:e}))}if(n!==void 0)return t.refs[r]=Bw.call(this,n)}Ne.resolveRef=Iw;function Bw(t){return(0,Le.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Ca.call(this,t)}function md(t){for(let e of this._compilations)if(Qw(e,t))return e}Ne.getCompilingSchema=md;function Qw(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function _w(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Os.call(this,t,e)}function Os(t,e){let r=this.opts.uriResolver.parse(e),o=(0,Le._getFullPath)(this.opts.uriResolver,r),s=(0,Le.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&o===s)return wa.call(this,r,t);let n=(0,Le.normalizeId)(o),i=this.refs[n]||this.schemas[n];if(typeof i=="string"){let a=Os.call(this,t,i);return typeof a?.schema!="object"?void 0:wa.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Ca.call(this,i),n===(0,Le.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(s=(0,Le.resolveUrl)(this.opts.uriResolver,s,u)),new fr({schema:a,schemaId:c,root:t,baseId:s})}return wa.call(this,r,i)}}Ne.resolveSchema=Os;var Sw=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function wa(t,{baseId:e,schema:r,root:o}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,pd.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!Sw.has(a)&&u&&(e=(0,Le.resolveUrl)(this.opts.uriResolver,e,u))}let n;if(typeof r!="boolean"&&r.$ref&&!(0,pd.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Le.resolveUrl)(this.opts.uriResolver,e,r.$ref);n=Os.call(this,o,a)}let{schemaId:i}=this.opts;if(n=n||new fr({schema:r,schemaId:i,root:o,baseId:e}),n.schema!==n.root.schema)return n}});var fd=Q((MR,kw)=>{kw.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 Qa=Q((bR,Cd)=>{"use strict";var vw=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),hd=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),Ia=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Ed=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),Mw=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Ba(t){let e="",r=0,o=0;for(o=0;o<t.length;o++)if(r=t[o].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[o];break}for(o+=1;o<t.length;o++){if(r=t[o].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[o]}return e}var bw=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function gd(t){return t.length=0,!0}function xw(t,e,r){if(t.length){let o=Ba(t);if(o!=="")e.push(o);else return r.error=!0,!1;t.length=0}return!0}function Rw(t){let e=0,r={error:!1,address:"",zone:""},o=[],s=[],n=!1,i=!1,a=xw;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(n===!0&&(i=!0),!a(s,o,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(n=!0),o.push(":");continue}else if(u==="%"){if(!a(s,o,r))break;a=gd}else{s.push(u);continue}}return s.length&&(a===gd?r.zone=s.join(""):i?o.push(s.join("")):o.push(Ba(s))),r.address=o.join(""),r}function yd(t){if(Tw(t,":")<2)return{host:t,isIPV6:!1};let e=Rw(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,o=e.address;return e.zone&&(r+="%"+e.zone,o+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:o}}}function Tw(t,e){let r=0;for(let o=0;o<t.length;o++)t[o]===e&&r++;return r}function Dw(t){let e=t,r=[],o=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((o=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,o)),e=e.slice(o)}return r.join("")}var $w={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},Pw=/[@/?#:]/g,jw=/[@/?#]/g;function wd(t,e){let r=e?jw:Pw;return r.lastIndex=0,t.replace(r,o=>$w[o])}function Nw(t,e=!1){if(t.indexOf("%")===-1)return t;let r="";for(let o=0;o<t.length;o++){if(t[o]==="%"&&o+2<t.length){let s=t.slice(o+1,o+3);if(Ia(s)){let n=s.toUpperCase(),i=String.fromCharCode(parseInt(n,16));e&&Ed(i)?r+=i:r+="%"+n,o+=2;continue}}r+=t[o]}return r}function zw(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let o=t.slice(r+1,r+3);if(Ia(o)){let s=o.toUpperCase(),n=String.fromCharCode(parseInt(s,16));n!=="."&&Ed(n)?e+=n:e+="%"+s,r+=2;continue}}Mw(t[r])?e+=t[r]:e+=escape(t[r])}return e}function Uw(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let o=t.slice(r+1,r+3);if(Ia(o)){e+="%"+o.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function Fw(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!hd(r)){let o=yd(r);o.isIPV6===!0?r=`[${o.escapedHost}]`:r=wd(r,!1)}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Cd.exports={nonSimpleDomain:bw,recomposeAuthority:Fw,reescapeHostDelimiters:wd,normalizePercentEncoding:Nw,normalizePathEncoding:zw,escapePreservingEscapes:Uw,removeDotSegments:Dw,isIPv4:hd,isUUID:vw,normalizeIPv6:yd,stringArrayToHexStripped:Ba}});var Sd=Q((xR,_d)=>{"use strict";var{isUUID:Ow}=Qa(),Lw=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,qw=["http","https","ws","wss","urn","urn:uuid"];function Gw(t){return qw.indexOf(t)!==-1}function _a(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Id(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Bd(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function Hw(t){return t.secure=_a(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Yw(t){if((t.port===(_a(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function Jw(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Lw);if(r){let o=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${o}:${e.nid||t.nid}`,n=Sa(s);t.path=void 0,n&&(t=n.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Ww(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",o=t.nid.toLowerCase(),s=`${r}:${e.nid||o}`,n=Sa(s);n&&(t=n.serialize(t,e));let i=t,a=t.nss;return i.path=`${o||e.nid}:${a}`,e.skipEscape=!0,i}function Vw(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!Ow(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Kw(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Qd={scheme:"http",domainHost:!0,parse:Id,serialize:Bd},Zw={scheme:"https",domainHost:Qd.domainHost,parse:Id,serialize:Bd},qs={scheme:"ws",domainHost:!0,parse:Hw,serialize:Yw},Xw={scheme:"wss",domainHost:qs.domainHost,parse:qs.parse,serialize:qs.serialize},eC={scheme:"urn",parse:Jw,serialize:Ww,skipNormalize:!0},tC={scheme:"urn:uuid",parse:Vw,serialize:Kw,skipNormalize:!0},Gs={http:Qd,https:Zw,ws:qs,wss:Xw,urn:eC,"urn:uuid":tC};Object.setPrototypeOf(Gs,null);function Sa(t){return t&&(Gs[t]||Gs[t.toLowerCase()])||void 0}_d.exports={wsIsSecure:_a,SCHEMES:Gs,isValidSchemeName:Gw,getSchemeHandler:Sa}});var Rd=Q((RR,Hs)=>{"use strict";var{normalizeIPv6:rC,removeDotSegments:yo,recomposeAuthority:oC,normalizePercentEncoding:sC,normalizePathEncoding:nC,escapePreservingEscapes:iC,reescapeHostDelimiters:aC,isIPv4:cC,nonSimpleDomain:lC}=Qa(),{SCHEMES:uC,getSchemeHandler:vd}=Sd();function dC(t,e){return typeof t=="string"?t=hC(t,e):typeof t=="object"&&(t=gr(Ft(t,e),e)),t}function AC(t,e,r){let o=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Md(gr(t,o),gr(e,o),o,!0);return o.skipEscape=!0,Ft(s,o)}function Md(t,e,r,o){let s={};return o||(t=gr(Ft(t,r),r),e=gr(Ft(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yo(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yo(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=yo(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=yo(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function pC(t,e,r){let o=kd(t,r),s=kd(e,r);return o!==void 0&&s!==void 0&&o.toLowerCase()===s.toLowerCase()}function Ft(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},o=Object.assign({},e),s=[],n=vd(o.scheme||r.scheme);n&&n.serialize&&n.serialize(r,o),r.path!==void 0&&(o.skipEscape?r.path=sC(r.path):(r.path=iC(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),o.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let i=oC(r);if(i!==void 0&&(o.reference!=="suffix"&&s.push("//"),s.push(i),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let a=r.path;!o.absolutePath&&(!n||!n.absolutePath)&&(a=yo(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),s.push(a)}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var mC=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,fC=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function gC(t,e){if(e[2]!==void 0&&t.path&&t.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof t.port=="number"&&(t.port<0||t.port>65535))return"URI port is malformed."}function bd(t,e){let r=Object.assign({},e),o={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=!1,n=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(fC);i!==null&&i[1].indexOf("\\")!==-1&&(o.error="URI authority must not contain a literal backslash.",s=!0);let a=t.match(mC);if(a){o.scheme=a[1],o.userinfo=a[3],o.host=a[4],o.port=parseInt(a[5],10),o.path=a[6]||"",o.query=a[7],o.fragment=a[8],isNaN(o.port)&&(o.port=a[5]);let c=gC(o,a);if(c!==void 0&&(o.error=o.error||c,s=!0),o.host)if(cC(o.host)===!1){let d=rC(o.host);o.host=d.host.toLowerCase(),n=d.isIPV6}else n=!0;o.scheme===void 0&&o.userinfo===void 0&&o.host===void 0&&o.port===void 0&&o.query===void 0&&!o.path?o.reference="same-document":o.scheme===void 0?o.reference="relative":o.fragment===void 0?o.reference="absolute":o.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==o.reference&&(o.error=o.error||"URI is not a "+r.reference+" reference.");let u=vd(r.scheme||o.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&o.host&&(r.domainHost||u&&u.domainHost)&&n===!1&&lC(o.host))try{o.host=new URL("http://"+o.host).hostname}catch(l){o.error=o.error||"Host's domain name can not be converted to ASCII: "+l}if((!u||u&&!u.skipNormalize)&&(t.indexOf("%")!==-1&&(o.scheme!==void 0&&(o.scheme=unescape(o.scheme)),o.host!==void 0&&(o.host=aC(unescape(o.host),n))),o.path&&(o.path=nC(o.path)),o.fragment))try{o.fragment=encodeURI(decodeURIComponent(o.fragment))}catch{o.error=o.error||"URI malformed"}u&&u.parse&&u.parse(o,r)}else o.error=o.error||"URI can not be parsed.";return{parsed:o,malformedAuthorityOrPort:s}}function gr(t,e){return bd(t,e).parsed}function hC(t,e){return xd(t,e).normalized}function xd(t,e){let{parsed:r,malformedAuthorityOrPort:o}=bd(t,e);return{normalized:o?t:Ft(r,e),malformedAuthorityOrPort:o}}function kd(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:o}=xd(t,e);return o?void 0:r}if(typeof t=="object")return Ft(t,e)}var ka={SCHEMES:uC,normalize:dC,resolve:AC,resolveComponent:Md,equal:pC,serialize:Ft,parse:gr};Hs.exports=ka;Hs.exports.default=ka;Hs.exports.fastUri=ka});var Dd=Q(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});var Td=Rd();Td.code='require("ajv/dist/runtime/uri").default';va.default=Td});var Od=Q(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.CodeGen=ge.Name=ge.nil=ge.stringify=ge.str=ge._=ge.KeywordCxt=void 0;var EC=ho();Object.defineProperty(ge,"KeywordCxt",{enumerable:!0,get:function(){return EC.KeywordCxt}});var hr=U();Object.defineProperty(ge,"_",{enumerable:!0,get:function(){return hr._}});Object.defineProperty(ge,"str",{enumerable:!0,get:function(){return hr.str}});Object.defineProperty(ge,"stringify",{enumerable:!0,get:function(){return hr.stringify}});Object.defineProperty(ge,"nil",{enumerable:!0,get:function(){return hr.nil}});Object.defineProperty(ge,"Name",{enumerable:!0,get:function(){return hr.Name}});Object.defineProperty(ge,"CodeGen",{enumerable:!0,get:function(){return hr.CodeGen}});var yC=Fs(),zd=Eo(),wC=ra(),wo=Ls(),CC=U(),Co=mo(),Ys=po(),ba=H(),$d=fd(),IC=Dd(),Ud=(t,e)=>new RegExp(t,e);Ud.code="new RegExp";var BC=["removeAdditional","useDefaults","coerceTypes"],QC=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_C={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."},SC={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Pd=200;function kC(t){var e,r,o,s,n,i,a,c,u,l,d,p,m,g,f,h,y,w,I,M,E,B,v,z,D;let ce=t.strict,Gr=(e=t.code)===null||e===void 0?void 0:e.optimize,cs=Gr===!0||Gr===void 0?1:Gr||0,ls=(o=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&o!==void 0?o:Ud,mt=(s=t.uriResolver)!==null&&s!==void 0?s:IC.default;return{strictSchema:(i=(n=t.strictSchema)!==null&&n!==void 0?n:ce)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:ce)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:ce)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:ce)!==null&&p!==void 0?p:"log",strictRequired:(g=(m=t.strictRequired)!==null&&m!==void 0?m:ce)!==null&&g!==void 0?g:!1,code:t.code?{...t.code,optimize:cs,regExp:ls}:{optimize:cs,regExp:ls},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:Pd,loopEnum:(h=t.loopEnum)!==null&&h!==void 0?h:Pd,meta:(y=t.meta)!==null&&y!==void 0?y:!0,messages:(w=t.messages)!==null&&w!==void 0?w:!0,inlineRefs:(I=t.inlineRefs)!==null&&I!==void 0?I:!0,schemaId:(M=t.schemaId)!==null&&M!==void 0?M:"$id",addUsedSchema:(E=t.addUsedSchema)!==null&&E!==void 0?E:!0,validateSchema:(B=t.validateSchema)!==null&&B!==void 0?B:!0,validateFormats:(v=t.validateFormats)!==null&&v!==void 0?v:!0,unicodeRegExp:(z=t.unicodeRegExp)!==null&&z!==void 0?z:!0,int32range:(D=t.int32range)!==null&&D!==void 0?D:!0,uriResolver:mt}}var Io=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...kC(e)};let{es5:r,lines:o}=this.opts.code;this.scope=new CC.ValueScope({scope:{},prefixes:QC,es5:r,lines:o}),this.logger=TC(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,wC.getRules)(),jd.call(this,_C,e,"NOT SUPPORTED"),jd.call(this,SC,e,"DEPRECATED","warn"),this._metaOpts=xC.call(this),e.formats&&MC.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&bC.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),vC.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:o}=this.opts,s=$d;o==="id"&&(s={...$d},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[o],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let o;if(typeof e=="string"){if(o=this.getSchema(e),!o)throw new Error(`no schema with key or ref "${e}"`)}else o=this.compile(e);let s=o(r);return"$async"in o||(this.errors=o.errors),s}compile(e,r){let o=this._addSchema(e,r);return o.validate||this._compileSchemaEnv(o)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:o}=this.opts;return s.call(this,e,r);async function s(l,d){await n.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||i.call(this,p)}async function n(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof zd.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await n.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=o(l))}finally{delete this._loading[l]}}}addSchema(e,r,o,s=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,o,s);return this}let n;if(typeof e=="object"){let{schemaId:i}=this.opts;if(n=e[i],n!==void 0&&typeof n!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Co.normalizeId)(r||n),this._checkUnique(r),this.schemas[r]=this._addSchema(e,o,r,s,!0),this}addMetaSchema(e,r,o=this.opts.validateSchema){return this.addSchema(e,r,!0,o),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let o;if(o=e.$schema,o!==void 0&&typeof o!="string")throw new Error("$schema must be a string");if(o=o||this.opts.defaultMeta||this.defaultMeta(),!o)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(o,e);if(!s&&r){let n="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(n);else throw new Error(n)}return s}getSchema(e){let r;for(;typeof(r=Nd.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:o}=this.opts,s=new wo.SchemaEnv({schema:{},schemaId:o});if(r=wo.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Nd.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let o=e[this.opts.schemaId];return o&&(o=(0,Co.normalizeId)(o),delete this.schemas[o],delete this.refs[o]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let o;if(typeof e=="string")o=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=o);else if(typeof e=="object"&&r===void 0){if(r=e,o=r.keyword,Array.isArray(o)&&!o.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if($C.call(this,o,r),!r)return(0,ba.eachItem)(o,n=>Ma.call(this,n)),this;jC.call(this,r);let s={...r,type:(0,Ys.getJSONTypes)(r.type),schemaType:(0,Ys.getJSONTypes)(r.schemaType)};return(0,ba.eachItem)(o,s.type.length===0?n=>Ma.call(this,n,s):n=>s.type.forEach(i=>Ma.call(this,n,s,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let o of r.rules){let s=o.rules.findIndex(n=>n.keyword===e);s>=0&&o.rules.splice(s,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:o="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${o}${s.instancePath} ${s.message}`).reduce((s,n)=>s+r+n)}$dataMetaSchema(e,r){let o=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let n=s.split("/").slice(1),i=e;for(let a of n)i=i[a];for(let a in o){let c=o[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=Fd(l))}}return e}_removeAllSchemas(e,r){for(let o in e){let s=e[o];(!r||r.test(o))&&(typeof s=="string"?delete e[o]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[o]))}}_addSchema(e,r,o,s=this.opts.validateSchema,n=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;o=(0,Co.normalizeId)(i||o);let u=Co.getSchemaRefs.call(this,e,o);return c=new wo.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:o,localRefs:u}),this._cache.set(c.schema,c),n&&!o.startsWith("#")&&(o&&this._checkUnique(o),this.refs[o]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):wo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{wo.compileSchema.call(this,e)}finally{this.opts=r}}};Io.ValidationError=yC.default;Io.MissingRefError=zd.default;ge.default=Io;function jd(t,e,r,o="error"){for(let s in t){let n=s;n in e&&this.logger[o](`${r}: option ${s}. ${t[n]}`)}}function Nd(t){return t=(0,Co.normalizeId)(t),this.schemas[t]||this.refs[t]}function vC(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function MC(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function bC(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function xC(){let t={...this.opts};for(let e of BC)delete t[e];return t}var RC={log(){},warn(){},error(){}};function TC(t){if(t===!1)return RC;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var DC=/^[a-z_$][a-z0-9_$:-]*$/i;function $C(t,e){let{RULES:r}=this;if((0,ba.eachItem)(t,o=>{if(r.keywords[o])throw new Error(`Keyword ${o} is already defined`);if(!DC.test(o))throw new Error(`Keyword ${o} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ma(t,e,r){var o;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:n}=this,i=s?n.post:n.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},n.rules.push(i)),n.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Ys.getJSONTypes)(e.type),schemaType:(0,Ys.getJSONTypes)(e.schemaType)}};e.before?PC.call(this,i,a,e.before):i.rules.push(a),n.all[t]=a,(o=e.implements)===null||o===void 0||o.forEach(c=>this.addKeyword(c))}function PC(t,e,r){let o=t.rules.findIndex(s=>s.keyword===r);o>=0?t.rules.splice(o,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function jC(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Fd(e)),t.validateSchema=this.compile(e,!0))}var NC={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Fd(t){return{anyOf:[t,NC]}}});var Ld=Q(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});var zC={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};xa.default=zC});var Yd=Q(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.callRef=Ot.getValidate=void 0;var UC=Eo(),qd=je(),be=U(),Er=st(),Gd=Ls(),Js=H(),FC={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:o}=t,{baseId:s,schemaEnv:n,validateName:i,opts:a,self:c}=o,{root:u}=n;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Gd.resolveRef.call(c,u,s,r);if(l===void 0)throw new UC.default(o.opts.uriResolver,s,r);if(l instanceof Gd.SchemaEnv)return p(l);return m(l);function d(){if(n===u)return Ws(t,i,n,n.$async);let g=e.scopeValue("root",{ref:u});return Ws(t,(0,be._)`${g}.validate`,u,u.$async)}function p(g){let f=Hd(t,g);Ws(t,f,g,g.$async)}function m(g){let f=e.scopeValue("schema",a.code.source===!0?{ref:g,code:(0,be.stringify)(g)}:{ref:g}),h=e.name("valid"),y=t.subschema({schema:g,dataTypes:[],schemaPath:be.nil,topSchemaRef:f,errSchemaPath:r},h);t.mergeEvaluated(y),t.ok(h)}}};function Hd(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,be._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ot.getValidate=Hd;function Ws(t,e,r,o){let{gen:s,it:n}=t,{allErrors:i,schemaEnv:a,opts:c}=n,u=c.passContext?Er.default.this:be.nil;o?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let g=s.let("valid");s.try(()=>{s.code((0,be._)`await ${(0,qd.callValidateCode)(t,e,u)}`),m(e),i||s.assign(g,!0)},f=>{s.if((0,be._)`!(${f} instanceof ${n.ValidationError})`,()=>s.throw(f)),p(f),i||s.assign(g,!1)}),t.ok(g)}function d(){t.result((0,qd.callValidateCode)(t,e,u),()=>m(e),()=>p(e))}function p(g){let f=(0,be._)`${g}.errors`;s.assign(Er.default.vErrors,(0,be._)`${Er.default.vErrors} === null ? ${f} : ${Er.default.vErrors}.concat(${f})`),s.assign(Er.default.errors,(0,be._)`${Er.default.vErrors}.length`)}function m(g){var f;if(!n.opts.unevaluated)return;let h=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(n.props!==!0)if(h&&!h.dynamicProps)h.props!==void 0&&(n.props=Js.mergeEvaluated.props(s,h.props,n.props));else{let y=s.var("props",(0,be._)`${g}.evaluated.props`);n.props=Js.mergeEvaluated.props(s,y,n.props,be.Name)}if(n.items!==!0)if(h&&!h.dynamicItems)h.items!==void 0&&(n.items=Js.mergeEvaluated.items(s,h.items,n.items));else{let y=s.var("items",(0,be._)`${g}.evaluated.items`);n.items=Js.mergeEvaluated.items(s,y,n.items,be.Name)}}}Ot.callRef=Ws;Ot.default=FC});var Jd=Q(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});var OC=Ld(),LC=Yd(),qC=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",OC.default,LC.default];Ra.default=qC});var Wd=Q(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});var Vs=U(),St=Vs.operators,Ks={maximum:{okStr:"<=",ok:St.LTE,fail:St.GT},minimum:{okStr:">=",ok:St.GTE,fail:St.LT},exclusiveMaximum:{okStr:"<",ok:St.LT,fail:St.GTE},exclusiveMinimum:{okStr:">",ok:St.GT,fail:St.LTE}},GC={message:({keyword:t,schemaCode:e})=>(0,Vs.str)`must be ${Ks[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Vs._)`{comparison: ${Ks[t].okStr}, limit: ${e}}`},HC={keyword:Object.keys(Ks),type:"number",schemaType:"number",$data:!0,error:GC,code(t){let{keyword:e,data:r,schemaCode:o}=t;t.fail$data((0,Vs._)`${r} ${Ks[e].fail} ${o} || isNaN(${r})`)}};Ta.default=HC});var Vd=Q(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});var Bo=U(),YC={message:({schemaCode:t})=>(0,Bo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Bo._)`{multipleOf: ${t}}`},JC={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:YC,code(t){let{gen:e,data:r,schemaCode:o,it:s}=t,n=s.opts.multipleOfPrecision,i=e.let("res"),a=n?(0,Bo._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${n}`:(0,Bo._)`${i} !== parseInt(${i})`;t.fail$data((0,Bo._)`(${o} === 0 || (${i} = ${r}/${o}, ${a}))`)}};Da.default=JC});var Zd=Q($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});function Kd(t){let e=t.length,r=0,o=0,s;for(;o<e;)r++,s=t.charCodeAt(o++),s>=55296&&s<=56319&&o<e&&(s=t.charCodeAt(o),(s&64512)===56320&&o++);return r}$a.default=Kd;Kd.code='require("ajv/dist/runtime/ucs2length").default'});var Xd=Q(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});var Lt=U(),WC=H(),VC=Zd(),KC={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Lt.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Lt._)`{limit: ${t}}`},ZC={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:KC,code(t){let{keyword:e,data:r,schemaCode:o,it:s}=t,n=e==="maxLength"?Lt.operators.GT:Lt.operators.LT,i=s.opts.unicode===!1?(0,Lt._)`${r}.length`:(0,Lt._)`${(0,WC.useFunc)(t.gen,VC.default)}(${r})`;t.fail$data((0,Lt._)`${i} ${n} ${o}`)}};Pa.default=ZC});var eA=Q(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});var XC=je(),eI=H(),yr=U(),tI={message:({schemaCode:t})=>(0,yr.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,yr._)`{pattern: ${t}}`},rI={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:tI,code(t){let{gen:e,data:r,$data:o,schema:s,schemaCode:n,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(o){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,yr._)`new RegExp`:(0,eI.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,yr._)`${u}(${n}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,yr._)`!${l}`)}else{let c=(0,XC.usePattern)(t,s);t.fail$data((0,yr._)`!${c}.test(${r})`)}}};ja.default=rI});var tA=Q(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});var Qo=U(),oI={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Qo.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Qo._)`{limit: ${t}}`},sI={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:oI,code(t){let{keyword:e,data:r,schemaCode:o}=t,s=e==="maxProperties"?Qo.operators.GT:Qo.operators.LT;t.fail$data((0,Qo._)`Object.keys(${r}).length ${s} ${o}`)}};Na.default=sI});var rA=Q(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var _o=je(),So=U(),nI=H(),iI={message:({params:{missingProperty:t}})=>(0,So.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,So._)`{missingProperty: ${t}}`},aI={keyword:"required",type:"object",schemaType:"array",$data:!0,error:iI,code(t){let{gen:e,schema:r,schemaCode:o,data:s,$data:n,it:i}=t,{opts:a}=i;if(!n&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:g}=t.it;for(let f of r)if(m?.[f]===void 0&&!g.has(f)){let h=i.schemaEnv.baseId+i.errSchemaPath,y=`required property "${f}" is not defined at "${h}" (strictRequired)`;(0,nI.checkStrictMode)(i,y,i.opts.strictRequired)}}function u(){if(c||n)t.block$data(So.nil,d);else for(let m of r)(0,_o.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||n){let g=e.let("valid",!0);t.block$data(g,()=>p(m,g)),t.ok(g)}else e.if((0,_o.checkMissingProp)(t,r,m)),(0,_o.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",o,m=>{t.setParams({missingProperty:m}),e.if((0,_o.noPropertyInData)(e,s,m,a.ownProperties),()=>t.error())})}function p(m,g){t.setParams({missingProperty:m}),e.forOf(m,o,()=>{e.assign(g,(0,_o.propertyInData)(e,s,m,a.ownProperties)),e.if((0,So.not)(g),()=>{t.error(),e.break()})},So.nil)}}};za.default=aI});var oA=Q(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});var ko=U(),cI={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ko.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ko._)`{limit: ${t}}`},lI={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:cI,code(t){let{keyword:e,data:r,schemaCode:o}=t,s=e==="maxItems"?ko.operators.GT:ko.operators.LT;t.fail$data((0,ko._)`${r}.length ${s} ${o}`)}};Ua.default=lI});var Zs=Q(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});var sA=ua();sA.code='require("ajv/dist/runtime/equal").default';Fa.default=sA});var nA=Q(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var Oa=po(),he=U(),uI=H(),dI=Zs(),AI={message:({params:{i:t,j:e}})=>(0,he.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,he._)`{i: ${t}, j: ${e}}`},pI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:AI,code(t){let{gen:e,data:r,$data:o,schema:s,parentSchema:n,schemaCode:i,it:a}=t;if(!o&&!s)return;let c=e.let("valid"),u=n.items?(0,Oa.getSchemaTypes)(n.items):[];t.block$data(c,l,(0,he._)`${i} === false`),t.ok(c);function l(){let g=e.let("i",(0,he._)`${r}.length`),f=e.let("j");t.setParams({i:g,j:f}),e.assign(c,!0),e.if((0,he._)`${g} > 1`,()=>(d()?p:m)(g,f))}function d(){return u.length>0&&!u.some(g=>g==="object"||g==="array")}function p(g,f){let h=e.name("item"),y=(0,Oa.checkDataTypes)(u,h,a.opts.strictNumbers,Oa.DataType.Wrong),w=e.const("indices",(0,he._)`{}`);e.for((0,he._)`;${g}--;`,()=>{e.let(h,(0,he._)`${r}[${g}]`),e.if(y,(0,he._)`continue`),u.length>1&&e.if((0,he._)`typeof ${h} == "string"`,(0,he._)`${h} += "_"`),e.if((0,he._)`typeof ${w}[${h}] == "number"`,()=>{e.assign(f,(0,he._)`${w}[${h}]`),t.error(),e.assign(c,!1).break()}).code((0,he._)`${w}[${h}] = ${g}`)})}function m(g,f){let h=(0,uI.useFunc)(e,dI.default),y=e.name("outer");e.label(y).for((0,he._)`;${g}--;`,()=>e.for((0,he._)`${f} = ${g}; ${f}--;`,()=>e.if((0,he._)`${h}(${r}[${g}], ${r}[${f}])`,()=>{t.error(),e.assign(c,!1).break(y)})))}}};La.default=pI});var iA=Q(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var qa=U(),mI=H(),fI=Zs(),gI={message:"must be equal to constant",params:({schemaCode:t})=>(0,qa._)`{allowedValue: ${t}}`},hI={keyword:"const",$data:!0,error:gI,code(t){let{gen:e,data:r,$data:o,schemaCode:s,schema:n}=t;o||n&&typeof n=="object"?t.fail$data((0,qa._)`!${(0,mI.useFunc)(e,fI.default)}(${r}, ${s})`):t.fail((0,qa._)`${n} !== ${r}`)}};Ga.default=hI});var aA=Q(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});var vo=U(),EI=H(),yI=Zs(),wI={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,vo._)`{allowedValues: ${t}}`},CI={keyword:"enum",schemaType:"array",$data:!0,error:wI,code(t){let{gen:e,data:r,$data:o,schema:s,schemaCode:n,it:i}=t;if(!o&&s.length===0)throw new Error("enum must have non-empty array");let a=s.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,EI.useFunc)(e,yI.default)),l;if(a||o)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let m=e.const("vSchema",n);l=(0,vo.or)(...s.map((g,f)=>p(m,f)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",n,m=>e.if((0,vo._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function p(m,g){let f=s[g];return typeof f=="object"&&f!==null?(0,vo._)`${u()}(${r}, ${m}[${g}])`:(0,vo._)`${r} === ${f}`}}};Ha.default=CI});var cA=Q(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});var II=Wd(),BI=Vd(),QI=Xd(),_I=eA(),SI=tA(),kI=rA(),vI=oA(),MI=nA(),bI=iA(),xI=aA(),RI=[II.default,BI.default,QI.default,_I.default,SI.default,kI.default,vI.default,MI.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},bI.default,xI.default];Ya.default=RI});var Wa=Q(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.validateAdditionalItems=void 0;var qt=U(),Ja=H(),TI={message:({params:{len:t}})=>(0,qt.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,qt._)`{limit: ${t}}`},DI={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:TI,code(t){let{parentSchema:e,it:r}=t,{items:o}=e;if(!Array.isArray(o)){(0,Ja.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}lA(t,o)}};function lA(t,e){let{gen:r,schema:o,data:s,keyword:n,it:i}=t;i.items=!0;let a=r.const("len",(0,qt._)`${s}.length`);if(o===!1)t.setParams({len:e.length}),t.pass((0,qt._)`${a} <= ${e.length}`);else if(typeof o=="object"&&!(0,Ja.alwaysValidSchema)(i,o)){let u=r.var("valid",(0,qt._)`${a} <= ${e.length}`);r.if((0,qt.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:n,dataProp:l,dataPropType:Ja.Type.Num},u),i.allErrors||r.if((0,qt.not)(u),()=>r.break())})}}Mo.validateAdditionalItems=lA;Mo.default=DI});var Va=Q(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.validateTuple=void 0;var uA=U(),Xs=H(),$I=je(),PI={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return dA(t,"additionalItems",e);r.items=!0,!(0,Xs.alwaysValidSchema)(r,e)&&t.ok((0,$I.validateArray)(t))}};function dA(t,e,r=t.schema){let{gen:o,parentSchema:s,data:n,keyword:i,it:a}=t;l(s),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Xs.mergeEvaluated.items(o,r.length,a.items));let c=o.name("valid"),u=o.const("len",(0,uA._)`${n}.length`);r.forEach((d,p)=>{(0,Xs.alwaysValidSchema)(a,d)||(o.if((0,uA._)`${u} > ${p}`,()=>t.subschema({keyword:i,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:m}=a,g=r.length,f=g===d.minItems&&(g===d.maxItems||d[e]===!1);if(p.strictTuples&&!f){let h=`"${i}" is ${g}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,Xs.checkStrictMode)(a,h,p.strictTuples)}}}bo.validateTuple=dA;bo.default=PI});var AA=Q(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var jI=Va(),NI={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,jI.validateTuple)(t,"items")};Ka.default=NI});var mA=Q(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var pA=U(),zI=H(),UI=je(),FI=Wa(),OI={message:({params:{len:t}})=>(0,pA.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,pA._)`{limit: ${t}}`},LI={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:OI,code(t){let{schema:e,parentSchema:r,it:o}=t,{prefixItems:s}=r;o.items=!0,!(0,zI.alwaysValidSchema)(o,e)&&(s?(0,FI.validateAdditionalItems)(t,s):t.ok((0,UI.validateArray)(t)))}};Za.default=LI});var fA=Q(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});var ze=U(),en=H(),qI={message:({params:{min:t,max:e}})=>e===void 0?(0,ze.str)`must contain at least ${t} valid item(s)`:(0,ze.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ze._)`{minContains: ${t}}`:(0,ze._)`{minContains: ${t}, maxContains: ${e}}`},GI={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:qI,code(t){let{gen:e,schema:r,parentSchema:o,data:s,it:n}=t,i,a,{minContains:c,maxContains:u}=o;n.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,ze._)`${s}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,en.checkStrictMode)(n,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,en.checkStrictMode)(n,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,en.alwaysValidSchema)(n,r)){let f=(0,ze._)`${l} >= ${i}`;a!==void 0&&(f=(0,ze._)`${f} && ${l} <= ${a}`),t.pass(f);return}n.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,ze._)`${s}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let f=e.name("_valid"),h=e.let("count",0);m(f,()=>e.if(f,()=>g(h)))}function m(f,h){e.forRange("i",0,l,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:en.Type.Num,compositeRule:!0},f),h()})}function g(f){e.code((0,ze._)`${f}++`),a===void 0?e.if((0,ze._)`${f} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,ze._)`${f} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,ze._)`${f} >= ${i}`,()=>e.assign(d,!0)))}}};Xa.default=GI});var EA=Q(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.validateSchemaDeps=Ke.validatePropertyDeps=Ke.error=void 0;var ec=U(),HI=H(),xo=je();Ke.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let o=e===1?"property":"properties";return(0,ec.str)`must have ${o} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:o}})=>(0,ec._)`{property: ${t},
|
|
9
9
|
missingProperty: ${o},
|
|
10
10
|
depsCount: ${e},
|
|
11
|
-
deps: ${r}}`};var YI={keyword:"dependencies",type:"object",schemaType:"object",error:Ke.error,code(t){let[e,r]=JI(t);gA(t,e),hA(t,r)}};function JI({schema:t}){let e={},r={};for(let o in t){if(o==="__proto__")continue;let s=Array.isArray(t[o])?e:r;s[o]=t[o]}return[e,r]}function gA(t,e=t.schema){let{gen:r,data:o,it:s}=t;if(Object.keys(e).length===0)return;let n=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,xo.propertyInData)(r,o,i,s.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of a)(0,xo.checkReportMissingProp)(t,u)}):(r.if((0,ec._)`${c} && (${(0,xo.checkMissingProp)(t,a,n)})`),(0,xo.reportMissingProp)(t,n),r.else())}}Ke.validatePropertyDeps=gA;function hA(t,e=t.schema){let{gen:r,data:o,keyword:s,it:n}=t,i=r.name("valid");for(let a in e)(0,HI.alwaysValidSchema)(n,e[a])||(r.if((0,xo.propertyInData)(r,o,a,n.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Ke.validateSchemaDeps=hA;Ke.default=YI});var wA=Q(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var yA=U(),WI=H(),VI={message:"property name must be valid",params:({params:t})=>(0,yA._)`{propertyName: ${t.propertyName}}`},KI={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:VI,code(t){let{gen:e,schema:r,data:o,it:s}=t;if((0,WI.alwaysValidSchema)(s,r))return;let n=e.name("valid");e.forIn("key",o,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},n),e.if((0,yA.not)(n),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(n)}};tc.default=KI});var oc=Q(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var tn=je(),qe=U(),ZI=st(),rn=H(),XI={message:"must NOT have additional properties",params:({params:t})=>(0,qe._)`{additionalProperty: ${t.additionalProperty}}`},eB={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:XI,code(t){let{gen:e,schema:r,parentSchema:o,data:s,errsCount:n,it:i}=t;if(!n)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,rn.alwaysValidSchema)(i,r))return;let u=(0,tn.allSchemaProperties)(o.properties),l=(0,tn.allSchemaProperties)(o.patternProperties);d(),t.ok((0,qe._)`${n} === ${ZI.default.errors}`);function d(){e.forIn("key",s,h=>{!u.length&&!l.length?g(h):e.if(p(h),()=>g(h))})}function p(h){let y;if(u.length>8){let w=(0,rn.schemaRefOrVal)(i,o.properties,"properties");y=(0,tn.isOwnProperty)(e,w,h)}else u.length?y=(0,qe.or)(...u.map(w=>(0,qe._)`${h} === ${w}`)):y=qe.nil;return l.length&&(y=(0,qe.or)(y,...l.map(w=>(0,qe._)`${(0,tn.usePattern)(t,w)}.test(${h})`))),(0,qe.not)(y)}function m(h){e.code((0,qe._)`delete ${s}[${h}]`)}function g(h){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(h);return}if(r===!1){t.setParams({additionalProperty:h}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,rn.alwaysValidSchema)(i,r)){let y=e.name("valid");c.removeAdditional==="failing"?(f(h,y,!1),e.if((0,qe.not)(y),()=>{t.reset(),m(h)})):(f(h,y),a||e.if((0,qe.not)(y),()=>e.break()))}}function f(h,y,w){let I={keyword:"additionalProperties",dataProp:h,dataPropType:rn.Type.Str};w===!1&&Object.assign(I,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(I,y)}}};rc.default=eB});var BA=Q(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});var tB=ho(),CA=je(),sc=H(),IA=oc(),rB={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:o,data:s,it:n}=t;n.opts.removeAdditional==="all"&&o.additionalProperties===void 0&&IA.default.code(new tB.KeywordCxt(n,IA.default,"additionalProperties"));let i=(0,CA.allSchemaProperties)(r);for(let d of i)n.definedProperties.add(d);n.opts.unevaluated&&i.length&&n.props!==!0&&(n.props=sc.mergeEvaluated.props(e,(0,sc.toHash)(i),n.props));let a=i.filter(d=>!(0,sc.alwaysValidSchema)(n,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,CA.propertyInData)(e,s,d,n.opts.ownProperties)),l(d),n.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return n.opts.useDefaults&&!n.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};nc.default=rB});var kA=Q(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var QA=je(),on=U(),_A=H(),SA=H(),oB={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:o,parentSchema:s,it:n}=t,{opts:i}=n,a=(0,QA.allSchemaProperties)(r),c=a.filter(f=>(0,_A.alwaysValidSchema)(n,r[f]));if(a.length===0||c.length===a.length&&(!n.opts.unevaluated||n.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&s.properties,l=e.name("valid");n.props!==!0&&!(n.props instanceof on.Name)&&(n.props=(0,SA.evaluatedPropsToName)(e,n.props));let{props:d}=n;p();function p(){for(let f of a)u&&m(f),n.allErrors?g(f):(e.var(l,!0),g(f),e.if(l))}function m(f){for(let h in u)new RegExp(f).test(h)&&(0,_A.checkStrictMode)(n,`property ${h} matches pattern ${f} (use allowMatchingProperties)`)}function g(f){e.forIn("key",o,h=>{e.if((0,on._)`${(0,QA.usePattern)(t,f)}.test(${h})`,()=>{let y=c.includes(f);y||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:h,dataPropType:SA.Type.Str},l),n.opts.unevaluated&&d!==!0?e.assign((0,on._)`${d}[${h}]`,!0):!y&&!n.allErrors&&e.if((0,on.not)(l),()=>e.break())})})}}};ic.default=oB});var MA=Q(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var sB=H(),nB={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:o}=t;if((0,sB.alwaysValidSchema)(o,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};ac.default=nB});var vA=Q(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var iB=je(),aB={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:iB.validateUnion,error:{message:"must match a schema in anyOf"}};cc.default=aB});var bA=Q(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var sn=U(),cB=H(),lB={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,sn._)`{passingSchemas: ${t.passing}}`},uB={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lB,code(t){let{gen:e,schema:r,parentSchema:o,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&o.discriminator)return;let n=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){n.forEach((l,d)=>{let p;(0,cB.alwaysValidSchema)(s,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,sn._)`${c} && ${i}`).assign(i,!1).assign(a,(0,sn._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,sn.Name)})})}}};lc.default=uB});var xA=Q(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var dB=H(),AB={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((n,i)=>{if((0,dB.alwaysValidSchema)(o,n))return;let a=t.subschema({keyword:"allOf",schemaProp:i},s);t.ok(s),t.mergeEvaluated(a)})}};uc.default=AB});var DA=Q(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var nn=U(),TA=H(),pB={message:({params:t})=>(0,nn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,nn._)`{failingKeyword: ${t.ifClause}}`},mB={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:pB,code(t){let{gen:e,parentSchema:r,it:o}=t;r.then===void 0&&r.else===void 0&&(0,TA.checkStrictMode)(o,'"if" without "then" and "else" is ignored');let s=RA(o,"then"),n=RA(o,"else");if(!s&&!n)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),s&&n){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else s?e.if(a,u("then")):e.if((0,nn.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(p,i),d?e.assign(d,(0,nn._)`${l}`):t.setParams({ifClause:l})}}}};function RA(t,e){let r=t.schema[e];return r!==void 0&&!(0,TA.alwaysValidSchema)(t,r)}dc.default=mB});var $A=Q(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});var fB=H(),gB={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,fB.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Ac.default=gB});var PA=Q(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var hB=Wa(),EB=AA(),yB=Va(),wB=mA(),CB=fA(),IB=EA(),BB=wA(),QB=oc(),_B=BA(),SB=kA(),kB=MA(),MB=vA(),vB=bA(),bB=xA(),xB=DA(),RB=$A();function TB(t=!1){let e=[kB.default,MB.default,vB.default,bB.default,xB.default,RB.default,BB.default,QB.default,IB.default,_B.default,SB.default];return t?e.push(EB.default,wB.default):e.push(hB.default,yB.default),e.push(CB.default),e}pc.default=TB});var jA=Q(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});var ie=U(),DB={message:({schemaCode:t})=>(0,ie.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ie._)`{format: ${t}}`},$B={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:DB,code(t,e){let{gen:r,data:o,$data:s,schema:n,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;s?p():m();function p(){let g=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0,ie._)`${g}[${i}]`),h=r.let("fType"),y=r.let("format");r.if((0,ie._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(h,(0,ie._)`${f}.type || "string"`).assign(y,(0,ie._)`${f}.validate`),()=>r.assign(h,(0,ie._)`"string"`).assign(y,f)),t.fail$data((0,ie.or)(w(),I()));function w(){return c.strictSchema===!1?ie.nil:(0,ie._)`${i} && !${y}`}function I(){let v=l.$async?(0,ie._)`(${f}.async ? await ${y}(${o}) : ${y}(${o}))`:(0,ie._)`${y}(${o})`,E=(0,ie._)`(typeof ${y} == "function" ? ${v} : ${y}.test(${o}))`;return(0,ie._)`${y} && ${y} !== true && ${h} === ${e} && !${E}`}}function m(){let g=d.formats[n];if(!g){w();return}if(g===!0)return;let[f,h,y]=I(g);f===e&&t.pass(v());function w(){if(c.strictSchema===!1){d.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${n}" ignored in schema at path "${u}"`}}function I(E){let B=E instanceof RegExp?(0,ie.regexpCode)(E):c.code.formats?(0,ie._)`${c.code.formats}${(0,ie.getProperty)(n)}`:void 0,M=r.scopeValue("formats",{key:n,ref:E,code:B});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,ie._)`${M}.validate`]:["string",E,M]}function v(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ie._)`await ${y}(${o})`}return typeof h=="function"?(0,ie._)`${y}(${o})`:(0,ie._)`${y}.test(${o})`}}}};mc.default=$B});var NA=Q(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var PB=jA(),jB=[PB.default];fc.default=jB});var zA=Q(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.contentVocabulary=wr.metadataVocabulary=void 0;wr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];wr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var FA=Q(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});var NB=Jd(),zB=cA(),UB=PA(),FB=NA(),UA=zA(),OB=[NB.default,zB.default,(0,UB.default)(),FB.default,UA.metadataVocabulary,UA.contentVocabulary];gc.default=OB});var LA=Q(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.DiscrError=void 0;var OA;(function(t){t.Tag="tag",t.Mapping="mapping"})(OA||(an.DiscrError=OA={}))});var GA=Q(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});var Cr=U(),hc=LA(),qA=Ls(),LB=Eo(),qB=H(),GB={message:({params:{discrError:t,tagName:e}})=>t===hc.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Cr._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},HB={keyword:"discriminator",type:"object",schemaType:"object",error:GB,code(t){let{gen:e,data:r,schema:o,parentSchema:s,it:n}=t,{oneOf:i}=s;if(!n.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=o.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(o.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Cr._)`${r}${(0,Cr.getProperty)(a)}`);e.if((0,Cr._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:hc.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=p();e.if(!1);for(let g in m)e.elseIf((0,Cr._)`${u} === ${g}`),e.assign(c,d(m[g]));e.else(),t.error(!1,{discrError:hc.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let g=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:m},g);return t.mergeEvaluated(f,Cr.Name),g}function p(){var m;let g={},f=y(s),h=!0;for(let v=0;v<i.length;v++){let E=i[v];if(E?.$ref&&!(0,qB.schemaHasRulesButRef)(E,n.self.RULES)){let M=E.$ref;if(E=qA.resolveRef.call(n.self,n.schemaEnv.root,n.baseId,M),E instanceof qA.SchemaEnv&&(E=E.schema),E===void 0)throw new LB.default(n.opts.uriResolver,n.baseId,M)}let B=(m=E?.properties)===null||m===void 0?void 0:m[a];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);h=h&&(f||y(E)),w(B,v)}if(!h)throw new Error(`discriminator: "${a}" must be required`);return g;function y({required:v}){return Array.isArray(v)&&v.includes(a)}function w(v,E){if(v.const)I(v.const,E);else if(v.enum)for(let B of v.enum)I(B,E);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function I(v,E){if(typeof v!="string"||v in g)throw new Error(`discriminator: "${a}" values must be unique strings`);g[v]=E}}}};Ec.default=HB});var HA=Q((wT,YB)=>{YB.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 wc=Q((te,yc)=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.MissingRefError=te.ValidationError=te.CodeGen=te.Name=te.nil=te.stringify=te.str=te._=te.KeywordCxt=te.Ajv=void 0;var JB=Od(),WB=FA(),VB=GA(),YA=HA(),KB=["/properties"],cn="http://json-schema.org/draft-07/schema",Ir=class extends JB.default{_addVocabularies(){super._addVocabularies(),WB.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(VB.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(YA,KB):YA;this.addMetaSchema(e,cn,!1),this.refs["http://json-schema.org/schema"]=cn}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(cn)?cn:void 0)}};te.Ajv=Ir;yc.exports=te=Ir;yc.exports.Ajv=Ir;Object.defineProperty(te,"__esModule",{value:!0});te.default=Ir;var ZB=ho();Object.defineProperty(te,"KeywordCxt",{enumerable:!0,get:function(){return ZB.KeywordCxt}});var Br=U();Object.defineProperty(te,"_",{enumerable:!0,get:function(){return Br._}});Object.defineProperty(te,"str",{enumerable:!0,get:function(){return Br.str}});Object.defineProperty(te,"stringify",{enumerable:!0,get:function(){return Br.stringify}});Object.defineProperty(te,"nil",{enumerable:!0,get:function(){return Br.nil}});Object.defineProperty(te,"Name",{enumerable:!0,get:function(){return Br.Name}});Object.defineProperty(te,"CodeGen",{enumerable:!0,get:function(){return Br.CodeGen}});var XB=Fs();Object.defineProperty(te,"ValidationError",{enumerable:!0,get:function(){return XB.default}});var eQ=Eo();Object.defineProperty(te,"MissingRefError",{enumerable:!0,get:function(){return eQ.default}})});var tp=Q(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.formatNames=Xe.fastFormats=Xe.fullFormats=void 0;function Ze(t,e){return{validate:t,compare:e}}Xe.fullFormats={date:Ze(KA,Qc),time:Ze(Ic(!0),_c),"date-time":Ze(JA(!0),XA),"iso-time":Ze(Ic(),ZA),"iso-date-time":Ze(JA(),ep),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:iQ,"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:pQ,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:aQ,int32:{type:"number",validate:uQ},int64:{type:"number",validate:dQ},float:{type:"number",validate:VA},double:{type:"number",validate:VA},password:!0,binary:!0};Xe.fastFormats={...Xe.fullFormats,date:Ze(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Qc),time:Ze(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,_c),"date-time":Ze(/^\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,XA),"iso-time":Ze(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,ZA),"iso-date-time":Ze(/^\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,ep),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};Xe.formatNames=Object.keys(Xe.fullFormats);function tQ(t){return t%4===0&&(t%100!==0||t%400===0)}var rQ=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,oQ=[0,31,28,31,30,31,30,31,31,30,31,30,31];function KA(t){let e=rQ.exec(t);if(!e)return!1;let r=+e[1],o=+e[2],s=+e[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&tQ(r)?29:oQ[o])}function Qc(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Cc=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Ic(t){return function(r){let o=Cc.exec(r);if(!o)return!1;let s=+o[1],n=+o[2],i=+o[3],a=o[4],c=o[5]==="-"?-1:1,u=+(o[6]||0),l=+(o[7]||0);if(u>23||l>59||t&&!a)return!1;if(s<=23&&n<=59&&i<60)return!0;let d=n-l*c,p=s-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&i<61}}function _c(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),o=new Date("2020-01-01T"+e).valueOf();if(r&&o)return r-o}function ZA(t,e){if(!(t&&e))return;let r=Cc.exec(t),o=Cc.exec(e);if(r&&o)return t=r[1]+r[2]+r[3],e=o[1]+o[2]+o[3],t>e?1:t<e?-1:0}var Bc=/t|\s/i;function JA(t){let e=Ic(t);return function(o){let s=o.split(Bc);return s.length===2&&KA(s[0])&&e(s[1])}}function XA(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),o=new Date(e).valueOf();if(r&&o)return r-o}function ep(t,e){if(!(t&&e))return;let[r,o]=t.split(Bc),[s,n]=e.split(Bc),i=Qc(r,s);if(i!==void 0)return i||_c(o,n)}var sQ=/\/|:/,nQ=/^(?:[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 iQ(t){return sQ.test(t)&&nQ.test(t)}var WA=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function aQ(t){return WA.lastIndex=0,WA.test(t)}var cQ=-(2**31),lQ=2**31-1;function uQ(t){return Number.isInteger(t)&&t<=lQ&&t>=cQ}function dQ(t){return Number.isInteger(t)}function VA(){return!0}var AQ=/[^\\]\\Z/;function pQ(t){if(AQ.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var rp=Q(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.formatLimitDefinition=void 0;var mQ=wc(),Ge=U(),kt=Ge.operators,ln={formatMaximum:{okStr:"<=",ok:kt.LTE,fail:kt.GT},formatMinimum:{okStr:">=",ok:kt.GTE,fail:kt.LT},formatExclusiveMaximum:{okStr:"<",ok:kt.LT,fail:kt.GTE},formatExclusiveMinimum:{okStr:">",ok:kt.GT,fail:kt.LTE}},fQ={message:({keyword:t,schemaCode:e})=>(0,Ge.str)`should be ${ln[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ge._)`{comparison: ${ln[t].okStr}, limit: ${e}}`};Qr.formatLimitDefinition={keyword:Object.keys(ln),type:"string",schemaType:"string",$data:!0,error:fQ,code(t){let{gen:e,data:r,schemaCode:o,keyword:s,it:n}=t,{opts:i,self:a}=n;if(!i.validateFormats)return;let c=new mQ.KeywordCxt(n,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,Ge._)`${p}[${c.schemaCode}]`);t.fail$data((0,Ge.or)((0,Ge._)`typeof ${m} != "object"`,(0,Ge._)`${m} instanceof RegExp`,(0,Ge._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let p=c.schema,m=a.formats[p];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${s}": format "${p}" does not define "compare" function`);let g=e.scopeValue("formats",{key:p,ref:m,code:i.code.formats?(0,Ge._)`${i.code.formats}${(0,Ge.getProperty)(p)}`:void 0});t.fail$data(d(g))}function d(p){return(0,Ge._)`${p}.compare(${r}, ${o}) ${ln[s].fail} 0`}},dependencies:["format"]};var gQ=t=>(t.addKeyword(Qr.formatLimitDefinition),t);Qr.default=gQ});var ip=Q((Ro,np)=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});var _r=tp(),hQ=rp(),Sc=U(),op=new Sc.Name("fullFormats"),EQ=new Sc.Name("fastFormats"),kc=(t,e={keywords:!0})=>{if(Array.isArray(e))return sp(t,e,_r.fullFormats,op),t;let[r,o]=e.mode==="fast"?[_r.fastFormats,EQ]:[_r.fullFormats,op],s=e.formats||_r.formatNames;return sp(t,s,r,o),e.keywords&&(0,hQ.default)(t),t};kc.get=(t,e="full")=>{let o=(e==="fast"?_r.fastFormats:_r.fullFormats)[t];if(!o)throw new Error(`Unknown format "${t}"`);return o};function sp(t,e,r,o){var s,n;(s=(n=t.opts.code).formats)!==null&&s!==void 0||(n.formats=(0,Sc._)`require("ajv-formats/dist/formats").${o}`);for(let i of e)t.addFormat(i,r[i])}np.exports=Ro=kc;Object.defineProperty(Ro,"__esModule",{value:!0});Ro.default=kc});var $p=Q((rD,Dp)=>{"use strict";Dp.exports=Tp;Tp.sync=VQ;var xp=ft("fs");function WQ(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var s=r[o].toLowerCase();if(s&&t.substr(-s.length).toLowerCase()===s)return!0}return!1}function Rp(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:WQ(e,r)}function Tp(t,e,r){xp.stat(t,function(o,s){r(o,o?!1:Rp(s,t,e))})}function VQ(t,e){return Rp(xp.statSync(t),t,e)}});var Up=Q((oD,zp)=>{"use strict";zp.exports=jp;jp.sync=KQ;var Pp=ft("fs");function jp(t,e,r){Pp.stat(t,function(o,s){r(o,o?!1:Np(s,e))})}function KQ(t,e){return Np(Pp.statSync(t),e)}function Np(t,e){return t.isFile()&&ZQ(t,e)}function ZQ(t,e){var r=t.mode,o=t.uid,s=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=a|c,d=r&u||r&c&&s===i||r&a&&o===n||r&l&&n===0;return d}});var Op=Q((nD,Fp)=>{"use strict";var sD=ft("fs"),wn;process.platform==="win32"||global.TESTING_WINDOWS?wn=$p():wn=Up();Fp.exports=Yc;Yc.sync=XQ;function Yc(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,s){Yc(t,e||{},function(n,i){n?s(n):o(i)})})}wn(t,e||{},function(o,s){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,s=!1),r(o,s)})}function XQ(t,e){try{return wn.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Wp=Q((iD,Jp)=>{"use strict";var Tr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Lp=ft("path"),e_=Tr?";":":",qp=Op(),Gp=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),Hp=(t,e)=>{let r=e.colon||e_,o=t.match(/\//)||Tr&&t.match(/\\/)?[""]:[...Tr?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],s=Tr?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=Tr?s.split(r):[""];return Tr&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:s}},Yp=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:s,pathExtExe:n}=Hp(t,e),i=[],a=u=>new Promise((l,d)=>{if(u===o.length)return e.all&&i.length?l(i):d(Gp(t));let p=o[u],m=/^".*"$/.test(p)?p.slice(1,-1):p,g=Lp.join(m,t),f=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+g:g;l(c(f,u,0))}),c=(u,l,d)=>new Promise((p,m)=>{if(d===s.length)return p(a(l+1));let g=s[d];qp(u+g,{pathExt:n},(f,h)=>{if(!f&&h)if(e.all)i.push(u+g);else return p(u+g);return p(c(u,l,d+1))})});return r?a(0).then(u=>r(null,u),r):a(0)},t_=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:s}=Hp(t,e),n=[];for(let i=0;i<r.length;i++){let a=r[i],c=/^".*"$/.test(a)?a.slice(1,-1):a,u=Lp.join(c,t),l=!c&&/^\.[\\\/]/.test(t)?t.slice(0,2)+u:u;for(let d=0;d<o.length;d++){let p=l+o[d];try{if(qp.sync(p,{pathExt:s}))if(e.all)n.push(p);else return p}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw Gp(t)};Jp.exports=Yp;Yp.sync=t_});var Kp=Q((aD,Jc)=>{"use strict";var Vp=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};Jc.exports=Vp;Jc.exports.default=Vp});var tm=Q((cD,em)=>{"use strict";var Zp=ft("path"),r_=Wp(),o_=Kp();function Xp(t,e){let r=t.options.env||process.env,o=process.cwd(),s=t.options.cwd!=null,n=s&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let i;try{i=r_.sync(t.command,{path:r[o_({env:r})],pathExt:e?Zp.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return i&&(i=Zp.resolve(s?t.options.cwd:"",i)),i}function s_(t){return Xp(t)||Xp(t,!0)}em.exports=s_});var rm=Q((lD,Vc)=>{"use strict";var Wc=/([()\][%!^"`<>&|;, *?])/g;function n_(t){return t=t.replace(Wc,"^$1"),t}function i_(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(Wc,"^$1"),e&&(t=t.replace(Wc,"^$1")),t}Vc.exports.command=n_;Vc.exports.argument=i_});var sm=Q((uD,om)=>{"use strict";om.exports=/^#!(.*)/});var im=Q((dD,nm)=>{"use strict";var a_=sm();nm.exports=(t="")=>{let e=t.match(a_);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?o:o?`${s} ${o}`:s}});var cm=Q((AD,am)=>{"use strict";var Kc=ft("fs"),c_=im();function l_(t){let r=Buffer.alloc(150),o;try{o=Kc.openSync(t,"r"),Kc.readSync(o,r,0,150,0),Kc.closeSync(o)}catch{}return c_(r.toString())}am.exports=l_});var Am=Q((pD,dm)=>{"use strict";var u_=ft("path"),lm=tm(),um=rm(),d_=cm(),A_=process.platform==="win32",p_=/\.(?:com|exe)$/i,m_=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function f_(t){t.file=lm(t);let e=t.file&&d_(t.file);return e?(t.args.unshift(t.file),t.command=e,lm(t)):t.file}function g_(t){if(!A_)return t;let e=f_(t),r=!p_.test(e);if(t.options.forceShell||r){let o=m_.test(e);t.command=u_.normalize(t.command),t.command=um.command(t.command),t.args=t.args.map(n=>um.argument(n,o));let s=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${s}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function h_(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:g_(o)}dm.exports=h_});var fm=Q((mD,mm)=>{"use strict";var Zc=process.platform==="win32";function Xc(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function E_(t,e){if(!Zc)return;let r=t.emit;t.emit=function(o,s){if(o==="exit"){let n=pm(s,e);if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function pm(t,e){return Zc&&t===1&&!e.file?Xc(e.original,"spawn"):null}function y_(t,e){return Zc&&t===1&&!e.file?Xc(e.original,"spawnSync"):null}mm.exports={hookChildProcess:E_,verifyENOENT:pm,verifyENOENTSync:y_,notFoundError:Xc}});var Em=Q((fD,Dr)=>{"use strict";var gm=ft("child_process"),el=Am(),tl=fm();function hm(t,e,r){let o=el(t,e,r),s=gm.spawn(o.command,o.args,o.options);return tl.hookChildProcess(s,o),s}function w_(t,e,r){let o=el(t,e,r),s=gm.spawnSync(o.command,o.args,o.options);return s.error=s.error||tl.verifyENOENTSync(s.status,o),s}Dr.exports=hm;Dr.exports.spawn=hm;Dr.exports.sync=w_;Dr.exports._parse=el;Dr.exports._enoent=tl});var Qm=Q(ol=>{"use strict";var Cm=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,S_=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,Im=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,k_=/\\([\u000b\u0020-\u00ff])/g,M_=/([\\"])/g,Bm=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;ol.format=v_;ol.parse=b_;function v_(t){if(!t||typeof t!="object")throw new TypeError("argument obj is required");var e=t.parameters,r=t.type;if(!r||!Bm.test(r))throw new TypeError("invalid type");var o=r;if(e&&typeof e=="object")for(var s,n=Object.keys(e).sort(),i=0;i<n.length;i++){if(s=n[i],!Im.test(s))throw new TypeError("invalid parameter name");o+="; "+s+"="+R_(e[s])}return o}function b_(t){if(!t)throw new TypeError("argument string is required");var e=typeof t=="object"?x_(t):t;if(typeof e!="string")throw new TypeError("argument string is required to be a string");var r=e.indexOf(";"),o=r!==-1?e.slice(0,r).trim():e.trim();if(!Bm.test(o))throw new TypeError("invalid media type");var s=new T_(o.toLowerCase());if(r!==-1){var n,i,a;for(Cm.lastIndex=r;i=Cm.exec(e);){if(i.index!==r)throw new TypeError("invalid parameter format");r+=i[0].length,n=i[1].toLowerCase(),a=i[2],a.charCodeAt(0)===34&&(a=a.slice(1,-1),a.indexOf("\\")!==-1&&(a=a.replace(k_,"$1"))),s.parameters[n]=a}if(r!==e.length)throw new TypeError("invalid parameter format")}return s}function x_(t){var e;if(typeof t.getHeader=="function"?e=t.getHeader("content-type"):typeof t.headers=="object"&&(e=t.headers&&t.headers["content-type"]),typeof e!="string")throw new TypeError("content-type header is missing from object");return e}function R_(t){var e=String(t);if(Im.test(e))return e;if(e.length>0&&!S_.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(M_,"\\$1")+'"'}function T_(t){this.parameters=Object.create(null),this.type=t}});async function ii(t,e){switch(t.protocol){case"anthropic":{let{AnthropicClient:r}=await import("./anthropic-4ZVG7AMA.js");return new r(t,e)}case"openai":{let{OpenAIClient:r}=await import("./openai-HXD52MZB.js");return new r(t,e)}case"openai-compat":{let{OpenAICompatClient:r}=await import("./openai-HXD52MZB.js");return new r(t,e)}default:throw new Error(`Unknown protocol: ${String(t.protocol)}`)}}var nr="2025-11-25";var Vl=[nr,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ht="io.modelcontextprotocol/related-task",hs="2.0",ue=zl(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Kl=re([A(),J().int()]),Zl=A(),wv=le({ttl:J().optional(),pollInterval:J().optional()}),Ug=k({ttl:J().optional()}),Fg=k({taskId:A()}),ci=le({progressToken:Kl.optional(),[ht]:Fg.optional()}),Te=k({_meta:ci.optional()}),Jr=Te.extend({task:Ug.optional()}),Xl=t=>Jr.safeParse(t).success,pe=k({method:A(),params:Te.loose().optional()}),De=k({_meta:ci.optional()}),$e=k({method:A(),params:De.loose().optional()}),me=le({_meta:ci.optional()}),Es=re([A(),J().int()]),eu=k({jsonrpc:b(hs),id:Es,...pe.shape}).strict(),Wr=t=>eu.safeParse(t).success,tu=k({jsonrpc:b(hs),...$e.shape}).strict(),ru=t=>tu.safeParse(t).success,li=k({jsonrpc:b(hs),id:Es,result:me}).strict(),xt=t=>li.safeParse(t).success;var P;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(P||(P={}));var ui=k({jsonrpc:b(hs),id:Es.optional(),error:k({code:J().int(),message:A(),data:ne().optional()})}).strict();var ou=t=>ui.safeParse(t).success;var Et=re([eu,tu,li,ui]),Cv=re([li,ui]),Rt=me.strict(),Og=De.extend({requestId:Es.optional(),reason:A().optional()}),ys=$e.extend({method:b("notifications/cancelled"),params:Og}),Lg=k({src:A(),mimeType:A().optional(),sizes:_(A()).optional(),theme:Re(["light","dark"]).optional()}),Vr=k({icons:_(Lg).optional()}),sr=k({name:A(),title:A().optional()}),su=sr.extend({...sr.shape,...Vr.shape,version:A(),websiteUrl:A().optional(),description:A().optional()}),qg=oi(k({applyDefaults:K().optional()}),X(A(),ne())),Gg=si(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,oi(k({form:qg.optional(),url:ue.optional()}),X(A(),ne()).optional())),Hg=le({list:ue.optional(),cancel:ue.optional(),requests:le({sampling:le({createMessage:ue.optional()}).optional(),elicitation:le({create:ue.optional()}).optional()}).optional()}),Yg=le({list:ue.optional(),cancel:ue.optional(),requests:le({tools:le({call:ue.optional()}).optional()}).optional()}),Jg=k({experimental:X(A(),ue).optional(),sampling:k({context:ue.optional(),tools:ue.optional()}).optional(),elicitation:Gg.optional(),roots:k({listChanged:K().optional()}).optional(),tasks:Hg.optional(),extensions:X(A(),ue).optional()}),Wg=Te.extend({protocolVersion:A(),capabilities:Jg,clientInfo:su}),Vg=pe.extend({method:b("initialize"),params:Wg});var Kg=k({experimental:X(A(),ue).optional(),logging:ue.optional(),completions:ue.optional(),prompts:k({listChanged:K().optional()}).optional(),resources:k({subscribe:K().optional(),listChanged:K().optional()}).optional(),tools:k({listChanged:K().optional()}).optional(),tasks:Yg.optional(),extensions:X(A(),ue).optional()}),di=me.extend({protocolVersion:A(),capabilities:Kg,serverInfo:su,instructions:A().optional()}),nu=$e.extend({method:b("notifications/initialized"),params:De.optional()}),iu=t=>nu.safeParse(t).success,ws=pe.extend({method:b("ping"),params:Te.optional()}),Zg=k({progress:J(),total:se(J()),message:se(A())}),Xg=k({...De.shape,...Zg.shape,progressToken:Kl}),Cs=$e.extend({method:b("notifications/progress"),params:Xg}),eh=Te.extend({cursor:Zl.optional()}),Kr=pe.extend({params:eh.optional()}),Zr=me.extend({nextCursor:Zl.optional()}),th=Re(["working","input_required","completed","failed","cancelled"]),Xr=k({taskId:A(),status:th,ttl:re([J(),jl()]),createdAt:A(),lastUpdatedAt:A(),pollInterval:se(J()),statusMessage:se(A())}),Tt=me.extend({task:Xr}),rh=De.merge(Xr),eo=$e.extend({method:b("notifications/tasks/status"),params:rh}),Is=pe.extend({method:b("tasks/get"),params:Te.extend({taskId:A()})}),Bs=me.merge(Xr),Qs=pe.extend({method:b("tasks/result"),params:Te.extend({taskId:A()})}),Iv=me.loose(),_s=Kr.extend({method:b("tasks/list")}),Ss=Zr.extend({tasks:_(Xr)}),ks=pe.extend({method:b("tasks/cancel"),params:Te.extend({taskId:A()})}),au=me.merge(Xr),cu=k({uri:A(),mimeType:se(A()),_meta:X(A(),ne()).optional()}),lu=cu.extend({text:A()}),Ai=A().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),uu=cu.extend({blob:Ai}),to=Re(["user","assistant"]),ir=k({audience:_(to).optional(),priority:J().min(0).max(1).optional(),lastModified:Tl.datetime({offset:!0}).optional()}),du=k({...sr.shape,...Vr.shape,uri:A(),description:se(A()),mimeType:se(A()),size:se(J()),annotations:ir.optional(),_meta:se(le({}))}),oh=k({...sr.shape,...Vr.shape,uriTemplate:A(),description:se(A()),mimeType:se(A()),annotations:ir.optional(),_meta:se(le({}))}),sh=Kr.extend({method:b("resources/list")}),pi=Zr.extend({resources:_(du)}),nh=Kr.extend({method:b("resources/templates/list")}),mi=Zr.extend({resourceTemplates:_(oh)}),fi=Te.extend({uri:A()}),ih=fi,ah=pe.extend({method:b("resources/read"),params:ih}),gi=me.extend({contents:_(re([lu,uu]))}),hi=$e.extend({method:b("notifications/resources/list_changed"),params:De.optional()}),ch=fi,lh=pe.extend({method:b("resources/subscribe"),params:ch}),uh=fi,dh=pe.extend({method:b("resources/unsubscribe"),params:uh}),Ah=De.extend({uri:A()}),ph=$e.extend({method:b("notifications/resources/updated"),params:Ah}),mh=k({name:A(),description:se(A()),required:se(K())}),fh=k({...sr.shape,...Vr.shape,description:se(A()),arguments:se(_(mh)),_meta:se(le({}))}),gh=Kr.extend({method:b("prompts/list")}),Ei=Zr.extend({prompts:_(fh)}),hh=Te.extend({name:A(),arguments:X(A(),A()).optional()}),Eh=pe.extend({method:b("prompts/get"),params:hh}),yi=k({type:b("text"),text:A(),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),wi=k({type:b("image"),data:Ai,mimeType:A(),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),Ci=k({type:b("audio"),data:Ai,mimeType:A(),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),yh=k({type:b("tool_use"),name:A(),id:A(),input:X(A(),ne()),_meta:X(A(),ne()).optional()}),wh=k({type:b("resource"),resource:re([lu,uu]),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),Ch=du.extend({type:b("resource_link")}),Ii=re([yi,wi,Ci,Ch,wh]),Ih=k({role:to,content:Ii}),Bi=me.extend({description:A().optional(),messages:_(Ih)}),Qi=$e.extend({method:b("notifications/prompts/list_changed"),params:De.optional()}),Bh=k({title:A().optional(),readOnlyHint:K().optional(),destructiveHint:K().optional(),idempotentHint:K().optional(),openWorldHint:K().optional()}),Qh=k({taskSupport:Re(["required","optional","forbidden"]).optional()}),Au=k({...sr.shape,...Vr.shape,description:A().optional(),inputSchema:k({type:b("object"),properties:X(A(),ue).optional(),required:_(A()).optional()}).catchall(ne()),outputSchema:k({type:b("object"),properties:X(A(),ue).optional(),required:_(A()).optional()}).catchall(ne()).optional(),annotations:Bh.optional(),execution:Qh.optional(),_meta:X(A(),ne()).optional()}),_h=Kr.extend({method:b("tools/list")}),_i=Zr.extend({tools:_(Au)}),ar=me.extend({content:_(Ii).default([]),structuredContent:X(A(),ne()).optional(),isError:K().optional()}),Bv=ar.or(me.extend({toolResult:ne()})),Sh=Jr.extend({name:A(),arguments:X(A(),ne()).optional()}),kh=pe.extend({method:b("tools/call"),params:Sh}),Si=$e.extend({method:b("notifications/tools/list_changed"),params:De.optional()}),pu=k({autoRefresh:K().default(!0),debounceMs:J().int().nonnegative().default(300)}),mu=Re(["debug","info","notice","warning","error","critical","alert","emergency"]),Mh=Te.extend({level:mu}),vh=pe.extend({method:b("logging/setLevel"),params:Mh}),bh=De.extend({level:mu,logger:A().optional(),data:ne()}),xh=$e.extend({method:b("notifications/message"),params:bh}),Rh=k({name:A().optional()}),Th=k({hints:_(Rh).optional(),costPriority:J().min(0).max(1).optional(),speedPriority:J().min(0).max(1).optional(),intelligencePriority:J().min(0).max(1).optional()}),Dh=k({mode:Re(["auto","required","none"]).optional()}),$h=k({type:b("tool_result"),toolUseId:A().describe("The unique identifier for the corresponding tool call."),content:_(Ii).default([]),structuredContent:k({}).loose().optional(),isError:K().optional(),_meta:X(A(),ne()).optional()}),Ph=ri("type",[yi,wi,Ci]),gs=ri("type",[yi,wi,Ci,yh,$h]),jh=k({role:to,content:re([gs,_(gs)]),_meta:X(A(),ne()).optional()}),Nh=Jr.extend({messages:_(jh),modelPreferences:Th.optional(),systemPrompt:A().optional(),includeContext:Re(["none","thisServer","allServers"]).optional(),temperature:J().optional(),maxTokens:J().int(),stopSequences:_(A()).optional(),metadata:ue.optional(),tools:_(Au).optional(),toolChoice:Dh.optional()}),ki=pe.extend({method:b("sampling/createMessage"),params:Nh}),Mi=me.extend({model:A(),stopReason:se(Re(["endTurn","stopSequence","maxTokens"]).or(A())),role:to,content:Ph}),vi=me.extend({model:A(),stopReason:se(Re(["endTurn","stopSequence","maxTokens","toolUse"]).or(A())),role:to,content:re([gs,_(gs)])}),zh=k({type:b("boolean"),title:A().optional(),description:A().optional(),default:K().optional()}),Uh=k({type:b("string"),title:A().optional(),description:A().optional(),minLength:J().optional(),maxLength:J().optional(),format:Re(["email","uri","date","date-time"]).optional(),default:A().optional()}),Fh=k({type:Re(["number","integer"]),title:A().optional(),description:A().optional(),minimum:J().optional(),maximum:J().optional(),default:J().optional()}),Oh=k({type:b("string"),title:A().optional(),description:A().optional(),enum:_(A()),default:A().optional()}),Lh=k({type:b("string"),title:A().optional(),description:A().optional(),oneOf:_(k({const:A(),title:A()})),default:A().optional()}),qh=k({type:b("string"),title:A().optional(),description:A().optional(),enum:_(A()),enumNames:_(A()).optional(),default:A().optional()}),Gh=re([Oh,Lh]),Hh=k({type:b("array"),title:A().optional(),description:A().optional(),minItems:J().optional(),maxItems:J().optional(),items:k({type:b("string"),enum:_(A())}),default:_(A()).optional()}),Yh=k({type:b("array"),title:A().optional(),description:A().optional(),minItems:J().optional(),maxItems:J().optional(),items:k({anyOf:_(k({const:A(),title:A()}))}),default:_(A()).optional()}),Jh=re([Hh,Yh]),Wh=re([qh,Gh,Jh]),Vh=re([Wh,zh,Uh,Fh]),Kh=Jr.extend({mode:b("form").optional(),message:A(),requestedSchema:k({type:b("object"),properties:X(A(),Vh),required:_(A()).optional()})}),Zh=Jr.extend({mode:b("url"),message:A(),elicitationId:A(),url:A().url()}),Xh=re([Kh,Zh]),bi=pe.extend({method:b("elicitation/create"),params:Xh}),eE=De.extend({elicitationId:A()}),tE=$e.extend({method:b("notifications/elicitation/complete"),params:eE}),xi=me.extend({action:Re(["accept","decline","cancel"]),content:si(t=>t===null?void 0:t,X(A(),re([A(),J(),K(),_(A())])).optional())}),rE=k({type:b("ref/resource"),uri:A()});var oE=k({type:b("ref/prompt"),name:A()}),sE=Te.extend({ref:re([oE,rE]),argument:k({name:A(),value:A()}),context:k({arguments:X(A(),A()).optional()}).optional()}),nE=pe.extend({method:b("completion/complete"),params:sE});var Ri=me.extend({completion:le({values:_(A()).max(100),total:se(J().int()),hasMore:se(K())})}),iE=k({uri:A().startsWith("file://"),name:A().optional(),_meta:X(A(),ne()).optional()}),aE=pe.extend({method:b("roots/list"),params:Te.optional()}),cE=me.extend({roots:_(iE)}),lE=$e.extend({method:b("notifications/roots/list_changed"),params:De.optional()}),Qv=re([ws,Vg,nE,vh,Eh,gh,sh,nh,ah,lh,dh,kh,_h,Is,Qs,_s,ks]),_v=re([ys,Cs,nu,lE,eo]),Sv=re([Rt,Mi,vi,xi,cE,Bs,Ss,Tt]),kv=re([ws,ki,bi,aE,Is,Qs,_s,ks]),Mv=re([ys,Cs,xh,ph,hi,Si,Qi,eo,tE]),vv=re([Rt,di,Ri,Bi,Ei,pi,mi,gi,ar,_i,Bs,Ss,Tt]),R=class t extends Error{constructor(e,r,o){super(`MCP error ${e}: ${r}`),this.code=e,this.data=o,this.name="McpError"}static fromError(e,r,o){if(e===P.UrlElicitationRequired&&o){let s=o;if(s.elicitations)return new ai(s.elicitations,r)}return new t(e,r,o)}},ai=class extends R{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(P.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function yt(t){return t==="completed"||t==="failed"||t==="cancelled"}var cb=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ti(t){let r=ds(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let o=As(r);if(typeof o!="string")throw new Error("Schema method literal must be a string");return o}function Di(t,e){let r=Ue(t,e);if(!r.success)throw r.error;return r.data}var fE=6e4,Ms=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ys,r=>{this._oncancel(r)}),this.setNotificationHandler(Cs,r=>{this._onprogress(r)}),this.setRequestHandler(ws,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Is,async(r,o)=>{let s=await this._taskStore.getTask(r.params.taskId,o.sessionId);if(!s)throw new R(P.InvalidParams,"Failed to retrieve task: Task not found");return{...s}}),this.setRequestHandler(Qs,async(r,o)=>{let s=async()=>{let n=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(n,o.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,p=new R(d.error.code,d.error.message,d.error.data);l(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:o.requestId})}}let i=await this._taskStore.getTask(n,o.sessionId);if(!i)throw new R(P.InvalidParams,`Task not found: ${n}`);if(!yt(i.status))return await this._waitForTaskUpdate(n,o.signal),await s();if(yt(i.status)){let a=await this._taskStore.getTaskResult(n,o.sessionId);return this._clearTaskQueue(n),{...a,_meta:{...a._meta,[ht]:{taskId:n}}}}return await s()};return await s()}),this.setRequestHandler(_s,async(r,o)=>{try{let{tasks:s,nextCursor:n}=await this._taskStore.listTasks(r.params?.cursor,o.sessionId);return{tasks:s,nextCursor:n,_meta:{}}}catch(s){throw new R(P.InvalidParams,`Failed to list tasks: ${s instanceof Error?s.message:String(s)}`)}}),this.setRequestHandler(ks,async(r,o)=>{try{let s=await this._taskStore.getTask(r.params.taskId,o.sessionId);if(!s)throw new R(P.InvalidParams,`Task not found: ${r.params.taskId}`);if(yt(s.status))throw new R(P.InvalidParams,`Cannot cancel task in terminal status: ${s.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",o.sessionId),this._clearTaskQueue(r.params.taskId);let n=await this._taskStore.getTask(r.params.taskId,o.sessionId);if(!n)throw new R(P.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...n}}catch(s){throw s instanceof R?s:new R(P.InvalidRequest,`Failed to cancel task: ${s instanceof Error?s.message:String(s)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,o,s,n=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(s,r),startTime:Date.now(),timeout:r,maxTotalTimeout:o,resetTimeoutOnProgress:n,onTimeout:s})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let o=Date.now()-r.startTime;if(r.maxTotalTimeout&&o>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),R.fromError(P.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:o});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let o=this.transport?.onerror;this._transport.onerror=n=>{o?.(n),this._onerror(n)};let s=this._transport?.onmessage;this._transport.onmessage=(n,i)=>{s?.(n,i),xt(n)||ou(n)?this._onresponse(n):Wr(n)?this._onrequest(n,i):ru(n)?this._onnotification(n):this._onerror(new Error(`Unknown message type: ${JSON.stringify(n)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let o of this._timeoutInfo.values())clearTimeout(o.timeoutId);this._timeoutInfo.clear();for(let o of this._requestHandlerAbortControllers.values())o.abort();this._requestHandlerAbortControllers.clear();let r=R.fromError(P.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let o of e.values())o(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(o=>this._onerror(new Error(`Uncaught error in notification handler: ${o}`)))}_onrequest(e,r){let o=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,s=this._transport,n=e.params?._meta?.[ht]?.taskId;if(o===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:P.MethodNotFound,message:"Method not found"}};n&&this._taskMessageQueue?this._enqueueTaskMessage(n,{type:"error",message:l,timestamp:Date.now()},s?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):s?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Xl(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,s?.sessionId):void 0,u={signal:i.signal,sessionId:s?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};n&&(d.relatedTask={taskId:n}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{if(i.signal.aborted)throw new R(P.ConnectionClosed,"Request was cancelled");let m={...p,relatedRequestId:e.id};n&&!m.relatedTask&&(m.relatedTask={taskId:n});let g=m.relatedTask?.taskId??n;return g&&c&&await c.updateTaskStatus(g,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:n,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>o(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};n&&this._taskMessageQueue?await this._enqueueTaskMessage(n,{type:"response",message:d,timestamp:Date.now()},s?.sessionId):await s?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:P.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};n&&this._taskMessageQueue?await this._enqueueTaskMessage(n,{type:"error",message:d,timestamp:Date.now()},s?.sessionId):await s?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...o}=e.params,s=Number(r),n=this._progressHandlers.get(s);if(!n){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(s),a=this._timeoutInfo.get(s);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(s)}catch(c){this._responseHandlers.delete(s),this._progressHandlers.delete(s),this._cleanupTimeout(s),i(c);return}n(o)}_onresponse(e){let r=Number(e.id),o=this._requestResolvers.get(r);if(o){if(this._requestResolvers.delete(r),xt(e))o(e);else{let i=new R(e.error.code,e.error.message,e.error.data);o(i)}return}let s=this._responseHandlers.get(r);if(s===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let n=!1;if(xt(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(n=!0,this._taskProgressTokens.set(a.taskId,r))}}if(n||this._progressHandlers.delete(r),xt(e))s(e);else{let i=R.fromError(e.error.code,e.error.message,e.error.data);s(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,o){let{task:s}=o??{};if(!s){try{yield{type:"result",result:await this.request(e,r,o)}}catch(i){yield{type:"error",error:i instanceof R?i:new R(P.InternalError,String(i))}}return}let n;try{let i=await this.request(e,Tt,o);if(i.task)n=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new R(P.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:n},o);if(yield{type:"taskStatus",task:a},yt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:n},r,o)}:a.status==="failed"?yield{type:"error",error:new R(P.InternalError,`Task ${n} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new R(P.InternalError,`Task ${n} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:n},r,o)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),o?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof R?i:new R(P.InternalError,String(i))}}}request(e,r,o){let{relatedRequestId:s,resumptionToken:n,onresumptiontoken:i,task:a,relatedTask:c}=o??{};return new Promise((u,l)=>{let d=w=>{l(w)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(w){d(w);return}o?.signal?.throwIfAborted();let p=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:p};o?.onprogress&&(this._progressHandlers.set(p,o.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[ht]:c}});let g=w=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(w)}},{relatedRequestId:s,resumptionToken:n,onresumptiontoken:i}).catch(v=>this._onerror(new Error(`Failed to send cancellation: ${v}`)));let I=w instanceof R?w:new R(P.RequestTimeout,String(w));l(I)};this._responseHandlers.set(p,w=>{if(!o?.signal?.aborted){if(w instanceof Error)return l(w);try{let I=Ue(r,w.result);I.success?u(I.data):l(I.error)}catch(I){l(I)}}}),o?.signal?.addEventListener("abort",()=>{g(o?.signal?.reason)});let f=o?.timeout??fE,h=()=>g(R.fromError(P.RequestTimeout,"Request timed out",{timeout:f}));this._setupTimeout(p,f,o?.maxTotalTimeout,h,o?.resetTimeoutOnProgress??!1);let y=c?.taskId;if(y){let w=I=>{let v=this._responseHandlers.get(p);v?v(I):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,w),this._enqueueTaskMessage(y,{type:"request",message:m,timestamp:Date.now()}).catch(I=>{this._cleanupTimeout(p),l(I)})}else this._transport.send(m,{relatedRequestId:s,resumptionToken:n,onresumptiontoken:i}).catch(w=>{this._cleanupTimeout(p),l(w)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Bs,r)}async getTaskResult(e,r,o){return this.request({method:"tasks/result",params:e},r,o)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},Ss,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},au,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let o=r?.relatedTask?.taskId;if(o){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[ht]:r.relatedTask}}};await this._enqueueTaskMessage(o,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[ht]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[ht]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let o=Ti(e);this.assertRequestHandlerCapability(o),this._requestHandlers.set(o,(s,n)=>{let i=Di(e,s);return Promise.resolve(r(i,n))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let o=Ti(e);this._notificationHandlers.set(o,s=>{let n=Di(e,s);return Promise.resolve(r(n))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,o){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let s=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,o,s)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let o=await this._taskMessageQueue.dequeueAll(e,r);for(let s of o)if(s.type==="request"&&Wr(s.message)){let n=s.message.id,i=this._requestResolvers.get(n);i?(i(new R(P.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(n)):this._onerror(new Error(`Resolver missing for request ${n} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let o=this._options?.defaultTaskPollInterval??1e3;try{let s=await this._taskStore?.getTask(e);s?.pollInterval&&(o=s.pollInterval)}catch{}return new Promise((s,n)=>{if(r.aborted){n(new R(P.InvalidRequest,"Request cancelled"));return}let i=setTimeout(s,o);r.addEventListener("abort",()=>{clearTimeout(i),n(new R(P.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let o=this._taskStore;if(!o)throw new Error("No task store configured");return{createTask:async s=>{if(!e)throw new Error("No request provided");return await o.createTask(s,e.id,{method:e.method,params:e.params},r)},getTask:async s=>{let n=await o.getTask(s,r);if(!n)throw new R(P.InvalidParams,"Failed to retrieve task: Task not found");return n},storeTaskResult:async(s,n,i)=>{await o.storeTaskResult(s,n,i,r);let a=await o.getTask(s,r);if(a){let c=eo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),yt(a.status)&&this._cleanupTaskProgressHandler(s)}},getTaskResult:s=>o.getTaskResult(s,r),updateTaskStatus:async(s,n,i)=>{let a=await o.getTask(s,r);if(!a)throw new R(P.InvalidParams,`Task "${s}" not found - it may have been cleaned up`);if(yt(a.status))throw new R(P.InvalidParams,`Cannot update task "${s}" from terminal status "${a.status}" to "${n}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await o.updateTaskStatus(s,n,i,r);let c=await o.getTask(s,r);if(c){let u=eo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),yt(c.status)&&this._cleanupTaskProgressHandler(s)}},listTasks:s=>o.listTasks(s,r)}}};function fu(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function gu(t,e){let r={...t};for(let o in e){let s=o,n=e[s];if(n===void 0)continue;let i=r[s];fu(i)&&fu(n)?r[s]={...i,...n}:r[s]=n}return r}var ap=us(wc(),1),cp=us(ip(),1);function yQ(){let t=new ap.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,cp.default)(t),t}var un=class{constructor(e){this._ajv=e??yQ()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return o=>r(o)?{valid:!0,data:o,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var dn=class{constructor(e){this._client=e}async*callToolStream(e,r=ar,o){let s=this._client,n={...o,task:o?.task??(s.isToolTask(e.name)?{}:void 0)},i=s.requestStream({method:"tools/call",params:e},r,n),a=s.getToolOutputValidator(e.name);for await(let c of i){if(c.type==="result"&&a){let u=c.result;if(!u.structuredContent&&!u.isError){yield{type:"error",error:new R(P.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(u.structuredContent)try{let l=a(u.structuredContent);if(!l.valid){yield{type:"error",error:new R(P.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof R){yield{type:"error",error:l};return}yield{type:"error",error:new R(P.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield c}}async getTask(e,r){return this._client.getTask({taskId:e},r)}async getTaskResult(e,r,o){return this._client.getTaskResult({taskId:e},r,o)}async listTasks(e,r){return this._client.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._client.cancelTask({taskId:e},r)}requestStream(e,r,o){return this._client.requestStream(e,r,o)}};function lp(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function up(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}function An(t,e){if(!(!t||e===null||typeof e!="object")){if(t.type==="object"&&t.properties&&typeof t.properties=="object"){let r=e,o=t.properties;for(let s of Object.keys(o)){let n=o[s];r[s]===void 0&&Object.prototype.hasOwnProperty.call(n,"default")&&(r[s]=n.default),r[s]!==void 0&&An(n,r[s])}}if(Array.isArray(t.anyOf))for(let r of t.anyOf)typeof r!="boolean"&&An(r,e);if(Array.isArray(t.oneOf))for(let r of t.oneOf)typeof r!="boolean"&&An(r,e)}}function wQ(t){if(!t)return{supportsFormMode:!1,supportsUrlMode:!1};let e=t.form!==void 0,r=t.url!==void 0;return{supportsFormMode:e||!e&&!r,supportsUrlMode:r}}var pn=class extends Ms{constructor(e,r){super(r),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new un,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Si,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",Qi,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",hi,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new dn(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=gu(this._capabilities,e)}setRequestHandler(e,r){let s=ds(e)?.method;if(!s)throw new Error("Schema is missing a method literal");let n=As(s);if(typeof n!="string")throw new Error("Schema method literal must be a string");let i=n;if(i==="elicitation/create"){let a=async(c,u)=>{let l=Ue(bi,c);if(!l.success){let w=l.error instanceof Error?l.error.message:String(l.error);throw new R(P.InvalidParams,`Invalid elicitation request: ${w}`)}let{params:d}=l.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:m}=wQ(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new R(P.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!m)throw new R(P.InvalidParams,"Client does not support URL-mode elicitation requests");let g=await Promise.resolve(r(c,u));if(d.task){let w=Ue(Tt,g);if(!w.success){let I=w.error instanceof Error?w.error.message:String(w.error);throw new R(P.InvalidParams,`Invalid task creation result: ${I}`)}return w.data}let f=Ue(xi,g);if(!f.success){let w=f.error instanceof Error?f.error.message:String(f.error);throw new R(P.InvalidParams,`Invalid elicitation result: ${w}`)}let h=f.data,y=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&h.action==="accept"&&h.content&&y&&this._capabilities.elicitation?.form?.applyDefaults)try{An(y,h.content)}catch{}return h};return super.setRequestHandler(e,a)}if(i==="sampling/createMessage"){let a=async(c,u)=>{let l=Ue(ki,c);if(!l.success){let h=l.error instanceof Error?l.error.message:String(l.error);throw new R(P.InvalidParams,`Invalid sampling request: ${h}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let h=Ue(Tt,p);if(!h.success){let y=h.error instanceof Error?h.error.message:String(h.error);throw new R(P.InvalidParams,`Invalid task creation result: ${y}`)}return h.data}let g=d.tools||d.toolChoice?vi:Mi,f=Ue(g,p);if(!f.success){let h=f.error instanceof Error?f.error.message:String(f.error);throw new R(P.InvalidParams,`Invalid sampling result: ${h}`)}return f.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapability(e,r){if(!this._serverCapabilities?.[e])throw new Error(`Server does not support ${e} (required for ${r})`)}async connect(e,r){if(await super.connect(e),e.sessionId===void 0)try{let o=await this.request({method:"initialize",params:{protocolVersion:nr,capabilities:this._capabilities,clientInfo:this._clientInfo}},di,r);if(o===void 0)throw new Error(`Server sent invalid initialize result: ${o}`);if(!Vl.includes(o.protocolVersion))throw new Error(`Server's protocol version is not supported: ${o.protocolVersion}`);this._serverCapabilities=o.capabilities,this._serverVersion=o.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(o.protocolVersion),this._instructions=o.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(o){throw this.close(),o}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break;case"ping":break}}assertTaskCapability(e){lp(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){this._capabilities&&up(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Rt,e)}async complete(e,r){return this.request({method:"completion/complete",params:e},Ri,r)}async setLoggingLevel(e,r){return this.request({method:"logging/setLevel",params:{level:e}},Rt,r)}async getPrompt(e,r){return this.request({method:"prompts/get",params:e},Bi,r)}async listPrompts(e,r){return this.request({method:"prompts/list",params:e},Ei,r)}async listResources(e,r){return this.request({method:"resources/list",params:e},pi,r)}async listResourceTemplates(e,r){return this.request({method:"resources/templates/list",params:e},mi,r)}async readResource(e,r){return this.request({method:"resources/read",params:e},gi,r)}async subscribeResource(e,r){return this.request({method:"resources/subscribe",params:e},Rt,r)}async unsubscribeResource(e,r){return this.request({method:"resources/unsubscribe",params:e},Rt,r)}async callTool(e,r=ar,o){if(this.isToolTaskRequired(e.name))throw new R(P.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let s=await this.request({method:"tools/call",params:e},r,o),n=this.getToolOutputValidator(e.name);if(n){if(!s.structuredContent&&!s.isError)throw new R(P.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(s.structuredContent)try{let i=n(s.structuredContent);if(!i.valid)throw new R(P.InvalidParams,`Structured content does not match the tool's output schema: ${i.errorMessage}`)}catch(i){throw i instanceof R?i:new R(P.InvalidParams,`Failed to validate structured content: ${i instanceof Error?i.message:String(i)}`)}}return s}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of e){if(r.outputSchema){let s=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,s)}let o=r.execution?.taskSupport;(o==="required"||o==="optional")&&this._cachedKnownTaskTools.add(r.name),o==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,r){let o=await this.request({method:"tools/list",params:e},_i,r);return this.cacheToolMetadata(o.tools),o}_setupListChangedHandler(e,r,o,s){let n=pu.safeParse(o);if(!n.success)throw new Error(`Invalid ${e} listChanged options: ${n.error.message}`);if(typeof o.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:i,debounceMs:a}=n.data,{onChanged:c}=o,u=async()=>{if(!i){c(null,null);return}try{let d=await s();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},l=()=>{if(a){let d=this._listChangedDebounceTimers.get(e);d&&clearTimeout(d);let p=setTimeout(u,a);this._listChangedDebounceTimers.set(e,p)}else u()};this.setNotificationHandler(r,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var To=class extends Error{constructor(e,r){super(e),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}},dp=10,CQ=13,Gt=32;function Mc(t){}function mn(t){if(typeof t=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:e=Mc,onError:r=Mc,onRetry:o=Mc,onComment:s,maxBufferSize:n}=t,i=[],a=0,c=!0,u,l="",d=0,p,m=!1;function g(E){if(m)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,E.charCodeAt(0)===239&&E.charCodeAt(1)===187&&E.charCodeAt(2)===191&&(E=E.slice(3))),i.length===0){let z=h(E);z!==""&&(i.push(z),a=z.length),f();return}if(E.indexOf(`
|
|
12
|
-
`)===-1&&E.indexOf("\r")===-1){i.push(E),a+=E.length,f();return}i.push(E);let B=i.join("");i.length=0,a=0;let
|
|
13
|
-
`,B);for(;
|
|
14
|
-
`,B);continue}let z=E.charCodeAt(B);if(Ap(E,B,z)){let D=E.charCodeAt(B+5)===Gt?B+6:B+5,ce=E.slice(D,
|
|
11
|
+
deps: ${r}}`};var YI={keyword:"dependencies",type:"object",schemaType:"object",error:Ke.error,code(t){let[e,r]=JI(t);gA(t,e),hA(t,r)}};function JI({schema:t}){let e={},r={};for(let o in t){if(o==="__proto__")continue;let s=Array.isArray(t[o])?e:r;s[o]=t[o]}return[e,r]}function gA(t,e=t.schema){let{gen:r,data:o,it:s}=t;if(Object.keys(e).length===0)return;let n=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,xo.propertyInData)(r,o,i,s.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of a)(0,xo.checkReportMissingProp)(t,u)}):(r.if((0,ec._)`${c} && (${(0,xo.checkMissingProp)(t,a,n)})`),(0,xo.reportMissingProp)(t,n),r.else())}}Ke.validatePropertyDeps=gA;function hA(t,e=t.schema){let{gen:r,data:o,keyword:s,it:n}=t,i=r.name("valid");for(let a in e)(0,HI.alwaysValidSchema)(n,e[a])||(r.if((0,xo.propertyInData)(r,o,a,n.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Ke.validateSchemaDeps=hA;Ke.default=YI});var wA=Q(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var yA=U(),WI=H(),VI={message:"property name must be valid",params:({params:t})=>(0,yA._)`{propertyName: ${t.propertyName}}`},KI={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:VI,code(t){let{gen:e,schema:r,data:o,it:s}=t;if((0,WI.alwaysValidSchema)(s,r))return;let n=e.name("valid");e.forIn("key",o,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},n),e.if((0,yA.not)(n),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(n)}};tc.default=KI});var oc=Q(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var tn=je(),qe=U(),ZI=st(),rn=H(),XI={message:"must NOT have additional properties",params:({params:t})=>(0,qe._)`{additionalProperty: ${t.additionalProperty}}`},eB={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:XI,code(t){let{gen:e,schema:r,parentSchema:o,data:s,errsCount:n,it:i}=t;if(!n)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,rn.alwaysValidSchema)(i,r))return;let u=(0,tn.allSchemaProperties)(o.properties),l=(0,tn.allSchemaProperties)(o.patternProperties);d(),t.ok((0,qe._)`${n} === ${ZI.default.errors}`);function d(){e.forIn("key",s,h=>{!u.length&&!l.length?g(h):e.if(p(h),()=>g(h))})}function p(h){let y;if(u.length>8){let w=(0,rn.schemaRefOrVal)(i,o.properties,"properties");y=(0,tn.isOwnProperty)(e,w,h)}else u.length?y=(0,qe.or)(...u.map(w=>(0,qe._)`${h} === ${w}`)):y=qe.nil;return l.length&&(y=(0,qe.or)(y,...l.map(w=>(0,qe._)`${(0,tn.usePattern)(t,w)}.test(${h})`))),(0,qe.not)(y)}function m(h){e.code((0,qe._)`delete ${s}[${h}]`)}function g(h){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(h);return}if(r===!1){t.setParams({additionalProperty:h}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,rn.alwaysValidSchema)(i,r)){let y=e.name("valid");c.removeAdditional==="failing"?(f(h,y,!1),e.if((0,qe.not)(y),()=>{t.reset(),m(h)})):(f(h,y),a||e.if((0,qe.not)(y),()=>e.break()))}}function f(h,y,w){let I={keyword:"additionalProperties",dataProp:h,dataPropType:rn.Type.Str};w===!1&&Object.assign(I,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(I,y)}}};rc.default=eB});var BA=Q(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});var tB=ho(),CA=je(),sc=H(),IA=oc(),rB={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:o,data:s,it:n}=t;n.opts.removeAdditional==="all"&&o.additionalProperties===void 0&&IA.default.code(new tB.KeywordCxt(n,IA.default,"additionalProperties"));let i=(0,CA.allSchemaProperties)(r);for(let d of i)n.definedProperties.add(d);n.opts.unevaluated&&i.length&&n.props!==!0&&(n.props=sc.mergeEvaluated.props(e,(0,sc.toHash)(i),n.props));let a=i.filter(d=>!(0,sc.alwaysValidSchema)(n,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,CA.propertyInData)(e,s,d,n.opts.ownProperties)),l(d),n.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return n.opts.useDefaults&&!n.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};nc.default=rB});var kA=Q(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var QA=je(),on=U(),_A=H(),SA=H(),oB={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:o,parentSchema:s,it:n}=t,{opts:i}=n,a=(0,QA.allSchemaProperties)(r),c=a.filter(f=>(0,_A.alwaysValidSchema)(n,r[f]));if(a.length===0||c.length===a.length&&(!n.opts.unevaluated||n.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&s.properties,l=e.name("valid");n.props!==!0&&!(n.props instanceof on.Name)&&(n.props=(0,SA.evaluatedPropsToName)(e,n.props));let{props:d}=n;p();function p(){for(let f of a)u&&m(f),n.allErrors?g(f):(e.var(l,!0),g(f),e.if(l))}function m(f){for(let h in u)new RegExp(f).test(h)&&(0,_A.checkStrictMode)(n,`property ${h} matches pattern ${f} (use allowMatchingProperties)`)}function g(f){e.forIn("key",o,h=>{e.if((0,on._)`${(0,QA.usePattern)(t,f)}.test(${h})`,()=>{let y=c.includes(f);y||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:h,dataPropType:SA.Type.Str},l),n.opts.unevaluated&&d!==!0?e.assign((0,on._)`${d}[${h}]`,!0):!y&&!n.allErrors&&e.if((0,on.not)(l),()=>e.break())})})}}};ic.default=oB});var vA=Q(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var sB=H(),nB={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:o}=t;if((0,sB.alwaysValidSchema)(o,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};ac.default=nB});var MA=Q(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var iB=je(),aB={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:iB.validateUnion,error:{message:"must match a schema in anyOf"}};cc.default=aB});var bA=Q(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var sn=U(),cB=H(),lB={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,sn._)`{passingSchemas: ${t.passing}}`},uB={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lB,code(t){let{gen:e,schema:r,parentSchema:o,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&o.discriminator)return;let n=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){n.forEach((l,d)=>{let p;(0,cB.alwaysValidSchema)(s,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,sn._)`${c} && ${i}`).assign(i,!1).assign(a,(0,sn._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,sn.Name)})})}}};lc.default=uB});var xA=Q(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var dB=H(),AB={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((n,i)=>{if((0,dB.alwaysValidSchema)(o,n))return;let a=t.subschema({keyword:"allOf",schemaProp:i},s);t.ok(s),t.mergeEvaluated(a)})}};uc.default=AB});var DA=Q(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var nn=U(),TA=H(),pB={message:({params:t})=>(0,nn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,nn._)`{failingKeyword: ${t.ifClause}}`},mB={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:pB,code(t){let{gen:e,parentSchema:r,it:o}=t;r.then===void 0&&r.else===void 0&&(0,TA.checkStrictMode)(o,'"if" without "then" and "else" is ignored');let s=RA(o,"then"),n=RA(o,"else");if(!s&&!n)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),s&&n){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else s?e.if(a,u("then")):e.if((0,nn.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(p,i),d?e.assign(d,(0,nn._)`${l}`):t.setParams({ifClause:l})}}}};function RA(t,e){let r=t.schema[e];return r!==void 0&&!(0,TA.alwaysValidSchema)(t,r)}dc.default=mB});var $A=Q(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});var fB=H(),gB={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,fB.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Ac.default=gB});var PA=Q(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var hB=Wa(),EB=AA(),yB=Va(),wB=mA(),CB=fA(),IB=EA(),BB=wA(),QB=oc(),_B=BA(),SB=kA(),kB=vA(),vB=MA(),MB=bA(),bB=xA(),xB=DA(),RB=$A();function TB(t=!1){let e=[kB.default,vB.default,MB.default,bB.default,xB.default,RB.default,BB.default,QB.default,IB.default,_B.default,SB.default];return t?e.push(EB.default,wB.default):e.push(hB.default,yB.default),e.push(CB.default),e}pc.default=TB});var jA=Q(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});var ie=U(),DB={message:({schemaCode:t})=>(0,ie.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ie._)`{format: ${t}}`},$B={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:DB,code(t,e){let{gen:r,data:o,$data:s,schema:n,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;s?p():m();function p(){let g=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0,ie._)`${g}[${i}]`),h=r.let("fType"),y=r.let("format");r.if((0,ie._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(h,(0,ie._)`${f}.type || "string"`).assign(y,(0,ie._)`${f}.validate`),()=>r.assign(h,(0,ie._)`"string"`).assign(y,f)),t.fail$data((0,ie.or)(w(),I()));function w(){return c.strictSchema===!1?ie.nil:(0,ie._)`${i} && !${y}`}function I(){let M=l.$async?(0,ie._)`(${f}.async ? await ${y}(${o}) : ${y}(${o}))`:(0,ie._)`${y}(${o})`,E=(0,ie._)`(typeof ${y} == "function" ? ${M} : ${y}.test(${o}))`;return(0,ie._)`${y} && ${y} !== true && ${h} === ${e} && !${E}`}}function m(){let g=d.formats[n];if(!g){w();return}if(g===!0)return;let[f,h,y]=I(g);f===e&&t.pass(M());function w(){if(c.strictSchema===!1){d.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${n}" ignored in schema at path "${u}"`}}function I(E){let B=E instanceof RegExp?(0,ie.regexpCode)(E):c.code.formats?(0,ie._)`${c.code.formats}${(0,ie.getProperty)(n)}`:void 0,v=r.scopeValue("formats",{key:n,ref:E,code:B});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,ie._)`${v}.validate`]:["string",E,v]}function M(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ie._)`await ${y}(${o})`}return typeof h=="function"?(0,ie._)`${y}(${o})`:(0,ie._)`${y}.test(${o})`}}}};mc.default=$B});var NA=Q(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var PB=jA(),jB=[PB.default];fc.default=jB});var zA=Q(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.contentVocabulary=wr.metadataVocabulary=void 0;wr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];wr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var FA=Q(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});var NB=Jd(),zB=cA(),UB=PA(),FB=NA(),UA=zA(),OB=[NB.default,zB.default,(0,UB.default)(),FB.default,UA.metadataVocabulary,UA.contentVocabulary];gc.default=OB});var LA=Q(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.DiscrError=void 0;var OA;(function(t){t.Tag="tag",t.Mapping="mapping"})(OA||(an.DiscrError=OA={}))});var GA=Q(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});var Cr=U(),hc=LA(),qA=Ls(),LB=Eo(),qB=H(),GB={message:({params:{discrError:t,tagName:e}})=>t===hc.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Cr._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},HB={keyword:"discriminator",type:"object",schemaType:"object",error:GB,code(t){let{gen:e,data:r,schema:o,parentSchema:s,it:n}=t,{oneOf:i}=s;if(!n.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=o.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(o.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Cr._)`${r}${(0,Cr.getProperty)(a)}`);e.if((0,Cr._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:hc.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=p();e.if(!1);for(let g in m)e.elseIf((0,Cr._)`${u} === ${g}`),e.assign(c,d(m[g]));e.else(),t.error(!1,{discrError:hc.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let g=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:m},g);return t.mergeEvaluated(f,Cr.Name),g}function p(){var m;let g={},f=y(s),h=!0;for(let M=0;M<i.length;M++){let E=i[M];if(E?.$ref&&!(0,qB.schemaHasRulesButRef)(E,n.self.RULES)){let v=E.$ref;if(E=qA.resolveRef.call(n.self,n.schemaEnv.root,n.baseId,v),E instanceof qA.SchemaEnv&&(E=E.schema),E===void 0)throw new LB.default(n.opts.uriResolver,n.baseId,v)}let B=(m=E?.properties)===null||m===void 0?void 0:m[a];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);h=h&&(f||y(E)),w(B,M)}if(!h)throw new Error(`discriminator: "${a}" must be required`);return g;function y({required:M}){return Array.isArray(M)&&M.includes(a)}function w(M,E){if(M.const)I(M.const,E);else if(M.enum)for(let B of M.enum)I(B,E);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function I(M,E){if(typeof M!="string"||M in g)throw new Error(`discriminator: "${a}" values must be unique strings`);g[M]=E}}}};Ec.default=HB});var HA=Q((wT,YB)=>{YB.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 wc=Q((te,yc)=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.MissingRefError=te.ValidationError=te.CodeGen=te.Name=te.nil=te.stringify=te.str=te._=te.KeywordCxt=te.Ajv=void 0;var JB=Od(),WB=FA(),VB=GA(),YA=HA(),KB=["/properties"],cn="http://json-schema.org/draft-07/schema",Ir=class extends JB.default{_addVocabularies(){super._addVocabularies(),WB.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(VB.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(YA,KB):YA;this.addMetaSchema(e,cn,!1),this.refs["http://json-schema.org/schema"]=cn}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(cn)?cn:void 0)}};te.Ajv=Ir;yc.exports=te=Ir;yc.exports.Ajv=Ir;Object.defineProperty(te,"__esModule",{value:!0});te.default=Ir;var ZB=ho();Object.defineProperty(te,"KeywordCxt",{enumerable:!0,get:function(){return ZB.KeywordCxt}});var Br=U();Object.defineProperty(te,"_",{enumerable:!0,get:function(){return Br._}});Object.defineProperty(te,"str",{enumerable:!0,get:function(){return Br.str}});Object.defineProperty(te,"stringify",{enumerable:!0,get:function(){return Br.stringify}});Object.defineProperty(te,"nil",{enumerable:!0,get:function(){return Br.nil}});Object.defineProperty(te,"Name",{enumerable:!0,get:function(){return Br.Name}});Object.defineProperty(te,"CodeGen",{enumerable:!0,get:function(){return Br.CodeGen}});var XB=Fs();Object.defineProperty(te,"ValidationError",{enumerable:!0,get:function(){return XB.default}});var eQ=Eo();Object.defineProperty(te,"MissingRefError",{enumerable:!0,get:function(){return eQ.default}})});var tp=Q(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.formatNames=Xe.fastFormats=Xe.fullFormats=void 0;function Ze(t,e){return{validate:t,compare:e}}Xe.fullFormats={date:Ze(KA,Qc),time:Ze(Ic(!0),_c),"date-time":Ze(JA(!0),XA),"iso-time":Ze(Ic(),ZA),"iso-date-time":Ze(JA(),ep),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:iQ,"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:pQ,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:aQ,int32:{type:"number",validate:uQ},int64:{type:"number",validate:dQ},float:{type:"number",validate:VA},double:{type:"number",validate:VA},password:!0,binary:!0};Xe.fastFormats={...Xe.fullFormats,date:Ze(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Qc),time:Ze(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,_c),"date-time":Ze(/^\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,XA),"iso-time":Ze(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,ZA),"iso-date-time":Ze(/^\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,ep),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};Xe.formatNames=Object.keys(Xe.fullFormats);function tQ(t){return t%4===0&&(t%100!==0||t%400===0)}var rQ=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,oQ=[0,31,28,31,30,31,30,31,31,30,31,30,31];function KA(t){let e=rQ.exec(t);if(!e)return!1;let r=+e[1],o=+e[2],s=+e[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&tQ(r)?29:oQ[o])}function Qc(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Cc=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Ic(t){return function(r){let o=Cc.exec(r);if(!o)return!1;let s=+o[1],n=+o[2],i=+o[3],a=o[4],c=o[5]==="-"?-1:1,u=+(o[6]||0),l=+(o[7]||0);if(u>23||l>59||t&&!a)return!1;if(s<=23&&n<=59&&i<60)return!0;let d=n-l*c,p=s-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&i<61}}function _c(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),o=new Date("2020-01-01T"+e).valueOf();if(r&&o)return r-o}function ZA(t,e){if(!(t&&e))return;let r=Cc.exec(t),o=Cc.exec(e);if(r&&o)return t=r[1]+r[2]+r[3],e=o[1]+o[2]+o[3],t>e?1:t<e?-1:0}var Bc=/t|\s/i;function JA(t){let e=Ic(t);return function(o){let s=o.split(Bc);return s.length===2&&KA(s[0])&&e(s[1])}}function XA(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),o=new Date(e).valueOf();if(r&&o)return r-o}function ep(t,e){if(!(t&&e))return;let[r,o]=t.split(Bc),[s,n]=e.split(Bc),i=Qc(r,s);if(i!==void 0)return i||_c(o,n)}var sQ=/\/|:/,nQ=/^(?:[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 iQ(t){return sQ.test(t)&&nQ.test(t)}var WA=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function aQ(t){return WA.lastIndex=0,WA.test(t)}var cQ=-(2**31),lQ=2**31-1;function uQ(t){return Number.isInteger(t)&&t<=lQ&&t>=cQ}function dQ(t){return Number.isInteger(t)}function VA(){return!0}var AQ=/[^\\]\\Z/;function pQ(t){if(AQ.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var rp=Q(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.formatLimitDefinition=void 0;var mQ=wc(),Ge=U(),kt=Ge.operators,ln={formatMaximum:{okStr:"<=",ok:kt.LTE,fail:kt.GT},formatMinimum:{okStr:">=",ok:kt.GTE,fail:kt.LT},formatExclusiveMaximum:{okStr:"<",ok:kt.LT,fail:kt.GTE},formatExclusiveMinimum:{okStr:">",ok:kt.GT,fail:kt.LTE}},fQ={message:({keyword:t,schemaCode:e})=>(0,Ge.str)`should be ${ln[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ge._)`{comparison: ${ln[t].okStr}, limit: ${e}}`};Qr.formatLimitDefinition={keyword:Object.keys(ln),type:"string",schemaType:"string",$data:!0,error:fQ,code(t){let{gen:e,data:r,schemaCode:o,keyword:s,it:n}=t,{opts:i,self:a}=n;if(!i.validateFormats)return;let c=new mQ.KeywordCxt(n,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,Ge._)`${p}[${c.schemaCode}]`);t.fail$data((0,Ge.or)((0,Ge._)`typeof ${m} != "object"`,(0,Ge._)`${m} instanceof RegExp`,(0,Ge._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let p=c.schema,m=a.formats[p];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${s}": format "${p}" does not define "compare" function`);let g=e.scopeValue("formats",{key:p,ref:m,code:i.code.formats?(0,Ge._)`${i.code.formats}${(0,Ge.getProperty)(p)}`:void 0});t.fail$data(d(g))}function d(p){return(0,Ge._)`${p}.compare(${r}, ${o}) ${ln[s].fail} 0`}},dependencies:["format"]};var gQ=t=>(t.addKeyword(Qr.formatLimitDefinition),t);Qr.default=gQ});var ip=Q((Ro,np)=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});var _r=tp(),hQ=rp(),Sc=U(),op=new Sc.Name("fullFormats"),EQ=new Sc.Name("fastFormats"),kc=(t,e={keywords:!0})=>{if(Array.isArray(e))return sp(t,e,_r.fullFormats,op),t;let[r,o]=e.mode==="fast"?[_r.fastFormats,EQ]:[_r.fullFormats,op],s=e.formats||_r.formatNames;return sp(t,s,r,o),e.keywords&&(0,hQ.default)(t),t};kc.get=(t,e="full")=>{let o=(e==="fast"?_r.fastFormats:_r.fullFormats)[t];if(!o)throw new Error(`Unknown format "${t}"`);return o};function sp(t,e,r,o){var s,n;(s=(n=t.opts.code).formats)!==null&&s!==void 0||(n.formats=(0,Sc._)`require("ajv-formats/dist/formats").${o}`);for(let i of e)t.addFormat(i,r[i])}np.exports=Ro=kc;Object.defineProperty(Ro,"__esModule",{value:!0});Ro.default=kc});var $p=Q((rD,Dp)=>{"use strict";Dp.exports=Tp;Tp.sync=VQ;var xp=ft("fs");function WQ(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var s=r[o].toLowerCase();if(s&&t.substr(-s.length).toLowerCase()===s)return!0}return!1}function Rp(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:WQ(e,r)}function Tp(t,e,r){xp.stat(t,function(o,s){r(o,o?!1:Rp(s,t,e))})}function VQ(t,e){return Rp(xp.statSync(t),t,e)}});var Up=Q((oD,zp)=>{"use strict";zp.exports=jp;jp.sync=KQ;var Pp=ft("fs");function jp(t,e,r){Pp.stat(t,function(o,s){r(o,o?!1:Np(s,e))})}function KQ(t,e){return Np(Pp.statSync(t),e)}function Np(t,e){return t.isFile()&&ZQ(t,e)}function ZQ(t,e){var r=t.mode,o=t.uid,s=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=a|c,d=r&u||r&c&&s===i||r&a&&o===n||r&l&&n===0;return d}});var Op=Q((nD,Fp)=>{"use strict";var sD=ft("fs"),wn;process.platform==="win32"||global.TESTING_WINDOWS?wn=$p():wn=Up();Fp.exports=Yc;Yc.sync=XQ;function Yc(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,s){Yc(t,e||{},function(n,i){n?s(n):o(i)})})}wn(t,e||{},function(o,s){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,s=!1),r(o,s)})}function XQ(t,e){try{return wn.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Wp=Q((iD,Jp)=>{"use strict";var Tr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Lp=ft("path"),e_=Tr?";":":",qp=Op(),Gp=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),Hp=(t,e)=>{let r=e.colon||e_,o=t.match(/\//)||Tr&&t.match(/\\/)?[""]:[...Tr?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],s=Tr?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=Tr?s.split(r):[""];return Tr&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:s}},Yp=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:s,pathExtExe:n}=Hp(t,e),i=[],a=u=>new Promise((l,d)=>{if(u===o.length)return e.all&&i.length?l(i):d(Gp(t));let p=o[u],m=/^".*"$/.test(p)?p.slice(1,-1):p,g=Lp.join(m,t),f=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+g:g;l(c(f,u,0))}),c=(u,l,d)=>new Promise((p,m)=>{if(d===s.length)return p(a(l+1));let g=s[d];qp(u+g,{pathExt:n},(f,h)=>{if(!f&&h)if(e.all)i.push(u+g);else return p(u+g);return p(c(u,l,d+1))})});return r?a(0).then(u=>r(null,u),r):a(0)},t_=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:s}=Hp(t,e),n=[];for(let i=0;i<r.length;i++){let a=r[i],c=/^".*"$/.test(a)?a.slice(1,-1):a,u=Lp.join(c,t),l=!c&&/^\.[\\\/]/.test(t)?t.slice(0,2)+u:u;for(let d=0;d<o.length;d++){let p=l+o[d];try{if(qp.sync(p,{pathExt:s}))if(e.all)n.push(p);else return p}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw Gp(t)};Jp.exports=Yp;Yp.sync=t_});var Kp=Q((aD,Jc)=>{"use strict";var Vp=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};Jc.exports=Vp;Jc.exports.default=Vp});var tm=Q((cD,em)=>{"use strict";var Zp=ft("path"),r_=Wp(),o_=Kp();function Xp(t,e){let r=t.options.env||process.env,o=process.cwd(),s=t.options.cwd!=null,n=s&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let i;try{i=r_.sync(t.command,{path:r[o_({env:r})],pathExt:e?Zp.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return i&&(i=Zp.resolve(s?t.options.cwd:"",i)),i}function s_(t){return Xp(t)||Xp(t,!0)}em.exports=s_});var rm=Q((lD,Vc)=>{"use strict";var Wc=/([()\][%!^"`<>&|;, *?])/g;function n_(t){return t=t.replace(Wc,"^$1"),t}function i_(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(Wc,"^$1"),e&&(t=t.replace(Wc,"^$1")),t}Vc.exports.command=n_;Vc.exports.argument=i_});var sm=Q((uD,om)=>{"use strict";om.exports=/^#!(.*)/});var im=Q((dD,nm)=>{"use strict";var a_=sm();nm.exports=(t="")=>{let e=t.match(a_);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?o:o?`${s} ${o}`:s}});var cm=Q((AD,am)=>{"use strict";var Kc=ft("fs"),c_=im();function l_(t){let r=Buffer.alloc(150),o;try{o=Kc.openSync(t,"r"),Kc.readSync(o,r,0,150,0),Kc.closeSync(o)}catch{}return c_(r.toString())}am.exports=l_});var Am=Q((pD,dm)=>{"use strict";var u_=ft("path"),lm=tm(),um=rm(),d_=cm(),A_=process.platform==="win32",p_=/\.(?:com|exe)$/i,m_=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function f_(t){t.file=lm(t);let e=t.file&&d_(t.file);return e?(t.args.unshift(t.file),t.command=e,lm(t)):t.file}function g_(t){if(!A_)return t;let e=f_(t),r=!p_.test(e);if(t.options.forceShell||r){let o=m_.test(e);t.command=u_.normalize(t.command),t.command=um.command(t.command),t.args=t.args.map(n=>um.argument(n,o));let s=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${s}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function h_(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:g_(o)}dm.exports=h_});var fm=Q((mD,mm)=>{"use strict";var Zc=process.platform==="win32";function Xc(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function E_(t,e){if(!Zc)return;let r=t.emit;t.emit=function(o,s){if(o==="exit"){let n=pm(s,e);if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function pm(t,e){return Zc&&t===1&&!e.file?Xc(e.original,"spawn"):null}function y_(t,e){return Zc&&t===1&&!e.file?Xc(e.original,"spawnSync"):null}mm.exports={hookChildProcess:E_,verifyENOENT:pm,verifyENOENTSync:y_,notFoundError:Xc}});var Em=Q((fD,Dr)=>{"use strict";var gm=ft("child_process"),el=Am(),tl=fm();function hm(t,e,r){let o=el(t,e,r),s=gm.spawn(o.command,o.args,o.options);return tl.hookChildProcess(s,o),s}function w_(t,e,r){let o=el(t,e,r),s=gm.spawnSync(o.command,o.args,o.options);return s.error=s.error||tl.verifyENOENTSync(s.status,o),s}Dr.exports=hm;Dr.exports.spawn=hm;Dr.exports.sync=w_;Dr.exports._parse=el;Dr.exports._enoent=tl});var Qm=Q(ol=>{"use strict";var Cm=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,S_=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,Im=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,k_=/\\([\u000b\u0020-\u00ff])/g,v_=/([\\"])/g,Bm=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;ol.format=M_;ol.parse=b_;function M_(t){if(!t||typeof t!="object")throw new TypeError("argument obj is required");var e=t.parameters,r=t.type;if(!r||!Bm.test(r))throw new TypeError("invalid type");var o=r;if(e&&typeof e=="object")for(var s,n=Object.keys(e).sort(),i=0;i<n.length;i++){if(s=n[i],!Im.test(s))throw new TypeError("invalid parameter name");o+="; "+s+"="+R_(e[s])}return o}function b_(t){if(!t)throw new TypeError("argument string is required");var e=typeof t=="object"?x_(t):t;if(typeof e!="string")throw new TypeError("argument string is required to be a string");var r=e.indexOf(";"),o=r!==-1?e.slice(0,r).trim():e.trim();if(!Bm.test(o))throw new TypeError("invalid media type");var s=new T_(o.toLowerCase());if(r!==-1){var n,i,a;for(Cm.lastIndex=r;i=Cm.exec(e);){if(i.index!==r)throw new TypeError("invalid parameter format");r+=i[0].length,n=i[1].toLowerCase(),a=i[2],a.charCodeAt(0)===34&&(a=a.slice(1,-1),a.indexOf("\\")!==-1&&(a=a.replace(k_,"$1"))),s.parameters[n]=a}if(r!==e.length)throw new TypeError("invalid parameter format")}return s}function x_(t){var e;if(typeof t.getHeader=="function"?e=t.getHeader("content-type"):typeof t.headers=="object"&&(e=t.headers&&t.headers["content-type"]),typeof e!="string")throw new TypeError("content-type header is missing from object");return e}function R_(t){var e=String(t);if(Im.test(e))return e;if(e.length>0&&!S_.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(v_,"\\$1")+'"'}function T_(t){this.parameters=Object.create(null),this.type=t}});async function ii(t,e){switch(t.protocol){case"anthropic":{let{AnthropicClient:r}=await import("./anthropic-P2R4GW6F.js");return new r(t,e)}case"openai":{let{OpenAIClient:r}=await import("./openai-TVUUHRG7.js");return new r(t,e)}case"openai-compat":{let{OpenAICompatClient:r}=await import("./openai-TVUUHRG7.js");return new r(t,e)}default:throw new Error(`Unknown protocol: ${String(t.protocol)}`)}}var nr="2025-11-25";var Vl=[nr,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ht="io.modelcontextprotocol/related-task",hs="2.0",ue=zl(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Kl=re([A(),J().int()]),Zl=A(),wM=le({ttl:J().optional(),pollInterval:J().optional()}),Ug=k({ttl:J().optional()}),Fg=k({taskId:A()}),ci=le({progressToken:Kl.optional(),[ht]:Fg.optional()}),Te=k({_meta:ci.optional()}),Jr=Te.extend({task:Ug.optional()}),Xl=t=>Jr.safeParse(t).success,pe=k({method:A(),params:Te.loose().optional()}),De=k({_meta:ci.optional()}),$e=k({method:A(),params:De.loose().optional()}),me=le({_meta:ci.optional()}),Es=re([A(),J().int()]),eu=k({jsonrpc:b(hs),id:Es,...pe.shape}).strict(),Wr=t=>eu.safeParse(t).success,tu=k({jsonrpc:b(hs),...$e.shape}).strict(),ru=t=>tu.safeParse(t).success,li=k({jsonrpc:b(hs),id:Es,result:me}).strict(),xt=t=>li.safeParse(t).success;var P;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(P||(P={}));var ui=k({jsonrpc:b(hs),id:Es.optional(),error:k({code:J().int(),message:A(),data:ne().optional()})}).strict();var ou=t=>ui.safeParse(t).success;var Et=re([eu,tu,li,ui]),CM=re([li,ui]),Rt=me.strict(),Og=De.extend({requestId:Es.optional(),reason:A().optional()}),ys=$e.extend({method:b("notifications/cancelled"),params:Og}),Lg=k({src:A(),mimeType:A().optional(),sizes:_(A()).optional(),theme:Re(["light","dark"]).optional()}),Vr=k({icons:_(Lg).optional()}),sr=k({name:A(),title:A().optional()}),su=sr.extend({...sr.shape,...Vr.shape,version:A(),websiteUrl:A().optional(),description:A().optional()}),qg=oi(k({applyDefaults:K().optional()}),X(A(),ne())),Gg=si(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,oi(k({form:qg.optional(),url:ue.optional()}),X(A(),ne()).optional())),Hg=le({list:ue.optional(),cancel:ue.optional(),requests:le({sampling:le({createMessage:ue.optional()}).optional(),elicitation:le({create:ue.optional()}).optional()}).optional()}),Yg=le({list:ue.optional(),cancel:ue.optional(),requests:le({tools:le({call:ue.optional()}).optional()}).optional()}),Jg=k({experimental:X(A(),ue).optional(),sampling:k({context:ue.optional(),tools:ue.optional()}).optional(),elicitation:Gg.optional(),roots:k({listChanged:K().optional()}).optional(),tasks:Hg.optional(),extensions:X(A(),ue).optional()}),Wg=Te.extend({protocolVersion:A(),capabilities:Jg,clientInfo:su}),Vg=pe.extend({method:b("initialize"),params:Wg});var Kg=k({experimental:X(A(),ue).optional(),logging:ue.optional(),completions:ue.optional(),prompts:k({listChanged:K().optional()}).optional(),resources:k({subscribe:K().optional(),listChanged:K().optional()}).optional(),tools:k({listChanged:K().optional()}).optional(),tasks:Yg.optional(),extensions:X(A(),ue).optional()}),di=me.extend({protocolVersion:A(),capabilities:Kg,serverInfo:su,instructions:A().optional()}),nu=$e.extend({method:b("notifications/initialized"),params:De.optional()}),iu=t=>nu.safeParse(t).success,ws=pe.extend({method:b("ping"),params:Te.optional()}),Zg=k({progress:J(),total:se(J()),message:se(A())}),Xg=k({...De.shape,...Zg.shape,progressToken:Kl}),Cs=$e.extend({method:b("notifications/progress"),params:Xg}),eh=Te.extend({cursor:Zl.optional()}),Kr=pe.extend({params:eh.optional()}),Zr=me.extend({nextCursor:Zl.optional()}),th=Re(["working","input_required","completed","failed","cancelled"]),Xr=k({taskId:A(),status:th,ttl:re([J(),jl()]),createdAt:A(),lastUpdatedAt:A(),pollInterval:se(J()),statusMessage:se(A())}),Tt=me.extend({task:Xr}),rh=De.merge(Xr),eo=$e.extend({method:b("notifications/tasks/status"),params:rh}),Is=pe.extend({method:b("tasks/get"),params:Te.extend({taskId:A()})}),Bs=me.merge(Xr),Qs=pe.extend({method:b("tasks/result"),params:Te.extend({taskId:A()})}),IM=me.loose(),_s=Kr.extend({method:b("tasks/list")}),Ss=Zr.extend({tasks:_(Xr)}),ks=pe.extend({method:b("tasks/cancel"),params:Te.extend({taskId:A()})}),au=me.merge(Xr),cu=k({uri:A(),mimeType:se(A()),_meta:X(A(),ne()).optional()}),lu=cu.extend({text:A()}),Ai=A().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),uu=cu.extend({blob:Ai}),to=Re(["user","assistant"]),ir=k({audience:_(to).optional(),priority:J().min(0).max(1).optional(),lastModified:Tl.datetime({offset:!0}).optional()}),du=k({...sr.shape,...Vr.shape,uri:A(),description:se(A()),mimeType:se(A()),size:se(J()),annotations:ir.optional(),_meta:se(le({}))}),oh=k({...sr.shape,...Vr.shape,uriTemplate:A(),description:se(A()),mimeType:se(A()),annotations:ir.optional(),_meta:se(le({}))}),sh=Kr.extend({method:b("resources/list")}),pi=Zr.extend({resources:_(du)}),nh=Kr.extend({method:b("resources/templates/list")}),mi=Zr.extend({resourceTemplates:_(oh)}),fi=Te.extend({uri:A()}),ih=fi,ah=pe.extend({method:b("resources/read"),params:ih}),gi=me.extend({contents:_(re([lu,uu]))}),hi=$e.extend({method:b("notifications/resources/list_changed"),params:De.optional()}),ch=fi,lh=pe.extend({method:b("resources/subscribe"),params:ch}),uh=fi,dh=pe.extend({method:b("resources/unsubscribe"),params:uh}),Ah=De.extend({uri:A()}),ph=$e.extend({method:b("notifications/resources/updated"),params:Ah}),mh=k({name:A(),description:se(A()),required:se(K())}),fh=k({...sr.shape,...Vr.shape,description:se(A()),arguments:se(_(mh)),_meta:se(le({}))}),gh=Kr.extend({method:b("prompts/list")}),Ei=Zr.extend({prompts:_(fh)}),hh=Te.extend({name:A(),arguments:X(A(),A()).optional()}),Eh=pe.extend({method:b("prompts/get"),params:hh}),yi=k({type:b("text"),text:A(),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),wi=k({type:b("image"),data:Ai,mimeType:A(),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),Ci=k({type:b("audio"),data:Ai,mimeType:A(),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),yh=k({type:b("tool_use"),name:A(),id:A(),input:X(A(),ne()),_meta:X(A(),ne()).optional()}),wh=k({type:b("resource"),resource:re([lu,uu]),annotations:ir.optional(),_meta:X(A(),ne()).optional()}),Ch=du.extend({type:b("resource_link")}),Ii=re([yi,wi,Ci,Ch,wh]),Ih=k({role:to,content:Ii}),Bi=me.extend({description:A().optional(),messages:_(Ih)}),Qi=$e.extend({method:b("notifications/prompts/list_changed"),params:De.optional()}),Bh=k({title:A().optional(),readOnlyHint:K().optional(),destructiveHint:K().optional(),idempotentHint:K().optional(),openWorldHint:K().optional()}),Qh=k({taskSupport:Re(["required","optional","forbidden"]).optional()}),Au=k({...sr.shape,...Vr.shape,description:A().optional(),inputSchema:k({type:b("object"),properties:X(A(),ue).optional(),required:_(A()).optional()}).catchall(ne()),outputSchema:k({type:b("object"),properties:X(A(),ue).optional(),required:_(A()).optional()}).catchall(ne()).optional(),annotations:Bh.optional(),execution:Qh.optional(),_meta:X(A(),ne()).optional()}),_h=Kr.extend({method:b("tools/list")}),_i=Zr.extend({tools:_(Au)}),ar=me.extend({content:_(Ii).default([]),structuredContent:X(A(),ne()).optional(),isError:K().optional()}),BM=ar.or(me.extend({toolResult:ne()})),Sh=Jr.extend({name:A(),arguments:X(A(),ne()).optional()}),kh=pe.extend({method:b("tools/call"),params:Sh}),Si=$e.extend({method:b("notifications/tools/list_changed"),params:De.optional()}),pu=k({autoRefresh:K().default(!0),debounceMs:J().int().nonnegative().default(300)}),mu=Re(["debug","info","notice","warning","error","critical","alert","emergency"]),vh=Te.extend({level:mu}),Mh=pe.extend({method:b("logging/setLevel"),params:vh}),bh=De.extend({level:mu,logger:A().optional(),data:ne()}),xh=$e.extend({method:b("notifications/message"),params:bh}),Rh=k({name:A().optional()}),Th=k({hints:_(Rh).optional(),costPriority:J().min(0).max(1).optional(),speedPriority:J().min(0).max(1).optional(),intelligencePriority:J().min(0).max(1).optional()}),Dh=k({mode:Re(["auto","required","none"]).optional()}),$h=k({type:b("tool_result"),toolUseId:A().describe("The unique identifier for the corresponding tool call."),content:_(Ii).default([]),structuredContent:k({}).loose().optional(),isError:K().optional(),_meta:X(A(),ne()).optional()}),Ph=ri("type",[yi,wi,Ci]),gs=ri("type",[yi,wi,Ci,yh,$h]),jh=k({role:to,content:re([gs,_(gs)]),_meta:X(A(),ne()).optional()}),Nh=Jr.extend({messages:_(jh),modelPreferences:Th.optional(),systemPrompt:A().optional(),includeContext:Re(["none","thisServer","allServers"]).optional(),temperature:J().optional(),maxTokens:J().int(),stopSequences:_(A()).optional(),metadata:ue.optional(),tools:_(Au).optional(),toolChoice:Dh.optional()}),ki=pe.extend({method:b("sampling/createMessage"),params:Nh}),vi=me.extend({model:A(),stopReason:se(Re(["endTurn","stopSequence","maxTokens"]).or(A())),role:to,content:Ph}),Mi=me.extend({model:A(),stopReason:se(Re(["endTurn","stopSequence","maxTokens","toolUse"]).or(A())),role:to,content:re([gs,_(gs)])}),zh=k({type:b("boolean"),title:A().optional(),description:A().optional(),default:K().optional()}),Uh=k({type:b("string"),title:A().optional(),description:A().optional(),minLength:J().optional(),maxLength:J().optional(),format:Re(["email","uri","date","date-time"]).optional(),default:A().optional()}),Fh=k({type:Re(["number","integer"]),title:A().optional(),description:A().optional(),minimum:J().optional(),maximum:J().optional(),default:J().optional()}),Oh=k({type:b("string"),title:A().optional(),description:A().optional(),enum:_(A()),default:A().optional()}),Lh=k({type:b("string"),title:A().optional(),description:A().optional(),oneOf:_(k({const:A(),title:A()})),default:A().optional()}),qh=k({type:b("string"),title:A().optional(),description:A().optional(),enum:_(A()),enumNames:_(A()).optional(),default:A().optional()}),Gh=re([Oh,Lh]),Hh=k({type:b("array"),title:A().optional(),description:A().optional(),minItems:J().optional(),maxItems:J().optional(),items:k({type:b("string"),enum:_(A())}),default:_(A()).optional()}),Yh=k({type:b("array"),title:A().optional(),description:A().optional(),minItems:J().optional(),maxItems:J().optional(),items:k({anyOf:_(k({const:A(),title:A()}))}),default:_(A()).optional()}),Jh=re([Hh,Yh]),Wh=re([qh,Gh,Jh]),Vh=re([Wh,zh,Uh,Fh]),Kh=Jr.extend({mode:b("form").optional(),message:A(),requestedSchema:k({type:b("object"),properties:X(A(),Vh),required:_(A()).optional()})}),Zh=Jr.extend({mode:b("url"),message:A(),elicitationId:A(),url:A().url()}),Xh=re([Kh,Zh]),bi=pe.extend({method:b("elicitation/create"),params:Xh}),eE=De.extend({elicitationId:A()}),tE=$e.extend({method:b("notifications/elicitation/complete"),params:eE}),xi=me.extend({action:Re(["accept","decline","cancel"]),content:si(t=>t===null?void 0:t,X(A(),re([A(),J(),K(),_(A())])).optional())}),rE=k({type:b("ref/resource"),uri:A()});var oE=k({type:b("ref/prompt"),name:A()}),sE=Te.extend({ref:re([oE,rE]),argument:k({name:A(),value:A()}),context:k({arguments:X(A(),A()).optional()}).optional()}),nE=pe.extend({method:b("completion/complete"),params:sE});var Ri=me.extend({completion:le({values:_(A()).max(100),total:se(J().int()),hasMore:se(K())})}),iE=k({uri:A().startsWith("file://"),name:A().optional(),_meta:X(A(),ne()).optional()}),aE=pe.extend({method:b("roots/list"),params:Te.optional()}),cE=me.extend({roots:_(iE)}),lE=$e.extend({method:b("notifications/roots/list_changed"),params:De.optional()}),QM=re([ws,Vg,nE,Mh,Eh,gh,sh,nh,ah,lh,dh,kh,_h,Is,Qs,_s,ks]),_M=re([ys,Cs,nu,lE,eo]),SM=re([Rt,vi,Mi,xi,cE,Bs,Ss,Tt]),kM=re([ws,ki,bi,aE,Is,Qs,_s,ks]),vM=re([ys,Cs,xh,ph,hi,Si,Qi,eo,tE]),MM=re([Rt,di,Ri,Bi,Ei,pi,mi,gi,ar,_i,Bs,Ss,Tt]),R=class t extends Error{constructor(e,r,o){super(`MCP error ${e}: ${r}`),this.code=e,this.data=o,this.name="McpError"}static fromError(e,r,o){if(e===P.UrlElicitationRequired&&o){let s=o;if(s.elicitations)return new ai(s.elicitations,r)}return new t(e,r,o)}},ai=class extends R{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(P.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function yt(t){return t==="completed"||t==="failed"||t==="cancelled"}var cb=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ti(t){let r=ds(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let o=As(r);if(typeof o!="string")throw new Error("Schema method literal must be a string");return o}function Di(t,e){let r=Ue(t,e);if(!r.success)throw r.error;return r.data}var fE=6e4,vs=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ys,r=>{this._oncancel(r)}),this.setNotificationHandler(Cs,r=>{this._onprogress(r)}),this.setRequestHandler(ws,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Is,async(r,o)=>{let s=await this._taskStore.getTask(r.params.taskId,o.sessionId);if(!s)throw new R(P.InvalidParams,"Failed to retrieve task: Task not found");return{...s}}),this.setRequestHandler(Qs,async(r,o)=>{let s=async()=>{let n=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(n,o.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,p=new R(d.error.code,d.error.message,d.error.data);l(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:o.requestId})}}let i=await this._taskStore.getTask(n,o.sessionId);if(!i)throw new R(P.InvalidParams,`Task not found: ${n}`);if(!yt(i.status))return await this._waitForTaskUpdate(n,o.signal),await s();if(yt(i.status)){let a=await this._taskStore.getTaskResult(n,o.sessionId);return this._clearTaskQueue(n),{...a,_meta:{...a._meta,[ht]:{taskId:n}}}}return await s()};return await s()}),this.setRequestHandler(_s,async(r,o)=>{try{let{tasks:s,nextCursor:n}=await this._taskStore.listTasks(r.params?.cursor,o.sessionId);return{tasks:s,nextCursor:n,_meta:{}}}catch(s){throw new R(P.InvalidParams,`Failed to list tasks: ${s instanceof Error?s.message:String(s)}`)}}),this.setRequestHandler(ks,async(r,o)=>{try{let s=await this._taskStore.getTask(r.params.taskId,o.sessionId);if(!s)throw new R(P.InvalidParams,`Task not found: ${r.params.taskId}`);if(yt(s.status))throw new R(P.InvalidParams,`Cannot cancel task in terminal status: ${s.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",o.sessionId),this._clearTaskQueue(r.params.taskId);let n=await this._taskStore.getTask(r.params.taskId,o.sessionId);if(!n)throw new R(P.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...n}}catch(s){throw s instanceof R?s:new R(P.InvalidRequest,`Failed to cancel task: ${s instanceof Error?s.message:String(s)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,o,s,n=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(s,r),startTime:Date.now(),timeout:r,maxTotalTimeout:o,resetTimeoutOnProgress:n,onTimeout:s})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let o=Date.now()-r.startTime;if(r.maxTotalTimeout&&o>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),R.fromError(P.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:o});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let o=this.transport?.onerror;this._transport.onerror=n=>{o?.(n),this._onerror(n)};let s=this._transport?.onmessage;this._transport.onmessage=(n,i)=>{s?.(n,i),xt(n)||ou(n)?this._onresponse(n):Wr(n)?this._onrequest(n,i):ru(n)?this._onnotification(n):this._onerror(new Error(`Unknown message type: ${JSON.stringify(n)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let o of this._timeoutInfo.values())clearTimeout(o.timeoutId);this._timeoutInfo.clear();for(let o of this._requestHandlerAbortControllers.values())o.abort();this._requestHandlerAbortControllers.clear();let r=R.fromError(P.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let o of e.values())o(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(o=>this._onerror(new Error(`Uncaught error in notification handler: ${o}`)))}_onrequest(e,r){let o=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,s=this._transport,n=e.params?._meta?.[ht]?.taskId;if(o===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:P.MethodNotFound,message:"Method not found"}};n&&this._taskMessageQueue?this._enqueueTaskMessage(n,{type:"error",message:l,timestamp:Date.now()},s?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):s?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Xl(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,s?.sessionId):void 0,u={signal:i.signal,sessionId:s?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};n&&(d.relatedTask={taskId:n}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{if(i.signal.aborted)throw new R(P.ConnectionClosed,"Request was cancelled");let m={...p,relatedRequestId:e.id};n&&!m.relatedTask&&(m.relatedTask={taskId:n});let g=m.relatedTask?.taskId??n;return g&&c&&await c.updateTaskStatus(g,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:n,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>o(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};n&&this._taskMessageQueue?await this._enqueueTaskMessage(n,{type:"response",message:d,timestamp:Date.now()},s?.sessionId):await s?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:P.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};n&&this._taskMessageQueue?await this._enqueueTaskMessage(n,{type:"error",message:d,timestamp:Date.now()},s?.sessionId):await s?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...o}=e.params,s=Number(r),n=this._progressHandlers.get(s);if(!n){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(s),a=this._timeoutInfo.get(s);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(s)}catch(c){this._responseHandlers.delete(s),this._progressHandlers.delete(s),this._cleanupTimeout(s),i(c);return}n(o)}_onresponse(e){let r=Number(e.id),o=this._requestResolvers.get(r);if(o){if(this._requestResolvers.delete(r),xt(e))o(e);else{let i=new R(e.error.code,e.error.message,e.error.data);o(i)}return}let s=this._responseHandlers.get(r);if(s===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let n=!1;if(xt(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(n=!0,this._taskProgressTokens.set(a.taskId,r))}}if(n||this._progressHandlers.delete(r),xt(e))s(e);else{let i=R.fromError(e.error.code,e.error.message,e.error.data);s(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,o){let{task:s}=o??{};if(!s){try{yield{type:"result",result:await this.request(e,r,o)}}catch(i){yield{type:"error",error:i instanceof R?i:new R(P.InternalError,String(i))}}return}let n;try{let i=await this.request(e,Tt,o);if(i.task)n=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new R(P.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:n},o);if(yield{type:"taskStatus",task:a},yt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:n},r,o)}:a.status==="failed"?yield{type:"error",error:new R(P.InternalError,`Task ${n} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new R(P.InternalError,`Task ${n} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:n},r,o)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),o?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof R?i:new R(P.InternalError,String(i))}}}request(e,r,o){let{relatedRequestId:s,resumptionToken:n,onresumptiontoken:i,task:a,relatedTask:c}=o??{};return new Promise((u,l)=>{let d=w=>{l(w)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(w){d(w);return}o?.signal?.throwIfAborted();let p=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:p};o?.onprogress&&(this._progressHandlers.set(p,o.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[ht]:c}});let g=w=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(w)}},{relatedRequestId:s,resumptionToken:n,onresumptiontoken:i}).catch(M=>this._onerror(new Error(`Failed to send cancellation: ${M}`)));let I=w instanceof R?w:new R(P.RequestTimeout,String(w));l(I)};this._responseHandlers.set(p,w=>{if(!o?.signal?.aborted){if(w instanceof Error)return l(w);try{let I=Ue(r,w.result);I.success?u(I.data):l(I.error)}catch(I){l(I)}}}),o?.signal?.addEventListener("abort",()=>{g(o?.signal?.reason)});let f=o?.timeout??fE,h=()=>g(R.fromError(P.RequestTimeout,"Request timed out",{timeout:f}));this._setupTimeout(p,f,o?.maxTotalTimeout,h,o?.resetTimeoutOnProgress??!1);let y=c?.taskId;if(y){let w=I=>{let M=this._responseHandlers.get(p);M?M(I):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,w),this._enqueueTaskMessage(y,{type:"request",message:m,timestamp:Date.now()}).catch(I=>{this._cleanupTimeout(p),l(I)})}else this._transport.send(m,{relatedRequestId:s,resumptionToken:n,onresumptiontoken:i}).catch(w=>{this._cleanupTimeout(p),l(w)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Bs,r)}async getTaskResult(e,r,o){return this.request({method:"tasks/result",params:e},r,o)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},Ss,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},au,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let o=r?.relatedTask?.taskId;if(o){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[ht]:r.relatedTask}}};await this._enqueueTaskMessage(o,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[ht]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[ht]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let o=Ti(e);this.assertRequestHandlerCapability(o),this._requestHandlers.set(o,(s,n)=>{let i=Di(e,s);return Promise.resolve(r(i,n))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let o=Ti(e);this._notificationHandlers.set(o,s=>{let n=Di(e,s);return Promise.resolve(r(n))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,o){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let s=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,o,s)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let o=await this._taskMessageQueue.dequeueAll(e,r);for(let s of o)if(s.type==="request"&&Wr(s.message)){let n=s.message.id,i=this._requestResolvers.get(n);i?(i(new R(P.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(n)):this._onerror(new Error(`Resolver missing for request ${n} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let o=this._options?.defaultTaskPollInterval??1e3;try{let s=await this._taskStore?.getTask(e);s?.pollInterval&&(o=s.pollInterval)}catch{}return new Promise((s,n)=>{if(r.aborted){n(new R(P.InvalidRequest,"Request cancelled"));return}let i=setTimeout(s,o);r.addEventListener("abort",()=>{clearTimeout(i),n(new R(P.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let o=this._taskStore;if(!o)throw new Error("No task store configured");return{createTask:async s=>{if(!e)throw new Error("No request provided");return await o.createTask(s,e.id,{method:e.method,params:e.params},r)},getTask:async s=>{let n=await o.getTask(s,r);if(!n)throw new R(P.InvalidParams,"Failed to retrieve task: Task not found");return n},storeTaskResult:async(s,n,i)=>{await o.storeTaskResult(s,n,i,r);let a=await o.getTask(s,r);if(a){let c=eo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),yt(a.status)&&this._cleanupTaskProgressHandler(s)}},getTaskResult:s=>o.getTaskResult(s,r),updateTaskStatus:async(s,n,i)=>{let a=await o.getTask(s,r);if(!a)throw new R(P.InvalidParams,`Task "${s}" not found - it may have been cleaned up`);if(yt(a.status))throw new R(P.InvalidParams,`Cannot update task "${s}" from terminal status "${a.status}" to "${n}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await o.updateTaskStatus(s,n,i,r);let c=await o.getTask(s,r);if(c){let u=eo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),yt(c.status)&&this._cleanupTaskProgressHandler(s)}},listTasks:s=>o.listTasks(s,r)}}};function fu(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function gu(t,e){let r={...t};for(let o in e){let s=o,n=e[s];if(n===void 0)continue;let i=r[s];fu(i)&&fu(n)?r[s]={...i,...n}:r[s]=n}return r}var ap=us(wc(),1),cp=us(ip(),1);function yQ(){let t=new ap.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,cp.default)(t),t}var un=class{constructor(e){this._ajv=e??yQ()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return o=>r(o)?{valid:!0,data:o,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var dn=class{constructor(e){this._client=e}async*callToolStream(e,r=ar,o){let s=this._client,n={...o,task:o?.task??(s.isToolTask(e.name)?{}:void 0)},i=s.requestStream({method:"tools/call",params:e},r,n),a=s.getToolOutputValidator(e.name);for await(let c of i){if(c.type==="result"&&a){let u=c.result;if(!u.structuredContent&&!u.isError){yield{type:"error",error:new R(P.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(u.structuredContent)try{let l=a(u.structuredContent);if(!l.valid){yield{type:"error",error:new R(P.InvalidParams,`Structured content does not match the tool's output schema: ${l.errorMessage}`)};return}}catch(l){if(l instanceof R){yield{type:"error",error:l};return}yield{type:"error",error:new R(P.InvalidParams,`Failed to validate structured content: ${l instanceof Error?l.message:String(l)}`)};return}}yield c}}async getTask(e,r){return this._client.getTask({taskId:e},r)}async getTaskResult(e,r,o){return this._client.getTaskResult({taskId:e},r,o)}async listTasks(e,r){return this._client.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._client.cancelTask({taskId:e},r)}requestStream(e,r,o){return this._client.requestStream(e,r,o)}};function lp(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function up(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}function An(t,e){if(!(!t||e===null||typeof e!="object")){if(t.type==="object"&&t.properties&&typeof t.properties=="object"){let r=e,o=t.properties;for(let s of Object.keys(o)){let n=o[s];r[s]===void 0&&Object.prototype.hasOwnProperty.call(n,"default")&&(r[s]=n.default),r[s]!==void 0&&An(n,r[s])}}if(Array.isArray(t.anyOf))for(let r of t.anyOf)typeof r!="boolean"&&An(r,e);if(Array.isArray(t.oneOf))for(let r of t.oneOf)typeof r!="boolean"&&An(r,e)}}function wQ(t){if(!t)return{supportsFormMode:!1,supportsUrlMode:!1};let e=t.form!==void 0,r=t.url!==void 0;return{supportsFormMode:e||!e&&!r,supportsUrlMode:r}}var pn=class extends vs{constructor(e,r){super(r),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new un,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Si,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",Qi,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",hi,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new dn(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=gu(this._capabilities,e)}setRequestHandler(e,r){let s=ds(e)?.method;if(!s)throw new Error("Schema is missing a method literal");let n=As(s);if(typeof n!="string")throw new Error("Schema method literal must be a string");let i=n;if(i==="elicitation/create"){let a=async(c,u)=>{let l=Ue(bi,c);if(!l.success){let w=l.error instanceof Error?l.error.message:String(l.error);throw new R(P.InvalidParams,`Invalid elicitation request: ${w}`)}let{params:d}=l.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:m}=wQ(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new R(P.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!m)throw new R(P.InvalidParams,"Client does not support URL-mode elicitation requests");let g=await Promise.resolve(r(c,u));if(d.task){let w=Ue(Tt,g);if(!w.success){let I=w.error instanceof Error?w.error.message:String(w.error);throw new R(P.InvalidParams,`Invalid task creation result: ${I}`)}return w.data}let f=Ue(xi,g);if(!f.success){let w=f.error instanceof Error?f.error.message:String(f.error);throw new R(P.InvalidParams,`Invalid elicitation result: ${w}`)}let h=f.data,y=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&h.action==="accept"&&h.content&&y&&this._capabilities.elicitation?.form?.applyDefaults)try{An(y,h.content)}catch{}return h};return super.setRequestHandler(e,a)}if(i==="sampling/createMessage"){let a=async(c,u)=>{let l=Ue(ki,c);if(!l.success){let h=l.error instanceof Error?l.error.message:String(l.error);throw new R(P.InvalidParams,`Invalid sampling request: ${h}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let h=Ue(Tt,p);if(!h.success){let y=h.error instanceof Error?h.error.message:String(h.error);throw new R(P.InvalidParams,`Invalid task creation result: ${y}`)}return h.data}let g=d.tools||d.toolChoice?Mi:vi,f=Ue(g,p);if(!f.success){let h=f.error instanceof Error?f.error.message:String(f.error);throw new R(P.InvalidParams,`Invalid sampling result: ${h}`)}return f.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapability(e,r){if(!this._serverCapabilities?.[e])throw new Error(`Server does not support ${e} (required for ${r})`)}async connect(e,r){if(await super.connect(e),e.sessionId===void 0)try{let o=await this.request({method:"initialize",params:{protocolVersion:nr,capabilities:this._capabilities,clientInfo:this._clientInfo}},di,r);if(o===void 0)throw new Error(`Server sent invalid initialize result: ${o}`);if(!Vl.includes(o.protocolVersion))throw new Error(`Server's protocol version is not supported: ${o.protocolVersion}`);this._serverCapabilities=o.capabilities,this._serverVersion=o.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(o.protocolVersion),this._instructions=o.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(o){throw this.close(),o}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break;case"ping":break}}assertTaskCapability(e){lp(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){this._capabilities&&up(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Rt,e)}async complete(e,r){return this.request({method:"completion/complete",params:e},Ri,r)}async setLoggingLevel(e,r){return this.request({method:"logging/setLevel",params:{level:e}},Rt,r)}async getPrompt(e,r){return this.request({method:"prompts/get",params:e},Bi,r)}async listPrompts(e,r){return this.request({method:"prompts/list",params:e},Ei,r)}async listResources(e,r){return this.request({method:"resources/list",params:e},pi,r)}async listResourceTemplates(e,r){return this.request({method:"resources/templates/list",params:e},mi,r)}async readResource(e,r){return this.request({method:"resources/read",params:e},gi,r)}async subscribeResource(e,r){return this.request({method:"resources/subscribe",params:e},Rt,r)}async unsubscribeResource(e,r){return this.request({method:"resources/unsubscribe",params:e},Rt,r)}async callTool(e,r=ar,o){if(this.isToolTaskRequired(e.name))throw new R(P.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let s=await this.request({method:"tools/call",params:e},r,o),n=this.getToolOutputValidator(e.name);if(n){if(!s.structuredContent&&!s.isError)throw new R(P.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(s.structuredContent)try{let i=n(s.structuredContent);if(!i.valid)throw new R(P.InvalidParams,`Structured content does not match the tool's output schema: ${i.errorMessage}`)}catch(i){throw i instanceof R?i:new R(P.InvalidParams,`Failed to validate structured content: ${i instanceof Error?i.message:String(i)}`)}}return s}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of e){if(r.outputSchema){let s=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,s)}let o=r.execution?.taskSupport;(o==="required"||o==="optional")&&this._cachedKnownTaskTools.add(r.name),o==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,r){let o=await this.request({method:"tools/list",params:e},_i,r);return this.cacheToolMetadata(o.tools),o}_setupListChangedHandler(e,r,o,s){let n=pu.safeParse(o);if(!n.success)throw new Error(`Invalid ${e} listChanged options: ${n.error.message}`);if(typeof o.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:i,debounceMs:a}=n.data,{onChanged:c}=o,u=async()=>{if(!i){c(null,null);return}try{let d=await s();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},l=()=>{if(a){let d=this._listChangedDebounceTimers.get(e);d&&clearTimeout(d);let p=setTimeout(u,a);this._listChangedDebounceTimers.set(e,p)}else u()};this.setNotificationHandler(r,l)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var To=class extends Error{constructor(e,r){super(e),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}},dp=10,CQ=13,Gt=32;function vc(t){}function mn(t){if(typeof t=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:e=vc,onError:r=vc,onRetry:o=vc,onComment:s,maxBufferSize:n}=t,i=[],a=0,c=!0,u,l="",d=0,p,m=!1;function g(E){if(m)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,E.charCodeAt(0)===239&&E.charCodeAt(1)===187&&E.charCodeAt(2)===191&&(E=E.slice(3))),i.length===0){let z=h(E);z!==""&&(i.push(z),a=z.length),f();return}if(E.indexOf(`
|
|
12
|
+
`)===-1&&E.indexOf("\r")===-1){i.push(E),a+=E.length,f();return}i.push(E);let B=i.join("");i.length=0,a=0;let v=h(B);v!==""&&(i.push(v),a=v.length),f()}function f(){n!==void 0&&(a+l.length<=n||(m=!0,i.length=0,a=0,u=void 0,l="",d=0,p=void 0,r(new To(`Buffered data exceeded max buffer size of ${n} characters`,{type:"max-buffer-size-exceeded"}))))}function h(E){let B=0;if(E.indexOf("\r")===-1){let v=E.indexOf(`
|
|
13
|
+
`,B);for(;v!==-1;){if(B===v){d>0&&e({id:u,event:p,data:l}),u=void 0,l="",d=0,p=void 0,B=v+1,v=E.indexOf(`
|
|
14
|
+
`,B);continue}let z=E.charCodeAt(B);if(Ap(E,B,z)){let D=E.charCodeAt(B+5)===Gt?B+6:B+5,ce=E.slice(D,v);if(d===0&&E.charCodeAt(v+1)===dp){e({id:u,event:p,data:ce}),u=void 0,l="",p=void 0,B=v+2,v=E.indexOf(`
|
|
15
15
|
`,B);continue}l=d===0?ce:`${l}
|
|
16
|
-
${ce}`,d++}else pp(E,B,z)?p=E.slice(E.charCodeAt(B+6)===Gt?B+7:B+6,
|
|
17
|
-
`,B)}return E.slice(B)}for(;B<E.length;){let
|
|
18
|
-
`,B),D=-1;if(
|
|
19
|
-
${bl}`,d++;return}if(pp(E,B,z)){p=E.slice(E.charCodeAt(B+6)===Gt?B+7:B+6,
|
|
20
|
-
${B}`,d++;break;case"id":u=B.includes("\0")?void 0:B;break;case"retry":/^\d+$/.test(B)?o(parseInt(B,10)):r(new To(`Invalid \`retry\` value: "${B}"`,{type:"invalid-retry",value:B,line:M}));break;default:r(new To(`Unknown field "${E.length>20?`${E.slice(0,20)}\u2026`:E}"`,{type:"unknown-field",field:E,value:B,line:M}));break}}function I(){d>0&&e({id:u,event:p,data:l}),u=void 0,l="",d=0,p=void 0}function v(E={}){if(E.consume&&i.length>0){let B=i.join("");y(B,0,B.length)}c=!0,u=void 0,l="",d=0,p=void 0,i.length=0,a=0,m=!1}return{feed:g,reset:v}}function Ap(t,e,r){return r===100&&t.charCodeAt(e+1)===97&&t.charCodeAt(e+2)===116&&t.charCodeAt(e+3)===97&&t.charCodeAt(e+4)===58}function pp(t,e,r){return r===101&&t.charCodeAt(e+1)===118&&t.charCodeAt(e+2)===101&&t.charCodeAt(e+3)===110&&t.charCodeAt(e+4)===116&&t.charCodeAt(e+5)===58}var gn=class extends Event{constructor(e,r){var o,s;super(e),this.code=(o=r?.code)!=null?o:void 0,this.message=(s=r?.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](e,r,o){return o(mp(this),r)}[Symbol.for("Deno.customInspect")](e,r){return e(mp(this),r)}};function IQ(t){let e=globalThis.DOMException;return typeof e=="function"?new e(t,"SyntaxError"):new SyntaxError(t)}function vc(t){return t instanceof Error?"errors"in t&&Array.isArray(t.errors)?t.errors.map(vc).join(", "):"cause"in t&&t.cause instanceof Error?`${t}: ${vc(t.cause)}`:t.message:`${t}`}function mp(t){return{type:t.type,message:t.message,code:t.code,defaultPrevented:t.defaultPrevented,cancelable:t.cancelable,timeStamp:t.timeStamp}}var gp=t=>{throw TypeError(t)},jc=(t,e,r)=>e.has(t)||gp("Cannot "+r),q=(t,e,r)=>(jc(t,e,"read from private field"),r?r.call(t):e.get(t)),de=(t,e,r)=>e.has(t)?gp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),oe=(t,e,r,o)=>(jc(t,e,"write to private field"),e.set(t,r),r),it=(t,e,r)=>(jc(t,e,"access private method"),r),xe,Ht,Sr,fn,hn,Po,vr,jo,Mt,kr,br,Mr,Do,He,bc,xc,Rc,fp,Tc,Dc,$o,$c,Pc,Yt=class extends EventTarget{constructor(e,r){var o,s;super(),de(this,He),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,de(this,xe),de(this,Ht),de(this,Sr),de(this,fn),de(this,hn),de(this,Po),de(this,vr),de(this,jo,null),de(this,Mt),de(this,kr),de(this,br,null),de(this,Mr,null),de(this,Do,null),de(this,xc,async n=>{var i;q(this,kr).reset();let{body:a,redirected:c,status:u,headers:l}=n;if(u===204){it(this,He,$o).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(c?oe(this,Sr,new URL(n.url)):oe(this,Sr,void 0),u!==200){it(this,He,$o).call(this,`Non-200 status code (${u})`,u);return}if(!(l.get("content-type")||"").startsWith("text/event-stream")){it(this,He,$o).call(this,'Invalid content type, expected "text/event-stream"',u);return}if(q(this,xe)===this.CLOSED)return;oe(this,xe,this.OPEN);let d=new Event("open");if((i=q(this,Do))==null||i.call(this,d),this.dispatchEvent(d),typeof a!="object"||!a||!("getReader"in a)){it(this,He,$o).call(this,"Invalid response body, expected a web ReadableStream",u),this.close();return}let p=new TextDecoder,m=a.getReader(),g=!0;do{let{done:f,value:h}=await m.read();h&&q(this,kr).feed(p.decode(h,{stream:!f})),f&&(g=!1,q(this,kr).reset(),it(this,He,$c).call(this))}while(g)}),de(this,Rc,n=>{oe(this,Mt,void 0),!(n.name==="AbortError"||n.type==="aborted")&&it(this,He,$c).call(this,vc(n))}),de(this,Tc,n=>{typeof n.id=="string"&&oe(this,jo,n.id);let i=new MessageEvent(n.event||"message",{data:n.data,origin:q(this,Sr)?q(this,Sr).origin:q(this,Ht).origin,lastEventId:n.id||""});q(this,Mr)&&(!n.event||n.event==="message")&&q(this,Mr).call(this,i),this.dispatchEvent(i)}),de(this,Dc,n=>{oe(this,Po,n)}),de(this,Pc,()=>{oe(this,vr,void 0),q(this,xe)===this.CONNECTING&&it(this,He,bc).call(this)});try{if(e instanceof URL)oe(this,Ht,e);else if(typeof e=="string")oe(this,Ht,new URL(e,BQ()));else throw new Error("Invalid URL")}catch{throw IQ("An invalid or illegal string was specified")}oe(this,kr,mn({onEvent:q(this,Tc),onRetry:q(this,Dc)})),oe(this,xe,this.CONNECTING),oe(this,Po,3e3),oe(this,hn,(o=r?.fetch)!=null?o:globalThis.fetch),oe(this,fn,(s=r?.withCredentials)!=null?s:!1),it(this,He,bc).call(this)}get readyState(){return q(this,xe)}get url(){return q(this,Ht).href}get withCredentials(){return q(this,fn)}get onerror(){return q(this,br)}set onerror(e){oe(this,br,e)}get onmessage(){return q(this,Mr)}set onmessage(e){oe(this,Mr,e)}get onopen(){return q(this,Do)}set onopen(e){oe(this,Do,e)}addEventListener(e,r,o){let s=r;super.addEventListener(e,s,o)}removeEventListener(e,r,o){let s=r;super.removeEventListener(e,s,o)}close(){q(this,vr)&&clearTimeout(q(this,vr)),q(this,xe)!==this.CLOSED&&(q(this,Mt)&&q(this,Mt).abort(),oe(this,xe,this.CLOSED),oe(this,Mt,void 0))}};xe=new WeakMap,Ht=new WeakMap,Sr=new WeakMap,fn=new WeakMap,hn=new WeakMap,Po=new WeakMap,vr=new WeakMap,jo=new WeakMap,Mt=new WeakMap,kr=new WeakMap,br=new WeakMap,Mr=new WeakMap,Do=new WeakMap,He=new WeakSet,bc=function(){oe(this,xe,this.CONNECTING),oe(this,Mt,new AbortController),q(this,hn)(q(this,Ht),it(this,He,fp).call(this)).then(q(this,xc)).catch(q(this,Rc))},xc=new WeakMap,Rc=new WeakMap,fp=function(){var t;let e={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...q(this,jo)?{"Last-Event-ID":q(this,jo)}:void 0},cache:"no-store",signal:(t=q(this,Mt))==null?void 0:t.signal};return"window"in globalThis&&(e.credentials=this.withCredentials?"include":"same-origin"),e},Tc=new WeakMap,Dc=new WeakMap,$o=function(t,e){var r;q(this,xe)!==this.CLOSED&&oe(this,xe,this.CLOSED);let o=new gn("error",{code:e,message:t});(r=q(this,br))==null||r.call(this,o),this.dispatchEvent(o)},$c=function(t,e){var r;if(q(this,xe)===this.CLOSED)return;oe(this,xe,this.CONNECTING);let o=new gn("error",{code:e,message:t});(r=q(this,br))==null||r.call(this,o),this.dispatchEvent(o),oe(this,vr,setTimeout(q(this,Pc),q(this,Po)))},Pc=new WeakMap,Yt.CONNECTING=0,Yt.OPEN=1,Yt.CLOSED=2;function BQ(){let t="document"in globalThis?globalThis.document:void 0;return t&&typeof t=="object"&&"baseURI"in t&&typeof t.baseURI=="string"?t.baseURI:void 0}function xr(t){return t?t instanceof Headers?Object.fromEntries(t.entries()):Array.isArray(t)?Object.fromEntries(t):{...t}:{}}function En(t=fetch,e){return e?async(r,o)=>{let s={...e,...o,headers:o?.headers?{...xr(e.headers),...xr(o.headers)}:e.headers};return t(r,s)}:t}var Nc;Nc=globalThis.crypto?.webcrypto??globalThis.crypto??import("crypto").then(t=>t.webcrypto);async function QQ(t){return(await Nc).getRandomValues(new Uint8Array(t))}async function _Q(t){let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",r=Math.pow(2,8)-Math.pow(2,8)%e.length,o="";for(;o.length<t;){let s=await QQ(t-o.length);for(let n of s)n<r&&(o+=e[n%e.length])}return o}async function SQ(t){return await _Q(t)}async function kQ(t){let e=await(await Nc).subtle.digest("SHA-256",new TextEncoder().encode(t));return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function zc(t){if(t||(t=43),t<43||t>128)throw`Expected a length between 43 and 128. Received ${t}.`;let e=await SQ(t),r=await kQ(e);return{code_verifier:e,code_challenge:r}}var Ee=Pl().superRefine((t,e)=>{if(!URL.canParse(t))return e.addIssue({code:Ul.custom,message:"URL must be parseable",fatal:!0}),xl}).refine(t=>{let e=new URL(t);return e.protocol!=="javascript:"&&e.protocol!=="data:"&&e.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Ep=le({resource:A().url(),authorization_servers:_(Ee).optional(),jwks_uri:A().url().optional(),scopes_supported:_(A()).optional(),bearer_methods_supported:_(A()).optional(),resource_signing_alg_values_supported:_(A()).optional(),resource_name:A().optional(),resource_documentation:A().optional(),resource_policy_uri:A().url().optional(),resource_tos_uri:A().url().optional(),tls_client_certificate_bound_access_tokens:K().optional(),authorization_details_types_supported:_(A()).optional(),dpop_signing_alg_values_supported:_(A()).optional(),dpop_bound_access_tokens_required:K().optional()}),Uc=le({issuer:A(),authorization_endpoint:Ee,token_endpoint:Ee,registration_endpoint:Ee.optional(),scopes_supported:_(A()).optional(),response_types_supported:_(A()),response_modes_supported:_(A()).optional(),grant_types_supported:_(A()).optional(),token_endpoint_auth_methods_supported:_(A()).optional(),token_endpoint_auth_signing_alg_values_supported:_(A()).optional(),service_documentation:Ee.optional(),revocation_endpoint:Ee.optional(),revocation_endpoint_auth_methods_supported:_(A()).optional(),revocation_endpoint_auth_signing_alg_values_supported:_(A()).optional(),introspection_endpoint:A().optional(),introspection_endpoint_auth_methods_supported:_(A()).optional(),introspection_endpoint_auth_signing_alg_values_supported:_(A()).optional(),code_challenge_methods_supported:_(A()).optional(),client_id_metadata_document_supported:K().optional()}),MQ=le({issuer:A(),authorization_endpoint:Ee,token_endpoint:Ee,userinfo_endpoint:Ee.optional(),jwks_uri:Ee,registration_endpoint:Ee.optional(),scopes_supported:_(A()).optional(),response_types_supported:_(A()),response_modes_supported:_(A()).optional(),grant_types_supported:_(A()).optional(),acr_values_supported:_(A()).optional(),subject_types_supported:_(A()),id_token_signing_alg_values_supported:_(A()),id_token_encryption_alg_values_supported:_(A()).optional(),id_token_encryption_enc_values_supported:_(A()).optional(),userinfo_signing_alg_values_supported:_(A()).optional(),userinfo_encryption_alg_values_supported:_(A()).optional(),userinfo_encryption_enc_values_supported:_(A()).optional(),request_object_signing_alg_values_supported:_(A()).optional(),request_object_encryption_alg_values_supported:_(A()).optional(),request_object_encryption_enc_values_supported:_(A()).optional(),token_endpoint_auth_methods_supported:_(A()).optional(),token_endpoint_auth_signing_alg_values_supported:_(A()).optional(),display_values_supported:_(A()).optional(),claim_types_supported:_(A()).optional(),claims_supported:_(A()).optional(),service_documentation:A().optional(),claims_locales_supported:_(A()).optional(),ui_locales_supported:_(A()).optional(),claims_parameter_supported:K().optional(),request_parameter_supported:K().optional(),request_uri_parameter_supported:K().optional(),require_request_uri_registration:K().optional(),op_policy_uri:Ee.optional(),op_tos_uri:Ee.optional(),client_id_metadata_document_supported:K().optional()}),yp=k({...MQ.shape,...Uc.pick({code_challenge_methods_supported:!0}).shape}),wp=k({access_token:A(),id_token:A().optional(),token_type:A(),expires_in:Fl.number().optional(),scope:A().optional(),refresh_token:A().optional()}).strip(),Cp=k({error:A(),error_description:A().optional(),error_uri:A().optional()}),hp=Ee.optional().or(b("").transform(()=>{})),vQ=k({redirect_uris:_(Ee),token_endpoint_auth_method:A().optional(),grant_types:_(A()).optional(),response_types:_(A()).optional(),client_name:A().optional(),client_uri:Ee.optional(),logo_uri:hp,scope:A().optional(),contacts:_(A()).optional(),tos_uri:hp,policy_uri:A().optional(),jwks_uri:Ee.optional(),jwks:Nl().optional(),software_id:A().optional(),software_version:A().optional(),software_statement:A().optional()}).strip(),bQ=k({client_id:A(),client_secret:A().optional(),client_id_issued_at:J().optional(),client_secret_expires_at:J().optional()}).strip(),Ip=vQ.merge(bQ),zT=k({error:A(),error_description:A().optional()}).strip(),UT=k({token:A(),token_type_hint:A().optional()}).strip();function Bp(t){let e=typeof t=="string"?new URL(t):new URL(t.href);return e.hash="",e}function Qp({requestedResource:t,configuredResource:e}){let r=typeof t=="string"?new URL(t):new URL(t.href),o=typeof e=="string"?new URL(e):new URL(e.href);if(r.origin!==o.origin||r.pathname.length<o.pathname.length)return!1;let s=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",n=o.pathname.endsWith("/")?o.pathname:o.pathname+"/";return s.startsWith(n)}var ae=class extends Error{constructor(e,r){super(e),this.errorUri=r,this.name=this.constructor.name}toResponseObject(){let e={error:this.errorCode,error_description:this.message};return this.errorUri&&(e.error_uri=this.errorUri),e}get errorCode(){return this.constructor.errorCode}},No=class extends ae{};No.errorCode="invalid_request";var Jt=class extends ae{};Jt.errorCode="invalid_client";var Wt=class extends ae{};Wt.errorCode="invalid_grant";var Vt=class extends ae{};Vt.errorCode="unauthorized_client";var zo=class extends ae{};zo.errorCode="unsupported_grant_type";var Uo=class extends ae{};Uo.errorCode="invalid_scope";var Fo=class extends ae{};Fo.errorCode="access_denied";var at=class extends ae{};at.errorCode="server_error";var Oo=class extends ae{};Oo.errorCode="temporarily_unavailable";var Lo=class extends ae{};Lo.errorCode="unsupported_response_type";var qo=class extends ae{};qo.errorCode="unsupported_token_type";var Go=class extends ae{};Go.errorCode="invalid_token";var Ho=class extends ae{};Ho.errorCode="method_not_allowed";var Yo=class extends ae{};Yo.errorCode="too_many_requests";var Kt=class extends ae{};Kt.errorCode="invalid_client_metadata";var Jo=class extends ae{};Jo.errorCode="insufficient_scope";var Wo=class extends ae{};Wo.errorCode="invalid_target";var _p={[No.errorCode]:No,[Jt.errorCode]:Jt,[Wt.errorCode]:Wt,[Vt.errorCode]:Vt,[zo.errorCode]:zo,[Uo.errorCode]:Uo,[Fo.errorCode]:Fo,[at.errorCode]:at,[Oo.errorCode]:Oo,[Lo.errorCode]:Lo,[qo.errorCode]:qo,[Go.errorCode]:Go,[Ho.errorCode]:Ho,[Yo.errorCode]:Yo,[Kt.errorCode]:Kt,[Jo.errorCode]:Jo,[Wo.errorCode]:Wo};var _e=class extends Error{constructor(e){super(e??"Unauthorized")}};function xQ(t){return["client_secret_basic","client_secret_post","none"].includes(t)}var Fc="code",Oc="S256";function RQ(t,e){let r=t.client_secret!==void 0;return"token_endpoint_auth_method"in t&&t.token_endpoint_auth_method&&xQ(t.token_endpoint_auth_method)&&(e.length===0||e.includes(t.token_endpoint_auth_method))?t.token_endpoint_auth_method:e.length===0?r?"client_secret_basic":"none":r&&e.includes("client_secret_basic")?"client_secret_basic":r&&e.includes("client_secret_post")?"client_secret_post":e.includes("none")?"none":r?"client_secret_post":"none"}function TQ(t,e,r,o){let{client_id:s,client_secret:n}=e;switch(t){case"client_secret_basic":DQ(s,n,r);return;case"client_secret_post":$Q(s,n,o);return;case"none":PQ(s,o);return;default:throw new Error(`Unsupported client authentication method: ${t}`)}}function DQ(t,e,r){if(!e)throw new Error("client_secret_basic authentication requires a client_secret");let o=btoa(`${t}:${e}`);r.set("Authorization",`Basic ${o}`)}function $Q(t,e,r){r.set("client_id",t),e&&r.set("client_secret",e)}function PQ(t,e){e.set("client_id",t)}async function kp(t){let e=t instanceof Response?t.status:void 0,r=t instanceof Response?await t.text():t;try{let o=Cp.parse(JSON.parse(r)),{error:s,error_description:n,error_uri:i}=o,a=_p[s]||at;return new a(n||"",i)}catch(o){let s=`${e?`HTTP ${e}: `:""}Invalid OAuth error response: ${o}. Raw body: ${r}`;return new at(s)}}async function ct(t,e){try{return await Lc(t,e)}catch(r){if(r instanceof Jt||r instanceof Vt)return await t.invalidateCredentials?.("all"),await Lc(t,e);if(r instanceof Wt)return await t.invalidateCredentials?.("tokens"),await Lc(t,e);throw r}}async function Lc(t,{serverUrl:e,authorizationCode:r,scope:o,resourceMetadataUrl:s,fetchFn:n}){let i=await t.discoveryState?.(),a,c,u,l=s;if(!l&&i?.resourceMetadataUrl&&(l=new URL(i.resourceMetadataUrl)),i?.authorizationServerUrl){if(c=i.authorizationServerUrl,a=i.resourceMetadata,u=i.authorizationServerMetadata??await vp(c,{fetchFn:n}),!a)try{a=await Mp(e,{resourceMetadataUrl:l},n)}catch{}(u!==i.authorizationServerMetadata||a!==i.resourceMetadata)&&await t.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}else{let I=await LQ(e,{resourceMetadataUrl:l,fetchFn:n});c=I.authorizationServerUrl,u=I.authorizationServerMetadata,a=I.resourceMetadata,await t.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}let d=await NQ(e,t,a),p=o||a?.scopes_supported?.join(" ")||t.clientMetadata.scope,m=await Promise.resolve(t.clientInformation());if(!m){if(r!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");let I=u?.client_id_metadata_document_supported===!0,v=t.clientMetadataUrl;if(v&&!jQ(v))throw new Kt(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${v}`);if(I&&v)m={client_id:v},await t.saveClientInformation?.(m);else{if(!t.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");let B=await JQ(c,{metadata:u,clientMetadata:t.clientMetadata,scope:p,fetchFn:n});await t.saveClientInformation(B),m=B}}let g=!t.redirectUrl;if(r!==void 0||g){let I=await YQ(t,c,{metadata:u,resource:d,authorizationCode:r,fetchFn:n});return await t.saveTokens(I),"AUTHORIZED"}let f=await t.tokens();if(f?.refresh_token)try{let I=await HQ(c,{metadata:u,clientInformation:m,refreshToken:f.refresh_token,resource:d,addClientAuthentication:t.addClientAuthentication,fetchFn:n});return await t.saveTokens(I),"AUTHORIZED"}catch(I){if(!(!(I instanceof ae)||I instanceof at))throw I}let h=t.state?await t.state():void 0,{authorizationUrl:y,codeVerifier:w}=await qQ(c,{metadata:u,clientInformation:m,state:h,redirectUrl:t.redirectUrl,scope:p,resource:d});return await t.saveCodeVerifier(w),await t.redirectToAuthorization(y),"REDIRECT"}function jQ(t){if(!t)return!1;try{let e=new URL(t);return e.protocol==="https:"&&e.pathname!=="/"}catch{return!1}}async function NQ(t,e,r){let o=Bp(t);if(e.validateResourceURL)return await e.validateResourceURL(o,r?.resource);if(r){if(!Qp({requestedResource:o,configuredResource:r.resource}))throw new Error(`Protected resource ${r.resource} does not match expected ${o} (or origin)`);return new URL(r.resource)}}function Rr(t){let e=t.headers.get("WWW-Authenticate");if(!e)return{};let[r,o]=e.split(" ");if(r.toLowerCase()!=="bearer"||!o)return{};let s=qc(t,"resource_metadata")||void 0,n;if(s)try{n=new URL(s)}catch{}let i=qc(t,"scope")||void 0,a=qc(t,"error")||void 0;return{resourceMetadataUrl:n,scope:i,error:a}}function qc(t,e){let r=t.headers.get("WWW-Authenticate");if(!r)return null;let o=new RegExp(`${e}=(?:"([^"]+)"|([^\\s,]+))`),s=r.match(o);return s?s[1]||s[2]:null}async function Mp(t,e,r=fetch){let o=await FQ(t,"oauth-protected-resource",r,{protocolVersion:e?.protocolVersion,metadataUrl:e?.resourceMetadataUrl});if(!o||o.status===404)throw await o?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!o.ok)throw await o.body?.cancel(),new Error(`HTTP ${o.status} trying to load well-known OAuth protected resource metadata.`);return Ep.parse(await o.json())}async function Gc(t,e,r=fetch){try{return await r(t,{headers:e})}catch(o){if(o instanceof TypeError)return e?Gc(t,void 0,r):void 0;throw o}}function zQ(t,e="",r={}){return e.endsWith("/")&&(e=e.slice(0,-1)),r.prependPathname?`${e}/.well-known/${t}`:`/.well-known/${t}${e}`}async function Sp(t,e,r=fetch){return await Gc(t,{"MCP-Protocol-Version":e},r)}function UQ(t,e){return!t||t.status>=400&&t.status<500&&e!=="/"}async function FQ(t,e,r,o){let s=new URL(t),n=o?.protocolVersion??nr,i;if(o?.metadataUrl)i=new URL(o.metadataUrl);else{let c=zQ(e,s.pathname);i=new URL(c,o?.metadataServerUrl??s),i.search=s.search}let a=await Sp(i,n,r);if(!o?.metadataUrl&&UQ(a,s.pathname)){let c=new URL(`/.well-known/${e}`,s);a=await Sp(c,n,r)}return a}function OQ(t){let e=typeof t=="string"?new URL(t):t,r=e.pathname!=="/",o=[];if(!r)return o.push({url:new URL("/.well-known/oauth-authorization-server",e.origin),type:"oauth"}),o.push({url:new URL("/.well-known/openid-configuration",e.origin),type:"oidc"}),o;let s=e.pathname;return s.endsWith("/")&&(s=s.slice(0,-1)),o.push({url:new URL(`/.well-known/oauth-authorization-server${s}`,e.origin),type:"oauth"}),o.push({url:new URL(`/.well-known/openid-configuration${s}`,e.origin),type:"oidc"}),o.push({url:new URL(`${s}/.well-known/openid-configuration`,e.origin),type:"oidc"}),o}async function vp(t,{fetchFn:e=fetch,protocolVersion:r=nr}={}){let o={"MCP-Protocol-Version":r,Accept:"application/json"},s=OQ(t);for(let{url:n,type:i}of s){let a=await Gc(n,o,e);if(a){if(!a.ok){if(await a.body?.cancel(),a.status>=400&&a.status<500)continue;throw new Error(`HTTP ${a.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${n}`)}return i==="oauth"?Uc.parse(await a.json()):yp.parse(await a.json())}}}async function LQ(t,e){let r,o;try{r=await Mp(t,{resourceMetadataUrl:e?.resourceMetadataUrl},e?.fetchFn),r.authorization_servers&&r.authorization_servers.length>0&&(o=r.authorization_servers[0])}catch{}o||(o=String(new URL("/",t)));let s=await vp(o,{fetchFn:e?.fetchFn});return{authorizationServerUrl:o,authorizationServerMetadata:s,resourceMetadata:r}}async function qQ(t,{metadata:e,clientInformation:r,redirectUrl:o,scope:s,state:n,resource:i}){let a;if(e){if(a=new URL(e.authorization_endpoint),!e.response_types_supported.includes(Fc))throw new Error(`Incompatible auth server: does not support response type ${Fc}`);if(e.code_challenge_methods_supported&&!e.code_challenge_methods_supported.includes(Oc))throw new Error(`Incompatible auth server: does not support code challenge method ${Oc}`)}else a=new URL("/authorize",t);let c=await zc(),u=c.code_verifier,l=c.code_challenge;return a.searchParams.set("response_type",Fc),a.searchParams.set("client_id",r.client_id),a.searchParams.set("code_challenge",l),a.searchParams.set("code_challenge_method",Oc),a.searchParams.set("redirect_uri",String(o)),n&&a.searchParams.set("state",n),s&&a.searchParams.set("scope",s),s?.includes("offline_access")&&a.searchParams.append("prompt","consent"),i&&a.searchParams.set("resource",i.href),{authorizationUrl:a,codeVerifier:u}}function GQ(t,e,r){return new URLSearchParams({grant_type:"authorization_code",code:t,code_verifier:e,redirect_uri:String(r)})}async function bp(t,{metadata:e,tokenRequestParams:r,clientInformation:o,addClientAuthentication:s,resource:n,fetchFn:i}){let a=e?.token_endpoint?new URL(e.token_endpoint):new URL("/token",t),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(n&&r.set("resource",n.href),s)await s(c,r,a,e);else if(o){let l=e?.token_endpoint_auth_methods_supported??[],d=RQ(o,l);TQ(d,o,c,r)}let u=await(i??fetch)(a,{method:"POST",headers:c,body:r});if(!u.ok)throw await kp(u);return wp.parse(await u.json())}async function HQ(t,{metadata:e,clientInformation:r,refreshToken:o,resource:s,addClientAuthentication:n,fetchFn:i}){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:o}),c=await bp(t,{metadata:e,tokenRequestParams:a,clientInformation:r,addClientAuthentication:n,resource:s,fetchFn:i});return{refresh_token:o,...c}}async function YQ(t,e,{metadata:r,resource:o,authorizationCode:s,fetchFn:n}={}){let i=t.clientMetadata.scope,a;if(t.prepareTokenRequest&&(a=await t.prepareTokenRequest(i)),!a){if(!s)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!t.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");let u=await t.codeVerifier();a=GQ(s,u,t.redirectUrl)}let c=await t.clientInformation();return bp(e,{metadata:r,tokenRequestParams:a,clientInformation:c??void 0,addClientAuthentication:t.addClientAuthentication,resource:o,fetchFn:n})}async function JQ(t,{metadata:e,clientMetadata:r,scope:o,fetchFn:s}){let n;if(e){if(!e.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");n=new URL(e.registration_endpoint)}else n=new URL("/register",t);let i=await(s??fetch)(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,...o!==void 0?{scope:o}:{}})});if(!i.ok)throw await kp(i);return Ip.parse(await i.json())}var Hc=class extends Error{constructor(e,r,o){super(`SSE error: ${r}`),this.code=e,this.event=o}},yn=class{constructor(e,r){this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=r?.eventSourceInit,this._requestInit=r?.requestInit,this._authProvider=r?.authProvider,this._fetch=r?.fetch,this._fetchWithInit=En(r?.fetch,r?.requestInit)}async _authThenStart(){if(!this._authProvider)throw new _e("No auth provider");let e;try{e=await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(r){throw this.onerror?.(r),r}if(e!=="AUTHORIZED")throw new _e;return await this._startOrAuth()}async _commonHeaders(){let e={};if(this._authProvider){let o=await this._authProvider.tokens();o&&(e.Authorization=`Bearer ${o.access_token}`)}this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);let r=xr(this._requestInit?.headers);return new Headers({...e,...r})}_startOrAuth(){let e=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((r,o)=>{this._eventSource=new Yt(this._url.href,{...this._eventSourceInit,fetch:async(s,n)=>{let i=await this._commonHeaders();i.set("Accept","text/event-stream");let a=await e(s,{...n,headers:i});if(a.status===401&&a.headers.has("www-authenticate")){let{resourceMetadataUrl:c,scope:u}=Rr(a);this._resourceMetadataUrl=c,this._scope=u}return a}}),this._abortController=new AbortController,this._eventSource.onerror=s=>{if(s.code===401&&this._authProvider){this._authThenStart().then(r,o);return}let n=new Hc(s.code,s.message,s);o(n),this.onerror?.(n)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",s=>{let n=s;try{if(this._endpoint=new URL(n.data,this._url),this._endpoint.origin!==this._url.origin)throw new Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch(i){o(i),this.onerror?.(i),this.close();return}r()}),this._eventSource.onmessage=s=>{let n=s,i;try{i=Et.parse(JSON.parse(n.data))}catch(a){this.onerror?.(a);return}this.onmessage?.(i)}})}async start(){if(this._eventSource)throw new Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(e){if(!this._authProvider)throw new _e("No auth provider");if(await ct(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(e){if(!this._endpoint)throw new Error("Not connected");try{let r=await this._commonHeaders();r.set("content-type","application/json");let o={...this._requestInit,method:"POST",headers:r,body:JSON.stringify(e),signal:this._abortController?.signal},s=await(this._fetch??fetch)(this._endpoint,o);if(!s.ok){let n=await s.text().catch(()=>null);if(s.status===401&&this._authProvider){let{resourceMetadataUrl:i,scope:a}=Rr(s);if(this._resourceMetadataUrl=i,this._scope=a,await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e;return this.send(e)}throw new Error(`Error POSTing to endpoint (HTTP ${s.status}): ${n}`)}await s.body?.cancel()}catch(r){throw this.onerror?.(r),r}}setProtocolVersion(e){this._protocolVersion=e}};var wm=us(Em(),1);import rl from"process";import{PassThrough as B_}from"stream";var C_=10*1024*1024,Cn=class{constructor(e){this._maxBufferSize=e?.maxBufferSize??C_}append(e){if((this._buffer?.length??0)+e.length>this._maxBufferSize)throw this.clear(),new Error(`ReadBuffer exceeded maximum size of ${this._maxBufferSize} bytes`);this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
16
|
+
${ce}`,d++}else pp(E,B,z)?p=E.slice(E.charCodeAt(B+6)===Gt?B+7:B+6,v)||void 0:y(E,B,v);B=v+1,v=E.indexOf(`
|
|
17
|
+
`,B)}return E.slice(B)}for(;B<E.length;){let v=E.indexOf("\r",B),z=E.indexOf(`
|
|
18
|
+
`,B),D=-1;if(v!==-1&&z!==-1?D=v<z?v:z:v!==-1?v===E.length-1?D=-1:D=v:z!==-1&&(D=z),D===-1)break;y(E,B,D),B=D+1,E.charCodeAt(B-1)===CQ&&E.charCodeAt(B)===dp&&B++}return E.slice(B)}function y(E,B,v){if(B===v){I();return}let z=E.charCodeAt(B);if(Ap(E,B,z)){let mt=E.charCodeAt(B+5)===Gt?B+6:B+5,bl=E.slice(mt,v);l=d===0?bl:`${l}
|
|
19
|
+
${bl}`,d++;return}if(pp(E,B,z)){p=E.slice(E.charCodeAt(B+6)===Gt?B+7:B+6,v)||void 0;return}if(z===105&&E.charCodeAt(B+1)===100&&E.charCodeAt(B+2)===58){let mt=E.slice(E.charCodeAt(B+3)===Gt?B+4:B+3,v);u=mt.includes("\0")?void 0:mt;return}if(z===58){if(s){let mt=E.slice(B,v);s(mt.slice(E.charCodeAt(B+1)===Gt?2:1))}return}let D=E.slice(B,v),ce=D.indexOf(":");if(ce===-1){w(D,"",D);return}let Gr=D.slice(0,ce),cs=D.charCodeAt(ce+1)===Gt?2:1,ls=D.slice(ce+cs);w(Gr,ls,D)}function w(E,B,v){switch(E){case"event":p=B||void 0;break;case"data":l=d===0?B:`${l}
|
|
20
|
+
${B}`,d++;break;case"id":u=B.includes("\0")?void 0:B;break;case"retry":/^\d+$/.test(B)?o(parseInt(B,10)):r(new To(`Invalid \`retry\` value: "${B}"`,{type:"invalid-retry",value:B,line:v}));break;default:r(new To(`Unknown field "${E.length>20?`${E.slice(0,20)}\u2026`:E}"`,{type:"unknown-field",field:E,value:B,line:v}));break}}function I(){d>0&&e({id:u,event:p,data:l}),u=void 0,l="",d=0,p=void 0}function M(E={}){if(E.consume&&i.length>0){let B=i.join("");y(B,0,B.length)}c=!0,u=void 0,l="",d=0,p=void 0,i.length=0,a=0,m=!1}return{feed:g,reset:M}}function Ap(t,e,r){return r===100&&t.charCodeAt(e+1)===97&&t.charCodeAt(e+2)===116&&t.charCodeAt(e+3)===97&&t.charCodeAt(e+4)===58}function pp(t,e,r){return r===101&&t.charCodeAt(e+1)===118&&t.charCodeAt(e+2)===101&&t.charCodeAt(e+3)===110&&t.charCodeAt(e+4)===116&&t.charCodeAt(e+5)===58}var gn=class extends Event{constructor(e,r){var o,s;super(e),this.code=(o=r?.code)!=null?o:void 0,this.message=(s=r?.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](e,r,o){return o(mp(this),r)}[Symbol.for("Deno.customInspect")](e,r){return e(mp(this),r)}};function IQ(t){let e=globalThis.DOMException;return typeof e=="function"?new e(t,"SyntaxError"):new SyntaxError(t)}function Mc(t){return t instanceof Error?"errors"in t&&Array.isArray(t.errors)?t.errors.map(Mc).join(", "):"cause"in t&&t.cause instanceof Error?`${t}: ${Mc(t.cause)}`:t.message:`${t}`}function mp(t){return{type:t.type,message:t.message,code:t.code,defaultPrevented:t.defaultPrevented,cancelable:t.cancelable,timeStamp:t.timeStamp}}var gp=t=>{throw TypeError(t)},jc=(t,e,r)=>e.has(t)||gp("Cannot "+r),q=(t,e,r)=>(jc(t,e,"read from private field"),r?r.call(t):e.get(t)),de=(t,e,r)=>e.has(t)?gp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),oe=(t,e,r,o)=>(jc(t,e,"write to private field"),e.set(t,r),r),it=(t,e,r)=>(jc(t,e,"access private method"),r),xe,Ht,Sr,fn,hn,Po,Mr,jo,vt,kr,br,vr,Do,He,bc,xc,Rc,fp,Tc,Dc,$o,$c,Pc,Yt=class extends EventTarget{constructor(e,r){var o,s;super(),de(this,He),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,de(this,xe),de(this,Ht),de(this,Sr),de(this,fn),de(this,hn),de(this,Po),de(this,Mr),de(this,jo,null),de(this,vt),de(this,kr),de(this,br,null),de(this,vr,null),de(this,Do,null),de(this,xc,async n=>{var i;q(this,kr).reset();let{body:a,redirected:c,status:u,headers:l}=n;if(u===204){it(this,He,$o).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(c?oe(this,Sr,new URL(n.url)):oe(this,Sr,void 0),u!==200){it(this,He,$o).call(this,`Non-200 status code (${u})`,u);return}if(!(l.get("content-type")||"").startsWith("text/event-stream")){it(this,He,$o).call(this,'Invalid content type, expected "text/event-stream"',u);return}if(q(this,xe)===this.CLOSED)return;oe(this,xe,this.OPEN);let d=new Event("open");if((i=q(this,Do))==null||i.call(this,d),this.dispatchEvent(d),typeof a!="object"||!a||!("getReader"in a)){it(this,He,$o).call(this,"Invalid response body, expected a web ReadableStream",u),this.close();return}let p=new TextDecoder,m=a.getReader(),g=!0;do{let{done:f,value:h}=await m.read();h&&q(this,kr).feed(p.decode(h,{stream:!f})),f&&(g=!1,q(this,kr).reset(),it(this,He,$c).call(this))}while(g)}),de(this,Rc,n=>{oe(this,vt,void 0),!(n.name==="AbortError"||n.type==="aborted")&&it(this,He,$c).call(this,Mc(n))}),de(this,Tc,n=>{typeof n.id=="string"&&oe(this,jo,n.id);let i=new MessageEvent(n.event||"message",{data:n.data,origin:q(this,Sr)?q(this,Sr).origin:q(this,Ht).origin,lastEventId:n.id||""});q(this,vr)&&(!n.event||n.event==="message")&&q(this,vr).call(this,i),this.dispatchEvent(i)}),de(this,Dc,n=>{oe(this,Po,n)}),de(this,Pc,()=>{oe(this,Mr,void 0),q(this,xe)===this.CONNECTING&&it(this,He,bc).call(this)});try{if(e instanceof URL)oe(this,Ht,e);else if(typeof e=="string")oe(this,Ht,new URL(e,BQ()));else throw new Error("Invalid URL")}catch{throw IQ("An invalid or illegal string was specified")}oe(this,kr,mn({onEvent:q(this,Tc),onRetry:q(this,Dc)})),oe(this,xe,this.CONNECTING),oe(this,Po,3e3),oe(this,hn,(o=r?.fetch)!=null?o:globalThis.fetch),oe(this,fn,(s=r?.withCredentials)!=null?s:!1),it(this,He,bc).call(this)}get readyState(){return q(this,xe)}get url(){return q(this,Ht).href}get withCredentials(){return q(this,fn)}get onerror(){return q(this,br)}set onerror(e){oe(this,br,e)}get onmessage(){return q(this,vr)}set onmessage(e){oe(this,vr,e)}get onopen(){return q(this,Do)}set onopen(e){oe(this,Do,e)}addEventListener(e,r,o){let s=r;super.addEventListener(e,s,o)}removeEventListener(e,r,o){let s=r;super.removeEventListener(e,s,o)}close(){q(this,Mr)&&clearTimeout(q(this,Mr)),q(this,xe)!==this.CLOSED&&(q(this,vt)&&q(this,vt).abort(),oe(this,xe,this.CLOSED),oe(this,vt,void 0))}};xe=new WeakMap,Ht=new WeakMap,Sr=new WeakMap,fn=new WeakMap,hn=new WeakMap,Po=new WeakMap,Mr=new WeakMap,jo=new WeakMap,vt=new WeakMap,kr=new WeakMap,br=new WeakMap,vr=new WeakMap,Do=new WeakMap,He=new WeakSet,bc=function(){oe(this,xe,this.CONNECTING),oe(this,vt,new AbortController),q(this,hn)(q(this,Ht),it(this,He,fp).call(this)).then(q(this,xc)).catch(q(this,Rc))},xc=new WeakMap,Rc=new WeakMap,fp=function(){var t;let e={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...q(this,jo)?{"Last-Event-ID":q(this,jo)}:void 0},cache:"no-store",signal:(t=q(this,vt))==null?void 0:t.signal};return"window"in globalThis&&(e.credentials=this.withCredentials?"include":"same-origin"),e},Tc=new WeakMap,Dc=new WeakMap,$o=function(t,e){var r;q(this,xe)!==this.CLOSED&&oe(this,xe,this.CLOSED);let o=new gn("error",{code:e,message:t});(r=q(this,br))==null||r.call(this,o),this.dispatchEvent(o)},$c=function(t,e){var r;if(q(this,xe)===this.CLOSED)return;oe(this,xe,this.CONNECTING);let o=new gn("error",{code:e,message:t});(r=q(this,br))==null||r.call(this,o),this.dispatchEvent(o),oe(this,Mr,setTimeout(q(this,Pc),q(this,Po)))},Pc=new WeakMap,Yt.CONNECTING=0,Yt.OPEN=1,Yt.CLOSED=2;function BQ(){let t="document"in globalThis?globalThis.document:void 0;return t&&typeof t=="object"&&"baseURI"in t&&typeof t.baseURI=="string"?t.baseURI:void 0}function xr(t){return t?t instanceof Headers?Object.fromEntries(t.entries()):Array.isArray(t)?Object.fromEntries(t):{...t}:{}}function En(t=fetch,e){return e?async(r,o)=>{let s={...e,...o,headers:o?.headers?{...xr(e.headers),...xr(o.headers)}:e.headers};return t(r,s)}:t}var Nc;Nc=globalThis.crypto?.webcrypto??globalThis.crypto??import("crypto").then(t=>t.webcrypto);async function QQ(t){return(await Nc).getRandomValues(new Uint8Array(t))}async function _Q(t){let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",r=Math.pow(2,8)-Math.pow(2,8)%e.length,o="";for(;o.length<t;){let s=await QQ(t-o.length);for(let n of s)n<r&&(o+=e[n%e.length])}return o}async function SQ(t){return await _Q(t)}async function kQ(t){let e=await(await Nc).subtle.digest("SHA-256",new TextEncoder().encode(t));return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function zc(t){if(t||(t=43),t<43||t>128)throw`Expected a length between 43 and 128. Received ${t}.`;let e=await SQ(t),r=await kQ(e);return{code_verifier:e,code_challenge:r}}var Ee=Pl().superRefine((t,e)=>{if(!URL.canParse(t))return e.addIssue({code:Ul.custom,message:"URL must be parseable",fatal:!0}),xl}).refine(t=>{let e=new URL(t);return e.protocol!=="javascript:"&&e.protocol!=="data:"&&e.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Ep=le({resource:A().url(),authorization_servers:_(Ee).optional(),jwks_uri:A().url().optional(),scopes_supported:_(A()).optional(),bearer_methods_supported:_(A()).optional(),resource_signing_alg_values_supported:_(A()).optional(),resource_name:A().optional(),resource_documentation:A().optional(),resource_policy_uri:A().url().optional(),resource_tos_uri:A().url().optional(),tls_client_certificate_bound_access_tokens:K().optional(),authorization_details_types_supported:_(A()).optional(),dpop_signing_alg_values_supported:_(A()).optional(),dpop_bound_access_tokens_required:K().optional()}),Uc=le({issuer:A(),authorization_endpoint:Ee,token_endpoint:Ee,registration_endpoint:Ee.optional(),scopes_supported:_(A()).optional(),response_types_supported:_(A()),response_modes_supported:_(A()).optional(),grant_types_supported:_(A()).optional(),token_endpoint_auth_methods_supported:_(A()).optional(),token_endpoint_auth_signing_alg_values_supported:_(A()).optional(),service_documentation:Ee.optional(),revocation_endpoint:Ee.optional(),revocation_endpoint_auth_methods_supported:_(A()).optional(),revocation_endpoint_auth_signing_alg_values_supported:_(A()).optional(),introspection_endpoint:A().optional(),introspection_endpoint_auth_methods_supported:_(A()).optional(),introspection_endpoint_auth_signing_alg_values_supported:_(A()).optional(),code_challenge_methods_supported:_(A()).optional(),client_id_metadata_document_supported:K().optional()}),vQ=le({issuer:A(),authorization_endpoint:Ee,token_endpoint:Ee,userinfo_endpoint:Ee.optional(),jwks_uri:Ee,registration_endpoint:Ee.optional(),scopes_supported:_(A()).optional(),response_types_supported:_(A()),response_modes_supported:_(A()).optional(),grant_types_supported:_(A()).optional(),acr_values_supported:_(A()).optional(),subject_types_supported:_(A()),id_token_signing_alg_values_supported:_(A()),id_token_encryption_alg_values_supported:_(A()).optional(),id_token_encryption_enc_values_supported:_(A()).optional(),userinfo_signing_alg_values_supported:_(A()).optional(),userinfo_encryption_alg_values_supported:_(A()).optional(),userinfo_encryption_enc_values_supported:_(A()).optional(),request_object_signing_alg_values_supported:_(A()).optional(),request_object_encryption_alg_values_supported:_(A()).optional(),request_object_encryption_enc_values_supported:_(A()).optional(),token_endpoint_auth_methods_supported:_(A()).optional(),token_endpoint_auth_signing_alg_values_supported:_(A()).optional(),display_values_supported:_(A()).optional(),claim_types_supported:_(A()).optional(),claims_supported:_(A()).optional(),service_documentation:A().optional(),claims_locales_supported:_(A()).optional(),ui_locales_supported:_(A()).optional(),claims_parameter_supported:K().optional(),request_parameter_supported:K().optional(),request_uri_parameter_supported:K().optional(),require_request_uri_registration:K().optional(),op_policy_uri:Ee.optional(),op_tos_uri:Ee.optional(),client_id_metadata_document_supported:K().optional()}),yp=k({...vQ.shape,...Uc.pick({code_challenge_methods_supported:!0}).shape}),wp=k({access_token:A(),id_token:A().optional(),token_type:A(),expires_in:Fl.number().optional(),scope:A().optional(),refresh_token:A().optional()}).strip(),Cp=k({error:A(),error_description:A().optional(),error_uri:A().optional()}),hp=Ee.optional().or(b("").transform(()=>{})),MQ=k({redirect_uris:_(Ee),token_endpoint_auth_method:A().optional(),grant_types:_(A()).optional(),response_types:_(A()).optional(),client_name:A().optional(),client_uri:Ee.optional(),logo_uri:hp,scope:A().optional(),contacts:_(A()).optional(),tos_uri:hp,policy_uri:A().optional(),jwks_uri:Ee.optional(),jwks:Nl().optional(),software_id:A().optional(),software_version:A().optional(),software_statement:A().optional()}).strip(),bQ=k({client_id:A(),client_secret:A().optional(),client_id_issued_at:J().optional(),client_secret_expires_at:J().optional()}).strip(),Ip=MQ.merge(bQ),zT=k({error:A(),error_description:A().optional()}).strip(),UT=k({token:A(),token_type_hint:A().optional()}).strip();function Bp(t){let e=typeof t=="string"?new URL(t):new URL(t.href);return e.hash="",e}function Qp({requestedResource:t,configuredResource:e}){let r=typeof t=="string"?new URL(t):new URL(t.href),o=typeof e=="string"?new URL(e):new URL(e.href);if(r.origin!==o.origin||r.pathname.length<o.pathname.length)return!1;let s=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",n=o.pathname.endsWith("/")?o.pathname:o.pathname+"/";return s.startsWith(n)}var ae=class extends Error{constructor(e,r){super(e),this.errorUri=r,this.name=this.constructor.name}toResponseObject(){let e={error:this.errorCode,error_description:this.message};return this.errorUri&&(e.error_uri=this.errorUri),e}get errorCode(){return this.constructor.errorCode}},No=class extends ae{};No.errorCode="invalid_request";var Jt=class extends ae{};Jt.errorCode="invalid_client";var Wt=class extends ae{};Wt.errorCode="invalid_grant";var Vt=class extends ae{};Vt.errorCode="unauthorized_client";var zo=class extends ae{};zo.errorCode="unsupported_grant_type";var Uo=class extends ae{};Uo.errorCode="invalid_scope";var Fo=class extends ae{};Fo.errorCode="access_denied";var at=class extends ae{};at.errorCode="server_error";var Oo=class extends ae{};Oo.errorCode="temporarily_unavailable";var Lo=class extends ae{};Lo.errorCode="unsupported_response_type";var qo=class extends ae{};qo.errorCode="unsupported_token_type";var Go=class extends ae{};Go.errorCode="invalid_token";var Ho=class extends ae{};Ho.errorCode="method_not_allowed";var Yo=class extends ae{};Yo.errorCode="too_many_requests";var Kt=class extends ae{};Kt.errorCode="invalid_client_metadata";var Jo=class extends ae{};Jo.errorCode="insufficient_scope";var Wo=class extends ae{};Wo.errorCode="invalid_target";var _p={[No.errorCode]:No,[Jt.errorCode]:Jt,[Wt.errorCode]:Wt,[Vt.errorCode]:Vt,[zo.errorCode]:zo,[Uo.errorCode]:Uo,[Fo.errorCode]:Fo,[at.errorCode]:at,[Oo.errorCode]:Oo,[Lo.errorCode]:Lo,[qo.errorCode]:qo,[Go.errorCode]:Go,[Ho.errorCode]:Ho,[Yo.errorCode]:Yo,[Kt.errorCode]:Kt,[Jo.errorCode]:Jo,[Wo.errorCode]:Wo};var _e=class extends Error{constructor(e){super(e??"Unauthorized")}};function xQ(t){return["client_secret_basic","client_secret_post","none"].includes(t)}var Fc="code",Oc="S256";function RQ(t,e){let r=t.client_secret!==void 0;return"token_endpoint_auth_method"in t&&t.token_endpoint_auth_method&&xQ(t.token_endpoint_auth_method)&&(e.length===0||e.includes(t.token_endpoint_auth_method))?t.token_endpoint_auth_method:e.length===0?r?"client_secret_basic":"none":r&&e.includes("client_secret_basic")?"client_secret_basic":r&&e.includes("client_secret_post")?"client_secret_post":e.includes("none")?"none":r?"client_secret_post":"none"}function TQ(t,e,r,o){let{client_id:s,client_secret:n}=e;switch(t){case"client_secret_basic":DQ(s,n,r);return;case"client_secret_post":$Q(s,n,o);return;case"none":PQ(s,o);return;default:throw new Error(`Unsupported client authentication method: ${t}`)}}function DQ(t,e,r){if(!e)throw new Error("client_secret_basic authentication requires a client_secret");let o=btoa(`${t}:${e}`);r.set("Authorization",`Basic ${o}`)}function $Q(t,e,r){r.set("client_id",t),e&&r.set("client_secret",e)}function PQ(t,e){e.set("client_id",t)}async function kp(t){let e=t instanceof Response?t.status:void 0,r=t instanceof Response?await t.text():t;try{let o=Cp.parse(JSON.parse(r)),{error:s,error_description:n,error_uri:i}=o,a=_p[s]||at;return new a(n||"",i)}catch(o){let s=`${e?`HTTP ${e}: `:""}Invalid OAuth error response: ${o}. Raw body: ${r}`;return new at(s)}}async function ct(t,e){try{return await Lc(t,e)}catch(r){if(r instanceof Jt||r instanceof Vt)return await t.invalidateCredentials?.("all"),await Lc(t,e);if(r instanceof Wt)return await t.invalidateCredentials?.("tokens"),await Lc(t,e);throw r}}async function Lc(t,{serverUrl:e,authorizationCode:r,scope:o,resourceMetadataUrl:s,fetchFn:n}){let i=await t.discoveryState?.(),a,c,u,l=s;if(!l&&i?.resourceMetadataUrl&&(l=new URL(i.resourceMetadataUrl)),i?.authorizationServerUrl){if(c=i.authorizationServerUrl,a=i.resourceMetadata,u=i.authorizationServerMetadata??await Mp(c,{fetchFn:n}),!a)try{a=await vp(e,{resourceMetadataUrl:l},n)}catch{}(u!==i.authorizationServerMetadata||a!==i.resourceMetadata)&&await t.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}else{let I=await LQ(e,{resourceMetadataUrl:l,fetchFn:n});c=I.authorizationServerUrl,u=I.authorizationServerMetadata,a=I.resourceMetadata,await t.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}let d=await NQ(e,t,a),p=o||a?.scopes_supported?.join(" ")||t.clientMetadata.scope,m=await Promise.resolve(t.clientInformation());if(!m){if(r!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");let I=u?.client_id_metadata_document_supported===!0,M=t.clientMetadataUrl;if(M&&!jQ(M))throw new Kt(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${M}`);if(I&&M)m={client_id:M},await t.saveClientInformation?.(m);else{if(!t.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");let B=await JQ(c,{metadata:u,clientMetadata:t.clientMetadata,scope:p,fetchFn:n});await t.saveClientInformation(B),m=B}}let g=!t.redirectUrl;if(r!==void 0||g){let I=await YQ(t,c,{metadata:u,resource:d,authorizationCode:r,fetchFn:n});return await t.saveTokens(I),"AUTHORIZED"}let f=await t.tokens();if(f?.refresh_token)try{let I=await HQ(c,{metadata:u,clientInformation:m,refreshToken:f.refresh_token,resource:d,addClientAuthentication:t.addClientAuthentication,fetchFn:n});return await t.saveTokens(I),"AUTHORIZED"}catch(I){if(!(!(I instanceof ae)||I instanceof at))throw I}let h=t.state?await t.state():void 0,{authorizationUrl:y,codeVerifier:w}=await qQ(c,{metadata:u,clientInformation:m,state:h,redirectUrl:t.redirectUrl,scope:p,resource:d});return await t.saveCodeVerifier(w),await t.redirectToAuthorization(y),"REDIRECT"}function jQ(t){if(!t)return!1;try{let e=new URL(t);return e.protocol==="https:"&&e.pathname!=="/"}catch{return!1}}async function NQ(t,e,r){let o=Bp(t);if(e.validateResourceURL)return await e.validateResourceURL(o,r?.resource);if(r){if(!Qp({requestedResource:o,configuredResource:r.resource}))throw new Error(`Protected resource ${r.resource} does not match expected ${o} (or origin)`);return new URL(r.resource)}}function Rr(t){let e=t.headers.get("WWW-Authenticate");if(!e)return{};let[r,o]=e.split(" ");if(r.toLowerCase()!=="bearer"||!o)return{};let s=qc(t,"resource_metadata")||void 0,n;if(s)try{n=new URL(s)}catch{}let i=qc(t,"scope")||void 0,a=qc(t,"error")||void 0;return{resourceMetadataUrl:n,scope:i,error:a}}function qc(t,e){let r=t.headers.get("WWW-Authenticate");if(!r)return null;let o=new RegExp(`${e}=(?:"([^"]+)"|([^\\s,]+))`),s=r.match(o);return s?s[1]||s[2]:null}async function vp(t,e,r=fetch){let o=await FQ(t,"oauth-protected-resource",r,{protocolVersion:e?.protocolVersion,metadataUrl:e?.resourceMetadataUrl});if(!o||o.status===404)throw await o?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!o.ok)throw await o.body?.cancel(),new Error(`HTTP ${o.status} trying to load well-known OAuth protected resource metadata.`);return Ep.parse(await o.json())}async function Gc(t,e,r=fetch){try{return await r(t,{headers:e})}catch(o){if(o instanceof TypeError)return e?Gc(t,void 0,r):void 0;throw o}}function zQ(t,e="",r={}){return e.endsWith("/")&&(e=e.slice(0,-1)),r.prependPathname?`${e}/.well-known/${t}`:`/.well-known/${t}${e}`}async function Sp(t,e,r=fetch){return await Gc(t,{"MCP-Protocol-Version":e},r)}function UQ(t,e){return!t||t.status>=400&&t.status<500&&e!=="/"}async function FQ(t,e,r,o){let s=new URL(t),n=o?.protocolVersion??nr,i;if(o?.metadataUrl)i=new URL(o.metadataUrl);else{let c=zQ(e,s.pathname);i=new URL(c,o?.metadataServerUrl??s),i.search=s.search}let a=await Sp(i,n,r);if(!o?.metadataUrl&&UQ(a,s.pathname)){let c=new URL(`/.well-known/${e}`,s);a=await Sp(c,n,r)}return a}function OQ(t){let e=typeof t=="string"?new URL(t):t,r=e.pathname!=="/",o=[];if(!r)return o.push({url:new URL("/.well-known/oauth-authorization-server",e.origin),type:"oauth"}),o.push({url:new URL("/.well-known/openid-configuration",e.origin),type:"oidc"}),o;let s=e.pathname;return s.endsWith("/")&&(s=s.slice(0,-1)),o.push({url:new URL(`/.well-known/oauth-authorization-server${s}`,e.origin),type:"oauth"}),o.push({url:new URL(`/.well-known/openid-configuration${s}`,e.origin),type:"oidc"}),o.push({url:new URL(`${s}/.well-known/openid-configuration`,e.origin),type:"oidc"}),o}async function Mp(t,{fetchFn:e=fetch,protocolVersion:r=nr}={}){let o={"MCP-Protocol-Version":r,Accept:"application/json"},s=OQ(t);for(let{url:n,type:i}of s){let a=await Gc(n,o,e);if(a){if(!a.ok){if(await a.body?.cancel(),a.status>=400&&a.status<500)continue;throw new Error(`HTTP ${a.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${n}`)}return i==="oauth"?Uc.parse(await a.json()):yp.parse(await a.json())}}}async function LQ(t,e){let r,o;try{r=await vp(t,{resourceMetadataUrl:e?.resourceMetadataUrl},e?.fetchFn),r.authorization_servers&&r.authorization_servers.length>0&&(o=r.authorization_servers[0])}catch{}o||(o=String(new URL("/",t)));let s=await Mp(o,{fetchFn:e?.fetchFn});return{authorizationServerUrl:o,authorizationServerMetadata:s,resourceMetadata:r}}async function qQ(t,{metadata:e,clientInformation:r,redirectUrl:o,scope:s,state:n,resource:i}){let a;if(e){if(a=new URL(e.authorization_endpoint),!e.response_types_supported.includes(Fc))throw new Error(`Incompatible auth server: does not support response type ${Fc}`);if(e.code_challenge_methods_supported&&!e.code_challenge_methods_supported.includes(Oc))throw new Error(`Incompatible auth server: does not support code challenge method ${Oc}`)}else a=new URL("/authorize",t);let c=await zc(),u=c.code_verifier,l=c.code_challenge;return a.searchParams.set("response_type",Fc),a.searchParams.set("client_id",r.client_id),a.searchParams.set("code_challenge",l),a.searchParams.set("code_challenge_method",Oc),a.searchParams.set("redirect_uri",String(o)),n&&a.searchParams.set("state",n),s&&a.searchParams.set("scope",s),s?.includes("offline_access")&&a.searchParams.append("prompt","consent"),i&&a.searchParams.set("resource",i.href),{authorizationUrl:a,codeVerifier:u}}function GQ(t,e,r){return new URLSearchParams({grant_type:"authorization_code",code:t,code_verifier:e,redirect_uri:String(r)})}async function bp(t,{metadata:e,tokenRequestParams:r,clientInformation:o,addClientAuthentication:s,resource:n,fetchFn:i}){let a=e?.token_endpoint?new URL(e.token_endpoint):new URL("/token",t),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(n&&r.set("resource",n.href),s)await s(c,r,a,e);else if(o){let l=e?.token_endpoint_auth_methods_supported??[],d=RQ(o,l);TQ(d,o,c,r)}let u=await(i??fetch)(a,{method:"POST",headers:c,body:r});if(!u.ok)throw await kp(u);return wp.parse(await u.json())}async function HQ(t,{metadata:e,clientInformation:r,refreshToken:o,resource:s,addClientAuthentication:n,fetchFn:i}){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:o}),c=await bp(t,{metadata:e,tokenRequestParams:a,clientInformation:r,addClientAuthentication:n,resource:s,fetchFn:i});return{refresh_token:o,...c}}async function YQ(t,e,{metadata:r,resource:o,authorizationCode:s,fetchFn:n}={}){let i=t.clientMetadata.scope,a;if(t.prepareTokenRequest&&(a=await t.prepareTokenRequest(i)),!a){if(!s)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!t.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");let u=await t.codeVerifier();a=GQ(s,u,t.redirectUrl)}let c=await t.clientInformation();return bp(e,{metadata:r,tokenRequestParams:a,clientInformation:c??void 0,addClientAuthentication:t.addClientAuthentication,resource:o,fetchFn:n})}async function JQ(t,{metadata:e,clientMetadata:r,scope:o,fetchFn:s}){let n;if(e){if(!e.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");n=new URL(e.registration_endpoint)}else n=new URL("/register",t);let i=await(s??fetch)(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,...o!==void 0?{scope:o}:{}})});if(!i.ok)throw await kp(i);return Ip.parse(await i.json())}var Hc=class extends Error{constructor(e,r,o){super(`SSE error: ${r}`),this.code=e,this.event=o}},yn=class{constructor(e,r){this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=r?.eventSourceInit,this._requestInit=r?.requestInit,this._authProvider=r?.authProvider,this._fetch=r?.fetch,this._fetchWithInit=En(r?.fetch,r?.requestInit)}async _authThenStart(){if(!this._authProvider)throw new _e("No auth provider");let e;try{e=await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(r){throw this.onerror?.(r),r}if(e!=="AUTHORIZED")throw new _e;return await this._startOrAuth()}async _commonHeaders(){let e={};if(this._authProvider){let o=await this._authProvider.tokens();o&&(e.Authorization=`Bearer ${o.access_token}`)}this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);let r=xr(this._requestInit?.headers);return new Headers({...e,...r})}_startOrAuth(){let e=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((r,o)=>{this._eventSource=new Yt(this._url.href,{...this._eventSourceInit,fetch:async(s,n)=>{let i=await this._commonHeaders();i.set("Accept","text/event-stream");let a=await e(s,{...n,headers:i});if(a.status===401&&a.headers.has("www-authenticate")){let{resourceMetadataUrl:c,scope:u}=Rr(a);this._resourceMetadataUrl=c,this._scope=u}return a}}),this._abortController=new AbortController,this._eventSource.onerror=s=>{if(s.code===401&&this._authProvider){this._authThenStart().then(r,o);return}let n=new Hc(s.code,s.message,s);o(n),this.onerror?.(n)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",s=>{let n=s;try{if(this._endpoint=new URL(n.data,this._url),this._endpoint.origin!==this._url.origin)throw new Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch(i){o(i),this.onerror?.(i),this.close();return}r()}),this._eventSource.onmessage=s=>{let n=s,i;try{i=Et.parse(JSON.parse(n.data))}catch(a){this.onerror?.(a);return}this.onmessage?.(i)}})}async start(){if(this._eventSource)throw new Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(e){if(!this._authProvider)throw new _e("No auth provider");if(await ct(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(e){if(!this._endpoint)throw new Error("Not connected");try{let r=await this._commonHeaders();r.set("content-type","application/json");let o={...this._requestInit,method:"POST",headers:r,body:JSON.stringify(e),signal:this._abortController?.signal},s=await(this._fetch??fetch)(this._endpoint,o);if(!s.ok){let n=await s.text().catch(()=>null);if(s.status===401&&this._authProvider){let{resourceMetadataUrl:i,scope:a}=Rr(s);if(this._resourceMetadataUrl=i,this._scope=a,await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e;return this.send(e)}throw new Error(`Error POSTing to endpoint (HTTP ${s.status}): ${n}`)}await s.body?.cancel()}catch(r){throw this.onerror?.(r),r}}setProtocolVersion(e){this._protocolVersion=e}};var wm=us(Em(),1);import rl from"process";import{PassThrough as B_}from"stream";var C_=10*1024*1024,Cn=class{constructor(e){this._maxBufferSize=e?.maxBufferSize??C_}append(e){if((this._buffer?.length??0)+e.length>this._maxBufferSize)throw this.clear(),new Error(`ReadBuffer exceeded maximum size of ${this._maxBufferSize} bytes`);this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
21
21
|
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),I_(r)}clear(){this._buffer=void 0}};function I_(t){return Et.parse(JSON.parse(t))}function ym(t){return JSON.stringify(t)+`
|
|
22
|
-
`}var Q_=rl.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function __(){let t={};for(let e of Q_){let r=rl.env[e];r!==void 0&&(r.startsWith("()")||(t[e]=r))}return t}var In=class{constructor(e){this._stderrStream=null,this._serverParams=e,this._readBuffer=new Cn({maxBufferSize:e.maxBufferSize}),(e.stderr==="pipe"||e.stderr==="overlapped")&&(this._stderrStream=new B_)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((e,r)=>{this._process=(0,wm.default)(this._serverParams.command,this._serverParams.args??[],{env:{...__(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:rl.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",o=>{r(o),this.onerror?.(o)}),this._process.on("spawn",()=>{e()}),this._process.on("close",o=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",o=>{this.onerror?.(o)}),this._process.stdout?.on("data",o=>{try{this._readBuffer.append(o),this.processReadBuffer()}catch(s){this.onerror?.(s),this.close().catch(()=>{})}}),this._process.stdout?.on("error",o=>{this.onerror?.(o)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){if(this._process){let e=this._process;this._process=void 0;let r=new Promise(o=>{e.once("close",()=>{o()})});try{e.stdin?.end()}catch{}if(await Promise.race([r,new Promise(o=>setTimeout(o,2e3).unref())]),e.exitCode===null){try{e.kill("SIGTERM")}catch{}await Promise.race([r,new Promise(o=>setTimeout(o,2e3).unref())])}if(e.exitCode===null)try{e.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(e){return new Promise(r=>{if(!this._process?.stdin)throw new Error("Not connected");let o=ym(e);this._process.stdin.write(o)?r():this._process.stdin.once("drain",r)})}};var _m=us(Qm(),1);function Sm(t){if(t)try{return _m.default.parse(t).type}catch{let e=(t.split(";",1)[0]??"").trim().toLowerCase();return e===""||t.slice(e.length).includes(",")?void 0:e}}var Bn=class extends TransformStream{constructor({onError:e,onRetry:r,onComment:o,maxBufferSize:s}={}){let n;super({start(i){n=mn({onEvent:a=>{i.enqueue(a)},onError(a){typeof e=="function"&&e(a),(e==="terminate"||a.type==="max-buffer-size-exceeded")&&i.error(a)},onRetry:r,onComment:o,maxBufferSize:s})},transform(i){n.feed(i)}})}};var D_={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},vt=class extends Error{constructor(e,r){super(`Streamable HTTP error: ${r}`),this.code=e}},Qn=class{constructor(e,r){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=r?.requestInit,this._authProvider=r?.authProvider,this._fetch=r?.fetch,this._fetchWithInit=En(r?.fetch,r?.requestInit),this._sessionId=r?.sessionId,this._reconnectionOptions=r?.reconnectionOptions??D_}async _authThenStart(){if(!this._authProvider)throw new _e("No auth provider");let e;try{e=await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(r){throw this.onerror?.(r),r}if(e!=="AUTHORIZED")throw new _e;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let e={};if(this._authProvider){let o=await this._authProvider.tokens();o&&(e.Authorization=`Bearer ${o.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);let r=xr(this._requestInit?.headers);return new Headers({...e,...r})}async _startOrAuthSse(e){let{resumptionToken:r}=e;try{let o=await this._commonHeaders();o.set("Accept","text/event-stream"),r&&o.set("last-event-id",r);let s=await(this._fetch??fetch)(this._url,{method:"GET",headers:o,signal:this._abortController?.signal});if(!s.ok){if(await s.body?.cancel(),s.status===401&&this._authProvider)return await this._authThenStart();if(s.status===405)return;throw new vt(s.status,`Failed to open SSE stream: ${s.statusText}`)}this._handleSseStream(s.body,e,!0)}catch(o){throw this.onerror?.(o),o}}_getNextReconnectionDelay(e){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let r=this._reconnectionOptions.initialReconnectionDelay,o=this._reconnectionOptions.reconnectionDelayGrowFactor,s=this._reconnectionOptions.maxReconnectionDelay;return Math.min(r*Math.pow(o,e),s)}_scheduleReconnection(e,r=0){let o=this._reconnectionOptions.maxRetries;if(r>=o){this.onerror?.(new Error(`Maximum reconnection attempts (${o}) exceeded.`));return}let s=this._getNextReconnectionDelay(r);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(n=>{this.onerror?.(new Error(`Failed to reconnect SSE stream: ${n instanceof Error?n.message:String(n)}`)),this._scheduleReconnection(e,r+1)})},s)}_handleSseStream(e,r,o){if(!e)return;let{onresumptiontoken:s,replayMessageId:n}=r,i,a=!1,c=!1;(async()=>{try{let l=e.pipeThrough(new TextDecoderStream).pipeThrough(new Bn({onRetry:m=>{this._serverRetryMs=m}})).getReader();for(;;){let{value:m,done:g}=await l.read();if(g)break;if(m.id&&(i=m.id,a=!0,s?.(m.id)),!!m.data&&(!m.event||m.event==="message"))try{let f=Et.parse(JSON.parse(m.data));xt(f)&&(c=!0,n!==void 0&&(f.id=n)),this.onmessage?.(f)}catch(f){this.onerror?.(f)}}(o||a)&&!c&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:i,onresumptiontoken:s,replayMessageId:n},0)}catch(l){if(this.onerror?.(new Error(`SSE stream disconnected: ${l}`)),(o||a)&&!c&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:i,onresumptiontoken:s,replayMessageId:n},0)}catch(m){this.onerror?.(new Error(`Failed to reconnect: ${m instanceof Error?m.message:String(m)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new _e("No auth provider");if(await ct(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(e,r){try{let{resumptionToken:o,onresumptiontoken:s}=r||{};if(o){this._startOrAuthSse({resumptionToken:o,replayMessageId:Wr(e)?e.id:void 0}).catch(m=>this.onerror?.(m));return}let n=await this._commonHeaders();n.set("content-type","application/json"),n.set("accept","application/json, text/event-stream");let i={...this._requestInit,method:"POST",headers:n,body:JSON.stringify(e),signal:this._abortController?.signal},a=await(this._fetch??fetch)(this._url,i),c=a.headers.get("mcp-session-id");if(c&&(this._sessionId=c),!a.ok){let m=await a.text().catch(()=>null);if(a.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new vt(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:g,scope:f}=Rr(a);if(this._resourceMetadataUrl=g,this._scope=f,await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e;return this._hasCompletedAuthFlow=!0,this.send(e)}if(a.status===403&&this._authProvider){let{resourceMetadataUrl:g,scope:f,error:h}=Rr(a);if(h==="insufficient_scope"){let y=a.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===y)throw new vt(403,"Server returned 403 after trying upscoping");if(f&&(this._scope=f),g&&(this._resourceMetadataUrl=g),this._lastUpscopingHeader=y??void 0,await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new _e;return this.send(e)}}throw new vt(a.status,`Error POSTing to endpoint: ${m}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,a.status===202){await a.body?.cancel(),iu(e)&&this._startOrAuthSse({resumptionToken:void 0}).catch(m=>this.onerror?.(m));return}let l=(Array.isArray(e)?e:[e]).filter(m=>"method"in m&&"id"in m&&m.id!==void 0).length>0,d=a.headers.get("content-type"),p=Sm(d);if(l)if(p==="text/event-stream")this._handleSseStream(a.body,{onresumptiontoken:s},!1);else if(p==="application/json"){let m=await a.json(),g=Array.isArray(m)?m.map(f=>Et.parse(f)):[Et.parse(m)];for(let f of g)this.onmessage?.(f)}else throw await a.body?.cancel(),new vt(-1,`Unexpected content type: ${d}`);else await a.body?.cancel()}catch(o){throw this.onerror?.(o),o}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let e=await this._commonHeaders(),r={...this._requestInit,method:"DELETE",headers:e,signal:this._abortController?.signal},o=await(this._fetch??fetch)(this._url,r);if(await o.body?.cancel(),!o.ok&&o.status!==405)throw new vt(o.status,`Failed to terminate session: ${o.statusText}`);this._sessionId=void 0}catch(e){throw this.onerror?.(e),e}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,r){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:r?.onresumptiontoken})}};import{readFileSync as $_,statSync as P_}from"fs";import{extname as j_}from"path";import sl from"sharp";var N_=T({module:"images"});function km(t){if(t==="image/png"||t==="image/jpeg"||t==="image/gif"||t==="image/webp")return t;throw new Error(`Unsupported image media type: "${t}"`)}var al=5*1024*1024,nl=al*3/4,bt=2e3,PD=10,$r=class extends Error{constructor(e){super(e),this.name="ImageTooLargeError"}},z_={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp"};function U_(t){return z_[j_(t).toLowerCase()]??null}function Mm(t){return U_(t)!==null}function F_(t){return t.length>=8&&t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?"image/png":t.length>=3&&t[0]===255&&t[1]===216&&t[2]===255?"image/jpeg":t.length>=6&&t[0]===71&&t[1]===73&&t[2]===70?"image/gif":t.length>=12&&t[0]===82&&t[1]===73&&t[2]===70&&t[3]===70&&t[8]===87&&t[9]===69&&t[10]===66&&t[11]===80?"image/webp":null}async function vm(t){if(!P_(t).isFile())throw new Error(`Not a file: ${t}`);let r=$_(t),o=F_(r);if(!o)throw new Error(`File ${t} has an image extension but its contents are not a supported image format (png/jpeg/gif/webp)`);let s=await cl(r,o);return{mediaType:s.mediaType,data:s.data,sourcePath:t,byteLength:s.byteLength}}function il(t,e){return{data:t.toString("base64"),mediaType:e,byteLength:t.length}}function Vo(t){return`${(t/(1024*1024)).toFixed(1)}MB`}async function cl(t,e){if(t.length===0)throw new $r("Image file is empty (0 bytes)");if(t.length<=nl)return il(t,e);try{return await O_(t,e)}catch(r){throw r instanceof $r?r:(N_.warn({err:r},"sharp compression failed"),new $r(`Image is ${Vo(t.length)} raw (${Vo(t.length*4/3)} base64-encoded, API limit ${Vo(al)}) and compression failed. Please provide a smaller image.`))}}async function O_(t,e){let r=await sl(t).metadata(),o=r.width??bt,s=r.height??bt;o>bt&&(s=Math.max(1,Math.round(s*bt/o)),o=bt),s>bt&&(o=Math.max(1,Math.round(o*bt/s)),s=bt);let n=e==="image/png"||e==="image/gif";for(let i=0;i<3;i++){if(n){let a=await sl(t).resize(o,s,{fit:"inside",withoutEnlargement:!0}).png({compressionLevel:8,palette:!0}).toBuffer();if(a.length<=nl)return il(a,"image/png")}for(let a of[80,60,40,20]){let c=await sl(t).resize(o,s,{fit:"inside",withoutEnlargement:!0}).jpeg({quality:a}).toBuffer();if(c.length<=nl)return il(c,"image/jpeg")}o=Math.max(1,Math.round(o/2)),s=Math.max(1,Math.round(s/2))}throw new $r(`Unable to compress image (${Vo(t.length)} raw) under the ${Vo(al)} API limit. Please provide a smaller image.`)}import{readFileSync as L_}from"fs";import bm from"path";import{fileURLToPath as q_}from"url";var G_=$.object({version:$.string()});function H_(){return"0.0.21"}var xm=H_();var Tm=T({module:"mcp"});function Rm(t){return t.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,r,o)=>process.env[r||o]??"")}function Y_(t){let e={};for(let[r,o]of Object.entries(t))e[r]=o??"";return e}var J_=new Set(["image/png","image/jpeg","image/gif","image/webp"]);async function W_(t){let e=[],r=[];for(let s of t){let n=Ol(s)?s:{};if(n.type==="image"&&typeof n.data=="string"&&typeof n.mimeType=="string"&&J_.has(n.mimeType))try{let i=await cl(Buffer.from(n.data,"base64"),km(n.mimeType));r.push({type:"image",source:{type:"base64",media_type:i.mediaType,data:i.data}});continue}catch(i){Tm.warn({err:i},"mcp image dropped (too large to fit the API limit)"),e.push("[note: an image returned by the tool was too large and was dropped]");continue}e.push(n.type==="text"&&typeof n.text=="string"?n.text:JSON.stringify(s))}let o=e.join(`
|
|
23
|
-
`);return r.length===0?o:[...o?[{type:"text",text:o}]:[],...r]}var _n=class{name;config;client=null;transport=null;constructor(e){this.name=e.name,this.config=e}async connect(){if(this.config.command){let e=process.env;if(this.config.env)for(let[r,o]of Object.entries(this.config.env))e[r]=Rm(o);this.transport=new In({command:this.config.command,args:this.config.args??[],env:Y_(e),stderr:"ignore"})}else if(this.config.url){let e=new URL(this.config.url),r={};if(this.config.headers)for(let[s,n]of Object.entries(this.config.headers))r[s]=Rm(n);let o={requestInit:{headers:r}};this.transport=this.config.transport==="sse"?new yn(e,o):new Qn(e,o)}else throw new Error(`MCP server '${this.name}': needs either 'command' (stdio) or 'url' (http/sse)`);this.client=new pn({name:"swifty",version:xm},{}),await this.client.connect(this.transport)}getInstructions(){return this.client?.getInstructions()??""}async listTools(){if(!this.client)throw new Error("Not connected");return(await this.client.listTools()).tools.map(({name:r,description:o,inputSchema:{properties:s,...n}})=>({name:r,description:o??"",inputSchema:{...n,properties:s??{}}}))}async callTool(e,r){if(!this.client)throw new Error("Not connected");let o=await this.client.callTool({name:e,arguments:r}),s;return o.content&&Array.isArray(o.content)?s=await W_(o.content):s=JSON.stringify(o),{output:s,isError:o.isError===!0}}async disconnect(){try{await this.client?.close()}catch(e){Tm.error({err:e},"mcp operation failed")}this.client=null,this.transport=null}};var V_=T({module:"mcp"}),Dm=class{clients=new Map;async connectAll(e){let r={tools:[],servers:[],errors:[],instructions:[]};for(let o of e){let s=new _n(o);try{await s.connect()
|
|
22
|
+
`}var Q_=rl.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function __(){let t={};for(let e of Q_){let r=rl.env[e];r!==void 0&&(r.startsWith("()")||(t[e]=r))}return t}var In=class{constructor(e){this._stderrStream=null,this._serverParams=e,this._readBuffer=new Cn({maxBufferSize:e.maxBufferSize}),(e.stderr==="pipe"||e.stderr==="overlapped")&&(this._stderrStream=new B_)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((e,r)=>{this._process=(0,wm.default)(this._serverParams.command,this._serverParams.args??[],{env:{...__(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:rl.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",o=>{r(o),this.onerror?.(o)}),this._process.on("spawn",()=>{e()}),this._process.on("close",o=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",o=>{this.onerror?.(o)}),this._process.stdout?.on("data",o=>{try{this._readBuffer.append(o),this.processReadBuffer()}catch(s){this.onerror?.(s),this.close().catch(()=>{})}}),this._process.stdout?.on("error",o=>{this.onerror?.(o)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){if(this._process){let e=this._process;this._process=void 0;let r=new Promise(o=>{e.once("close",()=>{o()})});try{e.stdin?.end()}catch{}if(await Promise.race([r,new Promise(o=>setTimeout(o,2e3).unref())]),e.exitCode===null){try{e.kill("SIGTERM")}catch{}await Promise.race([r,new Promise(o=>setTimeout(o,2e3).unref())])}if(e.exitCode===null)try{e.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(e){return new Promise(r=>{if(!this._process?.stdin)throw new Error("Not connected");let o=ym(e);this._process.stdin.write(o)?r():this._process.stdin.once("drain",r)})}};var _m=us(Qm(),1);function Sm(t){if(t)try{return _m.default.parse(t).type}catch{let e=(t.split(";",1)[0]??"").trim().toLowerCase();return e===""||t.slice(e.length).includes(",")?void 0:e}}var Bn=class extends TransformStream{constructor({onError:e,onRetry:r,onComment:o,maxBufferSize:s}={}){let n;super({start(i){n=mn({onEvent:a=>{i.enqueue(a)},onError(a){typeof e=="function"&&e(a),(e==="terminate"||a.type==="max-buffer-size-exceeded")&&i.error(a)},onRetry:r,onComment:o,maxBufferSize:s})},transform(i){n.feed(i)}})}};var D_={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2},Mt=class extends Error{constructor(e,r){super(`Streamable HTTP error: ${r}`),this.code=e}},Qn=class{constructor(e,r){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=r?.requestInit,this._authProvider=r?.authProvider,this._fetch=r?.fetch,this._fetchWithInit=En(r?.fetch,r?.requestInit),this._sessionId=r?.sessionId,this._reconnectionOptions=r?.reconnectionOptions??D_}async _authThenStart(){if(!this._authProvider)throw new _e("No auth provider");let e;try{e=await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(r){throw this.onerror?.(r),r}if(e!=="AUTHORIZED")throw new _e;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let e={};if(this._authProvider){let o=await this._authProvider.tokens();o&&(e.Authorization=`Bearer ${o.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);let r=xr(this._requestInit?.headers);return new Headers({...e,...r})}async _startOrAuthSse(e){let{resumptionToken:r}=e;try{let o=await this._commonHeaders();o.set("Accept","text/event-stream"),r&&o.set("last-event-id",r);let s=await(this._fetch??fetch)(this._url,{method:"GET",headers:o,signal:this._abortController?.signal});if(!s.ok){if(await s.body?.cancel(),s.status===401&&this._authProvider)return await this._authThenStart();if(s.status===405)return;throw new Mt(s.status,`Failed to open SSE stream: ${s.statusText}`)}this._handleSseStream(s.body,e,!0)}catch(o){throw this.onerror?.(o),o}}_getNextReconnectionDelay(e){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let r=this._reconnectionOptions.initialReconnectionDelay,o=this._reconnectionOptions.reconnectionDelayGrowFactor,s=this._reconnectionOptions.maxReconnectionDelay;return Math.min(r*Math.pow(o,e),s)}_scheduleReconnection(e,r=0){let o=this._reconnectionOptions.maxRetries;if(r>=o){this.onerror?.(new Error(`Maximum reconnection attempts (${o}) exceeded.`));return}let s=this._getNextReconnectionDelay(r);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(n=>{this.onerror?.(new Error(`Failed to reconnect SSE stream: ${n instanceof Error?n.message:String(n)}`)),this._scheduleReconnection(e,r+1)})},s)}_handleSseStream(e,r,o){if(!e)return;let{onresumptiontoken:s,replayMessageId:n}=r,i,a=!1,c=!1;(async()=>{try{let l=e.pipeThrough(new TextDecoderStream).pipeThrough(new Bn({onRetry:m=>{this._serverRetryMs=m}})).getReader();for(;;){let{value:m,done:g}=await l.read();if(g)break;if(m.id&&(i=m.id,a=!0,s?.(m.id)),!!m.data&&(!m.event||m.event==="message"))try{let f=Et.parse(JSON.parse(m.data));xt(f)&&(c=!0,n!==void 0&&(f.id=n)),this.onmessage?.(f)}catch(f){this.onerror?.(f)}}(o||a)&&!c&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:i,onresumptiontoken:s,replayMessageId:n},0)}catch(l){if(this.onerror?.(new Error(`SSE stream disconnected: ${l}`)),(o||a)&&!c&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:i,onresumptiontoken:s,replayMessageId:n},0)}catch(m){this.onerror?.(new Error(`Failed to reconnect: ${m instanceof Error?m.message:String(m)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new _e("No auth provider");if(await ct(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(e,r){try{let{resumptionToken:o,onresumptiontoken:s}=r||{};if(o){this._startOrAuthSse({resumptionToken:o,replayMessageId:Wr(e)?e.id:void 0}).catch(m=>this.onerror?.(m));return}let n=await this._commonHeaders();n.set("content-type","application/json"),n.set("accept","application/json, text/event-stream");let i={...this._requestInit,method:"POST",headers:n,body:JSON.stringify(e),signal:this._abortController?.signal},a=await(this._fetch??fetch)(this._url,i),c=a.headers.get("mcp-session-id");if(c&&(this._sessionId=c),!a.ok){let m=await a.text().catch(()=>null);if(a.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new Mt(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:g,scope:f}=Rr(a);if(this._resourceMetadataUrl=g,this._scope=f,await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new _e;return this._hasCompletedAuthFlow=!0,this.send(e)}if(a.status===403&&this._authProvider){let{resourceMetadataUrl:g,scope:f,error:h}=Rr(a);if(h==="insufficient_scope"){let y=a.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===y)throw new Mt(403,"Server returned 403 after trying upscoping");if(f&&(this._scope=f),g&&(this._resourceMetadataUrl=g),this._lastUpscopingHeader=y??void 0,await ct(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new _e;return this.send(e)}}throw new Mt(a.status,`Error POSTing to endpoint: ${m}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,a.status===202){await a.body?.cancel(),iu(e)&&this._startOrAuthSse({resumptionToken:void 0}).catch(m=>this.onerror?.(m));return}let l=(Array.isArray(e)?e:[e]).filter(m=>"method"in m&&"id"in m&&m.id!==void 0).length>0,d=a.headers.get("content-type"),p=Sm(d);if(l)if(p==="text/event-stream")this._handleSseStream(a.body,{onresumptiontoken:s},!1);else if(p==="application/json"){let m=await a.json(),g=Array.isArray(m)?m.map(f=>Et.parse(f)):[Et.parse(m)];for(let f of g)this.onmessage?.(f)}else throw await a.body?.cancel(),new Mt(-1,`Unexpected content type: ${d}`);else await a.body?.cancel()}catch(o){throw this.onerror?.(o),o}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let e=await this._commonHeaders(),r={...this._requestInit,method:"DELETE",headers:e,signal:this._abortController?.signal},o=await(this._fetch??fetch)(this._url,r);if(await o.body?.cancel(),!o.ok&&o.status!==405)throw new Mt(o.status,`Failed to terminate session: ${o.statusText}`);this._sessionId=void 0}catch(e){throw this.onerror?.(e),e}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,r){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:r?.onresumptiontoken})}};import{readFileSync as $_,statSync as P_}from"fs";import{extname as j_}from"path";import sl from"sharp";var N_=T({module:"images"});function km(t){if(t==="image/png"||t==="image/jpeg"||t==="image/gif"||t==="image/webp")return t;throw new Error(`Unsupported image media type: "${t}"`)}var al=5*1024*1024,nl=al*3/4,bt=2e3,PD=10,$r=class extends Error{constructor(e){super(e),this.name="ImageTooLargeError"}},z_={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp"};function U_(t){return z_[j_(t).toLowerCase()]??null}function vm(t){return U_(t)!==null}function F_(t){return t.length>=8&&t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?"image/png":t.length>=3&&t[0]===255&&t[1]===216&&t[2]===255?"image/jpeg":t.length>=6&&t[0]===71&&t[1]===73&&t[2]===70?"image/gif":t.length>=12&&t[0]===82&&t[1]===73&&t[2]===70&&t[3]===70&&t[8]===87&&t[9]===69&&t[10]===66&&t[11]===80?"image/webp":null}async function Mm(t){if(!P_(t).isFile())throw new Error(`Not a file: ${t}`);let r=$_(t),o=F_(r);if(!o)throw new Error(`File ${t} has an image extension but its contents are not a supported image format (png/jpeg/gif/webp)`);let s=await cl(r,o);return{mediaType:s.mediaType,data:s.data,sourcePath:t,byteLength:s.byteLength}}function il(t,e){return{data:t.toString("base64"),mediaType:e,byteLength:t.length}}function Vo(t){return`${(t/(1024*1024)).toFixed(1)}MB`}async function cl(t,e){if(t.length===0)throw new $r("Image file is empty (0 bytes)");if(t.length<=nl)return il(t,e);try{return await O_(t,e)}catch(r){throw r instanceof $r?r:(N_.warn({err:r},"sharp compression failed"),new $r(`Image is ${Vo(t.length)} raw (${Vo(t.length*4/3)} base64-encoded, API limit ${Vo(al)}) and compression failed. Please provide a smaller image.`))}}async function O_(t,e){let r=await sl(t).metadata(),o=r.width??bt,s=r.height??bt;o>bt&&(s=Math.max(1,Math.round(s*bt/o)),o=bt),s>bt&&(o=Math.max(1,Math.round(o*bt/s)),s=bt);let n=e==="image/png"||e==="image/gif";for(let i=0;i<3;i++){if(n){let a=await sl(t).resize(o,s,{fit:"inside",withoutEnlargement:!0}).png({compressionLevel:8,palette:!0}).toBuffer();if(a.length<=nl)return il(a,"image/png")}for(let a of[80,60,40,20]){let c=await sl(t).resize(o,s,{fit:"inside",withoutEnlargement:!0}).jpeg({quality:a}).toBuffer();if(c.length<=nl)return il(c,"image/jpeg")}o=Math.max(1,Math.round(o/2)),s=Math.max(1,Math.round(s/2))}throw new $r(`Unable to compress image (${Vo(t.length)} raw) under the ${Vo(al)} API limit. Please provide a smaller image.`)}import{readFileSync as L_}from"fs";import bm from"path";import{fileURLToPath as q_}from"url";var G_=$.object({version:$.string()});function H_(){return"0.0.22"}var xm=H_();var Tm=T({module:"mcp"});function Rm(t){return t.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,r,o)=>process.env[r||o]??"")}function Y_(t){let e={};for(let[r,o]of Object.entries(t))e[r]=o??"";return e}var J_=new Set(["image/png","image/jpeg","image/gif","image/webp"]);async function W_(t){let e=[],r=[];for(let s of t){let n=Ol(s)?s:{};if(n.type==="image"&&typeof n.data=="string"&&typeof n.mimeType=="string"&&J_.has(n.mimeType))try{let i=await cl(Buffer.from(n.data,"base64"),km(n.mimeType));r.push({type:"image",source:{type:"base64",media_type:i.mediaType,data:i.data}});continue}catch(i){Tm.warn({err:i},"mcp image dropped (too large to fit the API limit)"),e.push("[note: an image returned by the tool was too large and was dropped]");continue}e.push(n.type==="text"&&typeof n.text=="string"?n.text:JSON.stringify(s))}let o=e.join(`
|
|
23
|
+
`);return r.length===0?o:[...o?[{type:"text",text:o}]:[],...r]}var _n=class{name;config;client=null;transport=null;constructor(e){this.name=e.name,this.config=e}async connect(){if(this.config.command){let e=process.env;if(this.config.env)for(let[r,o]of Object.entries(this.config.env))e[r]=Rm(o);this.transport=new In({command:this.config.command,args:this.config.args??[],env:Y_(e),stderr:"ignore"})}else if(this.config.url){let e=new URL(this.config.url),r={};if(this.config.headers)for(let[s,n]of Object.entries(this.config.headers))r[s]=Rm(n);let o={requestInit:{headers:r}};this.transport=this.config.transport==="sse"?new yn(e,o):new Qn(e,o)}else throw new Error(`MCP server '${this.name}': needs either 'command' (stdio) or 'url' (http/sse)`);this.client=new pn({name:"swifty",version:xm},{}),await this.client.connect(this.transport)}getInstructions(){return this.client?.getInstructions()??""}async listTools(){if(!this.client)throw new Error("Not connected");return(await this.client.listTools()).tools.map(({name:r,description:o,inputSchema:{properties:s,...n}})=>({name:r,description:o??"",inputSchema:{...n,properties:s??{}}}))}async callTool(e,r){if(!this.client)throw new Error("Not connected");let o=await this.client.callTool({name:e,arguments:r}),s;return o.content&&Array.isArray(o.content)?s=await W_(o.content):s=JSON.stringify(o),{output:s,isError:o.isError===!0}}async disconnect(){try{await this.client?.close()}catch(e){Tm.error({err:e},"mcp operation failed")}this.client=null,this.transport=null}};var V_=T({module:"mcp"}),Dm=class{clients=new Map;async connectAll(e){let r={tools:[],servers:[],errors:[],instructions:[]};for(let o of e){if(this.clients.has(o.name))continue;let s=new _n(o);try{await s.connect();let n=await s.listTools();this.clients.set(o.name,s),r.servers.push(o.name);for(let a of n)r.tools.push({serverName:o.name,tool:a});let i=s.getInstructions();i&&r.instructions.push({serverName:o.name,text:i})}catch(n){V_.error({err:n},"mcp operation failed"),r.errors.push({serverName:o.name,error:O(n)}),await s.disconnect()}}return r}getClient(e){return this.clients.get(e)}connectedServers(){return[...this.clients.keys()]}missingServers(e){return e.filter(r=>!this.clients.has(r.name)).map(r=>r.name)}async disconnectAll(){for(let e of this.clients.values())await e.disconnect();this.clients.clear()}};import{execSync as Lm}from"child_process";import{platform as K_,arch as Z_}from"os";function $m(){return{name:"Identity",priority:0,content:`You are Swifty, an AI programming assistant running in a terminal.
|
|
24
24
|
You assist users with software engineering tasks, including writing code, debugging, refactoring, explaining code, and executing commands.
|
|
25
25
|
|
|
26
26
|
IMPORTANT: Avoid introducing security vulnerabilities such as command injection, XSS, SQL injection, and other common exploits. Prioritize writing secure, correct code.
|
|
@@ -88,7 +88,7 @@ Match the response style to the task: for simple questions, give a direct answer
|
|
|
88
88
|
In code: do not write comments by default. Never write multi-paragraph docstring or multi-line comment blocks \u2014 at most one short comment line. Do not create planning, decision, or analysis documents unless the user requests them \u2014 work from the conversation context and do not produce intermediate files.`}}function Om(t){let e=["# Environment",` - Working directory: ${t.workDir}`,` - Platform: ${t.os}/${t.arch}`,` - Shell: ${t.shell}`,` - Git repository: ${t.isGitRepo?"true":"false"}`];return t.isGitRepo&&t.gitBranch&&e.push(` - Git branch: ${t.gitBranch}`),t.model&&e.push(` - Model: ${t.model}`),e.push(` - Date: ${t.date}`),{name:"Environment",priority:70,content:e.join(`
|
|
89
89
|
`)}}var X_=T({module:"prompt"}),ll=class{sections=[];add(e){return this.sections.push(e),this}build(){return[...this.sections].sort((r,o)=>r.priority-o.priority).map(r=>r.content.trim()).filter(Boolean).join(`
|
|
90
90
|
|
|
91
|
-
`)}};function qm(t){let e={workDir:t,os:K_(),arch:Z_(),shell:process.env.SHELL??"bash",isGitRepo:!1,gitBranch:"",model:"",date:new Date().toISOString().split("T")[0]};try{Lm("git rev-parse --is-inside-work-tree",{cwd:t,stdio:["pipe","pipe","pipe"],encoding:"utf-8"}).trim()==="true"&&(e.isGitRepo=!0,e.gitBranch=Lm("git rev-parse --abbrev-ref HEAD",{cwd:t,stdio:["pipe","pipe","pipe"],encoding:"utf-8"}).trim())}catch(r){X_.error({err:r},"prompt operation failed")}return e}function Gm(t){let e=new ll;return e.add($m()),e.add(Pm()),e.add(jm()),e.add(Nm()),e.add(zm()),e.add(Um()),e.add(Fm()),e.add(Om(t)),e.build()}import{randomBytes as eS}from"crypto";var Sn="text",Zt="shutdown_request",kn="shutdown_response",tS="plan_approval_request",Pr="plan_approval_response",Hm="[shutdown]";function Ym(){return`req-${eS(8).toString("hex")}`}function
|
|
91
|
+
`)}};function qm(t){let e={workDir:t,os:K_(),arch:Z_(),shell:process.env.SHELL??"bash",isGitRepo:!1,gitBranch:"",model:"",date:new Date().toISOString().split("T")[0]};try{Lm("git rev-parse --is-inside-work-tree",{cwd:t,stdio:["pipe","pipe","pipe"],encoding:"utf-8"}).trim()==="true"&&(e.isGitRepo=!0,e.gitBranch=Lm("git rev-parse --abbrev-ref HEAD",{cwd:t,stdio:["pipe","pipe","pipe"],encoding:"utf-8"}).trim())}catch(r){X_.error({err:r},"prompt operation failed")}return e}function Gm(t){let e=new ll;return e.add($m()),e.add(Pm()),e.add(jm()),e.add(Nm()),e.add(zm()),e.add(Um()),e.add(Fm()),e.add(Om(t)),e.build()}import{randomBytes as eS}from"crypto";var Sn="text",Zt="shutdown_request",kn="shutdown_response",tS="plan_approval_request",Pr="plan_approval_response",Hm="[shutdown]";function Ym(){return`req-${eS(8).toString("hex")}`}function vn(t,e,r,o,s){return{from:t,text:o,timestamp:new Date().toISOString(),type:e,requestId:r,...s===void 0?{}:{approve:s}}}function Mn(t,e=""){let r=e||"team is wrapping up";return vn(t,Zt,Ym(),`${Hm} ${r}`)}function bn(t,e,r,o=""){return vn(t,kn,e,o,r)}function Jm(t,e){return vn(t,tS,Ym(),e)}function Wm(t,e,r,o=""){return vn(t,Pr,e,o,r)}function Vm(t){return t.type===Zt?!0:(t.text??"").trim().startsWith(Hm)}function ul(t){return t.approve===!0}var dl=class{names=new Map;register(e,r){this.names.set(e,r)}resolve(e){let r=this.names.get(e);if(r!==void 0)return r;for(let o of this.names.values())if(o===e)return e}unregister(e){this.names.delete(e)}clear(){this.names.clear()}},Km;function jr(){return Km??=new dl,Km}var rS=T({module:"teams"}),Zm=class{constructor(e){this.mgr=e}mgr;name="TeamCreate";description="Create a team for coordinating multiple agents.";category="read";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{team_name:{type:"string",description:"Name for the team"},description:{type:"string",description:"What this team will work on"}},required:["team_name"]}}}async execute(e,r){let o=S(r,"team_name");if(!o)return Promise.resolve({output:"Error: team_name is required",isError:!0});let s=o;for(let a=2;this.mgr.get(s);a++)s=`${o}-${String(a)}`;let n=S(r,"description"),i=this.mgr.create(s,void 0,{leadAgentId:"lead",description:n});return{output:`Team '${i.name}' created (mode: ${i.mode}). Use Agent tool with team_name='${i.name}' to add teammates.`,isError:!1}}},Xm=class{constructor(e,r){this.mgr=e;this.runAgent=r}mgr;runAgent;name="SpawnTeammate";description="Spawn a teammate in a team to work on a task in the background. Its result is delivered back to you on the team channel when it finishes.";category="read";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{team:{type:"string",description:"Team name (created if missing)"},name:{type:"string",description:"Teammate name"},task:{type:"string",description:"The task for the teammate"}},required:["team","name","task"]}}}async execute(e,r){let o=S(r,"team"),s=S(r,"name"),n=S(r,"task");return!o||!s||!n?Promise.resolve({output:"Error: team, name and task are required",isError:!0}):((this.mgr.get(o)??this.mgr.create(o)).spawnTeammate(s,n,this.runAgent),Promise.resolve({output:`Teammate '${s}' spawned in team '${o}'. Its result will arrive on the team channel; keep working and watch for it.`,isError:!1}))}},xn=class{constructor(e,r="lead"){this.mgr=e;this.senderName=r}mgr;senderName;name="SendMessage";description="Send a message to a teammate's mailbox. Use to='*' to broadcast to all teammates.";category="read";senderTeam(){let e=this.mgr.list();for(let r of e)if(r.getMember(this.senderName))return r;return e[0]}schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{to:{type:"string",description:"Teammate name, or '*' to broadcast"},content:{type:"string",description:"Message content. For shutdown_request this is the reason; for plan_approval_response this is your feedback when rejecting."},type:{type:"string",enum:[Sn,Zt,kn,Pr],description:"Message kind, defaults to 'text'. Use 'shutdown_request' to ask a teammate to wrap up (it replies with shutdown_response). Use 'plan_approval_response' to answer a teammate's plan, together with 'approve' and, when rejecting, feedback in 'content'."},request_id:{type:"string",description:"Required for plan_approval_response: copy the requestId from the teammate's plan approval request so it knows which plan you are answering."},approve:{type:"boolean",description:"Required for plan_approval_response: true to let the teammate start executing, false to send it back to revise."}},required:["to","content"]}}}async execute(e,r){let o=S(r,"to"),s=S(r,"content"),n=this.senderTeam();if(!n)return{output:"No active team found for this sender.",isError:!0};let i=typeof r.type=="string"?r.type:Sn;if(i!==Sn){let c=typeof r.request_id=="string"?r.request_id:"",u=typeof r.approve=="boolean"?r.approve:void 0,l;switch(i){case Zt:l=Mn(this.senderName,s);break;case kn:if(u===void 0)return{output:"shutdown_response requires 'approve'.",isError:!0};l=bn(this.senderName,c,u,s);break;case Pr:if(!c||u===void 0)return{output:"plan_approval_response requires both 'request_id' and 'approve'.",isError:!0};l=Wm(this.senderName,c,u,s);break;default:return{output:`Unsupported message type ${i}.`,isError:!0}}let d=o==="lead"?n.leadMailbox:n.getMember(o)?.mailbox;return d?(await d.send(this.senderName,l.text,l),{output:`${i} sent to '${o}'.`,isError:!1}):{output:`Teammate '${o}' not found.`,isError:!0}}if(o==="*"){let c=0;for(let u of n.listMembers())u.name!==this.senderName&&(await n.sendMessage(this.senderName,u.name,s),c++);return{output:`Message broadcast to ${String(c)} teammate(s).`,isError:!1}}let a=jr().resolve(o)??o;try{await n.sendMessage(this.senderName,a,s)}catch(c){return rS.error({err:c},"teams operation failed"),{output:`Error: ${O(c)}`,isError:!0}}return{output:`Message sent to '${o}'.`,isError:!1}}},ef=class{constructor(e){this.mgr=e}mgr;name="ListTeams";description="List teams and their members.";category="read";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{},required:[]}}}execute(){let e=this.mgr.list();if(e.length===0)return Promise.resolve({output:"No teams.",isError:!1});let r=e.map(o=>{let s=o.listMembers().map(n=>`${n.name}${n.active?" (active)":""}`).join(", ")||"(no members)";return`${o.name} [${o.mode}]: ${s}`});return Promise.resolve({output:r.join(`
|
|
92
92
|
`),isError:!1})}},tf=class{constructor(e){this.mgr=e}mgr;name="TeamDelete";description="Delete a team and stop its members.";category="read";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{name:{type:"string"}},required:["name"]}}}async execute(e,r){let o=S(r,"name");return await this.mgr.delete(o),{output:`Team '${o}' deleted.`,isError:!1}}};var rf=[{name:"general-purpose",description:"General-purpose agent for researching complex questions, exploring codebase, and executing multi-step tasks."},{name:"plan",description:`You are a software architect. This is a read-only planning task.
|
|
93
93
|
Prohibited actions:
|
|
94
94
|
Creating, modifying, or deleting files, Asking questions
|
|
@@ -116,7 +116,7 @@ Tool invocation strategy:
|
|
|
116
116
|
`)){if(!o||o.startsWith("#")||o.startsWith("^"))continue;let s=o.indexOf(" ");if(s!==-1&&o.slice(s+1)===e){let n=o.slice(0,s);return pl.test(n)?n:""}}}catch(r){Ie.error({err:r},"worktree operation failed")}return""}async function gl(t,e){let r=await of(t,e);if(r)return r;let o=await uS(t);return o&&o!==t?of(o,e):""}async function fl(t){let e;try{e=(await Nr(Ae(t,".git"),"utf-8")).trim()}catch(n){return Ie.error({err:n},"worktree operation failed"),""}if(!e.startsWith("gitdir:"))return"";let r=e.slice(7).trim(),o=af(r)?r:Ae(t,r),s=await dS(o);return s?s.branch?gl(o,"refs/heads/"+s.branch):s.sha??"":""}async function Ko(t,e){let r=e??(await lt("git rev-parse --show-toplevel")).stdout.trim(),o=Ae(r,".swifty","worktrees",t),s=`worktree-${t}`;if(await Xt(o)){let a=await fl(o);if(a)return{path:o,branch:s,headCommit:a,gitRoot:r};let{stdout:c}=await lt("git rev-parse HEAD",{cwd:o});return{path:o,branch:s,headCommit:c.trim(),gitRoot:r}}await lt(`git worktree add -B "${s}" "${o}"`,{cwd:r}),await AS(r,o);let n=await fl(o);if(n)return{path:o,branch:s,headCommit:n,gitRoot:r};let{stdout:i}=await lt("git rev-parse HEAD",{cwd:o});return{path:o,branch:s,headCommit:i.trim(),gitRoot:r}}async function cf(t,e,r){try{await lt(`git worktree remove "${t}" --force`,{cwd:r})}catch(o){Ie.error({err:o},"worktree operation failed")}try{await lt(`git branch -D "${e}"`,{cwd:r})}catch(o){Ie.error({err:o},"worktree operation failed")}}async function lf(t,e){try{let{stdout:r}=await lt("git status --porcelain",{cwd:t});return r.trim()?!0:(await fl(t)||(await lt("git rev-parse HEAD",{cwd:t})).stdout.trim())!==e}catch(r){return Ie.error({err:r},"worktree operation failed"),!0}}function hl(t,e){return`You are working in a git worktree at: ${e}
|
|
117
117
|
The parent project is at: ${t}
|
|
118
118
|
Changes made here are isolated from the parent working tree.`}async function AS(t,e){await mS(t,e),await fS(t,e),await gS(t,e),await hS(t,e)}var pS=["config.yaml","config.local.yaml","permissions.yaml","permissions.local.yaml","agents","memory","skills"];async function mS(t,e){let r=Ae(t,".swifty");if(!await Xt(r))return;let o=Ae(e,".swifty");try{await sf(o,{recursive:!0})}catch(s){Ie.error({err:s},"failed to create .swifty/ in worktree");return}for(let s of pS){let n=Ae(r,s);if(await Xt(n))try{await Al(n,Ae(o,s),{recursive:!0})}catch(i){Ie.error({err:i,entry:s},"failed to copy .swifty/ entry to worktree")}}}async function fS(t,e){try{let r=[Ae(t,".husky"),Ae(t,".git","hooks")],o;for(let s of r)try{if((await nf(s)).isDirectory()){o=s;break}}catch(n){Ie.error({err:n},"worktree operation failed")}if(!o)return;await lt(`git config core.hooksPath "${o}"`,{cwd:e})}catch(r){Ie.error({err:r},"failed to configure hooks path in worktree")}}async function gS(t,e){try{let r=Ae(t,"node_modules");if(!await Xt(r))return;let o=Ae(e,"node_modules");if(await Xt(o))return;await iS(r,o)}catch(r){Ie.warn({err:r},"failed to symlink node_modules in worktree")}}async function hS(t,e){try{let r=Ae(t,".worktreeinclude");if(!await Xt(r))return;let s=(await Nr(r,"utf-8")).split(`
|
|
119
|
-
`).map(n=>n.trim()).filter(n=>n&&!n.startsWith("#"));for(let n of s)if(!n.includes(".."))try{let i=Ae(t,n);if(!await Xt(i))continue;let a=Ae(e,n);await sf(aS(a),{recursive:!0}),(await nf(i)).isDirectory()?await Al(i,a,{recursive:!0}):await Al(i,a)}catch(i){Ie.error({err:i},"worktree operation failed")}}catch(r){Ie.error({err:r},"failed to process .worktreeinclude")}}import{readdirSync as ES,readFileSync as yS,existsSync as wS}from"fs";import{homedir as CS}from"os";import{join as El}from"path";var df=T({module:"subagent"});function Af(t){let e=[...rf],r=CS();r&&uf(El(r,".swifty","agents"),e);let o=[El(t,".swifty","agents")];for(let s of o)uf(s,e);return e}function uf(t,e){if(!wS(t))return;let r=ES(t).filter(o=>o.endsWith(".md"));for(let o of r)try{let s=yS(El(t,o),"utf-8"),n=BS(s);if(n){let i=e.findIndex(a=>a.name===n.name);i>=0?e[i]=n:e.push(n)}}catch(s){df.error({err:s},"subagent operation failed");continue}}var IS=C.looseObject({name:C.string(),description:C.string().optional(),tools:C.array(C.string()).optional(),disallowed_tools:C.array(C.string()).optional(),system_prompt:C.string().optional(),max_turns:C.number().optional(),model:C.string().optional(),background:C.boolean().optional(),isolation:C.literal("worktree").optional()});function BS(t){if(!t.startsWith("---"))return null;let e=t.indexOf("---",3);if(e===-1)return null;let r=t.slice(3,e).trim(),o=t.slice(e+3).trim();try{let s=gt.load(r),n=Se(IS,s);return{name:n.name,description:n.description??o.slice(0,200),tools:n.tools,disallowedTools:n.disallowed_tools,systemPromptOverride:n.system_prompt,maxTurns:n.max_turns,model:n.model,background:n.background,isolation:n.isolation,initialPrompt:o}}catch(s){return df.error({err:s},"subagent operation failed"),null}}var _S=T({module:"subagent"}),SS="general-purpose";function pf(){return`agent-a${QS(4).toString("hex").slice(0,7)}`}var ff="<fork_boilerplate>",kS="agent:builtin:fork",
|
|
119
|
+
`).map(n=>n.trim()).filter(n=>n&&!n.startsWith("#"));for(let n of s)if(!n.includes(".."))try{let i=Ae(t,n);if(!await Xt(i))continue;let a=Ae(e,n);await sf(aS(a),{recursive:!0}),(await nf(i)).isDirectory()?await Al(i,a,{recursive:!0}):await Al(i,a)}catch(i){Ie.error({err:i},"worktree operation failed")}}catch(r){Ie.error({err:r},"failed to process .worktreeinclude")}}import{readdirSync as ES,readFileSync as yS,existsSync as wS}from"fs";import{homedir as CS}from"os";import{join as El}from"path";var df=T({module:"subagent"});function Af(t){let e=[...rf],r=CS();r&&uf(El(r,".swifty","agents"),e);let o=[El(t,".swifty","agents")];for(let s of o)uf(s,e);return e}function uf(t,e){if(!wS(t))return;let r=ES(t).filter(o=>o.endsWith(".md"));for(let o of r)try{let s=yS(El(t,o),"utf-8"),n=BS(s);if(n){let i=e.findIndex(a=>a.name===n.name);i>=0?e[i]=n:e.push(n)}}catch(s){df.error({err:s},"subagent operation failed");continue}}var IS=C.looseObject({name:C.string(),description:C.string().optional(),tools:C.array(C.string()).optional(),disallowed_tools:C.array(C.string()).optional(),system_prompt:C.string().optional(),max_turns:C.number().optional(),model:C.string().optional(),background:C.boolean().optional(),isolation:C.literal("worktree").optional()});function BS(t){if(!t.startsWith("---"))return null;let e=t.indexOf("---",3);if(e===-1)return null;let r=t.slice(3,e).trim(),o=t.slice(e+3).trim();try{let s=gt.load(r),n=Se(IS,s);return{name:n.name,description:n.description??o.slice(0,200),tools:n.tools,disallowedTools:n.disallowed_tools,systemPromptOverride:n.system_prompt,maxTurns:n.max_turns,model:n.model,background:n.background,isolation:n.isolation,initialPrompt:o}}catch(s){return df.error({err:s},"subagent operation failed"),null}}var _S=T({module:"subagent"}),SS="general-purpose";function pf(){return`agent-a${QS(4).toString("hex").slice(0,7)}`}var ff="<fork_boilerplate>",kS="agent:builtin:fork",vS=`${ff}
|
|
120
120
|
You are a forked worker process. You are NOT the main agent.
|
|
121
121
|
Rules (non-negotiable):
|
|
122
122
|
1. Do NOT fork again.
|
|
@@ -147,16 +147,16 @@ When tasks are independent, launch multiple subagents in parallel by making mult
|
|
|
147
147
|
${s}`}catch(m){return{output:`Error creating agent worktree: ${O(m)}`,isError:!0}}try{return{output:await this.spawnHandler(l,d,a||!!l.background,i,p),isError:!1}}catch(m){return{output:`Agent error: ${O(m)}`,isError:!0}}}async runAsTeammate(e,r,o,s,n){if(!this.teamManager)return{output:`Error: team manager '${e}' not found.`,isError:!0};let i=this.teamManager.get(e)??this.teamManager.create(e,void 0,{leadAgentId:"lead",description:r}),a=r.replace(/\s+/g,"-").toLowerCase().slice(0,30),c=2,u=a;for(;i.getMember(a);)a=`${u}-${String(c++)}`;let l=new fs;for(let g of this.registry.listTools())Yl.has(g.name)||Jl.has(g.name)||l.register(g);l.register(new xn(this.teamManager,a)),l.register(new Rn(this.teamManager,e,a)),l.register(new Tn(this.teamManager,e)),l.register(new Dn(this.teamManager,e)),l.register(new $n(this.teamManager,e));let d=s?new or(this.workDir,"plan"):void 0,p=o;if(n)try{let g=await Ko(pf());i.setMemberMeta(a,{worktreePath:g.path}),p=`${hl(this.workDir,g.path)}
|
|
148
148
|
|
|
149
149
|
${o}`}catch(g){return{output:`Error creating teammate worktree: ${O(g)}`,isError:!0}}let m=this.teamRunAgentFactory?.(l,d);return m&&i.spawnTeammate(a,p,m,d),{output:`Teammate '${a}' spawned in team '${e}' (mode: ${i.mode})${s?", starting in plan mode":""}.
|
|
150
|
-
The teammate is now working on the assigned task.`,isError:!1}}async runFork(e,r,o){if(!this.conversation||!this.forkHandler)return{output:"Error: fork requires parent conversation context",isError:!0};if(this.querySource===kS)return{output:"Error: cannot fork from a forked agent. Use subagent_type to spawn a definition-based agent instead.",isError:!0};for(let s of this.conversation.getMessages())if(typeof s.content=="string"&&s.content.includes(ff))return{output:"Error: cannot fork from a forked agent. Use subagent_type to spawn a definition-based agent instead.",isError:!0};try{let{cloneRegistryForFork:s}=await import("./tool-filter-NO7I3HFD.js"),n=s(this.registry);return await this.forkHandler(`${
|
|
150
|
+
The teammate is now working on the assigned task.`,isError:!1}}async runFork(e,r,o){if(!this.conversation||!this.forkHandler)return{output:"Error: fork requires parent conversation context",isError:!0};if(this.querySource===kS)return{output:"Error: cannot fork from a forked agent. Use subagent_type to spawn a definition-based agent instead.",isError:!0};for(let s of this.conversation.getMessages())if(typeof s.content=="string"&&s.content.includes(ff))return{output:"Error: cannot fork from a forked agent. Use subagent_type to spawn a definition-based agent instead.",isError:!0};try{let{cloneRegistryForFork:s}=await import("./tool-filter-NO7I3HFD.js"),n=s(this.registry);return await this.forkHandler(`${vS}
|
|
151
151
|
|
|
152
152
|
Your task:
|
|
153
|
-
${e}`,this.conversation,n,o),{output:`Forked agent "${r}" launched in background. Results will arrive via task-notification.`,isError:!1}}catch(s){return _S.error({err:s},"subagent operation failed"),{output:`Fork error: ${O(s)}`,isError:!0}}}};var
|
|
153
|
+
${e}`,this.conversation,n,o),{output:`Forked agent "${r}" launched in background. Results will arrive via task-notification.`,isError:!1}}catch(s){return _S.error({err:s},"subagent operation failed"),{output:`Fork error: ${O(s)}`,isError:!0}}}};var MS={haiku:"claude-haiku-4-5-20251001",sonnet:"claude-sonnet-4-6-20250514",opus:"claude-opus-4-6-20250514"};function gf(t){return MS[t]??t}async function X$(t,e,r,o,s,n,i,a,c,u){let l=c??t.model,d=l?gf(l):s.model,p=qm(n);p.model=d;let m=t.systemPromptOverride??Gm(p),g=l?await ii({...s,model:d},m):r,f=Wl(o,t.tools,t.disallowedTools,!1),h=t.permissionMode??"acceptEdits",y=u??new or(n,h),w=new rr;w.addUserMessage(e);let I=new ms({client:g,registry:f,checker:y,conversation:w,workDir:n,maxIterations:t.maxTurns??200}),M="",E=0;for await(let B of I.run())switch(B.type){case"stream_text":M+=B.text;break;case"tool_use":i?.({lastTool:B.toolName}),a?.({type:"tool_use",toolName:B.toolName,args:B.args});break;case"usage":a?.({type:"usage",usage:{inputTokens:B.usage.inputTokens,outputTokens:B.usage.outputTokens}});break;case"turn_complete":i?.({turn:++E});break;case"loop_complete":return M||"[No output]";case"error":return M?`${M}
|
|
154
154
|
|
|
155
|
-
[Error: ${B.error.message}]`:`Error: ${B.error.message}`}return v||"[No output]"}var bS=new Set(["Agent","SendMessage","TaskStop","SyntheticOutput","TeamDelete"]);function xS(t){return bS.has(t)}function tP(t=!1){return t?xS:()=>!0}function rP(t=!1){return t}var hf=class{constructor(e){this.teamManager=e}teamManager;name="TaskStop";description="Stop a running teammate. Pass the teammate name as it appears in the from= field of a team-notification. Use this when you sent a teammate in the wrong direction \u2014 for example when the user changes requirements after you launched it.";category="command";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{teammate:{type:"string",description:"Name of the teammate to stop, exactly as it appears in the from= field of a team-notification"}},required:["teammate"]}}}async execute(e,r){let o=S(r,"teammate","");if(!o)return{output:"Error: teammate is required",isError:!0};for(let s of this.teamManager.list()){let n=s.members.get(o);if(n)return n.active?(await s.stopMember(o),{output:`Teammate '${o}' in team '${s.name}' stopped.`,isError:!1}):{output:`Teammate '${o}' in team '${s.name}' is not running, nothing to stop`,isError:!1}}return{output:`Error: teammate '${o}' not found. Known teammates: ${this.knownMembers()}`,isError:!0}}knownMembers(){let e=[];for(let r of this.teamManager.list())for(let o of r.members.keys())e.push(o);return e.length>0?e.join(", "):"(none)"}};import{mkdirSync as Ck,readFileSync as Ik,rmSync as Bk}from"fs";import{join as Bl}from"path";var Ef=["Accomplishing","Architecting","Baking","Barking","Woofing","Howling","Be-bopping'","Befuddling","Boogieing","Boondoggling","Bootstrapping","Brewing","Calculating","Canoodling","Caramelizing","Cascading","Cerebrating","Choreographing","Churning","Coalescing","Cogitating","Combobulating","Composing","Computing","Concocting","Considering","Contemplating","Cooking","Crafting","Creating","Crunching","Crystallizing","Cultivating","Deciphering","Deliberating","Dilly-dallying","Discombobulating","Doodling","Elucidating","Enchanting","Envisioning","Fermenting","Finagling","Flamb\xE9ing","Flummoxing","Forging","Frolicking","Gallivanting","Garnishing","Generating","Germinating","Grooving","Harmonizing","Hatching","Honking","Ideating","Imagining","Improvising","Incubating","Inferring","Infusing","Kneading","Lollygagging","Manifesting","Marinating","Meandering","Metamorphosing","Mewing","Moonwalking","Moseying","Mulling","Musing","Noodling","Orbiting","Orchestrating","Percolating","Philosophizing","Pondering","Pontificating","Pouncing","Purring","Puzzling","Razzle-dazzling","Ruminating","Scampering","Simmering","Sketching","Spelunking","Spinning","Sprouting","Synthesizing","Thinking","Tinkering","Transfiguring","Transmuting","Undulating","Unfurling","Unravelling","Vibing","Wandering","Whisking","Working","Wrangling","Zigzagging"];function yl(){return Ef[Math.floor(Math.random()*Ef.length)]}var yf=["Accomplished","Baked","Brewed","Cooked","Crafted","Crunched","Forged","Hatched","Pondered","Synthesized","Tinkered","Worked","Wrangled","Computed","Created","Composed","Conjured","Concocted","Cultivated","Deciphered"];function iP(){return yf[Math.floor(Math.random()*yf.length)]}import{execSync as Pn,spawn as RS}from"child_process";var wf=T({module:"teams"});function If(){return process.platform==="win32"?"in-process":TS()}function TS(){return process.env.TMUX?"tmux":process.env.ITERM_SESSION_ID?"iterm":"in-process"}function Bf(t){return/^[A-Za-z0-9_/.:=-]+$/.test(t)?t:`'${t.replace(/'/g,"'\\''")}'`}function Cf(t){return[t.command,...t.args].map(Bf).join(" ")}function Qf(t){switch(t.mode){case"in-process":{let e=RS(t.command,t.args,{cwd:t.cwd,stdio:["pipe","pipe","pipe"],env:{...process.env,...t.env}});return{cancel:()=>e.kill("SIGTERM")}}case"tmux":{let e=`swifty-${Date.now().toString(36)}`,r=Cf(t);try{Pn(`tmux new-window -t "${e}" -n teammate "${r}"`,{cwd:t.cwd,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(o){wf.error({err:o},"teams operation failed"),Pn(`tmux new-session -d -s "${e}" -n teammate "${r}"`,{cwd:t.cwd,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}return{cancel:()=>{try{Pn(`tmux kill-session -t "${e}"`,{stdio:["pipe","pipe","pipe"]})}catch(o){wf.error({err:o},"teams operation failed")}},paneId:e}}case"iterm":{let e=Cf(t),n=['tell application "iTerm2"'," tell current window"," create tab with default profile",` tell current session to write text "${`cd ${Bf(t.cwd)} && ${e}`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`," end tell","end tell"].map(i=>`-e '${i.replace(/'/g,"'\\''")}'`).join(" ");return Pn(`osascript ${n}`,{cwd:t.cwd,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),{cancel:()=>{}}}default:throw new Error(`Unknown team mode: ${String(t.mode)}`)}}import{readFileSync as DS,writeFileSync as $S,mkdirSync as PS,existsSync as jS,unlinkSync as Sf,statSync as NS,openSync as zS,closeSync as US}from"fs";import{join as FS}from"path";var Zo=T({module:"teams"}),OS=C.object({from:C.string(),text:C.string(),timestamp:C.string(),read:C.boolean().optional(),type:C.string().optional(),requestId:C.string().optional(),approve:C.boolean().optional()}),_f=5e3,LS=1e4,qS=5,GS=80,HS=C.looseObject({errno:C.number().optional(),code:C.string().optional(),path:C.string().optional(),syscall:C.string().optional()});function YS(t){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,t)}function JS(t){let e=Date.now()+_f,r=qS;for(;;)try{let o=zS(t,"wx");US(o);return}catch(o){Zo.error({err:o},"teams operation failed");let{data:s,success:n}=Dl(HS,o),i="";if(n&&s.code&&(i=s.code),i!=="EEXIST")throw o;try{let a=NS(t);if(Date.now()-a.mtimeMs>LS)try{Sf(t);continue}catch(c){Zo.error({err:c},"teams operation failed")}}catch(a){Zo.error({err:a},"teams operation failed")}if(Date.now()>=e)throw new Error(`mailbox lock ${t}: timed out after ${String(_f)}ms, message not written`);YS(r+Math.floor(Math.random()*r)),r=Math.min(r*2,GS)}}function WS(t){try{Sf(t)}catch(e){Zo.error({err:e},"teams operation failed")}}function wl(t,e){let r=t+".lock";JS(r);try{return e()}finally{WS(r)}}var Xo=class{filePath;constructor(e,r){PS(e,{recursive:!0}),this.filePath=FS(e,`${r}.json`)}readAll(){if(!jS(this.filePath))return[];try{let e=JSON.parse(DS(this.filePath,"utf-8")),r=[];if(Array.isArray(e))for(let o of e){let s=OS.safeParse(o);s.success&&r.push(s.data)}return r}catch(e){return Zo.error({err:e},"teams operation failed"),[]}}writeAll(e){$S(this.filePath,JSON.stringify(e,null,2),"utf-8")}async send(e,r,o){let s=o??{from:e,text:r,timestamp:new Date().toISOString()};return s.read=!1,wl(this.filePath,()=>{let n=this.readAll();n.push(s),this.writeAll(n)}),Promise.resolve()}receiveSync(){return wl(this.filePath,()=>{let e=this.readAll(),r=e.filter(o=>!o.read);if(r.length>0){for(let o of e)o.read=!0;this.writeAll(e)}return r})}async receive(){return Promise.resolve(this.receiveSync())}unreadCount(){return this.readAll().filter(e=>!e.read).length}markAllRead(){wl(this.filePath,()=>{let e=this.readAll(),r=!1;for(let o of e)o.read||(o.read=!0,r=!0);r&&this.writeAll(e)})}async*poll(e=1e3){for(;;){let r=await this.receive();for(let o of r)yield o;await new Promise(o=>setTimeout(o,e))}}};var kf=$.object({toolName:$.string(),input:$.record($.string(),$.unknown()),activityDescription:$.string()}),VS=$.object({toolUseCount:$.number(),tokenCount:$.number(),lastActivity:kf.optional(),recentActivities:$.array(kf)}),EP=$.object({name:$.string(),teamName:$.string(),status:$.enum(["running","idle","completed","failed","stopped"]),progress:VS,startTime:$.number(),spinnerVerb:$.string(),lastMessage:$.string().optional()});function Cl(){return{toolUseCount:0,tokenCount:0,lastActivity:void 0,recentActivities:[]}}function Mf(t,e,r){t.toolUseCount++;let o=KS(e,r),s={toolName:e,input:r,activityDescription:o};t.lastActivity=s,t.recentActivities.push(s),t.recentActivities.length>5&&t.recentActivities.shift()}function vf(t,e,r){t.tokenCount=e+r}function KS(t,e){switch(t){case"ReadFile":return`Reading ${S(e,"file_path","file")}`;case"EditFile":return`Editing ${S(e,"file_path","file")}`;case"WriteFile":return`Writing ${S(e,"file_path","file")}`;case"Bash":case"PowerShell":{let r=S(e,"command","");return`Running ${r.length>40?r.slice(0,40)+"...":r}`}case"Glob":return`Searching ${S(e,"pattern","files")}`;case"Grep":return`Grepping ${S(e,"pattern","pattern")}`;default:return t}}function yP(t){return t.length?t[t.length-1].activityDescription:""}function wP(t){return t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(1)+"k":String(t)}import{readFileSync as ZS,writeFileSync as XS,mkdirSync as ek,existsSync as tk}from"fs";import{dirname as rk}from"path";var ok=C.object({id:C.string(),title:C.string(),description:C.string().default(""),status:C.string().default("pending"),assignee:C.string().default(""),blocks:C.array(C.string()).default([]),blocked_by:C.array(C.string()).default([]),created_by:C.string().default("")}),sk=C.object({next_id:C.number().int().positive().default(1),tasks:C.array(ok).default([])}),es=class{path;nextId=1;tasks=[];constructor(e){this.path=e,this.load()}load(){if(tk(this.path))try{let e=JSON.parse(ZS(this.path,"utf-8")),r=Se(sk,e);this.nextId=r.next_id,this.tasks=r.tasks.map(o=>({id:o.id,title:o.title,description:o.description,status:o.status,assignee:o.assignee,blocks:o.blocks,blockedBy:o.blocked_by,createdBy:o.created_by}))}catch{}}save(){ek(rk(this.path),{recursive:!0});let e={next_id:this.nextId,tasks:this.tasks.map(r=>({id:r.id,title:r.title,description:r.description,status:r.status,assignee:r.assignee,blocks:r.blocks,blocked_by:r.blockedBy,created_by:r.createdBy}))};XS(this.path,JSON.stringify(e,null,2),"utf-8")}create(e,r="",o="",s=[],n=[],i=""){let a={id:String(this.nextId++),title:e,description:r,status:"pending",assignee:o,blocks:[...s],blockedBy:[...n],createdBy:i};return this.tasks.push(a),this.save(),a}get(e){return this.load(),this.tasks.find(r=>r.id===e)}listTasks(e,r){return this.load(),this.tasks.filter(o=>!(e&&o.status!==e||r&&o.assignee!==r))}update(e,r){this.load();let o=this.tasks.find(s=>s.id===e);if(o){r.status!==void 0&&(o.status=r.status),r.assignee!==void 0&&(o.assignee=r.assignee),r.description!==void 0&&(o.description=r.description);for(let s of r.addBlocks??[])o.blocks.includes(s)||o.blocks.push(s);for(let s of r.addBlockedBy??[])o.blockedBy.includes(s)||o.blockedBy.push(s);return this.save(),o}}initEmpty(){this.tasks=[],this.nextId=1,this.save()}};import{existsSync as nk,mkdirSync as ik,readFileSync as ak,writeFileSync as ck}from"fs";import{homedir as lk}from"os";import{dirname as uk,join as Il}from"path";var dk=C.object({agentId:C.string(),name:C.string(),agentType:C.string().optional(),model:C.string().optional(),joinedAt:C.number(),worktreePath:C.string().optional(),backendType:C.string().optional(),isActive:C.boolean().optional()}),Ak=C.object({name:C.string(),description:C.string().optional(),createdAt:C.number(),leadAgentId:C.string(),members:C.array(dk)});function pk(){return Il(lk(),".swifty","teams")}function mk(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function ts(t){return Il(pk(),mk(t))}function bf(t){return Il(ts(t),"config.json")}function xf(t){let e=bf(t);if(!nk(e))return null;try{let r=JSON.parse(ak(e,"utf-8"));return Ak.parse(r)}catch{return null}}function Rf(t,e){try{let r=bf(t);ik(uk(r),{recursive:!0}),ck(r,JSON.stringify(e,null,2),"utf-8")}catch{}}import{mkdirSync as fk,readFileSync as RP,writeFileSync as gk,existsSync as TP}from"fs";import{join as Tf}from"path";var NP=T({module:"teams"}),hk=C.object({tool_use_id:C.string(),tool_name:C.string(),arguments:C.record(C.string(),C.unknown())}),Ek=C.object({tool_use_id:C.string(),content:C.string(),is_error:C.boolean().optional()}),zP=C.object({role:C.string(),content:C.string().optional(),tool_uses:C.array(hk).optional(),tool_results:C.array(Ek).optional()});function yk(t){let e=[];for(let r of t.getMessages()){let o={role:r.role,content:ni(r.content)};r.toolUses&&r.toolUses.length>0&&(o.tool_uses=r.toolUses.map(s=>({tool_use_id:s.toolUseId,tool_name:s.toolName,arguments:s.arguments}))),r.toolResults&&r.toolResults.length>0&&(o.tool_results=r.toolResults.map(s=>({tool_use_id:s.toolUseId,content:ni(s.content),is_error:s.isError||void 0}))),e.push(o)}return e}function wk(t,e){return Tf(t,".swifty","teams",e,"transcripts")}function Df(t,e,r,o){let s=wk(t,e);fk(s,{recursive:!0});let n=Tf(s,`${r}.json`),i=yk(o);return gk(n,JSON.stringify(i,null,2),"utf-8"),n}var $f=T({module:"teams"}),jn=class t{name;mode;members=new Map;leadMailbox;mailboxDir;workDir;leadAgentId="";description;createdAt=Math.floor(Date.now()/1e3);constructor(e,r,o){this.name=e,this.mode=r,this.workDir=o,this.mailboxDir=Bl(ts(e),"inboxes"),Ck(this.mailboxDir,{recursive:!0}),this.leadMailbox=new Xo(this.mailboxDir,"lead")}addMember(e){let r=new Xo(this.mailboxDir,e),o={name:e,active:!1,mailbox:r,agentId:e,joinedAt:Math.floor(Date.now()/1e3)};return this.members.set(e,o),this.persist(),o}setMemberMeta(e,r){let o=this.members.get(e);o&&(o.agentType=r.agentType,o.model=r.model,o.worktreePath=r.worktreePath,this.persist())}snapshot(){return{name:this.name,description:this.description,createdAt:this.createdAt,leadAgentId:this.leadAgentId,members:[...this.members.values()].map(e=>({agentId:e.agentId??e.name,name:e.name,agentType:e.agentType,model:e.model,joinedAt:e.joinedAt??0,worktreePath:e.worktreePath,backendType:this.mode,isActive:e.active}))}}persist(){Rf(this.name,this.snapshot())}static IDLE_POLL_INTERVAL_MS=500;static SHUTDOWN_PREFIX="[shutdown]";spawnTeammate(e,r,o,s){if(this.mode==="in-process"){this.spawnInProcess(e,r,o,s);return}try{this.spawnExternal(e,r)}catch{this.spawnInProcess(e,r,o,s)}}spawnExternal(e,r){let o=this.addMember(e);o.active=!0,jr().register(e,e),o.uiState={name:e,teamName:this.name,status:"running",progress:Cl(),startTime:Date.now(),spinnerVerb:yl()};let s=process.argv[1]??"src/main.tsx",n={mode:this.mode,command:"bun",args:["run",s,"--teammate","--team-dir",this.mailboxDir,"--team-name",this.name,"--member-name",e,"--task",r],cwd:this.workDir},{cancel:i,paneId:a}=Qf(n);o.cancel=i,o.paneId=a,o.external=!0}spawnInProcess(e,r,o,s){let n=this.addMember(e);n.active=!0,n.checker=s,jr().register(e,e);let i={name:e,teamName:this.name,status:"running",progress:Cl(),startTime:Date.now(),spinnerVerb:yl()};n.uiState=i;let a=c=>{switch(c.type){case"tool_use":c.toolName&&c.args&&Mf(i.progress,c.toolName,c.args);break;case"usage":c.usage&&vf(i.progress,c.usage.inputTokens,c.usage.outputTokens);break;case"stream_text":c.text&&(i.lastMessage=c.text);break}};(async()=>{let c=r,u="available";try{for(;n.active;){i.status="running";let l=await o(c,a);if(i.lastMessage=l.length>200?l.slice(0,200)+"...":l,n.checker?.mode==="plan"){i.status="idle";let p=await this.runPlanApproval(n,this.readPlanForReview());if(p===null)break;c=p;continue}i.status="idle",await this.leadMailbox.send(e,`[idle] ${e} (reason: ${u})`),u="available";let d=await this.waitForNextPromptOrShutdown(n);if(d.shutdown||!n.active){let p=d.shutdown;if(p?.type===Zt){let m=bn(n.name,p.requestId??"",!0,"acknowledged, shutting down");await this.leadMailbox.send(n.name,m.text,m)}break}c=d.prompt}i.status="completed"}catch(l){$f.error({err:l},"teams operation failed"),i.status="failed",i.lastMessage=O(l),await this.leadMailbox.send(e,`[idle] ${e} (reason: failed)`)}finally{if(n.active=!1,i.status==="running"&&(i.status="idle"),n.conversation)try{Df(this.workDir,this.name,e,n.conversation)}catch(l){$f.error({err:l},"teams operation failed")}}})()}async waitForNextPromptOrShutdown(e){for(;e.active;){await new Promise(n=>setTimeout(n,t.IDLE_POLL_INTERVAL_MS));let r=e.mailbox.receiveSync();if(r.length===0)continue;let o=r.find(n=>Vm(n));return o?{prompt:"",shutdown:o}:{prompt:`You have new messages from your team:
|
|
155
|
+
[Error: ${B.error.message}]`:`Error: ${B.error.message}`}return M||"[No output]"}var bS=new Set(["Agent","SendMessage","TaskStop","SyntheticOutput","TeamDelete"]);function xS(t){return bS.has(t)}function tP(t=!1){return t?xS:()=>!0}function rP(t=!1){return t}var hf=class{constructor(e){this.teamManager=e}teamManager;name="TaskStop";description="Stop a running teammate. Pass the teammate name as it appears in the from= field of a team-notification. Use this when you sent a teammate in the wrong direction \u2014 for example when the user changes requirements after you launched it.";category="command";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{teammate:{type:"string",description:"Name of the teammate to stop, exactly as it appears in the from= field of a team-notification"}},required:["teammate"]}}}async execute(e,r){let o=S(r,"teammate","");if(!o)return{output:"Error: teammate is required",isError:!0};for(let s of this.teamManager.list()){let n=s.members.get(o);if(n)return n.active?(await s.stopMember(o),{output:`Teammate '${o}' in team '${s.name}' stopped.`,isError:!1}):{output:`Teammate '${o}' in team '${s.name}' is not running, nothing to stop`,isError:!1}}return{output:`Error: teammate '${o}' not found. Known teammates: ${this.knownMembers()}`,isError:!0}}knownMembers(){let e=[];for(let r of this.teamManager.list())for(let o of r.members.keys())e.push(o);return e.length>0?e.join(", "):"(none)"}};import{mkdirSync as Ck,readFileSync as Ik,rmSync as Bk}from"fs";import{join as Bl}from"path";var Ef=["Accomplishing","Architecting","Baking","Barking","Woofing","Howling","Be-bopping'","Befuddling","Boogieing","Boondoggling","Bootstrapping","Brewing","Calculating","Canoodling","Caramelizing","Cascading","Cerebrating","Choreographing","Churning","Coalescing","Cogitating","Combobulating","Composing","Computing","Concocting","Considering","Contemplating","Cooking","Crafting","Creating","Crunching","Crystallizing","Cultivating","Deciphering","Deliberating","Dilly-dallying","Discombobulating","Doodling","Elucidating","Enchanting","Envisioning","Fermenting","Finagling","Flamb\xE9ing","Flummoxing","Forging","Frolicking","Gallivanting","Garnishing","Generating","Germinating","Grooving","Harmonizing","Hatching","Honking","Ideating","Imagining","Improvising","Incubating","Inferring","Infusing","Kneading","Lollygagging","Manifesting","Marinating","Meandering","Metamorphosing","Mewing","Moonwalking","Moseying","Mulling","Musing","Noodling","Orbiting","Orchestrating","Percolating","Philosophizing","Pondering","Pontificating","Pouncing","Purring","Puzzling","Razzle-dazzling","Ruminating","Scampering","Simmering","Sketching","Spelunking","Spinning","Sprouting","Synthesizing","Thinking","Tinkering","Transfiguring","Transmuting","Undulating","Unfurling","Unravelling","Vibing","Wandering","Whisking","Working","Wrangling","Zigzagging"];function yl(){return Ef[Math.floor(Math.random()*Ef.length)]}var yf=["Accomplished","Baked","Brewed","Cooked","Crafted","Crunched","Forged","Hatched","Pondered","Synthesized","Tinkered","Worked","Wrangled","Computed","Created","Composed","Conjured","Concocted","Cultivated","Deciphered"];function iP(){return yf[Math.floor(Math.random()*yf.length)]}import{execSync as Pn,spawn as RS}from"child_process";var wf=T({module:"teams"});function If(){return process.platform==="win32"?"in-process":TS()}function TS(){return process.env.TMUX?"tmux":process.env.ITERM_SESSION_ID?"iterm":"in-process"}function Bf(t){return/^[A-Za-z0-9_/.:=-]+$/.test(t)?t:`'${t.replace(/'/g,"'\\''")}'`}function Cf(t){return[t.command,...t.args].map(Bf).join(" ")}function Qf(t){switch(t.mode){case"in-process":{let e=RS(t.command,t.args,{cwd:t.cwd,stdio:["pipe","pipe","pipe"],env:{...process.env,...t.env}});return{cancel:()=>e.kill("SIGTERM")}}case"tmux":{let e=`swifty-${Date.now().toString(36)}`,r=Cf(t);try{Pn(`tmux new-window -t "${e}" -n teammate "${r}"`,{cwd:t.cwd,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(o){wf.error({err:o},"teams operation failed"),Pn(`tmux new-session -d -s "${e}" -n teammate "${r}"`,{cwd:t.cwd,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}return{cancel:()=>{try{Pn(`tmux kill-session -t "${e}"`,{stdio:["pipe","pipe","pipe"]})}catch(o){wf.error({err:o},"teams operation failed")}},paneId:e}}case"iterm":{let e=Cf(t),n=['tell application "iTerm2"'," tell current window"," create tab with default profile",` tell current session to write text "${`cd ${Bf(t.cwd)} && ${e}`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`," end tell","end tell"].map(i=>`-e '${i.replace(/'/g,"'\\''")}'`).join(" ");return Pn(`osascript ${n}`,{cwd:t.cwd,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),{cancel:()=>{}}}default:throw new Error(`Unknown team mode: ${String(t.mode)}`)}}import{readFileSync as DS,writeFileSync as $S,mkdirSync as PS,existsSync as jS,unlinkSync as Sf,statSync as NS,openSync as zS,closeSync as US}from"fs";import{join as FS}from"path";var Zo=T({module:"teams"}),OS=C.object({from:C.string(),text:C.string(),timestamp:C.string(),read:C.boolean().optional(),type:C.string().optional(),requestId:C.string().optional(),approve:C.boolean().optional()}),_f=5e3,LS=1e4,qS=5,GS=80,HS=C.looseObject({errno:C.number().optional(),code:C.string().optional(),path:C.string().optional(),syscall:C.string().optional()});function YS(t){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,t)}function JS(t){let e=Date.now()+_f,r=qS;for(;;)try{let o=zS(t,"wx");US(o);return}catch(o){Zo.error({err:o},"teams operation failed");let{data:s,success:n}=Dl(HS,o),i="";if(n&&s.code&&(i=s.code),i!=="EEXIST")throw o;try{let a=NS(t);if(Date.now()-a.mtimeMs>LS)try{Sf(t);continue}catch(c){Zo.error({err:c},"teams operation failed")}}catch(a){Zo.error({err:a},"teams operation failed")}if(Date.now()>=e)throw new Error(`mailbox lock ${t}: timed out after ${String(_f)}ms, message not written`);YS(r+Math.floor(Math.random()*r)),r=Math.min(r*2,GS)}}function WS(t){try{Sf(t)}catch(e){Zo.error({err:e},"teams operation failed")}}function wl(t,e){let r=t+".lock";JS(r);try{return e()}finally{WS(r)}}var Xo=class{filePath;constructor(e,r){PS(e,{recursive:!0}),this.filePath=FS(e,`${r}.json`)}readAll(){if(!jS(this.filePath))return[];try{let e=JSON.parse(DS(this.filePath,"utf-8")),r=[];if(Array.isArray(e))for(let o of e){let s=OS.safeParse(o);s.success&&r.push(s.data)}return r}catch(e){return Zo.error({err:e},"teams operation failed"),[]}}writeAll(e){$S(this.filePath,JSON.stringify(e,null,2),"utf-8")}async send(e,r,o){let s=o??{from:e,text:r,timestamp:new Date().toISOString()};return s.read=!1,wl(this.filePath,()=>{let n=this.readAll();n.push(s),this.writeAll(n)}),Promise.resolve()}receiveSync(){return wl(this.filePath,()=>{let e=this.readAll(),r=e.filter(o=>!o.read);if(r.length>0){for(let o of e)o.read=!0;this.writeAll(e)}return r})}async receive(){return Promise.resolve(this.receiveSync())}unreadCount(){return this.readAll().filter(e=>!e.read).length}markAllRead(){wl(this.filePath,()=>{let e=this.readAll(),r=!1;for(let o of e)o.read||(o.read=!0,r=!0);r&&this.writeAll(e)})}async*poll(e=1e3){for(;;){let r=await this.receive();for(let o of r)yield o;await new Promise(o=>setTimeout(o,e))}}};var kf=$.object({toolName:$.string(),input:$.record($.string(),$.unknown()),activityDescription:$.string()}),VS=$.object({toolUseCount:$.number(),tokenCount:$.number(),lastActivity:kf.optional(),recentActivities:$.array(kf)}),EP=$.object({name:$.string(),teamName:$.string(),status:$.enum(["running","idle","completed","failed","stopped"]),progress:VS,startTime:$.number(),spinnerVerb:$.string(),lastMessage:$.string().optional()});function Cl(){return{toolUseCount:0,tokenCount:0,lastActivity:void 0,recentActivities:[]}}function vf(t,e,r){t.toolUseCount++;let o=KS(e,r),s={toolName:e,input:r,activityDescription:o};t.lastActivity=s,t.recentActivities.push(s),t.recentActivities.length>5&&t.recentActivities.shift()}function Mf(t,e,r){t.tokenCount=e+r}function KS(t,e){switch(t){case"ReadFile":return`Reading ${S(e,"file_path","file")}`;case"EditFile":return`Editing ${S(e,"file_path","file")}`;case"WriteFile":return`Writing ${S(e,"file_path","file")}`;case"Bash":case"PowerShell":{let r=S(e,"command","");return`Running ${r.length>40?r.slice(0,40)+"...":r}`}case"Glob":return`Searching ${S(e,"pattern","files")}`;case"Grep":return`Grepping ${S(e,"pattern","pattern")}`;default:return t}}function yP(t){return t.length?t[t.length-1].activityDescription:""}function wP(t){return t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(1)+"k":String(t)}import{readFileSync as ZS,writeFileSync as XS,mkdirSync as ek,existsSync as tk}from"fs";import{dirname as rk}from"path";var ok=C.object({id:C.string(),title:C.string(),description:C.string().default(""),status:C.string().default("pending"),assignee:C.string().default(""),blocks:C.array(C.string()).default([]),blocked_by:C.array(C.string()).default([]),created_by:C.string().default("")}),sk=C.object({next_id:C.number().int().positive().default(1),tasks:C.array(ok).default([])}),es=class{path;nextId=1;tasks=[];constructor(e){this.path=e,this.load()}load(){if(tk(this.path))try{let e=JSON.parse(ZS(this.path,"utf-8")),r=Se(sk,e);this.nextId=r.next_id,this.tasks=r.tasks.map(o=>({id:o.id,title:o.title,description:o.description,status:o.status,assignee:o.assignee,blocks:o.blocks,blockedBy:o.blocked_by,createdBy:o.created_by}))}catch{}}save(){ek(rk(this.path),{recursive:!0});let e={next_id:this.nextId,tasks:this.tasks.map(r=>({id:r.id,title:r.title,description:r.description,status:r.status,assignee:r.assignee,blocks:r.blocks,blocked_by:r.blockedBy,created_by:r.createdBy}))};XS(this.path,JSON.stringify(e,null,2),"utf-8")}create(e,r="",o="",s=[],n=[],i=""){let a={id:String(this.nextId++),title:e,description:r,status:"pending",assignee:o,blocks:[...s],blockedBy:[...n],createdBy:i};return this.tasks.push(a),this.save(),a}get(e){return this.load(),this.tasks.find(r=>r.id===e)}listTasks(e,r){return this.load(),this.tasks.filter(o=>!(e&&o.status!==e||r&&o.assignee!==r))}update(e,r){this.load();let o=this.tasks.find(s=>s.id===e);if(o){r.status!==void 0&&(o.status=r.status),r.assignee!==void 0&&(o.assignee=r.assignee),r.description!==void 0&&(o.description=r.description);for(let s of r.addBlocks??[])o.blocks.includes(s)||o.blocks.push(s);for(let s of r.addBlockedBy??[])o.blockedBy.includes(s)||o.blockedBy.push(s);return this.save(),o}}initEmpty(){this.tasks=[],this.nextId=1,this.save()}};import{existsSync as nk,mkdirSync as ik,readFileSync as ak,writeFileSync as ck}from"fs";import{homedir as lk}from"os";import{dirname as uk,join as Il}from"path";var dk=C.object({agentId:C.string(),name:C.string(),agentType:C.string().optional(),model:C.string().optional(),joinedAt:C.number(),worktreePath:C.string().optional(),backendType:C.string().optional(),isActive:C.boolean().optional()}),Ak=C.object({name:C.string(),description:C.string().optional(),createdAt:C.number(),leadAgentId:C.string(),members:C.array(dk)});function pk(){return Il(lk(),".swifty","teams")}function mk(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function ts(t){return Il(pk(),mk(t))}function bf(t){return Il(ts(t),"config.json")}function xf(t){let e=bf(t);if(!nk(e))return null;try{let r=JSON.parse(ak(e,"utf-8"));return Ak.parse(r)}catch{return null}}function Rf(t,e){try{let r=bf(t);ik(uk(r),{recursive:!0}),ck(r,JSON.stringify(e,null,2),"utf-8")}catch{}}import{mkdirSync as fk,readFileSync as RP,writeFileSync as gk,existsSync as TP}from"fs";import{join as Tf}from"path";var NP=T({module:"teams"}),hk=C.object({tool_use_id:C.string(),tool_name:C.string(),arguments:C.record(C.string(),C.unknown())}),Ek=C.object({tool_use_id:C.string(),content:C.string(),is_error:C.boolean().optional()}),zP=C.object({role:C.string(),content:C.string().optional(),tool_uses:C.array(hk).optional(),tool_results:C.array(Ek).optional()});function yk(t){let e=[];for(let r of t.getMessages()){let o={role:r.role,content:ni(r.content)};r.toolUses&&r.toolUses.length>0&&(o.tool_uses=r.toolUses.map(s=>({tool_use_id:s.toolUseId,tool_name:s.toolName,arguments:s.arguments}))),r.toolResults&&r.toolResults.length>0&&(o.tool_results=r.toolResults.map(s=>({tool_use_id:s.toolUseId,content:ni(s.content),is_error:s.isError||void 0}))),e.push(o)}return e}function wk(t,e){return Tf(t,".swifty","teams",e,"transcripts")}function Df(t,e,r,o){let s=wk(t,e);fk(s,{recursive:!0});let n=Tf(s,`${r}.json`),i=yk(o);return gk(n,JSON.stringify(i,null,2),"utf-8"),n}var $f=T({module:"teams"}),jn=class t{name;mode;members=new Map;leadMailbox;mailboxDir;workDir;leadAgentId="";description;createdAt=Math.floor(Date.now()/1e3);constructor(e,r,o){this.name=e,this.mode=r,this.workDir=o,this.mailboxDir=Bl(ts(e),"inboxes"),Ck(this.mailboxDir,{recursive:!0}),this.leadMailbox=new Xo(this.mailboxDir,"lead")}addMember(e){let r=new Xo(this.mailboxDir,e),o={name:e,active:!1,mailbox:r,agentId:e,joinedAt:Math.floor(Date.now()/1e3)};return this.members.set(e,o),this.persist(),o}setMemberMeta(e,r){let o=this.members.get(e);o&&(o.agentType=r.agentType,o.model=r.model,o.worktreePath=r.worktreePath,this.persist())}snapshot(){return{name:this.name,description:this.description,createdAt:this.createdAt,leadAgentId:this.leadAgentId,members:[...this.members.values()].map(e=>({agentId:e.agentId??e.name,name:e.name,agentType:e.agentType,model:e.model,joinedAt:e.joinedAt??0,worktreePath:e.worktreePath,backendType:this.mode,isActive:e.active}))}}persist(){Rf(this.name,this.snapshot())}static IDLE_POLL_INTERVAL_MS=500;static SHUTDOWN_PREFIX="[shutdown]";spawnTeammate(e,r,o,s){if(this.mode==="in-process"){this.spawnInProcess(e,r,o,s);return}try{this.spawnExternal(e,r)}catch{this.spawnInProcess(e,r,o,s)}}spawnExternal(e,r){let o=this.addMember(e);o.active=!0,jr().register(e,e),o.uiState={name:e,teamName:this.name,status:"running",progress:Cl(),startTime:Date.now(),spinnerVerb:yl()};let s=process.argv[1]??"src/main.tsx",n={mode:this.mode,command:"bun",args:["run",s,"--teammate","--team-dir",this.mailboxDir,"--team-name",this.name,"--member-name",e,"--task",r],cwd:this.workDir},{cancel:i,paneId:a}=Qf(n);o.cancel=i,o.paneId=a,o.external=!0}spawnInProcess(e,r,o,s){let n=this.addMember(e);n.active=!0,n.checker=s,jr().register(e,e);let i={name:e,teamName:this.name,status:"running",progress:Cl(),startTime:Date.now(),spinnerVerb:yl()};n.uiState=i;let a=c=>{switch(c.type){case"tool_use":c.toolName&&c.args&&vf(i.progress,c.toolName,c.args);break;case"usage":c.usage&&Mf(i.progress,c.usage.inputTokens,c.usage.outputTokens);break;case"stream_text":c.text&&(i.lastMessage=c.text);break}};(async()=>{let c=r,u="available";try{for(;n.active;){i.status="running";let l=await o(c,a);if(i.lastMessage=l.length>200?l.slice(0,200)+"...":l,n.checker?.mode==="plan"){i.status="idle";let p=await this.runPlanApproval(n,this.readPlanForReview());if(p===null)break;c=p;continue}i.status="idle",await this.leadMailbox.send(e,`[idle] ${e} (reason: ${u})`),u="available";let d=await this.waitForNextPromptOrShutdown(n);if(d.shutdown||!n.active){let p=d.shutdown;if(p?.type===Zt){let m=bn(n.name,p.requestId??"",!0,"acknowledged, shutting down");await this.leadMailbox.send(n.name,m.text,m)}break}c=d.prompt}i.status="completed"}catch(l){$f.error({err:l},"teams operation failed"),i.status="failed",i.lastMessage=O(l),await this.leadMailbox.send(e,`[idle] ${e} (reason: failed)`)}finally{if(n.active=!1,i.status==="running"&&(i.status="idle"),n.conversation)try{Df(this.workDir,this.name,e,n.conversation)}catch(l){$f.error({err:l},"teams operation failed")}}})()}async waitForNextPromptOrShutdown(e){for(;e.active;){await new Promise(n=>setTimeout(n,t.IDLE_POLL_INTERVAL_MS));let r=e.mailbox.receiveSync();if(r.length===0)continue;let o=r.find(n=>Vm(n));return o?{prompt:"",shutdown:o}:{prompt:`You have new messages from your team:
|
|
156
156
|
|
|
157
157
|
${r.map(n=>`From ${n.from}: ${n.text}`).join(`
|
|
158
158
|
|
|
159
|
-
`)}`}}return{prompt:"",shutdown:
|
|
159
|
+
`)}`}}return{prompt:"",shutdown:Mn("lead","member deactivated")}}readPlanForReview(){try{let e=Ik(Gl(this.workDir),"utf-8");if(e.trim())return e}catch{}return"(Plan file is empty \u2014 the teammate may not have written the plan as expected)"}async runPlanApproval(e,r){let o=Jm(e.name,r);for(await this.leadMailbox.send(e.name,o.text,o);e.active;){await new Promise(s=>setTimeout(s,t.IDLE_POLL_INTERVAL_MS));for(let s of e.mailbox.receiveSync())if(s.type===Pr&&s.requestId===o.requestId)return ul(s)&&e.checker&&(e.checker.mode="default"),ul(s)?"The Lead has approved your plan. Begin execution now.":`The Lead rejected your plan. Feedback: ${s.text}
|
|
160
160
|
Please revise the plan accordingly and resubmit.`}return null}getMember(e){return this.members.get(e)}async sendMessage(e,r,o){let s=this.members.get(r);if(!s)throw new Error(`Member '${r}' not found in team '${this.name}'`);await s.mailbox.send(e,o)}async stopMember(e){let r=this.members.get(e);r&&(await this.stopOne(r),this.persist())}async stopAll(){for(let e of this.members.values())await this.stopOne(e)}async stopOne(e){if(e.active=!1,e.uiState?.status==="running"&&(e.uiState.status="stopped"),e.external)try{await e.mailbox.send("lead",`${t.SHUTDOWN_PREFIX} stop`)}catch{}e.cancel?.()}listMembers(){return[...this.members.values()]}getTeammateStates(){return this.listMembers().filter(e=>e.uiState).map(e=>e.uiState)}},Pf=class{teams=new Map;workDir;taskStores=new Map;constructor(e){this.workDir=e}teamDir(e){return ts(e)}create(e,r=If(),o={}){let s=new jn(e,r,this.workDir);s.leadAgentId=o.leadAgentId??"",s.description=o.description,this.teams.set(e,s);let n=new es(Bl(this.teamDir(e),"tasks.json"));return n.initEmpty(),this.taskStores.set(e,n),s.persist(),s}get(e){let r=this.teams.get(e);if(r)return r;let o=xf(e);if(!o)return;let s=o.members.find(i=>i.backendType)?.backendType,n=new jn(o.name,Qk(s)?s:"in-process",this.workDir);n.leadAgentId=o.leadAgentId,n.description=o.description,n.createdAt=o.createdAt;for(let i of o.members){let a=n.addMember(i.name);a.agentId=i.agentId,a.agentType=i.agentType,a.model=i.model,a.worktreePath=i.worktreePath,a.joinedAt=i.joinedAt,a.active=i.isActive===!0}return this.teams.set(e,n),n}getTaskStore(e){let r=this.taskStores.get(e);if(r)return r;let o=new es(Bl(this.teamDir(e),"tasks.json"));return this.taskStores.set(e,o),o}list(){return[...this.teams.values()]}async delete(e){let r=this.teams.get(e);if(r){let o=jr();for(let s of r.listMembers())o.unregister(s.name);await r.stopAll(),this.teams.delete(e)}this.taskStores.delete(e),Bk(ts(e),{recursive:!0,force:!0})}getAllTeammateStates(){return this.list().flatMap(e=>e.getTeammateStates())}drainLeads(){let e=[];for(let r of this.teams.values()){let o=r.leadMailbox.receiveSync();if(o.length===0)continue;let s=[];s.push(`<task-notification team="${r.name}">`);for(let n of o)s.push(`from=${n.from}: ${n.text}`);s.push("</task-notification>"),e.push(s.join(`
|
|
161
161
|
`))}return e}};function Qk(t){return t==="in-process"||t==="tmux"||t==="iterm"}import{spawn as _k}from"child_process";var jf=`
|
|
162
162
|
Execute a shell command and return stdout and stderr.
|
|
@@ -179,7 +179,7 @@ Git Safety Protocol
|
|
|
179
179
|
- NEVER run destructive git commands (push --force, reset --hard, checkout ., clean -f, branch -D) unless the user explicitly requests it.
|
|
180
180
|
- NEVER skip hooks (--no-verify) unless the user explicitly requests it.
|
|
181
181
|
- Prefer creating a new commit rather than amending an existing one.
|
|
182
|
-
- Commit identity:
|
|
182
|
+
- Commit identity: adds a header: Co-Authored-By: Swifty <usr161043261@outlook.com>
|
|
183
183
|
|
|
184
184
|
Avoiding unnecessary sleep commands. Do NOT retry failing commands in a sleep loop -- diagnose the root cause instead.
|
|
185
185
|
When using find, search from "." or a specific path, not "/" -- scanning the full filesystem is too expensive.
|
|
@@ -204,7 +204,7 @@ Git Safety Protocol
|
|
|
204
204
|
- NEVER run destructive git commands (push --force, reset --hard, checkout ., clean -f, branch -D) unless the user explicitly requests it.
|
|
205
205
|
- NEVER skip hooks (--no-verify) unless the user explicitly requests it.
|
|
206
206
|
- Prefer creating a new commit rather than amending an existing one.
|
|
207
|
-
- Commit identity:
|
|
207
|
+
- Commit identity: adds a header: Co-Authored-By: Swifty <usr161043261@outlook.com>
|
|
208
208
|
|
|
209
209
|
Avoiding unnecessary Start-Sleep commands. Do NOT retry failing commands in a sleep loop -- diagnose the root cause instead.
|
|
210
210
|
When using Get-ChildItem -Recurse, search from "." or a specific path, not the drive root -- scanning the full filesystem is too expensive.
|
|
@@ -261,30 +261,30 @@ Usage Notes
|
|
|
261
261
|
- Search from "." or a specific path, never from "/".
|
|
262
262
|
- Automatically skips .git, node_modules, __pycache__, and similar directories.
|
|
263
263
|
- Use this instead of grep or rg commands via Bash.
|
|
264
|
-
`;var Nn=new Set([".claude",".git",".swifty",".next",".venv",".mypy_cache",".tox","__pycache__","build","dist","node_modules","vendor","venv"]);var qf=600,Sk=3e3;function kk(t){let r=(t.split("|").pop()?.trim()??t).split(/\s+/);for(let o of r)if(!(o.includes("=")&&!o.startsWith("-")))return o.split("/").pop()??o;return""}var
|
|
265
|
-
`;if(m&&(D+=m),g&&(D+=g),z!==0){let ce=
|
|
264
|
+
`;var Nn=new Set([".claude",".git",".swifty",".next",".venv",".mypy_cache",".tox","__pycache__","build","dist","node_modules","vendor","venv"]);var qf=600,Sk=3e3;function kk(t){let r=(t.split("|").pop()?.trim()??t).split(/\s+/);for(let o of r)if(!(o.includes("=")&&!o.startsWith("-")))return o.split("/").pop()??o;return""}var vk=new Map([["grep",new Map([[1,"no matches found"]])],["egrep",new Map([[1,"no matches found"]])],["fgrep",new Map([[1,"no matches found"]])],["rg",new Map([[1,"no matches found"]])],["diff",new Map([[1,"files differ"]])],["test",new Map([[1,"condition is false"]])],["[",new Map([[1,"condition is false"]])],["find",new Map([[1,"partial success"]])]]);function Mk(t,e){let r=kk(t);return vk.get(r)?.get(e)??""}var Gf=class{name="Bash";description=jf;category="command";sandbox=null;sandboxConfig={allowWrite:[],denyWrite:[],networkEnabled:!0};isConcurrencySafe(e){let r=e.command;return typeof r=="string"&&Hl(r)}schema(){let e={type:"object",properties:{command:{type:"string",description:"Shell command to execute"},timeout:{type:"integer",description:"Timeout in seconds (max 600)",default:120}},required:["command"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"command");if(!o)return Promise.resolve({output:"Error: command is required",isError:!0});let s=et(r,"timeout",120);s>qf&&(s=qf);let n=o;return this.sandbox?.available()&&(n=this.sandbox.wrap(o,this.sandboxConfig)),e.abortSignal?.aborted?Promise.resolve({output:"Error: command interrupted",isError:!0}):new Promise(i=>{let a=!1,c=!1,u=!1,l=null,d=_k("bash",["-c",n],{cwd:e.workDir,detached:!0,stdio:["ignore","pipe","pipe"]}),p=10*1024*1024,m="",g="",f=0,h=()=>d.exitCode!==null||d.signalCode!==null,y=v=>{if(typeof d.pid=="number")try{process.kill(-d.pid,v)}catch{try{d.kill(v)}catch{}}},w=()=>{u||(u=!0,y("SIGTERM"),l=setTimeout(()=>{y("SIGKILL"),d.stdout.destroy(),d.stderr.destroy()},Sk),l.unref())},I=(v,z)=>{let D=v;f+D.length>p&&(D=D.slice(0,p-f),w()),f+=D.length,z==="stdout"?m+=D:g+=D};d.stdout.setEncoding("utf-8"),d.stdout.on("data",v=>{I(v,"stdout")}),d.stderr.setEncoding("utf-8"),d.stderr.on("data",v=>{I(v,"stderr")});let M=()=>{h()||(c=!0,w())},E=setTimeout(()=>{h()||(a=!0,w())},s*1e3);E.unref(),e.abortSignal?.addEventListener("abort",M,{once:!0});let B=()=>{clearTimeout(E),l&&clearTimeout(l),e.abortSignal?.removeEventListener("abort",M)};d.on("error",v=>{B(),i({output:`Error executing command: ${v.message}`,isError:!0})}),d.on("close",v=>{if(B(),c){i({output:"Error: command interrupted",isError:!0});return}if(a){i({output:`Error: command timed out after ${String(s)}s`,isError:!0});return}let z=v??0,D=`$ ${o}
|
|
265
|
+
`;if(m&&(D+=m),g&&(D+=g),z!==0){let ce=Mk(o,z);D+=ce?`
|
|
266
266
|
Exit code ${String(z)} (${ce})`:`
|
|
267
267
|
Exit code ${String(z)}`}i({output:D,isError:!1})})})}};import{readFile as bk,writeFile as xk}from"fs/promises";function Hf(t,e){let r=t.split(`
|
|
268
268
|
`),o=e.split(`
|
|
269
|
-
`),s=0,n=Math.min(r.length,o.length);for(;s<n&&r[s]===o[s];)s++;let i=0,a=n-s;for(;i<a&&r[r.length-1-i]===o[o.length-1-i];)i++;let c=r.slice(s,r.length-i),u=o.slice(s,o.length-i),l=Math.max(0,s-3),d=r.slice(l,s),p=Math.min(r.length,r.length-i+3),m=r.slice(r.length-i,p),g=[],f=l+1,h=l+1,y=!1,w=(I,
|
|
269
|
+
`),s=0,n=Math.min(r.length,o.length);for(;s<n&&r[s]===o[s];)s++;let i=0,a=n-s;for(;i<a&&r[r.length-1-i]===o[o.length-1-i];)i++;let c=r.slice(s,r.length-i),u=o.slice(s,o.length-i),l=Math.max(0,s-3),d=r.slice(l,s),p=Math.min(r.length,r.length-i+3),m=r.slice(r.length-i,p),g=[],f=l+1,h=l+1,y=!1,w=(I,M,E)=>{if(g.length>=200){y=!0;return}g.push(`${I} ${String(M).padStart(4)} ${E}`)};for(let I of d)w(" ",f,I),f++,h++;for(let I of c)w("-",f,I),f++;for(let I of u)w("+",h,I),h++;for(let I of m)w(" ",f,I),f++,h++;return y&&g.push(` ... (diff truncated at ${String(200)} lines)`),{text:g.join(`
|
|
270
270
|
`),additions:u.length,removals:c.length}}var Yf=T({module:"tools"}),zn=class{name="EditFile";description=Uf;category="write";schema(){let e={type:"object",properties:{file_path:{type:"string",description:"Absolute path to the file"},old_string:{type:"string",description:"Exact string to find and replace"},new_string:{type:"string",description:"Replacement string"},replace_all:{type:"boolean",description:"Replace all occurrences of old_string (default false)",default:!1}},required:["file_path","old_string","new_string"]};return{name:this.name,description:this.description,input_schema:e}}async execute(e,r){let o=S(r,"file_path"),s=S(r,"old_string"),n=S(r,"new_string"),i=ps(r,"replace_all");if(!o)return{output:"Error: file_path is required",isError:!0};if(!s)return{output:"Error: old_string is required",isError:!0};if(s===n)return{output:"Error: old_string and new_string MUST be different",isError:!0};if(e.fileStateCache){let l=e.fileStateCache.check(o);if(!l.ok)return{output:l.error,isError:!0}}e.fileHistory?.trackEdit(o);let a;try{a=await bk(o,"utf-8")}catch(l){return Yf.error({err:l},"tool operation failed"),{output:`Error reading file: ${O(l)}`,isError:!0}}let c=a.split(s).length-1;if(c===0)return{output:"Error: old_string not found in file",isError:!0};if(!i&&c>1)return{output:`Error: old_string found ${String(c)} times in file. It must be unique. Add more surrounding context, or set replace_all to true`,isError:!0};let u=i?a.replaceAll(s,n):a.replace(s,n);try{await xk(o,u,"utf-8"),e.fileStateCache?.update(o);let{text:l,additions:d,removals:p}=Hf(a,u);return{output:`${i&&c>1?`Updated ${o} with ${String(d)} addition${d===1?"":"s"} and ${String(p)} removal${p===1?"":"s"} (${String(c)} replacements)`:`Updated ${o} with ${String(d)} addition${d===1?"":"s"} and ${String(p)} removal${p===1?"":"s"}`}
|
|
271
|
-
${l}`,isError:!1}}catch(l){return Yf.error({err:l},"tool operation failed"),{output:`Error writing file: ${O(l)}`,isError:!0}}}};import{statSync as Jf}from"fs";var Wf=T({module:"file-state-cache"}),Vf=class{cache=new Map;record(e,r){this.cache.set(e,r)}check(e){let r=this.cache.get(e);if(r===void 0)return{ok:!1,error:"Error: file has not been read yet, read it first before editing."};let o;try{o=Jf(e).mtimeMs}catch(s){return Wf.error({err:s},"file state cache operation failed"),{ok:!0}}return o>r?{ok:!1,error:"Error: file has been modified since last read, read it again before editing."}:{ok:!0}}update(e){let r;try{r=Jf(e).mtimeMs}catch(o){Wf.error({err:o},"file state cache operation failed"),this.cache.delete(e);return}this.cache.set(e,r)}};import{execFile as Rk,spawn as Tk}from"child_process";var Kf=600,Dk=3e3;function $k(t){let r=(t.split("|").pop()?.trim()??t).split(/\s+/);for(let o of r){if(o.includes("=")&&!o.startsWith("-"))continue;return(o.split(/[\\/]/).pop()??o).replace(/\.exe$/i,"").toLowerCase()}return""}var Pk=new Map([["findstr",new Map([[1,"no matches found"]])],["where",new Map([[1,"not found"]])],["grep",new Map([[1,"no matches found"]])],["rg",new Map([[1,"no matches found"]])],["diff",new Map([[1,"files differ"]])]]);function jk(t,e){let r=$k(t);return Pk.get(r)?.get(e)??""}var Zf=class{name="PowerShell";description=Nf;category="command";schema(){let e={type:"object",properties:{command:{type:"string",description:"PowerShell command to execute"},timeout:{type:"integer",description:"Timeout in seconds (max 600)",default:120}},required:["command"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"command");if(!o)return Promise.resolve({output:"Error: command is required",isError:!0});let s=et(r,"timeout",120);s>Kf&&(s=Kf);let n=process.platform==="win32"?"powershell.exe":"pwsh";return e.abortSignal?.aborted?Promise.resolve({output:"Error: command interrupted",isError:!0}):new Promise(i=>{let a=!1,c=!1,u=!1,l=null,d=Tk(n,["-NoProfile","-NonInteractive","-Command",o],{cwd:e.workDir,detached:process.platform!=="win32",stdio:["ignore","pipe","pipe"]}),p=10*1024*1024,m="",g="",f=0,h=()=>d.exitCode!==null||d.signalCode!==null,y=
|
|
271
|
+
${l}`,isError:!1}}catch(l){return Yf.error({err:l},"tool operation failed"),{output:`Error writing file: ${O(l)}`,isError:!0}}}};import{statSync as Jf}from"fs";var Wf=T({module:"file-state-cache"}),Vf=class{cache=new Map;record(e,r){this.cache.set(e,r)}check(e){let r=this.cache.get(e);if(r===void 0)return{ok:!1,error:"Error: file has not been read yet, read it first before editing."};let o;try{o=Jf(e).mtimeMs}catch(s){return Wf.error({err:s},"file state cache operation failed"),{ok:!0}}return o>r?{ok:!1,error:"Error: file has been modified since last read, read it again before editing."}:{ok:!0}}update(e){let r;try{r=Jf(e).mtimeMs}catch(o){Wf.error({err:o},"file state cache operation failed"),this.cache.delete(e);return}this.cache.set(e,r)}};import{execFile as Rk,spawn as Tk}from"child_process";var Kf=600,Dk=3e3;function $k(t){let r=(t.split("|").pop()?.trim()??t).split(/\s+/);for(let o of r){if(o.includes("=")&&!o.startsWith("-"))continue;return(o.split(/[\\/]/).pop()??o).replace(/\.exe$/i,"").toLowerCase()}return""}var Pk=new Map([["findstr",new Map([[1,"no matches found"]])],["where",new Map([[1,"not found"]])],["grep",new Map([[1,"no matches found"]])],["rg",new Map([[1,"no matches found"]])],["diff",new Map([[1,"files differ"]])]]);function jk(t,e){let r=$k(t);return Pk.get(r)?.get(e)??""}var Zf=class{name="PowerShell";description=Nf;category="command";schema(){let e={type:"object",properties:{command:{type:"string",description:"PowerShell command to execute"},timeout:{type:"integer",description:"Timeout in seconds (max 600)",default:120}},required:["command"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"command");if(!o)return Promise.resolve({output:"Error: command is required",isError:!0});let s=et(r,"timeout",120);s>Kf&&(s=Kf);let n=process.platform==="win32"?"powershell.exe":"pwsh";return e.abortSignal?.aborted?Promise.resolve({output:"Error: command interrupted",isError:!0}):new Promise(i=>{let a=!1,c=!1,u=!1,l=null,d=Tk(n,["-NoProfile","-NonInteractive","-Command",o],{cwd:e.workDir,detached:process.platform!=="win32",stdio:["ignore","pipe","pipe"]}),p=10*1024*1024,m="",g="",f=0,h=()=>d.exitCode!==null||d.signalCode!==null,y=v=>{if(typeof d.pid=="number"){if(process.platform==="win32"){let z=["/pid",String(d.pid),"/T"];v==="SIGKILL"&&z.push("/F"),Rk("taskkill",z,D=>{if(D&&!h())try{d.kill(v)}catch{}});return}try{process.kill(-d.pid,v)}catch{try{d.kill(v)}catch{}}}},w=()=>{u||(u=!0,y("SIGTERM"),l=setTimeout(()=>{y("SIGKILL"),d.stdout.destroy(),d.stderr.destroy()},Dk),l.unref())},I=(v,z)=>{let D=v;f+D.length>p&&(D=D.slice(0,p-f),w()),f+=D.length,z==="stdout"?m+=D:g+=D};d.stdout.setEncoding("utf-8"),d.stdout.on("data",v=>{I(v,"stdout")}),d.stderr.setEncoding("utf-8"),d.stderr.on("data",v=>{I(v,"stderr")});let M=()=>{h()||(c=!0,w())},E=setTimeout(()=>{h()||(a=!0,w())},s*1e3);E.unref(),e.abortSignal?.addEventListener("abort",M,{once:!0});let B=()=>{clearTimeout(E),l&&clearTimeout(l),e.abortSignal?.removeEventListener("abort",M)};d.on("error",v=>{B();let z=S(Hr(v),"code")==="ENOENT"&&process.platform!=="win32"?" (pwsh is required on macOS/Linux \u2014 install PowerShell Core)":"";i({output:`Error executing command: ${v.message}${z}`,isError:!0})}),d.on("close",v=>{if(B(),c){i({output:"Error: command interrupted",isError:!0});return}if(a){i({output:`Error: command timed out after ${String(s)}s`,isError:!0});return}let z=v??0,D=`PS> ${o}
|
|
272
272
|
`;if(m&&(D+=m),g&&(D+=g),z!==0){let ce=jk(o,z);D+=ce?`
|
|
273
273
|
Exit code ${String(z)} (${ce})`:`
|
|
274
|
-
Exit code ${String(z)}`}i({output:D,isError:!1})})})}};import{existsSync as Nk,readFileSync as zk,statSync as Uk}from"fs";import{basename as Fk}from"path";var Xf=T({module:"tools"}),Un=class{name="ReadFile";description=zf;category="read";schema(){let e={type:"object",properties:{file_path:{type:"string",description:"Absolute path to the file"},offset:{type:"integer",description:"Line number to start from (0-based)",default:0},limit:{type:"integer",description:"Max lines to read",default:2e3}},required:["file_path"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"file_path");if(!o)return Promise.resolve({output:"Error: file_path is required",isError:!0});if(!Nk(o))return Promise.resolve({output:`Error: file not found: ${o}`,isError:!0});let s=Uk(o);if(s.isDirectory())return Promise.resolve({output:`Error: ${o} is a directory, not a file. Use Glob to list directory contents.`,isError:!0});if(
|
|
274
|
+
Exit code ${String(z)}`}i({output:D,isError:!1})})})}};import{existsSync as Nk,readFileSync as zk,statSync as Uk}from"fs";import{basename as Fk}from"path";var Xf=T({module:"tools"}),Un=class{name="ReadFile";description=zf;category="read";schema(){let e={type:"object",properties:{file_path:{type:"string",description:"Absolute path to the file"},offset:{type:"integer",description:"Line number to start from (0-based)",default:0},limit:{type:"integer",description:"Max lines to read",default:2e3}},required:["file_path"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"file_path");if(!o)return Promise.resolve({output:"Error: file_path is required",isError:!0});if(!Nk(o))return Promise.resolve({output:`Error: file not found: ${o}`,isError:!0});let s=Uk(o);if(s.isDirectory())return Promise.resolve({output:`Error: ${o} is a directory, not a file. Use Glob to list directory contents.`,isError:!0});if(vm(o))return this.readImage(e,o,s.mtimeMs);let n=et(r,"offset",0),i=et(r,"limit",2e3);try{let u=zk(o,"utf-8").split(`
|
|
275
275
|
`).slice(n,n+i);e.fileStateCache?.record(o,s.mtimeMs);let l=u.map((d,p)=>`${String(n+p+1)} ${d}`);return Promise.resolve({output:l.join(`
|
|
276
|
-
`),isError:!1})}catch(a){return Xf.error({err:a},"tool operation failed"),Promise.resolve({output:`Error reading file: ${O(a)}`,isError:!0})}}async readImage(e,r,o){try{let s=await
|
|
276
|
+
`),isError:!1})}catch(a){return Xf.error({err:a},"tool operation failed"),Promise.resolve({output:`Error reading file: ${O(a)}`,isError:!0})}}async readImage(e,r,o){try{let s=await Mm(r);return e.fileStateCache?.record(r,o),{output:[{type:"image",source:{type:"base64",media_type:s.mediaType,data:s.data}}],isError:!1}}catch(s){return Xf.error({err:s},"image read failed"),{output:`Error reading image ${Fk(r)}: ${O(s)}`,isError:!0}}}};var eg=class{constructor(e){this.jsonSchema=e}jsonSchema;name="SyntheticOutput";description="Return structured output in JSON format. Use this tool to return your final response as structured data in non-interactive or coordinator mode sessions.";category="read";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{output:{description:"The structured result: an object, an array, or a plain string"}},required:["output"]}}}execute(e,r){if(!("output"in r))return Promise.resolve({output:"Error: output is required",isError:!0});let o=r.output,s=this.validateSchema(o);if(s)return Promise.resolve({output:`Output does not match required schema: ${s}`,isError:!0});if(typeof o=="string")return Promise.resolve({output:o,isError:!1});try{return Promise.resolve({output:JSON.stringify(o,null,2),isError:!1})}catch(n){return Promise.resolve({output:`Error: output is not serializable: ${O(n)}`,isError:!0})}}validateSchema(e){if(!this.jsonSchema)return"";let r=this.jsonSchema.type;if(typeof r=="string"){let s=Array.isArray(e);if(r==="object"&&!(typeof e=="object"&&e!==null&&!s))return`Expected object, got ${s?"array":typeof e}`;if(r==="array"&&!s)return`Expected array, got ${typeof e}`;if(r==="string"&&typeof e!="string")return`Expected string, got ${s?"array":typeof e}`}let o=this.jsonSchema.required;if(Array.isArray(o)&&typeof e=="object"&&e!==null&&!Array.isArray(e)){let s=o.filter(n=>typeof n=="string"&&!(n in e));if(s.length>0)return`Missing required fields: ${s.join(", ")}`}return""}};var tg=class{name=ql;description="Search for and load deferred tools by name or keyword.";category="read";registry;constructor(e){this.registry=e}schema(){let e={type:"object",properties:{query:{type:"string",description:'Search query. Use "select:name1,name2" to load specific tools by name, or keywords to search.'},max_results:{type:"integer",description:"Max results to return",default:5}},required:["query"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"query"),s=et(r,"max_results",5);if(!o)return Promise.resolve({output:"Error: query is required",isError:!0});if(o.startsWith("select:")){let a=o.slice(7).split(",").map(p=>p.trim()),c=this.registry.findDeferredByNames(a);if(c.length===0)return Promise.resolve({output:`No deferred tools found matching: ${a.join(", ")}`,isError:!1});let u=[];for(let p of c)p.name.startsWith(Ll)?u.push(p.name):this.registry.markDiscovered(p.name);if(u.length>0&&this.registry.mcpLoadingMode==="native")return Promise.resolve({output:`Loaded ${String(u.length)} tool(s): ${u.join(", ")}. You can call them directly now.`,isError:!1,contentBlocks:u.map(p=>({type:"tool_reference",tool_name:p}))});let l=c.map(p=>JSON.stringify(p.schema(),null,2)),d=u.length>0?"\n\nTo invoke any of the tools above, call McpCall with that tool's full name and an `arguments` object matching its input_schema exactly, using the same JSON types.":"";return Promise.resolve({output:l.join(`
|
|
277
277
|
|
|
278
278
|
`)+d,isError:!1})}let n=this.registry.searchDeferred(o,s);if(n.length===0)return Promise.resolve({output:"No deferred tools matched the query.",isError:!1});let i=n.map(a=>JSON.stringify(a.schema(),null,2));return Promise.resolve({output:i.join(`
|
|
279
279
|
|
|
280
|
-
`),isError:!1})}};import{statSync as Wk}from"fs";import{join as Vk,resolve as Kk}from"path";import{existsSync as Ok,readFileSync as Lk,readdirSync as qk,lstatSync as Gk,statSync as Hk}from"fs";import{fileURLToPath as rg}from"url";var er=null;function Yk(t,e,r,o){throw new RangeError("@swifty.js/glob-wasm: glob compile aborted (pattern too complex)")}function og(t){return new WebAssembly.Instance(new WebAssembly.Module(t),{env:{abort:Yk,"Date.now":()=>Date.now(),seed:()=>Math.random()*Number.MAX_SAFE_INTEGER}}).exports}function Jk(){if(er)return er;let t=[new URL("./glob.wasm",import.meta.url),new URL("./release.wasm",import.meta.url),new URL("../build/release.wasm",import.meta.url)];for(let r of t){let o=rg(r);if(Ok(o))return er=og(Lk(o)),er}let e="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";if(e.length>0)return er=og(new Uint8Array(Buffer.from(e,"base64"))),er;throw new Error(`@swifty.js/glob-wasm: glob.wasm not found (searched: ${t.map(r=>rg(r)).join(", ")})`)}function rs(t,e,r){let o=t.__new(e.length<<1,2),s=new Uint16Array(t.memory.buffer,o,e.length);for(let n=0;n<e.length;n++)s[n]=e.charCodeAt(n);t.__pin(o);try{return r(o)}finally{t.__unpin(o)}}var zr=class{pattern;dot;id=0;constructor(e,r){this.pattern=e,this.dot=r?.dot??!1}ensureCompiled(){if(this.id===0){let e=Jk();if(Buffer.byteLength(this.pattern,"utf-8")>64*1024)throw new RangeError("glob pattern is too long (limit: 65536 bytes)");this.id=rs(e,this.pattern,r=>e.compile(r))}return er}match(e){let r=this.ensureCompiled(),o=this.dot?1:0;return rs(r,e,s=>r.match(this.id,s,o))!==0}scan(e){let r=this.ensureCompiled(),o=1e3;if(e?.maxResults!==void 0){let g=e.maxResults;if(typeof g!="number"||Number.isNaN(g)||g<0)throw new TypeError("maxResults must be a non-negative number");o=Math.min(Math.floor(g),4294967295)}let s=e?.cwd??".";try{if(!Hk(s).isDirectory())throw new Error(`ENOTDIR: not a directory, scan '${s}'`)}catch(g){throw g instanceof Error&&g.message.startsWith("ENOTDIR")?g:new Error(`ENOENT: no such directory, scan '${s}'`)}let n=new Set(e?.exclude??[]),i=e?.dot??this.dot,a=i?1:0,c=r.hasSlash(this.id)!==0,u=0;for(;u<this.pattern.length&&this.pattern.charCodeAt(u)===33;)u++;let l=u%2===1,d=c&&!l,p=[],m=(g,f)=>{if(p.length>=o)return;let h;try{h=qk(g)}catch{return}let y=[];for(let w of h){if(!i&&l&&w.charAt(0)===".")continue;let I;try{let v=Gk(`${g}/${w}`);v.isDirectory()?I="dir":v.isFile()||v.isSymbolicLink()?I="file":I="other"}catch{continue}I!=="other"&&y.push({name:w,isDir:I==="dir"})}y.sort((w,I)=>w.name<I.name?-1:w.name>I.name?1:0);for(let w of y){if(p.length>=o)return;if(w.isDir){if(n.has(w.name))continue;if(d){let I=f+w.name;if(!rs(r,I,E=>r.canDescend(this.id,E,a)))continue}else if(!i&&w.name.charAt(0)===".")continue;m(`${g}/${w.name}`,f+w.name+"/")}else if(c){let I=f+w.name;rs(r,I,E=>r.match(this.id,E,a))&&p.push(I)}else rs(r,w.name,v=>r.match(this.id,v,a))&&p.push(f+w.name)}};return m(s,""),p}};var Zk=T({module:"tools"}),Fn=class{name="Glob";description=Of;category="read";schema(){let e={type:"object",properties:{pattern:{type:"string",description:"Glob pattern (e.g., '**/*.ts', '**/*.go')"},path:{type:"string",description:"Base directory to search from",default:"."}},required:["pattern"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"pattern");if(!o)return Promise.resolve({output:"Error: pattern is required",isError:!0});let s=Kk(e.workDir,S(r,"path",e.workDir)),n=1e3;try{let a=new zr(o).scan({cwd:s,exclude:[...Nn],dot:!0,maxResults:n});if(a.length===0)return Promise.resolve({output:"No files matched the pattern.",isError:!1});let c=new Map;for(let l of a){let d=0;try{d=Wk(Vk(s,l)).mtimeMs}catch{}c.set(l,d)}a.sort((l,d)=>(c.get(d)??0)-(c.get(l)??0)||l.localeCompare(d));let u=a.join(`
|
|
280
|
+
`),isError:!1})}};import{statSync as Wk}from"fs";import{join as Vk,resolve as Kk}from"path";import{existsSync as Ok,readFileSync as Lk,readdirSync as qk,lstatSync as Gk,statSync as Hk}from"fs";import{fileURLToPath as rg}from"url";var er=null;function Yk(t,e,r,o){throw new RangeError("@swifty.js/glob-wasm: glob compile aborted (pattern too complex)")}function og(t){return new WebAssembly.Instance(new WebAssembly.Module(t),{env:{abort:Yk,"Date.now":()=>Date.now(),seed:()=>Math.random()*Number.MAX_SAFE_INTEGER}}).exports}function Jk(){if(er)return er;let t=[new URL("./glob.wasm",import.meta.url),new URL("./release.wasm",import.meta.url),new URL("../build/release.wasm",import.meta.url)];for(let r of t){let o=rg(r);if(Ok(o))return er=og(Lk(o)),er}let e="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";if(e.length>0)return er=og(new Uint8Array(Buffer.from(e,"base64"))),er;throw new Error(`@swifty.js/glob-wasm: glob.wasm not found (searched: ${t.map(r=>rg(r)).join(", ")})`)}function rs(t,e,r){let o=t.__new(e.length<<1,2),s=new Uint16Array(t.memory.buffer,o,e.length);for(let n=0;n<e.length;n++)s[n]=e.charCodeAt(n);t.__pin(o);try{return r(o)}finally{t.__unpin(o)}}var zr=class{pattern;dot;id=0;constructor(e,r){this.pattern=e,this.dot=r?.dot??!1}ensureCompiled(){if(this.id===0){let e=Jk();if(Buffer.byteLength(this.pattern,"utf-8")>64*1024)throw new RangeError("glob pattern is too long (limit: 65536 bytes)");this.id=rs(e,this.pattern,r=>e.compile(r))}return er}match(e){let r=this.ensureCompiled(),o=this.dot?1:0;return rs(r,e,s=>r.match(this.id,s,o))!==0}scan(e){let r=this.ensureCompiled(),o=1e3;if(e?.maxResults!==void 0){let g=e.maxResults;if(typeof g!="number"||Number.isNaN(g)||g<0)throw new TypeError("maxResults must be a non-negative number");o=Math.min(Math.floor(g),4294967295)}let s=e?.cwd??".";try{if(!Hk(s).isDirectory())throw new Error(`ENOTDIR: not a directory, scan '${s}'`)}catch(g){throw g instanceof Error&&g.message.startsWith("ENOTDIR")?g:new Error(`ENOENT: no such directory, scan '${s}'`)}let n=new Set(e?.exclude??[]),i=e?.dot??this.dot,a=i?1:0,c=r.hasSlash(this.id)!==0,u=0;for(;u<this.pattern.length&&this.pattern.charCodeAt(u)===33;)u++;let l=u%2===1,d=c&&!l,p=[],m=(g,f)=>{if(p.length>=o)return;let h;try{h=qk(g)}catch{return}let y=[];for(let w of h){if(!i&&l&&w.charAt(0)===".")continue;let I;try{let M=Gk(`${g}/${w}`);M.isDirectory()?I="dir":M.isFile()||M.isSymbolicLink()?I="file":I="other"}catch{continue}I!=="other"&&y.push({name:w,isDir:I==="dir"})}y.sort((w,I)=>w.name<I.name?-1:w.name>I.name?1:0);for(let w of y){if(p.length>=o)return;if(w.isDir){if(n.has(w.name))continue;if(d){let I=f+w.name;if(!rs(r,I,E=>r.canDescend(this.id,E,a)))continue}else if(!i&&w.name.charAt(0)===".")continue;m(`${g}/${w.name}`,f+w.name+"/")}else if(c){let I=f+w.name;rs(r,I,E=>r.match(this.id,E,a))&&p.push(I)}else rs(r,w.name,M=>r.match(this.id,M,a))&&p.push(f+w.name)}};return m(s,""),p}};var Zk=T({module:"tools"}),Fn=class{name="Glob";description=Of;category="read";schema(){let e={type:"object",properties:{pattern:{type:"string",description:"Glob pattern (e.g., '**/*.ts', '**/*.go')"},path:{type:"string",description:"Base directory to search from",default:"."}},required:["pattern"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"pattern");if(!o)return Promise.resolve({output:"Error: pattern is required",isError:!0});let s=Kk(e.workDir,S(r,"path",e.workDir)),n=1e3;try{let a=new zr(o).scan({cwd:s,exclude:[...Nn],dot:!0,maxResults:n});if(a.length===0)return Promise.resolve({output:"No files matched the pattern.",isError:!1});let c=new Map;for(let l of a){let d=0;try{d=Wk(Vk(s,l)).mtimeMs}catch{}c.set(l,d)}a.sort((l,d)=>(c.get(d)??0)-(c.get(l)??0)||l.localeCompare(d));let u=a.join(`
|
|
281
281
|
`);return a.length>=n&&(u+=`
|
|
282
|
-
(Results limited to ${String(n)} files. Use a more specific pattern.)`),Promise.resolve({output:u,isError:!1})}catch(i){return Zk.error({err:i},"tool operation failed"),Promise.resolve({output:`Error: ${O(i)}`,isError:!0})}}};import{lstat as Xk,readdir as
|
|
282
|
+
(Results limited to ${String(n)} files. Use a more specific pattern.)`),Promise.resolve({output:u,isError:!1})}catch(i){return Zk.error({err:i},"tool operation failed"),Promise.resolve({output:`Error: ${O(i)}`,isError:!0})}}};import{lstat as Xk,readdir as ev,readFile as tv,stat as sg}from"fs/promises";import{join as rv,relative as ng,resolve as ov,sep as sv}from"path";var os=T({module:"tools"}),ss=500,Ye="\\p{L}\\p{M}\\p{N}_",nv=new Map([["w",`[${Ye}]`],["W",`[^${Ye}]`],["d","\\p{Nd}"],["D","\\P{Nd}"],["b",`(?:(?<![${Ye}])(?=[${Ye}])|(?<=[${Ye}])(?![${Ye}]))`],["B",`(?:(?<=[${Ye}])(?=[${Ye}])|(?<![${Ye}])(?![${Ye}]))`]]),iv=new Map([["w",Ye],["d","\\p{Nd}"]]);function av(t){let e="",r=!1;for(let o=0;o<t.length;o++){let s=t.charAt(o);if(s==="\\"&&o+1<t.length){let n=t.charAt(o+1);if(n==="x"){let a=/^\{([0-9a-fA-F]{1,6})\}/.exec(t.slice(o+2));if(a&&Number.parseInt(a[1],16)<=1114111){e+=`\\u${a[0]}`,o+=1+a[0].length;continue}}let i=r?iv.get(n):nv.get(n);e+=i??s+n,o++;continue}s==="["&&!r?r=!0:s==="]"&&r&&(r=!1),e+=s}return e}var On=class{name="Grep";description=Lf;category="read";schema(){let e={type:"object",properties:{pattern:{type:"string",description:"Regex pattern to search"},path:{type:"string",description:"Directory or file to search",default:"."},include:{type:"string",description:"File pattern filter (e.g., '*.ts', 'src/**/*.js')"}},required:["pattern"]};return{name:this.name,description:this.description,input_schema:e}}async execute(e,r){let o=S(r,"pattern");if(!o)return{output:"Error: pattern is required",isError:!0};let s=ov(e.workDir,S(r,"path",e.workDir)),n=S(r,"include"),i;try{i=new RegExp(av(o),"iu")}catch{try{i=new RegExp(o,"i")}catch(g){return os.error({err:g},"tool operation failed"),{output:`Error: invalid regex pattern: ${o}`,isError:!0}}}let a=n?new zr(n,{dot:!0}):null,c=n.includes("/"),u=(g,f)=>{if(!a)return!0;let h=c?ng(e.workDir,g).split(sv).join("/"):f;return a.match(h)},l=[],d=async g=>{if(l.length>=ss)return;let f;try{f=await ev(g)}catch(h){os.error({err:h},"tool operation failed");return}for(let h of f){if(l.length>=ss)return;if(Nn.has(h))continue;let y=rv(g,h),w;try{if(w=await Xk(y),w.isSymbolicLink()&&(w=await sg(y),!w.isFile()))continue}catch(I){os.error({err:I},"tool operation failed");continue}if(w.isDirectory())await d(y);else if(w.isFile()){if(!u(y,h))continue;await p(y)}}},p=async g=>{try{let f=await tv(g);if(f.subarray(0,8192).includes(0))return;let h=f.toString("utf-8").split(`
|
|
283
283
|
`),y=ng(e.workDir,g);for(let w=0;w<h.length&&l.length<ss;w++)i.test(h[w])&&l.push(`${y}:${String(w+1)}:${h[w]}`)}catch(f){os.error({err:f},"tool operation failed")}};try{(await sg(s)).isFile()?await p(s):await d(s)}catch(g){return os.error({err:g},"tool operation failed"),{output:`Error: ${O(g)}`,isError:!0}}if(l.length===0)return{output:"No matches found.",isError:!1};let m=l.join(`
|
|
284
284
|
`);return l.length>=ss&&(m+=`
|
|
285
285
|
|
|
286
|
-
(results truncated at ${String(ss)} matches)`),{output:m,isError:!1}}};import{existsSync as
|
|
287
|
-
`).length;return Promise.resolve({output:`Successfully wrote to ${o} (${String(n)} lines)`,isError:!1})}catch(n){return
|
|
286
|
+
(results truncated at ${String(ss)} matches)`),{output:m,isError:!1}}};import{existsSync as cv,mkdirSync as lv,writeFileSync as uv}from"fs";import{dirname as dv}from"path";var Av=T({module:"tools"}),Ln=class{name="WriteFile";description=Ff;category="write";schema(){let e={type:"object",properties:{file_path:{type:"string",description:"Absolute path to write"},content:{type:"string",description:"Content to write"}},required:["file_path","content"]};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){let o=S(r,"file_path"),s=S(r,"content");if(!o)return Promise.resolve({output:"Error: file_path is required",isError:!0});if(e.fileStateCache&&cv(o)){let n=e.fileStateCache.check(o);if(!n.ok)return Promise.resolve({output:n.error,isError:!0})}try{e.fileHistory?.trackEdit(o),lv(dv(o),{recursive:!0}),uv(o,s,"utf-8"),e.fileStateCache?.update(o);let n=s.split(`
|
|
287
|
+
`).length;return Promise.resolve({output:`Successfully wrote to ${o} (${String(n)} lines)`,isError:!1})}catch(n){return Av.error({err:n},"tool operation failed"),Promise.resolve({output:`Error writing file: ${O(n)}`,isError:!0})}}};import{readdirSync as pv,readFileSync as ig,existsSync as ag,statSync as Ur}from"fs";import{homedir as qn}from"os";import{join as Je}from"path";var ns=T({module:"skills"}),cg=class{entries=new Map;workDir="";dirModTimes=new Map;load(e){this.workDir=e;let r=[Je(qn(),".claude","skills"),Je(qn(),".github","skills"),Je(qn(),".swifty","skills"),Je(e,".claude","skills"),Je(e,".github","skills"),Je(e,".swifty","skills")];for(let o of r)ag(o)&&this.scanDirectory(o);this.snapshotDirModTimes()}needsReload(){for(let[r,o]of this.dirModTimes)try{if(Ur(r).mtimeMs!==o)return!0}catch{if(o!==0)return!0}let e=this.skillDirPaths();for(let r of e)if(!this.dirModTimes.has(r))try{return Ur(r),!0}catch{}return!1}reload(){this.entries.clear(),this.load(this.workDir)}snapshotDirModTimes(){this.dirModTimes.clear();for(let e of this.skillDirPaths())try{this.dirModTimes.set(e,Ur(e).mtimeMs)}catch{this.dirModTimes.set(e,0)}}skillDirPaths(){return[Je(qn(),".swifty","skills"),...this.workDir?[Je(this.workDir,".swifty","skills")]:[]]}scanDirectory(e){let r;try{r=pv(e)}catch(o){ns.error({err:o},"skills operation failed");return}for(let o of r){let s=Je(e,o);if(Ur(s).isDirectory()){let i=Je(s,"SKILL.md");ag(i)&&this.loadSkill(i,s,!0)}}}loadSkill(e,r,o){try{let s=ig(e,"utf-8"),n=lg(s);if(!n)return;let i={meta:n.meta,body:n.body,sourceDir:r,isDirectory:o},a=0;try{a=Ur(e).mtimeMs}catch(c){ns.error({err:c},"skills operation failed")}this.entries.set(i.meta.name,{skill:i,filePath:e,loadedMtimeMs:a})}catch(s){ns.error({err:s},"skills operation failed")}}list(){return[...this.entries.values()].map(e=>e.skill.meta)}get(e){let r=this.entries.get(e);if(r){if(r.filePath&&r.loadedMtimeMs>0)try{let o=Ur(r.filePath).mtimeMs;if(o>r.loadedMtimeMs){let s=ig(r.filePath,"utf-8"),n=lg(s);n&&(r.skill={meta:n.meta,body:n.body,sourceDir:r.skill.sourceDir,isDirectory:r.skill.isDirectory},r.loadedMtimeMs=o)}}catch(o){ns.error({err:o},"skills operation failed")}return r.skill}}has(e){return this.entries.has(e)}};function mv(t){let e=S(Hr(t),"mode");return e==="inline"||e==="fork"?e:S(Hr(t),"context")==="fork"?"fork":"inline"}var fv=$.looseObject({name:$.string(),description:$.string().optional(),allowed_tools:$.array($.string()).optional(),mode:$.enum(["inline","fork"]).optional(),model:$.string().optional(),fork_context:$.enum(["full","none","recent"]).optional()});function lg(t){if(!t.startsWith("---"))return null;let e=t.indexOf("---",3);if(e===-1)return null;let r=t.slice(3,e).trim(),o=t.slice(e+3).trim();try{let s=gt.load(r),n=Se(fv,s);return{meta:{name:n.name,description:n.description??"",mode:mv(s),model:n.model,forkContext:n.fork_context},body:o}}catch(s){return ns.error({err:s},"skills operation failed"),null}}function BN(t,e){let r=t.list();if(r.length===0)return"";let s=[`## Available Skills
|
|
288
288
|
`,`Skills are installed at: ${Je(e,".swifty","skills")}`,`When creating new skills, always place them under this directory as <skill-name>/SKILL.md.
|
|
289
289
|
`,`Only Skill names and one-line descriptions are listed below. To activate a Skill on demand call the LoadSkill tool with {name: "<skill-name>"}. After activation the Skill's full SOP gets pinned to the environment context, and any tools the Skill declares get registered. Users can also invoke a Skill directly with /<name>.
|
|
290
290
|
`,`If the user pastes a Skill URL (skills.sh, github.com tree URL, or raw SKILL.md URL) and asks to install / add / get it, call the InstallSkill tool with {url: "<url>"} \u2014 the new Skill becomes available immediately afterwards.
|
|
@@ -301,9 +301,9 @@ ${r.snapshotParentMessages(100)}
|
|
|
301
301
|
|
|
302
302
|
${o}`),r.runSubagent(o)}var Ag=class{constructor(e,r,o){this.catalog=e;this.host=r;this.forkHost=o}catalog;host;forkHost;name="LoadSkill";description="Activate a skill by name. Returns the full SOP body so you can follow its instructions.. Call this when the user's request matches one of the available Skills listed in the available-skills section. Pass the Skill name without a leading slash.";category="read";schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{name:{type:"string",description:"Name of the skill to activate"}},required:["name"]}}}async execute(e,r){let o=S(r,"name"),s=this.catalog.get(o);if(!s){let i=this.catalog.list().map(a=>a.name).join(", ")||"(none)";return{output:`Skill '${o}' not found. Available skills: ${i}`,isError:!0}}if(s.meta.mode==="fork"&&this.forkHost)try{return{output:await dg(s,"",this.forkHost),isError:!1}}catch(i){return{output:`Skill '${o}' fork execution failed: ${O(i)}`,isError:!0}}let n=ug(s,"",this.host);return{output:`Skill '${o}' activated.
|
|
303
303
|
|
|
304
|
-
${n}`,isError:!1}}};var
|
|
304
|
+
${n}`,isError:!1}}};var gv=T({module:"tools"}),pg=class{name="EnterWorktree";description="Create and enter a git worktree for isolated work.";category="write";schema(){let e={type:"object",properties:{slug:{type:"string",description:"Short identifier for the worktree (branch name suffix)."}},required:["slug"]};return{name:this.name,description:this.description,input_schema:e}}async execute(e,r){let o=S(r,"slug");if(!o)return Promise.resolve({output:"Error: slug is required",isError:!0});if(!/^[a-zA-Z0-9_-]+$/.test(o))return Promise.resolve({output:"Error: slug must contain only alphanumeric, hyphen, underscore",isError:!0});try{let s=await Ko(o);return{output:`Worktree created at ${s.path}
|
|
305
305
|
Branch: ${s.branch}
|
|
306
|
-
Head: ${s.headCommit}`,isError:!1}}catch(s){return
|
|
306
|
+
Head: ${s.headCommit}`,isError:!1}}catch(s){return gv.error({err:s},"tool operation failed"),{output:`Error creating worktree: ${O(s)}`,isError:!0}}}};var hv=T({module:"tools"}),mg=class{name="ExitWorktree";description="Exit and optionally cleanup a git worktree";category="write";schema(){let e={type:"object",properties:{path:{type:"string",description:"Worktree path"},branch:{type:"string",description:"Worktree branch name"},git_root:{type:"string",description:"Git root directory"},head_commit:{type:"string",description:"Original HEAD commit for change detection"}},required:["path","branch","git_root"]};return{name:this.name,description:this.description,input_schema:e}}async execute(e,r){let o=S(r,"path"),s=S(r,"branch"),n=S(r,"git_root"),i=S(r,"head_commit");if(!o||!s||!n)return{output:"Error: path, branch and git_root are required",isError:!0};if(!(i?lf(o,i):!1))try{return await cf(o,s,n),{output:`Worktree cleaned up (no changes): ${o}`,isError:!1}}catch(c){return hv.error({err:c},"tool operation failed"),{output:`Error cleaning up worktree: ${O(c)}`,isError:!0}}return{output:`Worktree has changes, kept at: ${o}
|
|
307
307
|
Branch: ${s}`,isError:!1}}};var Ql=class{commands=new Map;aliasMap=new Map;register(e){if(this.commands.has(e.name))throw new Error(`Command '${e.name}' already registered`);if(this.aliasMap.has(e.name))throw new Error(`Command name '${e.name}' collides with alias of '${this.aliasMap.get(e.name)??""}'`);for(let r of e.aliases){if(this.commands.has(r))throw new Error(`Alias '${r}' for '${e.name}' collides with existing command name`);if(this.aliasMap.has(r))throw new Error(`Alias '${r}' for '${e.name}' already registered by '${this.aliasMap.get(r)??""}'`)}this.commands.set(e.name,e);for(let r of e.aliases)this.aliasMap.set(r,e.name)}hasConflict(e){if(this.find(e.name))return!0;for(let r of e.aliases)if(this.find(r))return!0;return!1}find(e){return this.commands.get(e)??this.commands.get(this.aliasMap.get(e)??"")}complete(e){let r=e.toLowerCase();return[...this.commands.values()].filter(o=>o.name.toLowerCase().startsWith(r)||o.aliases.some(s=>s.toLowerCase().startsWith(r)))}listCommands(){return[...this.commands.values()].sort((e,r)=>e.name.localeCompare(r.name))}};function FN(t){if(!t.startsWith("/"))return null;let e=t.slice(1).trim(),r=e.indexOf(" "),o=r===-1?e:e.slice(0,r);return o.includes("/")?null:r===-1?{name:o,args:""}:{name:o,args:e.slice(r+1).trim()}}function ON(){let t=new Ql;return t.register({name:"help",aliases:["h","?"],type:"local",description:"Show available commands",handler:e=>{if(e.args){let s=t.find(e.args);if(!s)return`Unknown command: ${e.args}`;let n=`/${s.name} \u2014 ${s.description}
|
|
308
308
|
`;return s.aliases.length>0&&(n+=` Aliases: ${s.aliases.join(", ")}
|
|
309
309
|
`),n}let r=t.listCommands(),o=`Available commands:
|
|
@@ -316,39 +316,39 @@ Type /help <command> for details.`,o}}),t.register({name:"clear",aliases:[],type
|
|
|
316
316
|
`)}}),t.register({name:"session",aliases:[],type:"local",description:"Show session info",handler:()=>"Session is active. Use /resume to list past sessions."}),t.register({name:"plan",aliases:["p"],type:"local_ui",description:"Enter plan mode",handler:()=>"plan"}),t.register({name:"resume",aliases:["r"],type:"local_ui",description:"Resume a previous session",handler:()=>"resume"}),t.register({name:"quit",aliases:["exit","q"],type:"local_ui",description:"Exit Swifty",handler:()=>"quit"}),t.register({name:"memory",aliases:[],type:"local",description:"Show memory status",handler:()=>"memory"}),t.register({name:"skills",aliases:[],type:"local_ui",description:"List available skills",handler:()=>"skills"}),t.register({name:"worktree",aliases:["wt"],type:"local_ui",description:"Manage git worktrees",handler:()=>"worktree"}),t.register({name:"code-review",aliases:["cr"],type:"local",description:"Manage code review team (create, add, remove, list)",handler:e=>{let r=e.args.trim();return r?`code-review:${r}`:`Usage: /code-review <command> [args]
|
|
317
317
|
Commands: create, add <name>, remove <name>, list, status`}}),t.register({name:"review",aliases:[],type:"prompt",description:"Review the uncommitted code changes for bugs and improvements",handler:e=>"Review the current uncommitted changes. Run `git status` and `git diff` to see them, then report concrete findings (file:line) for correctness bugs, security issues, and obvious simplifications. Be specific and concise."+(e.args?`
|
|
318
318
|
|
|
319
|
-
Focus on: ${e.args}`:"")}),t.register({name:"rewind",aliases:[],type:"local_ui",description:"Rewind conversation to a previous checkpoint",handler:()=>"rewind"}),t.register({name:"mcp",aliases:[],type:"local",description:"Show MCP server connection status",handler:()=>"mcp"}),t.register({name:"sandbox",aliases:["sb"],type:"local_ui",description:"Toggle OS sandbox mode for command execution",handler:()=>"sandbox"}),t}import{readdirSync as
|
|
319
|
+
Focus on: ${e.args}`:"")}),t.register({name:"rewind",aliases:[],type:"local_ui",description:"Rewind conversation to a previous checkpoint",handler:()=>"rewind"}),t.register({name:"mcp",aliases:[],type:"local",description:"Show MCP server connection status",handler:()=>"mcp"}),t.register({name:"sandbox",aliases:["sb"],type:"local_ui",description:"Toggle OS sandbox mode for command execution",handler:()=>"sandbox"}),t}import{readdirSync as Ev,readFileSync as yv,statSync as wv,existsSync as Cv}from"fs";import{homedir as Iv}from"os";import{join as _l}from"path";function WN(t){let e=new Map,r=[_l(Iv(),".swifty","commands"),_l(t,".swifty","commands")];for(let o of r)if(Cv(o))for(let s of fg(o,o))e.set(s.name,s);return[...e.values()]}function fg(t,e){let r;try{r=Ev(e)}catch{return[]}let o=[];for(let s of r){let n=_l(e,s),i;try{i=wv(n)}catch{continue}if(i.isDirectory())o.push(...fg(t,n));else if(s.endsWith(".md")){let a=_v(t,n);a&&o.push(a)}}return o}function Bv(t,e){return e.slice(t.length+1).replace(/\.md$/,"").split(/[/\\]/).map(o=>o.toLowerCase().replace(/ /g,"-")).join(":")}var Qv=$.object({description:$.string().optional(),"argument-hint":$.string().optional(),aliases:$.array($.string()).optional()});function _v(t,e){let r;try{r=yv(e,"utf-8")}catch{return null}let o="",s="",n=[],i=r;if(r.startsWith("---")){let c=r.indexOf("---",3);if(c!==-1){let u=r.slice(3,c).trim();i=r.slice(c+3).trim();try{let l=gt.load(u),d=Se(Qv,l);o=d.description??"",s=d["argument-hint"]??"",n=d.aliases??[]}catch{}}}let a=Bv(t,e);return a?{name:a,aliases:Array.isArray(n)?n:[],type:"prompt",description:o||(s?`custom command (args: ${s})`:"custom command"),handler:c=>Sv(i,c.args)}:null}function Sv(t,e){return t.includes("$ARGUMENTS")?t.replaceAll("$ARGUMENTS",e):e?`${t}
|
|
320
320
|
|
|
321
|
-
${e}`:t}import{createHash as
|
|
321
|
+
${e}`:t}import{createHash as kv}from"crypto";import{existsSync as Gn,mkdirSync as vv,readFileSync as Hn,unlinkSync as Mv,writeFileSync as Yn}from"fs";import{join as Jn,resolve as bv}from"path";var Fr=T({module:"file-history"}),gg=100,hg=60;function Eg(t,e){return`${kv("sha256").update(t).digest("hex").slice(0,16)}@v${String(e)}`}function xv(t,e){return Jn(t,".swifty","file-history",e)}var yg=class{sessionDir;trackedFiles=new Map;snapshots=[];constructor(e,r){this.sessionDir=xv(e,r),vv(this.sessionDir,{recursive:!0})}trackEdit(e){let r=bv(e),s=(this.trackedFiles.get(r)??0)+1;if(Gn(r))try{let n=Hn(r),i=Eg(r,s);Yn(Jn(this.sessionDir,i),n)}catch(n){Fr.error({err:n},"file-history operation failed")}this.trackedFiles.set(r,s)}makeSnapshot(e,r){let o=r;o.length>hg&&(o=o.slice(0,hg)+"...");let s={};for(let[n,i]of this.trackedFiles){let a=Eg(n,i),c=Jn(this.sessionDir,a);if(!Gn(c)&&Gn(n))try{Yn(c,Hn(n))}catch(u){Fr.error({err:u},"file-history operation failed")}s[n]={backupPath:c,version:i,time:new Date().toISOString()}}this.snapshots.push({messageIndex:e,userText:o,backups:s,timestamp:new Date().toISOString()}),this.snapshots.length>gg&&(this.snapshots=this.snapshots.slice(this.snapshots.length-gg))}rewind(e){if(e<0||e>=this.snapshots.length)throw new Error(`Invalid snapshot index: ${String(e)}`);let r=this.snapshots[e],o=[];for(let[s,n]of Object.entries(r.backups)){let i=null;try{i=Hn(n.backupPath)}catch(l){if(Fr.error({err:l},"file-history operation failed"),Gn(s))try{Mv(s)}catch(d){Fr.error({err:d},"file-history operation failed")}continue}let a=null;try{a=Hn(s)}catch(l){Fr.error({err:l},"file-history operation failed")}let c=i.toString(),u=a?.toString();if(c!==u)try{Yn(s,i),o.push(s)}catch(l){Fr.error({err:l},"file-history operation failed")}}this.snapshots=this.snapshots.slice(0,e+1);for(let[s,n]of Object.entries(r.backups))this.trackedFiles.set(s,n.version);return o}getSnapshots(){return[...this.snapshots]}hasSnapshots(){return this.snapshots.length>0}save(){let e=Jn(this.sessionDir,"snapshots.json");Yn(e,JSON.stringify(this.snapshots,null,2),"utf-8")}};import{exec as Rv}from"child_process";var Or=T({module:"hooks"});function Tv(t,e){return new Promise((r,o)=>{Rv(t,{shell:"bash",encoding:"utf-8",timeout:3e4,env:e.env,maxBuffer:10*1024*1024},(s,n)=>{s?o(s):r(n)})})}var wg=class{hooks;firedOnce=new Set;notifications=[];agentRunner;constructor(e){this.hooks=e}recordNotification(e){e.trim()&&this.notifications.push(e)}drainNotifications(){let e=this.notifications;return this.notifications=[],e}async fire(e,r){let o=[];for(let s of this.hooks)if(s.event===e){if(s.once){let n=s.id??`${s.event}-${s.action.type}`;if(this.firedOnce.has(n))continue;this.firedOnce.add(n)}if(!(s.condition&&!Dv(s.condition,r))){if(s.async){this.executeAction(s,r).then(n=>{this.recordNotification(n.output)}).catch(n=>{this.recordNotification(`Async hook error: ${O(n)}`)}),o.push({output:"(async)",success:!0,reject:!1});continue}try{let n=await this.executeAction(s,r);if(o.push(n),n.reject&&e==="pre_tool_use")break}catch(n){Or.error({err:n},"hooks operation failed");let i=s.on_error??"ignore";if(i==="fail"){let a=`Hook error: ${O(n)}`;o.push({output:a,success:!1,reject:!1})}else if(i==="reject"){let a=`Hook error (rejecting): ${O(n)}`;o.push({output:a,success:!1,reject:!0})}}}}return o}async firePreToolHooks(e,r){let o={event:"pre_tool_use",toolName:e,args:r,filePath:S(r,"file_path",S(r,"path",""))},s=await this.fire("pre_tool_use",o);for(let n of s)if(n.reject)return{rejected:!0,reason:n.output};return{rejected:!1,reason:""}}async executeAction(e,r){switch(e.action.type){case"command":{let o=e.action.command??"";try{return{output:(await Tv(o,{env:{...process.env,SWIFTY_EVENT:r.event,SWIFTY_TOOL:r.toolName??"",SWIFTY_FILE_PATH:r.filePath??""}})).trim(),success:!0,reject:e.reject??!1}}catch(s){throw Or.error({err:s},"hooks operation failed"),s}}case"prompt":return{output:e.action.prompt??"",success:!0,reject:!1};case"http":{let o=e.action.url??"",s=e.action.method??"POST";try{let n=await fetch(o,{method:s,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});return{output:await n.text(),success:n.ok,reject:e.reject??!1}}catch(n){throw Or.error({err:n},"hooks operation failed"),n}}case"agent":{if(!this.agentRunner)return{output:"agent-type hook configured but no AgentRunner registered",success:!1,reject:e.reject??!1};let o=e.action.prompt??e.action.command??"";try{return{output:await this.agentRunner(o,r),success:!0,reject:e.reject??!1}}catch(s){return Or.error({err:s},"hooks operation failed"),{output:O(s),success:!1,reject:e.reject??!1}}}default:return{output:"",success:!0,reject:!1}}}};function Dv(t,e){let r=t.split(/\s*(&&|\|\|)\s*/),o=Sl(r[0],e);for(let s=1;s<r.length;s+=2){let n=r[s],i=Sl(r[s+1],e);n==="&&"?o=o&&i:n==="||"&&(o=o||i)}return o}function Sl(t,e){let r=t.trim();if(r.startsWith("!"))return!Sl(r.slice(1),e);let o=/^(\w+)\s*==\s*"([^"]*)"$/.exec(r);if(o)return Wn(o[1],e)===o[2];let s=/^(\w+)\s*!=\s*"([^"]*)"$/.exec(r);if(s)return Wn(s[1],e)!==s[2];let n=/^(\w+)\s*=~\s*"([^"]*)"$/.exec(r);if(n){let a=Wn(n[1],e);try{return new RegExp(n[2]).test(a)}catch(c){return Or.error({err:c},"hooks operation failed"),!1}}let i=/^(\w+)\s*=\*\s*"([^"]*)"$/.exec(r);if(i){let a=Wn(i[1],e),c=i[2].replace(/\*\*/g,".*").replace(/\*/g,"[^/]*").replace(/\?/g,".");try{return new RegExp(`^${c}$`).test(a)}catch(u){return Or.error({err:u},"hooks operation failed"),!1}}return!1}function Wn(t,e){switch(t){case"tool":return e.toolName??"";case"event":return e.event;case"file_path":return e.filePath??"";case"message":return e.message??"";default:return S(e.args??{},t,"")}}function iz(t){let e=new Set(["session_start","session_end","turn_start","turn_end","pre_send","post_receive","pre_tool_use","post_tool_use","shutdown"]),r=new Set(["command","prompt","http","agent"]),o=[];for(let s=0;s<t.length;s++){let n=t[s],i=n.id?`hook[${String(s)}] (id="${n.id}")`:`hook[${String(s)}]`;if(n.event?e.has(n.event)||o.push(`${i}: invalid event '${n.event}'`):o.push(`${i}: event is required`),!n.action.type)o.push(`${i}: action.type is required`);else if(!r.has(n.action.type))o.push(`${i}: invalid action type '${n.action.type}'`);else switch(n.action.type){case"command":n.action.command?.trim()||o.push(`${i}: action.command must be non-empty for type "command"`);break;case"prompt":n.action.prompt?.trim()||o.push(`${i}: action.prompt must be non-empty for type "prompt"`);break;case"http":n.action.url?.trim()||o.push(`${i}: action.url must be non-empty for type "http"`);break;case"agent":!n.action.prompt?.trim()&&!n.action.command?.trim()&&o.push(`${i}: action.prompt (or action.command) must be non-empty for type "agent"`);break}n.reject&&n.async&&o.push(`${i}: reject and async are mutually exclusive`)}return o.length>0?new Error(o.join("; ")):null}import{readFileSync as Vn,readdirSync as Kn,unlinkSync as $v,existsSync as Zn,mkdirSync as Pv,writeFileSync as jv,statSync as Nv}from"fs";import{homedir as zv}from"os";import{join as tr,relative as Uv,basename as Fv}from"path";function Cg(t){return Math.max(0,Math.floor((Date.now()-t)/864e5))}function Ig(t){let e=Cg(t);return e===0?"today":e===1?"yesterday":`${String(e)} days ago`}function Bg(t){let e=Cg(t);return e<=1?"":`This memory is ${String(e)} days old. Memories are point-in-time observations, not live state \u2014 claims about code behavior or file:line citations may be outdated. Verify against current code before asserting as fact.`}var ut=T({module:"memory"}),Lr=200,as=25e3,is="MEMORY.md";function Qg(t){let e=Buffer.from(t,"utf-8");if(e.length<=as)return t;let r=e.lastIndexOf(10,as-1);if(r>0)return e.subarray(0,r).toString("utf-8");let o=as;for(;o>0&&(e[o]&192)===128;)o--;return e.subarray(0,o).toString("utf-8")}function kl(t){return t<1024?`${String(t)}B`:t<1024*1024?`${(t/1024).toFixed(1)}KB`:`${(t/1024/1024).toFixed(1)}MB`}var Ov=C.object({selected_memories:C.array(C.string())}),Lv=`You are selecting memories that will be useful to Swifty as it processes a user's query. You will be given the user's query and a list of available memory files with their filenames and descriptions.
|
|
322
322
|
|
|
323
323
|
Return a list of filenames for the memories that will clearly be useful to Swifty as it processes the user's query (up to 5). Only include memories that you are certain will be helpful based on their name and description.
|
|
324
324
|
- If you are unsure if a memory will be useful in processing the user's query, then do not include it in your list. Be selective and discerning.
|
|
325
325
|
- If there are no memories in the list that would clearly be useful, feel free to return an empty list.
|
|
326
326
|
- If a list of recently-used tools is provided, do not select memories that are usage reference or API documentation for those tools (Swifty is already exercising them). DO still select memories containing warnings, gotchas, or known issues about those tools \u2014 active use is exactly when those matter.
|
|
327
327
|
|
|
328
|
-
Respond with valid JSON only, no markdown, in this exact shape: {"selected_memories": ["filename1.md", "filename2.md"]}`,Xn=class{userDir;projectDir;constructor(e){this.userDir=tr(
|
|
328
|
+
Respond with valid JSON only, no markdown, in this exact shape: {"selected_memories": ["filename1.md", "filename2.md"]}`,Xn=class{userDir;projectDir;constructor(e){this.userDir=tr(zv(),".swifty","memory"),this.projectDir=tr(e,".swifty","memory")}loadAll(){let e=[];for(let r of[this.userDir,this.projectDir]){if(!Zn(r))continue;let o=Kn(r).filter(s=>s.endsWith(".md")&&s!==is);for(let s of o){let n=tr(r,s);try{let i=Vn(n,"utf-8"),a=vl(i);a&&e.push({path:n,name:a.name??s.replace(".md",""),description:a.description??"",type:a.type??"reference",content:a.body})}catch(i){ut.error({err:i},"memory operation failed");continue}}}return this.rebuildIndex(),e}getMemories(){return this.loadAll()}buildSystemReminder(){let e=this.loadAll();if(e.length===0)return"";let r=e.map(l=>`- [${l.name}] (${l.type}): ${l.description}`),o=r.length,s=r.join(`
|
|
329
329
|
`),n=Buffer.byteLength(s,"utf-8"),i=o>Lr,a=n>as;if(!i&&!a)return`Active memories:
|
|
330
330
|
${s}`;let c=Qg(r.slice(0,Lr).join(`
|
|
331
331
|
`)),u;return a&&!i?u=`${kl(n)} (limit: ${kl(as)}) \u2014 index entries are too long`:i&&!a?u=`${String(o)} lines (limit: ${String(Lr)})`:u=`${String(o)} lines and ${kl(n)}`,`Active memories:
|
|
332
332
|
${c}
|
|
333
333
|
|
|
334
|
-
> WARNING: ${is} is ${u}. Only part of it was loaded. Keep index entries to one line under ~200 chars; move detail into topic files.`}clear(){for(let e of[this.userDir,this.projectDir]){if(!Zn(e))continue;let r=Kn(e).filter(o=>o.endsWith(".md"));for(let o of r)try{$
|
|
335
|
-
`));
|
|
336
|
-
`,"utf-8")}async findRelevantMemories(e,r,o=[],s=new Set){let n=[];for(let[f,h]of[[this.userDir,"user"],[this.projectDir,"project"]]){let y=
|
|
334
|
+
> WARNING: ${is} is ${u}. Only part of it was loaded. Keep index entries to one line under ~200 chars; move detail into topic files.`}clear(){for(let e of[this.userDir,this.projectDir]){if(!Zn(e))continue;let r=Kn(e).filter(o=>o.endsWith(".md"));for(let o of r)try{$v(tr(e,o))}catch(s){ut.error({err:s},"memory operation failed");continue}}}rebuildIndex(){let e=[];for(let s of[this.userDir,this.projectDir]){if(!Zn(s))continue;let n=Kn(s).filter(i=>i.endsWith(".md")&&i!==is);try{for(let i of n){let a=tr(s,i);try{let c=Vn(a,"utf-8"),u=vl(c);if(!u)continue;let l=u.name??i.replace(".md",""),d=u.description??"",p=Uv(this.projectDir,a)||i;e.push({name:l,relPath:p,description:d})}catch(c){ut.error({err:c},"memory operation failed");continue}}}catch(i){ut.error({err:i},"memory operation failed");continue}}e.sort((s,n)=>s.name.localeCompare(n.name,void 0,{sensitivity:"base"}));let r=[];for(let s of e)s.description?r.push(`- [${s.name}](${s.relPath}) \u2014 ${s.description}`):r.push(`- [${s.name}](${s.relPath})`);let o=Qg(r.slice(0,Lr).join(`
|
|
335
|
+
`));Pv(this.projectDir,{recursive:!0}),jv(tr(this.projectDir,is),o+`
|
|
336
|
+
`,"utf-8")}async findRelevantMemories(e,r,o=[],s=new Set){let n=[];for(let[f,h]of[[this.userDir,"user"],[this.projectDir,"project"]]){let y=qv(f,h);n.push(...y)}let i=n.filter(f=>!s.has(f.filePath));if(i.length===0)return[];let a=Gv(i),c="";o.length>0&&(c=`
|
|
337
337
|
|
|
338
338
|
Recently used tools: `+o.join(", "));let u=`Query: ${e}
|
|
339
339
|
|
|
340
340
|
Available memories:
|
|
341
|
-
${a}${c}`,l="";try{let f=new rr;f.addUserMessage(
|
|
341
|
+
${a}${c}`,l="";try{let f=new rr;f.addUserMessage(Lv+`
|
|
342
342
|
|
|
343
|
-
`+u);let h=r.stream(f,[]);for await(let y of h)y.type==="text_delta"&&(l+=y.text)}catch(f){return ut.error({err:f},"memory operation failed"),[]}let d=
|
|
344
|
-
`];for(let o of e){let s;try{s=Vn(o.path,"utf-8")}catch{continue}let n=
|
|
343
|
+
`+u);let h=r.stream(f,[]);for await(let y of h)y.type==="text_delta"&&(l+=y.text)}catch(f){return ut.error({err:f},"memory operation failed"),[]}let d=Hv(l);if(!d)return[];let p;try{let f=JSON.parse(d);p=Se(Ov,f)}catch(f){return ut.error({err:f},"memory operation failed"),[]}let m=new Map;for(let f of i)m.set(f.filePath,f),m.has(f.filename)||m.set(f.filename,f);let g=[];for(let f of p.selected_memories){let h=m.get(f);h&&g.push({path:h.filePath,mtimeMs:h.mtimeMs})}return g}renderReminder(e){if(e.length===0)return"";let r=[`The following relevant memories from prior conversations may help:
|
|
344
|
+
`];for(let o of e){let s;try{s=Vn(o.path,"utf-8")}catch{continue}let n=Fv(o.path);r.push(`## Memory: ${n} (saved ${Ig(o.mtimeMs)})
|
|
345
345
|
`);let i=Bg(o.mtimeMs);i&&r.push(i+`
|
|
346
346
|
`),r.push(s+`
|
|
347
347
|
|
|
348
348
|
---
|
|
349
349
|
`)}return r.join(`
|
|
350
|
-
`)}};function
|
|
351
|
-
`)}function
|
|
350
|
+
`)}};function qv(t,e){if(!Zn(t))return[];let r;try{r=Kn(t).filter(s=>s.endsWith(".md")&&s!==is)}catch(s){return ut.error({err:s},"memory operation failed"),[]}let o=[];for(let s of r){let n=tr(t,s);try{let i=Nv(n);if(!i.isFile())continue;let a=Vn(n,"utf-8"),c=vl(a);if(!c)continue;o.push({filename:s,filePath:n,scope:e,mtimeMs:i.mtimeMs,description:c.description??"",type:c.type??""})}catch(i){ut.error({err:i},"memory operation failed");continue}}return o.sort((s,n)=>n.mtimeMs-s.mtimeMs),o.length>Lr&&(o.length=Lr),o}function Gv(t){if(t.length===0)return"";let e=[];for(let r of t){let o=r.scope?`[${r.scope}-scope] `:"",s=r.type?`[${r.type}] `:"",n=new Date(r.mtimeMs).toISOString(),i=r.filePath||r.filename;r.description?e.push(`- ${o}${s}${i} (${n}): ${r.description}`):e.push(`- ${o}${s}${i} (${n})`)}return e.join(`
|
|
351
|
+
`)}function Hv(t){let e=t.trim();if(e.startsWith("{"))return e;let r=e.indexOf("{");if(r<0)return"";let o=e.lastIndexOf("}");return o<r?"":e.slice(r,o+1)}var Yv=C.looseObject({name:C.string().optional(),description:C.string().optional(),type:C.string().optional(),metadata:C.looseObject({type:C.string().optional()}).optional()});function vl(t){if(!t.startsWith("---"))return{body:t};let e=t.indexOf("---",3);if(e===-1)return{body:t};let r=t.slice(3,e).trim(),o=t.slice(e+3).trim();try{let s=gt.load(r),n=Se(Yv,s),i=n.type,a=n.metadata?.type;return{name:n.name,description:n.description,type:i??a,body:o}}catch(s){return ut.error({err:s},"memory operation failed"),{body:t}}}import{readdirSync as Jv,readFileSync as Wv,existsSync as Vv,mkdirSync as Kv,writeFileSync as Zv}from"fs";import{homedir as ei}from"os";import{join as dt,basename as _g}from"path";var Sg=class{client;workDir;inProgress=!1;pendingContext=null;turnsSinceLastExtraction=0;lastMemoryMessageIdx=0;constructor(e,r){this.client=e,this.workDir=r}async extract(e){return this.inProgress?(this.pendingContext=e,[]):this.runExtraction(e,!1)}async runExtraction(e,r){if(!r&&(this.turnsSinceLastExtraction++,this.turnsSinceLastExtraction<1))return[];this.turnsSinceLastExtraction=0,this.inProgress=!0;let o=[];try{o=await this.doExtract(e)}finally{this.inProgress=!1;let s=this.pendingContext;if(this.pendingContext=null,s!==null){let n=await this.runExtraction(s,!0);o=[...o,...n]}}return o}scanExistingMemories(){let e=[dt(this.workDir,".swifty","memory"),dt(ei(),".swifty","memory")],r=[];for(let o of e)if(Vv(o))try{let s=Jv(o).filter(n=>n.endsWith(".md")&&n!=="MEMORY.md");for(let n of s)try{let i=Wv(dt(o,n),"utf-8"),a=/type:\s*(.+)/.exec(i),c=/description:\s*(.+)/.exec(i),u=a?.[1]?.trim()??"reference",l=c?.[1]?.trim()??"";r.push(`- [${u}] ${n}: ${l}`)}catch{}}catch{}return r.length>0?r.join(`
|
|
352
352
|
`):""}buildExtractionPrompt(e){let r=this.scanExistingMemories(),o=dt(this.workDir,".swifty","memory"),s=dt(ei(),".swifty","memory"),n="";return r&&(n=`
|
|
353
353
|
|
|
354
354
|
## Existing memory files
|
|
@@ -356,25 +356,25 @@ ${a}${c}`,l="";try{let f=new rr;f.addUserMessage(LM+`
|
|
|
356
356
|
${r}
|
|
357
357
|
|
|
358
358
|
Check this list before writing \u2014 update an existing file rather than creating a duplicate.`),["You are now acting as the memory extraction subagent. Analyze the conversation below and use the tools to update persistent memory files.","","Available tools: ReadFile, WriteFile, EditFile, Glob, Grep. EditFile requires a prior ReadFile of the same file.","","You have a limited turn budget. The efficient strategy is: turn 1 \u2014 issue all ReadFile calls in parallel for every file you might update; turn 2 \u2014 issue all WriteFile/EditFile calls in parallel.","",`You MUST only use content from the conversation to update memories. Do not investigate source code.${n}`,"","## Memory storage paths","",`- \`user\` and \`feedback\` type \u2192 write to \`${s}/\` (user-level; follows the human across projects)`,`- \`project\` and \`reference\` type \u2192 write to \`${o}/\` (project-level; lives with this repo)`,"","Pick the type first, then write the memory file (and its MEMORY.md pointer) into the matching directory.","","## Memory types","","- **user**: Information about the user's role, goals, preferences, knowledge","- **feedback**: Guidance the user gave about how to approach work (corrections AND confirmations)","- **project**: Ongoing work, goals, decisions, deadlines within the project","- **reference**: Pointers to external resources (URLs, docs, tools)","","## What NOT to save","","- Code patterns, architecture, file paths \u2014 derivable from reading the project","- Git history \u2014 use git log/blame","- Debugging solutions \u2014 the fix is in the code","- Anything in CLAUDE.md / SWIFTY.md files","- Ephemeral task details, current conversation context","","## How to save memories","","**Step 1** \u2014 write the memory to its own file using this frontmatter format:","","```markdown","---","name: {{short-kebab-case-slug}}","description: {{one-line summary}}","metadata:"," type: {{user, feedback, project, reference}}","---","","{{memory content}}","```","","**Step 2** \u2014 add a pointer to MEMORY.md in the SAME directory. Each entry one line: `- [Title](file.md) \u2014 one-line hook`","","- Do not write duplicate memories. Check existing files first.","- If no memories are worth saving, do nothing.","","## Conversation to analyze","",e].join(`
|
|
359
|
-
`)}async doExtract(e){let r=this.buildExtractionPrompt(e),o=new fs;o.register(new Un),o.register(new Ln),o.register(new zn),o.register(new Fn),o.register(new On);let s=new or(this.workDir,"bypassPermissions");s.allowExtraRoot(dt(ei(),".swifty","memory"));let n=new rr;n.addUserMessage(r);let i=new ms({client:this.client,registry:o,checker:s,conversation:n,workDir:this.workDir,maxIterations:5}),a="";for await(let d of i.run())d.type==="stream_text"&&(a+=d.text);let u=this.extractWrittenPaths(n.getMessages()).filter(d=>_g(d)!=="MEMORY.md"),l;return u.length>0?l=u.map(d=>_g(d)):l=this.persistTextMemories(a),l.length>0&&new Xn(this.workDir).rebuildIndex(),l}extractWrittenPaths(e){let r=[];for(let o of e){if(o.role!=="assistant"||typeof o.content!="string")continue;let s=o.content.matchAll(/"file_path"\s*:\s*"([^"]+)"/g);for(let n of s)n[1]&&(n[1].includes("memory")||n[1].endsWith(".md"))&&r.push(n[1])}return[...new Set(r)]}persistTextMemories(e){let r=this.parseTextMemoryBlocks(e);if(r.length===0)return[];let o=[];for(let s of r){let n=this.dirForMemoryType(s.type);
|
|
359
|
+
`)}async doExtract(e){let r=this.buildExtractionPrompt(e),o=new fs;o.register(new Un),o.register(new Ln),o.register(new zn),o.register(new Fn),o.register(new On);let s=new or(this.workDir,"bypassPermissions");s.allowExtraRoot(dt(ei(),".swifty","memory"));let n=new rr;n.addUserMessage(r);let i=new ms({client:this.client,registry:o,checker:s,conversation:n,workDir:this.workDir,maxIterations:5}),a="";for await(let d of i.run())d.type==="stream_text"&&(a+=d.text);let u=this.extractWrittenPaths(n.getMessages()).filter(d=>_g(d)!=="MEMORY.md"),l;return u.length>0?l=u.map(d=>_g(d)):l=this.persistTextMemories(a),l.length>0&&new Xn(this.workDir).rebuildIndex(),l}extractWrittenPaths(e){let r=[];for(let o of e){if(o.role!=="assistant"||typeof o.content!="string")continue;let s=o.content.matchAll(/"file_path"\s*:\s*"([^"]+)"/g);for(let n of s)n[1]&&(n[1].includes("memory")||n[1].endsWith(".md"))&&r.push(n[1])}return[...new Set(r)]}persistTextMemories(e){let r=this.parseTextMemoryBlocks(e);if(r.length===0)return[];let o=[];for(let s of r){let n=this.dirForMemoryType(s.type);Kv(n,{recursive:!0}),Zv(dt(n,`${s.name}.md`),this.formatMemoryFile(s),"utf-8"),o.push(s.name)}return o}parseTextMemoryBlocks(e){let r=e.trim();if(r===""||r==="NONE")return[];let o=[],s=r.split(/^---\s*$/m);for(let n of s){let i=this.parseTextMemoryBlock(n);i&&o.push(i)}return o}parseTextMemoryBlock(e){let r=e.split(`
|
|
360
360
|
`),o={name:"",type:"",description:"",body:""},s=[],n=!1;for(let i of r){let a=/^MEMORY_NAME:\s*(.*)$/i.exec(i),c=/^MEMORY_TYPE:\s*(.*)$/i.exec(i),u=/^MEMORY_DESC:\s*(.*)$/i.exec(i),l=/^MEMORY_BODY:\s?(.*)$/i.exec(i);a?(o.name=a[1].trim(),n=!1):c?(o.type=c[1].trim(),n=!1):u?(o.description=u[1].trim(),n=!1):l?(o.body=l[1],n=!0):n&&s.push(i)}return o.body&&(o.body=[o.body,...s].join(`
|
|
361
361
|
`).replace(/\s+$/,"")),o.name?(o.type||(o.type="reference"),o):null}dirForMemoryType(e){let r=e.toLowerCase();return r==="user"||r==="feedback"?dt(ei(),".swifty","memory"):dt(this.workDir,".swifty","memory")}formatMemoryFile(e){return["---",`name: ${e.name}`,`description: ${e.description}`,`type: ${e.type}`,"---","",e.body,""].join(`
|
|
362
|
-
`)}};import{readFileSync as kg,existsSync as
|
|
362
|
+
`)}};import{readFileSync as kg,existsSync as vg}from"fs";import{homedir as Mg}from"os";import{join as At,dirname as ti,resolve as Ml,isAbsolute as Xv,relative as eM}from"path";var pt=T({module:"memory"}),tM=5;function Pz(t){let e=rM(t);if(e.length===0)return"";let r=[];for(let o of e){let s=o.path;try{let n=eM(t,o.path);n.startsWith("..")||(s=n)}catch(n){pt.error({err:n},"memory operation failed")}r.push(`Contents of ${s}:
|
|
363
363
|
|
|
364
364
|
${o.content.replace(/\n+$/,"")}`)}return r.join(`
|
|
365
365
|
|
|
366
366
|
---
|
|
367
367
|
|
|
368
|
-
`)}function
|
|
369
|
-
`),n=[],i=!1;for(let a of s){let c=a.trim();if(c.startsWith("```")){i=!i,n.push(a);continue}if(!i){let u=
|
|
370
|
-
`)}function
|
|
371
|
-
`),isError:!1})}},Pg=class{name="TaskUpdate";description="Update a task's status, subject, or other fields.";category="read";list;constructor(e){this.list=e}schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{taskId:{type:"string",description:"Task ID"},status:{type:"string",description:"New status: pending, in_progress, completed, deleted"},subject:{type:"string",description:"New subject"},description:{type:"string",description:"New description"},owner:{type:"string",description:"New owner"},addBlocks:{type:"array",items:{type:"string"},description:"Tasks this one blocks"},addBlockedBy:{type:"array",items:{type:"string"},description:"Tasks blocking this one"}},required:["taskId"]}}}async execute(e,r){let o=await Rl(
|
|
368
|
+
`)}function rM(t){let e=[],r=new Set;try{let s=Mg();qr(e,r,At(s,".swifty","SWIFTY.md")),qr(e,r,At(s,".swifty","AGENTS.md"))}catch(s){pt.error({err:s},"memory operation failed")}let o=nM(t);for(let s of o)qr(e,r,At(s,"SWIFTY.md")),qr(e,r,At(s,"AGENTS.md")),qr(e,r,At(s,".swifty","SWIFTY.md"));return qr(e,r,At(t,"SWIFTY.local.md")),e}function qr(t,e,r){let o;try{o=Ml(r)}catch(i){pt.error({err:i},"memory operation failed");return}if(e.has(o)||!vg(o))return;let s;try{s=kg(o,"utf-8")}catch(i){pt.error({err:i},"memory operation failed");return}e.add(o);let n=bg(s,ti(o),e,0);t.push({path:o,content:n})}function bg(t,e,r,o){if(o>tM)return t;let s=t.split(`
|
|
369
|
+
`),n=[],i=!1;for(let a of s){let c=a.trim();if(c.startsWith("```")){i=!i,n.push(a);continue}if(!i){let u=oM(c);if(u){let l=sM(u,e);if(l){let d;try{d=Ml(l)}catch(p){pt.error({err:p},"memory operation failed"),n.push(a);continue}if(!r.has(d))try{let p=kg(d,"utf-8");r.add(d),n.push(`<!-- included from ${u} -->`),n.push(bg(p,ti(d),r,o+1));continue}catch(p){pt.error({err:p},"memory operation failed")}}}}n.push(a)}return n.join(`
|
|
370
|
+
`)}function oM(t){if(!t.startsWith("@")||t.startsWith("@@"))return"";let e=t.slice(1);return!e||/[\s\t]/.test(e)?"":e.startsWith("./")||e.startsWith("../")||e.startsWith("~/")||e.startsWith("/")?e:""}function sM(t,e){if(t.startsWith("~/"))try{return At(Mg(),t.slice(2))}catch(r){return pt.error({err:r},"memory operation failed"),""}return Xv(t)?t:At(e,t)}function nM(t){let e;try{e=Ml(t)}catch(n){return pt.error({err:n},"memory operation failed"),[t]}let r=iM(e);if(!r)return[e];let o=[],s=e;for(;o.unshift(s),s!==r;){let n=ti(s);if(n===s)break;s=n}return o}function iM(t){let e=t;for(;;){try{let o=At(e,".git");if(vg(o))return e}catch(o){pt.error({err:o},"memory operation failed")}let r=ti(e);if(r===e)return"";e=r}}import{readFileSync as aM,writeFileSync as cM,mkdirSync as lM,existsSync as uM}from"fs";import{join as dM,dirname as AM}from"path";var pM=T({module:"todo"}),mM=C.enum(["pending","in_progress","completed"]),fM=C.object({id:C.string(),subject:C.string(),description:C.string(),status:mM,owner:C.string().optional(),activeForm:C.string().optional(),blocks:C.array(C.string()),blockedBy:C.array(C.string()),metadata:C.record(C.string(),C.unknown())}),xg=class{filePath;constructor(e,r){this.filePath=dM(e,".swifty","tasks",`${r}.json`)}load(){if(!uM(this.filePath))return[];try{let e=aM(this.filePath,"utf-8"),r=JSON.parse(e);return Se(C.array(fM),r)}catch(e){return pM.error({err:e},"todo operation failed"),[]}}save(e){lM(AM(this.filePath),{recursive:!0}),cM(this.filePath,JSON.stringify(e,null,2),"utf-8")}};var Rg=class{tasks=new Map;nextId=1;store;constructor(e){e&&this.useStore(e)}useStore(e){this.store=e,this.tasks.clear();let r=0;for(let o of e.load()){this.tasks.set(o.id,o);let s=parseInt(o.id,10);!Number.isNaN(s)&&s>r&&(r=s)}this.nextId=r+1}persist(){this.store?.save([...this.tasks.values()])}create(e,r,o){let s={id:String(this.nextId++),subject:e,description:r,status:"pending",activeForm:o,blocks:[],blockedBy:[],metadata:{}};return this.tasks.set(s.id,s),this.persist(),s}get(e){return this.tasks.get(e)}list(){return[...this.tasks.values()]}update(e,r){let o=this.tasks.get(e);if(o)return o={...o,...r},this.tasks.set(e,o),this.persist(),o}delete(e){let r=this.tasks.delete(e);return r&&this.persist(),r}addBlocks(e,r){let o=this.tasks.get(e);if(o){for(let s of r){o.blocks.includes(s)||o.blocks.push(s);let n=this.tasks.get(s);n&&!n.blockedBy.includes(e)&&n.blockedBy.push(e)}this.persist()}}addBlockedBy(e,r){let o=this.tasks.get(e);if(o){for(let s of r){o.blockedBy.includes(s)||o.blockedBy.push(s);let n=this.tasks.get(s);n&&!n.blocks.includes(e)&&n.blocks.push(e)}this.persist()}}};var Tg=class{name="TaskCreate";description="Create a new task to track work.";category="read";list;constructor(e){this.list=e}schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{subject:{type:"string",description:"Brief task title"},description:{type:"string",description:"What needs to be done"},activeForm:{type:"string",description:"Present continuous form for spinner"}},required:["subject","description"]}}}execute(e,r){let o=S(r,"subject"),s=S(r,"description"),n=S(r,"activeForm")||void 0;if(!o)return Promise.resolve({output:"Error: subject is required",isError:!0});let i=this.list.create(o,s,n);return Promise.resolve({output:`Task #${i.id} created successfully: ${i.subject}`,isError:!1})}},Dg=class{name="TaskGet";description="Get a task by its ID.";category="read";list;constructor(e){this.list=e}schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{taskId:{type:"string",description:"Task ID"}},required:["taskId"]}}}execute(e,r){let o=S(r,"taskId"),s=this.list.get(o);return s?Promise.resolve({output:JSON.stringify(s,null,2),isError:!1}):Promise.resolve({output:"Task not found",isError:!0})}},$g=class{name="TaskList";description="List all tasks.";category="read";list;constructor(e){this.list=e}schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{}}}}execute(){let e=this.list.list();if(e.length===0)return Promise.resolve({output:"No tasks found",isError:!1});let r=e.map(o=>`#${o.id}. [${o.status}] ${o.subject}${o.owner?` (${o.owner})`:""}`);return Promise.resolve({output:r.join(`
|
|
371
|
+
`),isError:!1})}},Pg=class{name="TaskUpdate";description="Update a task's status, subject, or other fields.";category="read";list;constructor(e){this.list=e}schema(){return{name:this.name,description:this.description,input_schema:{type:"object",properties:{taskId:{type:"string",description:"Task ID"},status:{type:"string",description:"New status: pending, in_progress, completed, deleted"},subject:{type:"string",description:"New subject"},description:{type:"string",description:"New description"},owner:{type:"string",description:"New owner"},addBlocks:{type:"array",items:{type:"string"},description:"Tasks this one blocks"},addBlockedBy:{type:"array",items:{type:"string"},description:"Tasks blocking this one"}},required:["taskId"]}}}async execute(e,r){let o=await Rl(gM,r);if(!o.success)return{output:O(o.error),isError:!0};let{taskId:s,status:n,subject:i,description:a,owner:c,addBlocks:u,addBlockedBy:l}=o.data;if(!s)return Promise.resolve({output:"Error: taskId is required",isError:!0});if(n==="deleted")return this.list.delete(s),Promise.resolve({output:`Task #${s} deleted`,isError:!1});let d={};return n&&(d.status=n),i&&(d.subject=i),a&&(d.description=a),c&&(d.owner=c),this.list.update(s,d)?(u&&this.list.addBlocks(s,u),l&&this.list.addBlockedBy(s,l),{output:`Updated task #${s} status`,isError:!1}):{output:"Task not found",isError:!0}}},gM=C.object({taskId:C.string(),subject:C.string().optional(),description:C.string().optional(),status:C.enum(["pending","in_progress","completed","deleted"]).optional(),owner:C.string().optional(),addBlocks:C.array(C.string()).optional(),addBlockedBy:C.array(C.string()).optional()});var hM=$.object({label:$.string(),description:$.string().optional()}),EM=$.object({question:$.string(),header:$.string(),options:$.array(hM),multiSelect:$.boolean()}),jg=class{constructor(e){this.ask=e}ask;name="AskUserQuestion";description=`
|
|
372
372
|
Ask the user 1 to 4 single-choice or multiple-choices questions and wait for their answers. Each question needs 1 to 4 options; an "Other" option for custom input is added automatically.
|
|
373
373
|
Set "multiSelect: true" when choices are not mutually exclusive (single-choice), set "multiSelect: false" otherwise (multiple-choices).
|
|
374
|
-
`;category="read";schema(){let e={type:"object",properties:{questions:{type:"array",description:"question",minItems:1,maxItems:4,items:{type:"object",properties:{question:{type:"string",description:"The question to ask"},header:{type:"string",description:"Short label/category (<=12 chars)"},options:{type:"array",description:"options",minItems:2,maxItems:4,items:{type:"object",properties:{label:{type:"string",description:"label"},description:{type:"string",description:"description"}},required:["label"]}},multiSelect:{type:"boolean",description:"Set to true for multiple-choice, false for single-choice"}},required:["question","header","options","multiSelect"]}}},required:["questions"]};return{name:this.name,description:this.description,input_schema:e}}async execute(e,r){let{success:o,data:s,error:n}=await $l($.object({questions:$.array(
|
|
374
|
+
`;category="read";schema(){let e={type:"object",properties:{questions:{type:"array",description:"question",minItems:1,maxItems:4,items:{type:"object",properties:{question:{type:"string",description:"The question to ask"},header:{type:"string",description:"Short label/category (<=12 chars)"},options:{type:"array",description:"options",minItems:2,maxItems:4,items:{type:"object",properties:{label:{type:"string",description:"label"},description:{type:"string",description:"description"}},required:["label"]}},multiSelect:{type:"boolean",description:"Set to true for multiple-choice, false for single-choice"}},required:["question","header","options","multiSelect"]}}},required:["questions"]};return{name:this.name,description:this.description,input_schema:e}}async execute(e,r){let{success:o,data:s,error:n}=await $l($.object({questions:$.array(EM)}),r);if(!o)return{output:n.message,isError:!0};let i=s.questions;if(!Array.isArray(i)||i.length<1||i.length>4)return{output:"Error: must have 1-4 questions",isError:!0};for(let u of i)if(!Array.isArray(u.options)||u.options.length<2||u.options.length>4)return{output:`Error: question '${u.question}' must have 2-4 options`,isError:!0};let a=await this.ask(i);return{output:`User has answered your questions: ${Object.entries(a).map(([u,l])=>`"${u}" = "${l}"`).join(", ")}. You can now continue with the user's answers`,isError:!1}}};var Ng=class{name="ExitPlanMode";description=`
|
|
375
375
|
Exit plan mode and present the plan for user approval.
|
|
376
376
|
Call this when your plan is complete and written to the plan file.
|
|
377
|
-
`;category="read";isPlanMode=null;planExists=null;schema(){let e={type:"object",properties:{}};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){return this.isPlanMode&&!this.isPlanMode()?Promise.resolve({output:"You are not in plan mode. This tool is only for exiting plan mode after writing a plan.",isError:!0}):this.planExists&&!this.planExists()?Promise.resolve({output:"No plan file found. Please write your plan to the plan file before calling ExitPlanMode.",isError:!0}):Promise.resolve({output:"Plan mode will be exited after this turn. The user will be shown the plan approval dialog. Do not call any more tools \u2014 end your turn now.",isError:!1})}};export{ii as a,Et as b,pn as c,Qm as d,PD as e,
|
|
377
|
+
`;category="read";isPlanMode=null;planExists=null;schema(){let e={type:"object",properties:{}};return{name:this.name,description:this.description,input_schema:e}}execute(e,r){return this.isPlanMode&&!this.isPlanMode()?Promise.resolve({output:"You are not in plan mode. This tool is only for exiting plan mode after writing a plan.",isError:!0}):this.planExists&&!this.planExists()?Promise.resolve({output:"No plan file found. Please write your plan to the plan file before calling ExitPlanMode.",isError:!0}):Promise.resolve({output:"Plan mode will be exited after this turn. The user will be shown the plan approval dialog. Do not call any more tools \u2014 end your turn now.",isError:!1})}};export{ii as a,Et as b,pn as c,Qm as d,PD as e,vm as f,Mm as g,xm as h,Dm as i,qm as j,Gm as k,Rn as l,Tn as m,Dn as n,$n as o,Zm as p,Xm as q,xn as r,ef as s,tf as t,rf as u,mf as v,gf as w,X$ as x,tP as y,rP as z,hf as A,yl as B,iP as C,Xo as D,yP as E,wP as F,Pf as G,Nn as H,Gf as I,zn as J,Vf as K,Zf as L,Un as M,eg as N,tg as O,Fn as P,On as Q,Ln as R,cg as S,BN as T,ug as U,dg as V,Ag as W,pg as X,mg as Y,FN as Z,ON as _,WN as $,xv as aa,yg as ba,wg as ca,iz as da,Xn as ea,Sg as fa,Pz as ga,xg as ha,Rg as ia,Tg as ja,Dg as ka,$g as la,Pg as ma,jg as na,Ng as oa};
|
|
378
378
|
/*! Bundled license information:
|
|
379
379
|
|
|
380
380
|
content-type/index.js:
|