@aetherwealth/mcp 0.1.18-beta.4
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/README.md +146 -0
- package/dist/index.js +118 -0
- package/package.json +23 -0
package/README.md
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# @aetherwealth/mcp
|
|
2
|
+
|
|
3
|
+
A [Model Context Protocol](https://modelcontextprotocol.io) server that exposes
|
|
4
|
+
a user's **Aether Wealth** trading journal to MCP clients such as Claude Desktop.
|
|
5
|
+
|
|
6
|
+
Authentication is **per-user OAuth 2.1** — the user signs in through the browser
|
|
7
|
+
and the MCP stores a personal access token locally. No shared secret is
|
|
8
|
+
configured on the user's machine. Data calls go to `aether-backend` over a typed
|
|
9
|
+
**tRPC** client.
|
|
10
|
+
|
|
11
|
+
> Destructive tools (`delete_trade`, `delete_account`) are intentionally not
|
|
12
|
+
> exposed — trades are permanent records; delete them in the web app. Market-data
|
|
13
|
+
> tools are public (work without sign-in); everything else needs `login`.
|
|
14
|
+
|
|
15
|
+
## Tools
|
|
16
|
+
|
|
17
|
+
**Auth**
|
|
18
|
+
|
|
19
|
+
| Tool | Purpose |
|
|
20
|
+
|------|---------|
|
|
21
|
+
| `login` | Sign in. Opens the browser; after you approve, the MCP stores a per-user token. |
|
|
22
|
+
| `logout` | Sign out on this device (clears the stored token). |
|
|
23
|
+
|
|
24
|
+
**Trades** (require sign-in)
|
|
25
|
+
|
|
26
|
+
| Tool | Purpose |
|
|
27
|
+
|------|---------|
|
|
28
|
+
| `list_trades` | List trades; filter by account, status, pair, or date range. |
|
|
29
|
+
| `get_trade` | Get a single trade by id. |
|
|
30
|
+
| `list_accounts` | List trading accounts (for `create_trade`'s `accountId`). |
|
|
31
|
+
| `trade_stats` | Performance statistics (win rate, PnL, …). |
|
|
32
|
+
| `create_trade` | Record a new trade. |
|
|
33
|
+
| `update_trade` | Update fields on a trade. |
|
|
34
|
+
| `close_trade` | Close an open trade with an exit price + time. |
|
|
35
|
+
|
|
36
|
+
**Alerts** (require sign-in)
|
|
37
|
+
|
|
38
|
+
| Tool | Purpose |
|
|
39
|
+
|------|---------|
|
|
40
|
+
| `list_alerts` / `list_indicator_alerts` | List price+trendline / indicator alerts. |
|
|
41
|
+
| `create_price_alert` | Price-level alert (above/below/crosses). |
|
|
42
|
+
| `create_trendline_alert` | Trendline alert from two points. |
|
|
43
|
+
| `create_indicator_alert` | Indicator-output alert (e.g. RSI crosses 70). |
|
|
44
|
+
| `update_alert` / `delete_alert` | Update / delete a price/trendline alert. |
|
|
45
|
+
| `update_indicator_alert` / `delete_indicator_alert` | Update / delete an indicator alert. |
|
|
46
|
+
|
|
47
|
+
**Market data** (public — no sign-in)
|
|
48
|
+
|
|
49
|
+
| Tool | Purpose |
|
|
50
|
+
|------|---------|
|
|
51
|
+
| `get_candles` | Recent OHLC candles (up to 500) for a pair + timeframe, read from Redis. |
|
|
52
|
+
| `list_economic_calendar` | Economic calendar events; filter by currency, date, impact. |
|
|
53
|
+
| `get_macro_series` | Macro indicator time series (e.g. USD cpi). |
|
|
54
|
+
| `get_market_config` | Catalog of supported instruments + timeframes. |
|
|
55
|
+
|
|
56
|
+
A sign-in-required tool called while signed out returns an "authentication
|
|
57
|
+
required — call `login`" error, so the assistant prompts you to sign in.
|
|
58
|
+
|
|
59
|
+
## Authentication flow
|
|
60
|
+
|
|
61
|
+
`login` runs an OAuth 2.1 Authorization Code + PKCE flow as a public client:
|
|
62
|
+
|
|
63
|
+
1. Discover the provider endpoints from `${AETHER_BASE_URL}/auth/api/.well-known/openid-configuration`.
|
|
64
|
+
2. Start a loopback listener on `127.0.0.1` (a fixed port from a small set).
|
|
65
|
+
3. Open the browser to the authorize URL. If you're already signed in to the
|
|
66
|
+
Aether Wealth web app it completes immediately; otherwise you sign in there.
|
|
67
|
+
4. The redirect lands on the loopback listener with an authorization code, which
|
|
68
|
+
is exchanged (with the PKCE verifier) for an access token.
|
|
69
|
+
5. The token is stored in the **OS keychain** (macOS Keychain / Windows
|
|
70
|
+
Credential Manager / Linux libsecret), with a `0600`-file fallback, keyed by
|
|
71
|
+
backend host so prod and beta tokens coexist.
|
|
72
|
+
|
|
73
|
+
The token is long-lived; there is no refresh token. When it expires, run `login`
|
|
74
|
+
again.
|
|
75
|
+
|
|
76
|
+
## Configuration
|
|
77
|
+
|
|
78
|
+
See [`.env.example`](./.env.example).
|
|
79
|
+
|
|
80
|
+
| Var | Required | Notes |
|
|
81
|
+
|-----|----------|-------|
|
|
82
|
+
| `AETHER_BASE_URL` | prod only | aether-backend base URL (OAuth + tRPC). Falls back to `http://localhost:9006` in dev. |
|
|
83
|
+
| `AETHER_MCP_CREDENTIALS_FILE` | no | Set to force the `0600`-file credential store instead of the OS keychain. |
|
|
84
|
+
| `MCP_TRANSPORT` | no | `stdio` (default) or `http`. |
|
|
85
|
+
| `MCP_HTTP_PORT` / `MCP_HTTP_HOST` / `MCP_HTTP_PATH` / `MCP_HTTP_BEARER` | no | HTTP transport only. |
|
|
86
|
+
|
|
87
|
+
## Running
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# From the repo root
|
|
91
|
+
bun run --filter=@aetherwealth/mcp start
|
|
92
|
+
# Or directly
|
|
93
|
+
cd apps/aether-wealth-mcp && bun run src/index.ts
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Claude Desktop config example
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"mcpServers": {
|
|
101
|
+
"aether-wealth": {
|
|
102
|
+
"command": "bun",
|
|
103
|
+
"args": ["run", "/abs/path/to/apps/aether-wealth-mcp/src/index.ts"],
|
|
104
|
+
"env": { "AETHER_BASE_URL": "https://api.aetherwealth.ai" }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Then ask the assistant to sign in (it calls `login`), complete the browser
|
|
111
|
+
sign-in, and your trades become available.
|
|
112
|
+
|
|
113
|
+
## Build & quality
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
bun run --filter=@aetherwealth/mcp test # vitest
|
|
117
|
+
bun run --filter=@aetherwealth/mcp typecheck # tsc --noEmit
|
|
118
|
+
bun run --filter=@aetherwealth/mcp lint # biome
|
|
119
|
+
bun run --filter=@aetherwealth/mcp build # bun bundle → dist/
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
> The typecheck imports `AppRouter` from `@opusaether/aether-backend/trpc`, so
|
|
123
|
+
> aether-backend's declarations must be built first (the turbo pipeline handles
|
|
124
|
+
> this). A stale `node_modules` makes the vitest suite fail with
|
|
125
|
+
> `[TSCONFIG_ERROR]` — fix with `bun install` and `GITHUB_TOKEN` set.
|
|
126
|
+
|
|
127
|
+
## Architecture
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
index.ts entry: config → credential store → OAuth session → tRPC client → transport
|
|
131
|
+
config.ts env → { baseUrl, trpcUrl, host } (OAuth-only)
|
|
132
|
+
trpc-client.ts typed tRPC client (AppRouter); attaches Bearer token per request
|
|
133
|
+
tool-registry.ts login / logout / list_trades; McpToolContext = { session, trpc }
|
|
134
|
+
server.ts registry → @modelcontextprotocol/sdk request-handler bridge
|
|
135
|
+
oauth/
|
|
136
|
+
contract.ts client id / redirect ports / scopes (mirrors aether-backend constants)
|
|
137
|
+
pkce.ts PKCE verifier + S256 challenge, state
|
|
138
|
+
discovery.ts fetch the AS openid-configuration
|
|
139
|
+
loopback.ts loopback redirect listener (captures code/state)
|
|
140
|
+
browser.ts open the system browser
|
|
141
|
+
login.ts runLogin: PKCE → loopback → browser → token exchange
|
|
142
|
+
credential-store.ts OS keychain + 0600-file fallback, keyed by host
|
|
143
|
+
session.ts OAuthSession: getAccessToken / login / logout
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
See [ADR 0001](../../docs/adr/0001-mcp-oauth.md) for the auth design + trade-offs.
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// @bun
|
|
3
|
+
import{createRequire as H3}from"node:module";var sz=Object.create;var{getPrototypeOf:ez,defineProperty:mQ,getOwnPropertyNames:Q3}=Object;var X3=Object.prototype.hasOwnProperty;function Y3(Q){return this[Q]}var W3,G3,x4=(Q,X,Y)=>{var W=Q!=null&&typeof Q==="object";if(W){var G=X?W3??=new WeakMap:G3??=new WeakMap,J=G.get(Q);if(J)return J}Y=Q!=null?sz(ez(Q)):{};let B=X||!Q||!Q.__esModule?mQ(Y,"default",{value:Q,enumerable:!0}):Y;for(let H of Q3(Q))if(!X3.call(B,H))mQ(B,H,{get:Y3.bind(Q,H),enumerable:!0});if(W)G.set(Q,B);return B};var w=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var J3=(Q)=>Q;function B3(Q,X){this[Q]=J3.bind(null,X)}var _4=(Q,X)=>{for(var Y in X)mQ(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:B3.bind(X,Y)})};var K3=H3(import.meta.url);var _9=w((X5)=>{Object.defineProperty(X5,"__esModule",{value:!0});X5.regexpCode=X5.getEsmExportName=X5.getProperty=X5.safeStringify=X5.stringify=X5.strConcat=X5.addCodeArg=X5.str=X5._=X5.nil=X5._Code=X5.Name=X5.IDENTIFIER=X5._CodeOrName=void 0;class i8{}X5._CodeOrName=i8;X5.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class f1 extends i8{constructor(Q){super();if(!X5.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}X5.Name=f1;class b0 extends i8{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof f1)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}X5._Code=b0;X5.nil=new b0("");function eG(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)Y6(Y,X[W]),Y.push(Q[++W]);return new b0(Y)}X5._=eG;var X6=new b0("+");function Q5(Q,...X){let Y=[x9(Q[0])],W=0;while(W<X.length)Y.push(X6),Y6(Y,X[W]),Y.push(X6,x9(Q[++W]));return SF(Y),new b0(Y)}X5.str=Q5;function Y6(Q,X){if(X instanceof b0)Q.push(...X._items);else if(X instanceof f1)Q.push(X);else Q.push(bF(X))}X5.addCodeArg=Y6;function SF(Q){let X=1;while(X<Q.length-1){if(Q[X]===X6){let Y=RF(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function RF(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof f1||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof f1))return`"${Q}${X.slice(1)}`;return}function CF(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:Q5`${Q}${X}`}X5.strConcat=CF;function bF(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:x9(Array.isArray(Q)?Q.join(","):Q)}function kF(Q){return new b0(x9(Q))}X5.stringify=kF;function x9(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}X5.safeStringify=x9;function vF(Q){return typeof Q=="string"&&X5.IDENTIFIER.test(Q)?new b0(`.${Q}`):eG`[${Q}]`}X5.getProperty=vF;function xF(Q){if(typeof Q=="string"&&X5.IDENTIFIER.test(Q))return new b0(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}X5.getEsmExportName=xF;function _F(Q){return new b0(Q.toString())}X5.regexpCode=_F});var B6=w((J5)=>{Object.defineProperty(J5,"__esModule",{value:!0});J5.ValueScope=J5.ValueScopeName=J5.Scope=J5.varKinds=J5.UsedValueState=void 0;var U0=_9();class W5 extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var o8;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(o8||(J5.UsedValueState=o8={}));J5.varKinds={const:new U0.Name("const"),let:new U0.Name("let"),var:new U0.Name("var")};class G6{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof U0.Name?Q:this.name(Q)}name(Q){return new U0.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}J5.Scope=G6;class J6 extends U0.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=U0._`.${new U0.Name(X)}[${Y}]`}}J5.ValueScopeName=J6;var oF=U0._`\n`;class G5 extends G6{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?oF:U0.nil}}get(){return this._scope}name(Q){return new J6(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:G}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,B=this._values[G];if(B){let z=B.get(J);if(z)return z}else B=this._values[G]=new Map;B.set(J,W);let H=this._scope[G]||(this._scope[G]=[]),K=H.length;return H[K]=X.ref,W.setValue(X,{property:G,itemIndex:K}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return U0._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let G=U0.nil;for(let J in Q){let B=Q[J];if(!B)continue;let H=Y[J]=Y[J]||new Map;B.forEach((K)=>{if(H.has(K))return;H.set(K,o8.Started);let z=X(K);if(z){let A=this.opts.es5?J5.varKinds.var:J5.varKinds.const;G=U0._`${G}${A} ${K} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(K))G=U0._`${G}${z}${this.opts._n}`;else throw new W5(K);H.set(K,o8.Completed)})}return G}}J5.ValueScope=G5});var v=w((N0)=>{Object.defineProperty(N0,"__esModule",{value:!0});N0.or=N0.and=N0.not=N0.CodeGen=N0.operators=N0.varKinds=N0.ValueScopeName=N0.ValueScope=N0.Scope=N0.Name=N0.regexpCode=N0.stringify=N0.getProperty=N0.nil=N0.strConcat=N0.str=N0._=void 0;var _=_9(),k0=B6(),H1=_9();Object.defineProperty(N0,"_",{enumerable:!0,get:function(){return H1._}});Object.defineProperty(N0,"str",{enumerable:!0,get:function(){return H1.str}});Object.defineProperty(N0,"strConcat",{enumerable:!0,get:function(){return H1.strConcat}});Object.defineProperty(N0,"nil",{enumerable:!0,get:function(){return H1.nil}});Object.defineProperty(N0,"getProperty",{enumerable:!0,get:function(){return H1.getProperty}});Object.defineProperty(N0,"stringify",{enumerable:!0,get:function(){return H1.stringify}});Object.defineProperty(N0,"regexpCode",{enumerable:!0,get:function(){return H1.regexpCode}});Object.defineProperty(N0,"Name",{enumerable:!0,get:function(){return H1.Name}});var QQ=B6();Object.defineProperty(N0,"Scope",{enumerable:!0,get:function(){return QQ.Scope}});Object.defineProperty(N0,"ValueScope",{enumerable:!0,get:function(){return QQ.ValueScope}});Object.defineProperty(N0,"ValueScopeName",{enumerable:!0,get:function(){return QQ.ValueScopeName}});Object.defineProperty(N0,"varKinds",{enumerable:!0,get:function(){return QQ.varKinds}});N0.operators={GT:new _._Code(">"),GTE:new _._Code(">="),LT:new _._Code("<"),LTE:new _._Code("<="),EQ:new _._Code("==="),NEQ:new _._Code("!=="),NOT:new _._Code("!"),OR:new _._Code("||"),AND:new _._Code("&&"),ADD:new _._Code("+")};class K1{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class H5 extends K1{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?k0.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=l1(this.rhs,Q,X);return this}get names(){return this.rhs instanceof _._CodeOrName?this.rhs.names:{}}}class z6 extends K1{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof _.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=l1(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof _.Name?{}:{...this.lhs.names};return e8(Q,this.rhs)}}class K5 extends z6{constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class z5 extends K1{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class A5 extends K1{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class Z5 extends K1{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class F5 extends K1{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=l1(this.code,Q,X),this}get names(){return this.code instanceof _._CodeOrName?this.code.names:{}}}class XQ extends K1{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let G=Y[W];if(G.optimizeNames(Q,X))continue;sF(Q,G.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>w1(Q,X.names),{})}}class z1 extends XQ{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class D5 extends XQ{}class y9 extends z1{}y9.kind="else";class o0 extends z1{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new y9(Y):Y}if(X){if(Q===!1)return X instanceof o0?X:X.nodes;if(this.nodes.length)return this;return new o0(M5(Q),X instanceof o0?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=l1(this.condition,Q,X),this}get names(){let Q=super.names;if(e8(Q,this.condition),this.else)w1(Q,this.else.names);return Q}}o0.kind="if";class u1 extends z1{}u1.kind="for";class V5 extends u1{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=l1(this.iteration,Q,X),this}get names(){return w1(super.names,this.iteration.names)}}class L5 extends u1{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?k0.varKinds.var:this.varKind,{name:Y,from:W,to:G}=this;return`for(${X} ${Y}=${W}; ${Y}<${G}; ${Y}++)`+super.render(Q)}get names(){let Q=e8(super.names,this.from);return e8(Q,this.to)}}class H6 extends u1{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=l1(this.iterable,Q,X),this}get names(){return w1(super.names,this.iterable.names)}}class r8 extends z1{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}r8.kind="func";class t8 extends XQ{render(Q){return"return "+super.render(Q)}}t8.kind="return";class U5 extends z1{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)w1(Q,this.catch.names);if(this.finally)w1(Q,this.finally.names);return Q}}class a8 extends z1{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}a8.kind="catch";class s8 extends z1{render(Q){return"finally"+super.render(Q)}}s8.kind="finally";class N5{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
|
|
4
|
+
`:""},this._extScope=Q,this._scope=new k0.Scope({parent:Q}),this._nodes=[new D5]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let G=this._scope.toName(X);if(Y!==void 0&&W)this._constants[G.str]=Y;return this._leafNode(new H5(Q,G,Y)),G}const(Q,X,Y){return this._def(k0.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(k0.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(k0.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new z6(Q,X,Y))}add(Q,X){return this._leafNode(new K5(Q,N0.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==_.nil)this._leafNode(new F5(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,_.addCodeArg)(X,W)}return X.push("}"),new _._Code(X)}if(Q,X,Y){if(this._blockNode(new o0(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new o0(Q))}else(){return this._elseNode(new y9)}endIf(){return this._endBlockNode(o0,y9)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new V5(Q),X)}forRange(Q,X,Y,W,G=this.opts.es5?k0.varKinds.var:k0.varKinds.let){let J=this._scope.toName(Q);return this._for(new L5(G,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=k0.varKinds.const){let G=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof _.Name?X:this.var("_arr",X);return this.forRange("_i",0,_._`${J}.length`,(B)=>{this.var(G,_._`${J}[${B}]`),Y(G)})}return this._for(new H6("of",W,G,X),()=>Y(G))}forIn(Q,X,Y,W=this.opts.es5?k0.varKinds.var:k0.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,_._`Object.keys(${X})`,Y);let G=this._scope.toName(Q);return this._for(new H6("in",W,G,X),()=>Y(G))}endFor(){return this._endBlockNode(u1)}label(Q){return this._leafNode(new z5(Q))}break(Q){return this._leafNode(new A5(Q))}return(Q){let X=new t8;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(t8)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new U5;if(this._blockNode(W),this.code(Q),X){let G=this.name("e");this._currNode=W.catch=new a8(G),X(G)}if(Y)this._currNode=W.finally=new s8,this.code(Y);return this._endBlockNode(a8,s8)}throw(Q){return this._leafNode(new Z5(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=_.nil,Y,W){if(this._blockNode(new r8(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(r8)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof o0))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}N0.CodeGen=N5;function w1(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function e8(Q,X){return X instanceof _._CodeOrName?w1(Q,X.names):Q}function l1(Q,X,Y){if(Q instanceof _.Name)return W(Q);if(!G(Q))return Q;return new _._Code(Q._items.reduce((J,B)=>{if(B instanceof _.Name)B=W(B);if(B instanceof _._Code)J.push(...B._items);else J.push(B);return J},[]));function W(J){let B=Y[J.str];if(B===void 0||X[J.str]!==1)return J;return delete X[J.str],B}function G(J){return J instanceof _._Code&&J._items.some((B)=>B instanceof _.Name&&X[B.str]===1&&Y[B.str]!==void 0)}}function sF(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function M5(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:_._`!${K6(Q)}`}N0.not=M5;var eF=q5(N0.operators.AND);function QD(...Q){return Q.reduce(eF)}N0.and=QD;var XD=q5(N0.operators.OR);function YD(...Q){return Q.reduce(XD)}N0.or=YD;function q5(Q){return(X,Y)=>X===_.nil?Y:Y===_.nil?X:_._`${K6(X)} ${Q} ${K6(Y)}`}function K6(Q){return Q instanceof _.Name?Q:_._`(${Q})`}});var g=w((S5)=>{Object.defineProperty(S5,"__esModule",{value:!0});S5.checkStrictMode=S5.getErrorPath=S5.Type=S5.useFunc=S5.setEvaluated=S5.evaluatedPropsToName=S5.mergeEvaluated=S5.eachItem=S5.unescapeJsonPointer=S5.escapeJsonPointer=S5.escapeFragment=S5.unescapeFragment=S5.schemaRefOrVal=S5.schemaHasRulesButRef=S5.schemaHasRules=S5.checkUnknownRules=S5.alwaysValidSchema=S5.toHash=void 0;var c=v(),BD=_9();function HD(Q){let X={};for(let Y of Q)X[Y]=!0;return X}S5.toHash=HD;function KD(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return I5(Q,X),!P5(X,Q.self.RULES.all)}S5.alwaysValidSchema=KD;function I5(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let G=W.RULES.keywords;for(let J in X)if(!G[J])j5(Q,`unknown keyword: "${J}"`)}S5.checkUnknownRules=I5;function P5(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}S5.schemaHasRules=P5;function zD(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}S5.schemaHasRulesButRef=zD;function AD({topSchemaRef:Q,schemaPath:X},Y,W,G){if(!G){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return c._`${Y}`}return c._`${Q}${X}${(0,c.getProperty)(W)}`}S5.schemaRefOrVal=AD;function ZD(Q){return E5(decodeURIComponent(Q))}S5.unescapeFragment=ZD;function FD(Q){return encodeURIComponent(Z6(Q))}S5.escapeFragment=FD;function Z6(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}S5.escapeJsonPointer=Z6;function E5(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}S5.unescapeJsonPointer=E5;function DD(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}S5.eachItem=DD;function $5({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return(G,J,B,H)=>{let K=B===void 0?J:B instanceof c.Name?(J instanceof c.Name?Q(G,J,B):X(G,J,B),B):J instanceof c.Name?(X(G,B,J),J):Y(J,B);return H===c.Name&&!(K instanceof c.Name)?W(G,K):K}}S5.mergeEvaluated={props:$5({mergeNames:(Q,X,Y)=>Q.if(c._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(c._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,c._`${Y} || {}`).code(c._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(c._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,c._`${Y} || {}`),F6(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:T5}),items:$5({mergeNames:(Q,X,Y)=>Q.if(c._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,c._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(c._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:c._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function T5(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",c._`{}`);if(X!==void 0)F6(Q,Y,X);return Y}S5.evaluatedPropsToName=T5;function F6(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(c._`${X}${(0,c.getProperty)(W)}`,!0))}S5.setEvaluated=F6;var O5={};function VD(Q,X){return Q.scopeValue("func",{ref:X,code:O5[X.code]||(O5[X.code]=new BD._Code(X.code))})}S5.useFunc=VD;var A6;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(A6||(S5.Type=A6={}));function LD(Q,X,Y){if(Q instanceof c.Name){let W=X===A6.Num;return Y?W?c._`"[" + ${Q} + "]"`:c._`"['" + ${Q} + "']"`:W?c._`"/" + ${Q}`:c._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,c.getProperty)(Q).toString():"/"+Z6(Q)}S5.getErrorPath=LD;function j5(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}S5.checkStrictMode=j5});var r0=w((C5)=>{Object.defineProperty(C5,"__esModule",{value:!0});var A0=v(),vD={data:new A0.Name("data"),valCxt:new A0.Name("valCxt"),instancePath:new A0.Name("instancePath"),parentData:new A0.Name("parentData"),parentDataProperty:new A0.Name("parentDataProperty"),rootData:new A0.Name("rootData"),dynamicAnchors:new A0.Name("dynamicAnchors"),vErrors:new A0.Name("vErrors"),errors:new A0.Name("errors"),this:new A0.Name("this"),self:new A0.Name("self"),scope:new A0.Name("scope"),json:new A0.Name("json"),jsonPos:new A0.Name("jsonPos"),jsonLen:new A0.Name("jsonLen"),jsonPart:new A0.Name("jsonPart")};C5.default=vD});var g9=w((x5)=>{Object.defineProperty(x5,"__esModule",{value:!0});x5.extendErrors=x5.resetErrorsCount=x5.reportExtraError=x5.reportError=x5.keyword$DataError=x5.keywordError=void 0;var h=v(),WQ=g(),D0=r0();x5.keywordError={message:({keyword:Q})=>h.str`must pass "${Q}" keyword validation`};x5.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?h.str`"${Q}" keyword must be ${X} ($data)`:h.str`"${Q}" keyword is invalid ($data)`};function _D(Q,X=x5.keywordError,Y,W){let{it:G}=Q,{gen:J,compositeRule:B,allErrors:H}=G,K=v5(Q,X,Y);if(W!==null&&W!==void 0?W:B||H)b5(J,K);else k5(G,h._`[${K}]`)}x5.reportError=_D;function yD(Q,X=x5.keywordError,Y){let{it:W}=Q,{gen:G,compositeRule:J,allErrors:B}=W,H=v5(Q,X,Y);if(b5(G,H),!(J||B))k5(W,D0.default.vErrors)}x5.reportExtraError=yD;function gD(Q,X){Q.assign(D0.default.errors,X),Q.if(h._`${D0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(h._`${D0.default.vErrors}.length`,X),()=>Q.assign(D0.default.vErrors,null)))}x5.resetErrorsCount=gD;function hD({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:G,it:J}){if(G===void 0)throw Error("ajv implementation error");let B=Q.name("err");Q.forRange("i",G,D0.default.errors,(H)=>{if(Q.const(B,h._`${D0.default.vErrors}[${H}]`),Q.if(h._`${B}.instancePath === undefined`,()=>Q.assign(h._`${B}.instancePath`,(0,h.strConcat)(D0.default.instancePath,J.errorPath))),Q.assign(h._`${B}.schemaPath`,h.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(h._`${B}.schema`,Y),Q.assign(h._`${B}.data`,W)})}x5.extendErrors=hD;function b5(Q,X){let Y=Q.const("err",X);Q.if(h._`${D0.default.vErrors} === null`,()=>Q.assign(D0.default.vErrors,h._`[${Y}]`),h._`${D0.default.vErrors}.push(${Y})`),Q.code(h._`${D0.default.errors}++`)}function k5(Q,X){let{gen:Y,validateName:W,schemaEnv:G}=Q;if(G.$async)Y.throw(h._`new ${Q.ValidationError}(${X})`);else Y.assign(h._`${W}.errors`,X),Y.return(!1)}var $1={keyword:new h.Name("keyword"),schemaPath:new h.Name("schemaPath"),params:new h.Name("params"),propertyName:new h.Name("propertyName"),message:new h.Name("message"),schema:new h.Name("schema"),parentSchema:new h.Name("parentSchema")};function v5(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return h._`{}`;return fD(Q,X,Y)}function fD(Q,X,Y={}){let{gen:W,it:G}=Q,J=[uD(G,Y),lD(Q,Y)];return mD(Q,X,J),W.object(...J)}function uD({errorPath:Q},{instancePath:X}){let Y=X?h.str`${Q}${(0,WQ.getErrorPath)(X,WQ.Type.Str)}`:Q;return[D0.default.instancePath,(0,h.strConcat)(D0.default.instancePath,Y)]}function lD({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let G=W?X:h.str`${X}/${Q}`;if(Y)G=h.str`${G}${(0,WQ.getErrorPath)(Y,WQ.Type.Str)}`;return[$1.schemaPath,G]}function mD(Q,{params:X,message:Y},W){let{keyword:G,data:J,schemaValue:B,it:H}=Q,{opts:K,propertyName:z,topSchemaRef:A,schemaPath:Z}=H;if(W.push([$1.keyword,G],[$1.params,typeof X=="function"?X(Q):X||h._`{}`]),K.messages)W.push([$1.message,typeof Y=="function"?Y(Q):Y]);if(K.verbose)W.push([$1.schema,B],[$1.parentSchema,h._`${A}${Z}`],[D0.default.data,J]);if(z)W.push([$1.propertyName,z])}});var f5=w((g5)=>{Object.defineProperty(g5,"__esModule",{value:!0});g5.boolOrEmptySchema=g5.topBoolOrEmptySchema=void 0;var nD=g9(),oD=v(),rD=r0(),tD={message:"boolean schema is false"};function aD(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)y5(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(rD.default.data);else X.assign(oD._`${W}.errors`,null),X.return(!0)}g5.topBoolOrEmptySchema=aD;function sD(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),y5(Q);else Y.var(X,!0)}g5.boolOrEmptySchema=sD;function y5(Q,X){let{gen:Y,data:W}=Q,G={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,nD.reportError)(G,tD,void 0,X)}});var V6=w((u5)=>{Object.defineProperty(u5,"__esModule",{value:!0});u5.getRules=u5.isJSONType=void 0;var QV=["string","number","integer","boolean","null","object","array"],XV=new Set(QV);function YV(Q){return typeof Q=="string"&&XV.has(Q)}u5.isJSONType=YV;function WV(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}u5.getRules=WV});var L6=w((p5)=>{Object.defineProperty(p5,"__esModule",{value:!0});p5.shouldUseRule=p5.shouldUseGroup=p5.schemaHasRulesForType=void 0;function JV({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&m5(Q,W)}p5.schemaHasRulesForType=JV;function m5(Q,X){return X.rules.some((Y)=>c5(Q,Y))}p5.shouldUseGroup=m5;function c5(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}p5.shouldUseRule=c5});var h9=w((r5)=>{Object.defineProperty(r5,"__esModule",{value:!0});r5.reportTypeError=r5.checkDataTypes=r5.checkDataType=r5.coerceAndCheckDataType=r5.getJSONTypes=r5.getSchemaTypes=r5.DataType=void 0;var KV=V6(),zV=L6(),AV=g9(),k=v(),i5=g(),m1;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(m1||(r5.DataType=m1={}));function ZV(Q){let X=n5(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}r5.getSchemaTypes=ZV;function n5(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(KV.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}r5.getJSONTypes=n5;function FV(Q,X){let{gen:Y,data:W,opts:G}=Q,J=DV(X,G.coerceTypes),B=X.length>0&&!(J.length===0&&X.length===1&&(0,zV.schemaHasRulesForType)(Q,X[0]));if(B){let H=N6(X,W,G.strictNumbers,m1.Wrong);Y.if(H,()=>{if(J.length)VV(Q,X,J);else M6(Q)})}return B}r5.coerceAndCheckDataType=FV;var o5=new Set(["string","number","integer","boolean","null"]);function DV(Q,X){return X?Q.filter((Y)=>o5.has(Y)||X==="array"&&Y==="array"):[]}function VV(Q,X,Y){let{gen:W,data:G,opts:J}=Q,B=W.let("dataType",k._`typeof ${G}`),H=W.let("coerced",k._`undefined`);if(J.coerceTypes==="array")W.if(k._`${B} == 'object' && Array.isArray(${G}) && ${G}.length == 1`,()=>W.assign(G,k._`${G}[0]`).assign(B,k._`typeof ${G}`).if(N6(X,G,J.strictNumbers),()=>W.assign(H,G)));W.if(k._`${H} !== undefined`);for(let z of Y)if(o5.has(z)||z==="array"&&J.coerceTypes==="array")K(z);W.else(),M6(Q),W.endIf(),W.if(k._`${H} !== undefined`,()=>{W.assign(G,H),LV(Q,H)});function K(z){switch(z){case"string":W.elseIf(k._`${B} == "number" || ${B} == "boolean"`).assign(H,k._`"" + ${G}`).elseIf(k._`${G} === null`).assign(H,k._`""`);return;case"number":W.elseIf(k._`${B} == "boolean" || ${G} === null
|
|
5
|
+
|| (${B} == "string" && ${G} && ${G} == +${G})`).assign(H,k._`+${G}`);return;case"integer":W.elseIf(k._`${B} === "boolean" || ${G} === null
|
|
6
|
+
|| (${B} === "string" && ${G} && ${G} == +${G} && !(${G} % 1))`).assign(H,k._`+${G}`);return;case"boolean":W.elseIf(k._`${G} === "false" || ${G} === 0 || ${G} === null`).assign(H,!1).elseIf(k._`${G} === "true" || ${G} === 1`).assign(H,!0);return;case"null":W.elseIf(k._`${G} === "" || ${G} === 0 || ${G} === false`),W.assign(H,null);return;case"array":W.elseIf(k._`${B} === "string" || ${B} === "number"
|
|
7
|
+
|| ${B} === "boolean" || ${G} === null`).assign(H,k._`[${G}]`)}}}function LV({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(k._`${X} !== undefined`,()=>Q.assign(k._`${X}[${Y}]`,W))}function U6(Q,X,Y,W=m1.Correct){let G=W===m1.Correct?k.operators.EQ:k.operators.NEQ,J;switch(Q){case"null":return k._`${X} ${G} null`;case"array":J=k._`Array.isArray(${X})`;break;case"object":J=k._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=B(k._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=B();break;default:return k._`typeof ${X} ${G} ${Q}`}return W===m1.Correct?J:(0,k.not)(J);function B(H=k.nil){return(0,k.and)(k._`typeof ${X} == "number"`,H,Y?k._`isFinite(${X})`:k.nil)}}r5.checkDataType=U6;function N6(Q,X,Y,W){if(Q.length===1)return U6(Q[0],X,Y,W);let G,J=(0,i5.toHash)(Q);if(J.array&&J.object){let B=k._`typeof ${X} != "object"`;G=J.null?B:k._`!${X} || ${B}`,delete J.null,delete J.array,delete J.object}else G=k.nil;if(J.number)delete J.integer;for(let B in J)G=(0,k.and)(G,U6(B,X,Y,W));return G}r5.checkDataTypes=N6;var UV={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?k._`{type: ${Q}}`:k._`{type: ${X}}`};function M6(Q){let X=NV(Q);(0,AV.reportError)(X,UV)}r5.reportTypeError=M6;function NV(Q){let{gen:X,data:Y,schema:W}=Q,G=(0,i5.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:G,schemaValue:G,parentSchema:W,params:{},it:Q}}});var QJ=w((s5)=>{Object.defineProperty(s5,"__esModule",{value:!0});s5.assignDefaults=void 0;var c1=v(),PV=g();function EV(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let G in Y)a5(Q,G,Y[G].default);else if(X==="array"&&Array.isArray(W))W.forEach((G,J)=>a5(Q,J,G.default))}s5.assignDefaults=EV;function a5(Q,X,Y){let{gen:W,compositeRule:G,data:J,opts:B}=Q;if(Y===void 0)return;let H=c1._`${J}${(0,c1.getProperty)(X)}`;if(G){(0,PV.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let K=c1._`${H} === undefined`;if(B.useDefaults==="empty")K=c1._`${K} || ${H} === null || ${H} === ""`;W.if(K,c1._`${H} = ${(0,c1.stringify)(Y)}`)}});var S0=w((WJ)=>{Object.defineProperty(WJ,"__esModule",{value:!0});WJ.validateUnion=WJ.validateArray=WJ.usePattern=WJ.callValidateCode=WJ.schemaProperties=WJ.allSchemaProperties=WJ.noPropertyInData=WJ.propertyInData=WJ.isOwnProperty=WJ.hasPropFunc=WJ.reportMissingProp=WJ.checkMissingProp=WJ.checkReportMissingProp=void 0;var o=v(),q6=g(),A1=r0(),TV=g();function jV(Q,X){let{gen:Y,data:W,it:G}=Q;Y.if($6(Y,W,X,G.opts.ownProperties),()=>{Q.setParams({missingProperty:o._`${X}`},!0),Q.error()})}WJ.checkReportMissingProp=jV;function SV({gen:Q,data:X,it:{opts:Y}},W,G){return(0,o.or)(...W.map((J)=>(0,o.and)($6(Q,X,J,Y.ownProperties),o._`${G} = ${J}`)))}WJ.checkMissingProp=SV;function RV(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}WJ.reportMissingProp=RV;function XJ(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:o._`Object.prototype.hasOwnProperty`})}WJ.hasPropFunc=XJ;function w6(Q,X,Y){return o._`${XJ(Q)}.call(${X}, ${Y})`}WJ.isOwnProperty=w6;function CV(Q,X,Y,W){let G=o._`${X}${(0,o.getProperty)(Y)} !== undefined`;return W?o._`${G} && ${w6(Q,X,Y)}`:G}WJ.propertyInData=CV;function $6(Q,X,Y,W){let G=o._`${X}${(0,o.getProperty)(Y)} === undefined`;return W?(0,o.or)(G,(0,o.not)(w6(Q,X,Y))):G}WJ.noPropertyInData=$6;function YJ(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}WJ.allSchemaProperties=YJ;function bV(Q,X){return YJ(X).filter((Y)=>!(0,q6.alwaysValidSchema)(Q,X[Y]))}WJ.schemaProperties=bV;function kV({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:G,errorPath:J},it:B},H,K,z){let A=z?o._`${Q}, ${X}, ${W}${G}`:X,Z=[[A1.default.instancePath,(0,o.strConcat)(A1.default.instancePath,J)],[A1.default.parentData,B.parentData],[A1.default.parentDataProperty,B.parentDataProperty],[A1.default.rootData,A1.default.rootData]];if(B.opts.dynamicRef)Z.push([A1.default.dynamicAnchors,A1.default.dynamicAnchors]);let D=o._`${A}, ${Y.object(...Z)}`;return K!==o.nil?o._`${H}.call(${K}, ${D})`:o._`${H}(${D})`}WJ.callValidateCode=kV;var vV=o._`new RegExp`;function xV({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:G}=X.code,J=G(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:o._`${G.code==="new RegExp"?vV:(0,TV.useFunc)(Q,G)}(${Y}, ${W})`})}WJ.usePattern=xV;function _V(Q){let{gen:X,data:Y,keyword:W,it:G}=Q,J=X.name("valid");if(G.allErrors){let H=X.let("valid",!0);return B(()=>X.assign(H,!1)),H}return X.var(J,!0),B(()=>X.break()),J;function B(H){let K=X.const("len",o._`${Y}.length`);X.forRange("i",0,K,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:q6.Type.Num},J),X.if((0,o.not)(J),H)})}}WJ.validateArray=_V;function yV(Q){let{gen:X,schema:Y,keyword:W,it:G}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((K)=>(0,q6.alwaysValidSchema)(G,K))&&!G.opts.unevaluated)return;let B=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((K,z)=>{let A=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(B,o._`${B} || ${H}`),!Q.mergeValidEvaluated(A,H))X.if((0,o.not)(B))})),Q.result(B,()=>Q.reset(),()=>Q.error(!0))}WJ.validateUnion=yV});var zJ=w((HJ)=>{Object.defineProperty(HJ,"__esModule",{value:!0});HJ.validateKeywordUsage=HJ.validSchemaType=HJ.funcKeywordCode=HJ.macroKeywordCode=void 0;var V0=v(),O1=r0(),rV=S0(),tV=g9();function aV(Q,X){let{gen:Y,keyword:W,schema:G,parentSchema:J,it:B}=Q,H=X.macro.call(B.self,G,J,B),K=BJ(Y,W,H);if(B.opts.validateSchema!==!1)B.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:V0.nil,errSchemaPath:`${B.errSchemaPath}/${W}`,topSchemaRef:K,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}HJ.macroKeywordCode=aV;function sV(Q,X){var Y;let{gen:W,keyword:G,schema:J,parentSchema:B,$data:H,it:K}=Q;QL(K,X);let z=!H&&X.compile?X.compile.call(K.self,J,B,K):X.validate,A=BJ(W,G,z),Z=W.let("valid");Q.block$data(Z,D),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:Z);function D(){if(X.errors===!1){if(L(),X.modifying)JJ(Q);M(()=>Q.error())}else{let q=X.async?F():V();if(X.modifying)JJ(Q);M(()=>eV(Q,q))}}function F(){let q=W.let("ruleErrs",null);return W.try(()=>L(V0._`await `),(O)=>W.assign(Z,!1).if(V0._`${O} instanceof ${K.ValidationError}`,()=>W.assign(q,V0._`${O}.errors`),()=>W.throw(O))),q}function V(){let q=V0._`${A}.errors`;return W.assign(q,null),L(V0.nil),q}function L(q=X.async?V0._`await `:V0.nil){let O=K.opts.passContext?O1.default.this:O1.default.self,j=!(("compile"in X)&&!H||X.schema===!1);W.assign(Z,V0._`${q}${(0,rV.callValidateCode)(Q,A,O,j)}`,X.modifying)}function M(q){var O;W.if((0,V0.not)((O=X.valid)!==null&&O!==void 0?O:Z),q)}}HJ.funcKeywordCode=sV;function JJ(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,V0._`${W.parentData}[${W.parentDataProperty}]`))}function eV(Q,X){let{gen:Y}=Q;Y.if(V0._`Array.isArray(${X})`,()=>{Y.assign(O1.default.vErrors,V0._`${O1.default.vErrors} === null ? ${X} : ${O1.default.vErrors}.concat(${X})`).assign(O1.default.errors,V0._`${O1.default.vErrors}.length`),(0,tV.extendErrors)(Q)},()=>Q.error())}function QL({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function BJ(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,V0.stringify)(Y)})}function XL(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}HJ.validSchemaType=XL;function YL({schema:Q,opts:X,self:Y,errSchemaPath:W},G,J){if(Array.isArray(G.keyword)?!G.keyword.includes(J):G.keyword!==J)throw Error("ajv implementation error");let B=G.dependencies;if(B===null||B===void 0?void 0:B.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${B.join(",")}`);if(G.validateSchema){if(!G.validateSchema(Q[J])){let K=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText(G.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(K);else throw Error(K)}}}HJ.validateKeywordUsage=YL});var DJ=w((ZJ)=>{Object.defineProperty(ZJ,"__esModule",{value:!0});ZJ.extendSubschemaMode=ZJ.extendSubschemaData=ZJ.getSubschema=void 0;var h0=v(),AJ=g();function BL(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:G,errSchemaPath:J,topSchemaRef:B}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:h0._`${Q.schemaPath}${(0,h0.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:h0._`${Q.schemaPath}${(0,h0.getProperty)(X)}${(0,h0.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,AJ.escapeFragment)(Y)}`}}if(W!==void 0){if(G===void 0||J===void 0||B===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:G,topSchemaRef:B,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}ZJ.getSubschema=BL;function HL(Q,X,{dataProp:Y,dataPropType:W,data:G,dataTypes:J,propertyName:B}){if(G!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:A,opts:Z}=X,D=H.let("data",h0._`${X.data}${(0,h0.getProperty)(Y)}`,!0);K(D),Q.errorPath=h0.str`${z}${(0,AJ.getErrorPath)(Y,W,Z.jsPropertySyntax)}`,Q.parentDataProperty=h0._`${Y}`,Q.dataPathArr=[...A,Q.parentDataProperty]}if(G!==void 0){let z=G instanceof h0.Name?G:H.let("data",G,!0);if(K(z),B!==void 0)Q.propertyName=B}if(J)Q.dataTypes=J;function K(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}ZJ.extendSubschemaData=HL;function KL(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:G,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if(G!==void 0)Q.createErrors=G;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}ZJ.extendSubschemaMode=KL});var O6=w((gR,VJ)=>{VJ.exports=function Q(X,Y){if(X===Y)return!0;if(X&&Y&&typeof X=="object"&&typeof Y=="object"){if(X.constructor!==Y.constructor)return!1;var W,G,J;if(Array.isArray(X)){if(W=X.length,W!=Y.length)return!1;for(G=W;G--!==0;)if(!Q(X[G],Y[G]))return!1;return!0}if(X.constructor===RegExp)return X.source===Y.source&&X.flags===Y.flags;if(X.valueOf!==Object.prototype.valueOf)return X.valueOf()===Y.valueOf();if(X.toString!==Object.prototype.toString)return X.toString()===Y.toString();if(J=Object.keys(X),W=J.length,W!==Object.keys(Y).length)return!1;for(G=W;G--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,J[G]))return!1;for(G=W;G--!==0;){var B=J[G];if(!Q(X[B],Y[B]))return!1}return!0}return X!==X&&Y!==Y}});var UJ=w((hR,LJ)=>{var Z1=LJ.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},G=Y.post||function(){};GQ(X,W,G,Q,"",Q)};Z1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Z1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Z1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Z1.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 GQ(Q,X,Y,W,G,J,B,H,K,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,G,J,B,H,K,z);for(var A in W){var Z=W[A];if(Array.isArray(Z)){if(A in Z1.arrayKeywords)for(var D=0;D<Z.length;D++)GQ(Q,X,Y,Z[D],G+"/"+A+"/"+D,J,G,A,W,D)}else if(A in Z1.propsKeywords){if(Z&&typeof Z=="object")for(var F in Z)GQ(Q,X,Y,Z[F],G+"/"+A+"/"+ZL(F),J,G,A,W,F)}else if(A in Z1.keywords||Q.allKeys&&!(A in Z1.skipKeywords))GQ(Q,X,Y,Z,G+"/"+A,J,G,A,W)}Y(W,G,J,B,H,K,z)}}function ZL(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var f9=w((wJ)=>{Object.defineProperty(wJ,"__esModule",{value:!0});wJ.getSchemaRefs=wJ.resolveUrl=wJ.normalizeId=wJ._getFullPath=wJ.getFullPath=wJ.inlineRef=void 0;var FL=g(),DL=O6(),VL=UJ(),LL=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function UL(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!I6(Q);if(!X)return!1;return NJ(Q)<=X}wJ.inlineRef=UL;var NL=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function I6(Q){for(let X in Q){if(NL.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(I6))return!0;if(typeof Y=="object"&&I6(Y))return!0}return!1}function NJ(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,LL.has(Y))continue;if(typeof Q[Y]=="object")(0,FL.eachItem)(Q[Y],(W)=>X+=NJ(W));if(X===1/0)return 1/0}return X}function MJ(Q,X="",Y){if(Y!==!1)X=p1(X);let W=Q.parse(X);return qJ(Q,W)}wJ.getFullPath=MJ;function qJ(Q,X){return Q.serialize(X).split("#")[0]+"#"}wJ._getFullPath=qJ;var ML=/#\/?$/;function p1(Q){return Q?Q.replace(ML,""):""}wJ.normalizeId=p1;function qL(Q,X,Y){return Y=p1(Y),Q.resolve(X,Y)}wJ.resolveUrl=qL;var wL=/^[a-z_][-a-z0-9._]*$/i;function $L(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,G=p1(Q[Y]||X),J={"":G},B=MJ(W,G,!1),H={},K=new Set;return VL(Q,{allKeys:!0},(Z,D,F,V)=>{if(V===void 0)return;let L=B+D,M=J[V];if(typeof Z[Y]=="string")M=q.call(this,Z[Y]);O.call(this,Z.$anchor),O.call(this,Z.$dynamicAnchor),J[D]=M;function q(j){let R=this.opts.uriResolver.resolve;if(j=p1(M?R(M,j):j),K.has(j))throw A(j);K.add(j);let I=this.refs[j];if(typeof I=="string")I=this.refs[I];if(typeof I=="object")z(Z,I.schema,j);else if(j!==p1(L))if(j[0]==="#")z(Z,H[j],j),H[j]=Z;else this.refs[j]=L;return j}function O(j){if(typeof j=="string"){if(!wL.test(j))throw Error(`invalid anchor "${j}"`);q.call(this,`#${j}`)}}}),H;function z(Z,D,F){if(D!==void 0&&!DL(Z,D))throw A(F)}function A(Z){return Error(`reference "${Z}" resolves to more than one schema`)}}wJ.getSchemaRefs=$L});var m9=w((yJ)=>{Object.defineProperty(yJ,"__esModule",{value:!0});yJ.getData=yJ.KeywordCxt=yJ.validateFunctionCode=void 0;var TJ=f5(),OJ=h9(),E6=L6(),JQ=h9(),jL=QJ(),l9=zJ(),P6=DJ(),E=v(),b=r0(),SL=f9(),t0=g(),u9=g9();function RL(Q){if(RJ(Q)){if(CJ(Q),SJ(Q)){kL(Q);return}}jJ(Q,()=>(0,TJ.topBoolOrEmptySchema)(Q))}yJ.validateFunctionCode=RL;function jJ({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:G},J){if(G.code.es5)Q.func(X,E._`${b.default.data}, ${b.default.valCxt}`,W.$async,()=>{Q.code(E._`"use strict"; ${IJ(Y,G)}`),bL(Q,G),Q.code(J)});else Q.func(X,E._`${b.default.data}, ${CL(G)}`,W.$async,()=>Q.code(IJ(Y,G)).code(J))}function CL(Q){return E._`{${b.default.instancePath}="", ${b.default.parentData}, ${b.default.parentDataProperty}, ${b.default.rootData}=${b.default.data}${Q.dynamicRef?E._`, ${b.default.dynamicAnchors}={}`:E.nil}}={}`}function bL(Q,X){Q.if(b.default.valCxt,()=>{if(Q.var(b.default.instancePath,E._`${b.default.valCxt}.${b.default.instancePath}`),Q.var(b.default.parentData,E._`${b.default.valCxt}.${b.default.parentData}`),Q.var(b.default.parentDataProperty,E._`${b.default.valCxt}.${b.default.parentDataProperty}`),Q.var(b.default.rootData,E._`${b.default.valCxt}.${b.default.rootData}`),X.dynamicRef)Q.var(b.default.dynamicAnchors,E._`${b.default.valCxt}.${b.default.dynamicAnchors}`)},()=>{if(Q.var(b.default.instancePath,E._`""`),Q.var(b.default.parentData,E._`undefined`),Q.var(b.default.parentDataProperty,E._`undefined`),Q.var(b.default.rootData,b.default.data),X.dynamicRef)Q.var(b.default.dynamicAnchors,E._`{}`)})}function kL(Q){let{schema:X,opts:Y,gen:W}=Q;jJ(Q,()=>{if(Y.$comment&&X.$comment)kJ(Q);if(gL(Q),W.let(b.default.vErrors,null),W.let(b.default.errors,0),Y.unevaluated)vL(Q);bJ(Q),uL(Q)});return}function vL(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",E._`${Y}.evaluated`),X.if(E._`${Q.evaluated}.dynamicProps`,()=>X.assign(E._`${Q.evaluated}.props`,E._`undefined`)),X.if(E._`${Q.evaluated}.dynamicItems`,()=>X.assign(E._`${Q.evaluated}.items`,E._`undefined`))}function IJ(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?E._`/*# sourceURL=${Y} */`:E.nil}function xL(Q,X){if(RJ(Q)){if(CJ(Q),SJ(Q)){_L(Q,X);return}}(0,TJ.boolOrEmptySchema)(Q,X)}function SJ({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function RJ(Q){return typeof Q.schema!="boolean"}function _L(Q,X){let{schema:Y,gen:W,opts:G}=Q;if(G.$comment&&Y.$comment)kJ(Q);hL(Q),fL(Q);let J=W.const("_errs",b.default.errors);bJ(Q,J),W.var(X,E._`${J} === ${b.default.errors}`)}function CJ(Q){(0,t0.checkUnknownRules)(Q),yL(Q)}function bJ(Q,X){if(Q.opts.jtd)return PJ(Q,[],!1,X);let Y=(0,OJ.getSchemaTypes)(Q.schema),W=(0,OJ.coerceAndCheckDataType)(Q,Y);PJ(Q,Y,!W,X)}function yL(Q){let{schema:X,errSchemaPath:Y,opts:W,self:G}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,t0.schemaHasRulesButRef)(X,G.RULES))G.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function gL(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,t0.checkStrictMode)(Q,"default is ignored in the schema root")}function hL(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,SL.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function fL(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function kJ({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:G}){let J=Y.$comment;if(G.$comment===!0)Q.code(E._`${b.default.self}.logger.log(${J})`);else if(typeof G.$comment=="function"){let B=E.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(E._`${b.default.self}.opts.$comment(${J}, ${B}, ${H}.schema)`)}}function uL(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:G,opts:J}=Q;if(Y.$async)X.if(E._`${b.default.errors} === 0`,()=>X.return(b.default.data),()=>X.throw(E._`new ${G}(${b.default.vErrors})`));else{if(X.assign(E._`${W}.errors`,b.default.vErrors),J.unevaluated)lL(Q);X.return(E._`${b.default.errors} === 0`)}}function lL({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof E.Name)Q.assign(E._`${X}.props`,Y);if(W instanceof E.Name)Q.assign(E._`${X}.items`,W)}function PJ(Q,X,Y,W){let{gen:G,schema:J,data:B,allErrors:H,opts:K,self:z}=Q,{RULES:A}=z;if(J.$ref&&(K.ignoreKeywordsWithRef||!(0,t0.schemaHasRulesButRef)(J,A))){G.block(()=>xJ(Q,"$ref",A.all.$ref.definition));return}if(!K.jtd)mL(Q,X);G.block(()=>{for(let D of A.rules)Z(D);Z(A.post)});function Z(D){if(!(0,E6.shouldUseGroup)(J,D))return;if(D.type){if(G.if((0,JQ.checkDataType)(D.type,B,K.strictNumbers)),EJ(Q,D),X.length===1&&X[0]===D.type&&Y)G.else(),(0,JQ.reportTypeError)(Q);G.endIf()}else EJ(Q,D);if(!H)G.if(E._`${b.default.errors} === ${W||0}`)}}function EJ(Q,X){let{gen:Y,schema:W,opts:{useDefaults:G}}=Q;if(G)(0,jL.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,E6.shouldUseRule)(W,J))xJ(Q,J.keyword,J.definition,X.type)})}function mL(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(cL(Q,X),!Q.opts.allowUnionTypes)pL(Q,X);dL(Q,Q.dataTypes)}function cL(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!vJ(Q.dataTypes,Y))T6(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),nL(Q,X)}function pL(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))T6(Q,"use allowUnionTypes to allow union type keyword")}function dL(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let G=Y[W];if(typeof G=="object"&&(0,E6.shouldUseRule)(Q.schema,G)){let{type:J}=G.definition;if(J.length&&!J.some((B)=>iL(X,B)))T6(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function iL(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function vJ(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function nL(Q,X){let Y=[];for(let W of Q.dataTypes)if(vJ(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function T6(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,t0.checkStrictMode)(Q,X,Q.opts.strictTypes)}class j6{constructor(Q,X,Y){if((0,l9.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,t0.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",_J(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,l9.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",b.default.errors)}result(Q,X,Y){this.failResult((0,E.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,E.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(E._`${X} !== undefined && (${(0,E.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?u9.reportExtraError:u9.reportError)(this,this.def.error,X)}$dataError(){(0,u9.reportError)(this,this.def.$dataError||u9.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,u9.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=E.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=E.nil,X=E.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:G,def:J}=this;if(Y.if((0,E.or)(E._`${W} === undefined`,X)),Q!==E.nil)Y.assign(Q,!0);if(G.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==E.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:G}=this;return(0,E.or)(J(),B());function J(){if(Y.length){if(!(X instanceof E.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return E._`${(0,JQ.checkDataTypes)(H,X,G.opts.strictNumbers,JQ.DataType.Wrong)}`}return E.nil}function B(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return E._`!${H}(${X})`}return E.nil}}subschema(Q,X){let Y=(0,P6.getSubschema)(this.it,Q);(0,P6.extendSubschemaData)(Y,this.it,Q),(0,P6.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return xL(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=t0.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=t0.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,E.Name)),!0}}yJ.KeywordCxt=j6;function xJ(Q,X,Y,W){let G=new j6(Q,Y,X);if("code"in Y)Y.code(G,W);else if(G.$data&&Y.validate)(0,l9.funcKeywordCode)(G,Y);else if("macro"in Y)(0,l9.macroKeywordCode)(G,Y);else if(Y.compile||Y.validate)(0,l9.funcKeywordCode)(G,Y)}var oL=/^\/(?:[^~]|~0|~1)*$/,rL=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function _J(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let G,J;if(Q==="")return b.default.rootData;if(Q[0]==="/"){if(!oL.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);G=Q,J=b.default.rootData}else{let z=rL.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let A=+z[1];if(G=z[2],G==="#"){if(A>=X)throw Error(K("property/index",A));return W[X-A]}if(A>X)throw Error(K("data",A));if(J=Y[X-A],!G)return J}let B=J,H=G.split("/");for(let z of H)if(z)J=E._`${J}${(0,E.getProperty)((0,t0.unescapeJsonPointer)(z))}`,B=E._`${B} && ${J}`;return B;function K(z,A){return`Cannot access ${z} ${A} levels up, current level is ${X}`}}yJ.getData=_J});var BQ=w((fJ)=>{Object.defineProperty(fJ,"__esModule",{value:!0});class hJ extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}fJ.default=hJ});var c9=w((lJ)=>{Object.defineProperty(lJ,"__esModule",{value:!0});var S6=f9();class uJ extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,S6.resolveUrl)(Q,X,Y),this.missingSchema=(0,S6.normalizeId)((0,S6.getFullPath)(Q,this.missingRef))}}lJ.default=uJ});var KQ=w((pJ)=>{Object.defineProperty(pJ,"__esModule",{value:!0});pJ.resolveSchema=pJ.getCompilingSchema=pJ.resolveRef=pJ.compileSchema=pJ.SchemaEnv=void 0;var v0=v(),QU=BQ(),I1=r0(),x0=f9(),mJ=g(),XU=m9();class p9{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,x0.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}pJ.SchemaEnv=p9;function C6(Q){let X=cJ.call(this,Q);if(X)return X;let Y=(0,x0.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:G}=this.opts.code,{ownProperties:J}=this.opts,B=new v0.CodeGen(this.scope,{es5:W,lines:G,ownProperties:J}),H;if(Q.$async)H=B.scopeValue("Error",{ref:QU.default,code:v0._`require("ajv/dist/runtime/validation_error").default`});let K=B.scopeName("validate");Q.validateName=K;let z={gen:B,allErrors:this.opts.allErrors,data:I1.default.data,parentData:I1.default.parentData,parentDataProperty:I1.default.parentDataProperty,dataNames:[I1.default.data],dataPathArr:[v0.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:B.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,v0.stringify)(Q.schema)}:{ref:Q.schema}),validateName:K,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:v0.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:v0._`""`,opts:this.opts,self:this},A;try{this._compilations.add(Q),(0,XU.validateFunctionCode)(z),B.optimize(this.opts.code.optimize);let Z=B.toString();if(A=`${B.scopeRefs(I1.default.scope)}return ${Z}`,this.opts.code.process)A=this.opts.code.process(A,Q);let F=Function(`${I1.default.self}`,`${I1.default.scope}`,A)(this,this.scope.get());if(this.scope.value(K,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:K,validateCode:Z,scopeValues:B._values};if(this.opts.unevaluated){let{props:V,items:L}=z;if(F.evaluated={props:V instanceof v0.Name?void 0:V,items:L instanceof v0.Name?void 0:L,dynamicProps:V instanceof v0.Name,dynamicItems:L instanceof v0.Name},F.source)F.source.evaluated=(0,v0.stringify)(F.evaluated)}return Q.validate=F,Q}catch(Z){if(delete Q.validate,delete Q.validateName,A)this.logger.error("Error compiling schema, function code:",A);throw Z}finally{this._compilations.delete(Q)}}pJ.compileSchema=C6;function YU(Q,X,Y){var W;Y=(0,x0.resolveUrl)(this.opts.uriResolver,X,Y);let G=Q.refs[Y];if(G)return G;let J=JU.call(this,Q,Y);if(J===void 0){let B=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(B)J=new p9({schema:B,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=WU.call(this,J)}pJ.resolveRef=YU;function WU(Q){if((0,x0.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:C6.call(this,Q)}function cJ(Q){for(let X of this._compilations)if(GU(X,Q))return X}pJ.getCompilingSchema=cJ;function GU(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function JU(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||HQ.call(this,Q,X)}function HQ(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,x0._getFullPath)(this.opts.uriResolver,Y),G=(0,x0.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===G)return R6.call(this,Y,Q);let J=(0,x0.normalizeId)(W),B=this.refs[J]||this.schemas[J];if(typeof B=="string"){let H=HQ.call(this,Q,B);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return R6.call(this,Y,H)}if(typeof(B===null||B===void 0?void 0:B.schema)!=="object")return;if(!B.validate)C6.call(this,B);if(J===(0,x0.normalizeId)(X)){let{schema:H}=B,{schemaId:K}=this.opts,z=H[K];if(z)G=(0,x0.resolveUrl)(this.opts.uriResolver,G,z);return new p9({schema:H,schemaId:K,root:Q,baseId:G})}return R6.call(this,Y,B)}pJ.resolveSchema=HQ;var BU=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function R6(Q,{baseId:X,schema:Y,root:W}){var G;if(((G=Q.fragment)===null||G===void 0?void 0:G[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let K=Y[(0,mJ.unescapeFragment)(H)];if(K===void 0)return;Y=K;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!BU.has(H)&&z)X=(0,x0.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,mJ.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,x0.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=HQ.call(this,W,H)}let{schemaId:B}=this.opts;if(J=J||new p9({schema:Y,schemaId:B,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var iJ=w((pR,ZU)=>{ZU.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 v6=w((dR,sJ)=>{var FU=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),oJ=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),b6=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),rJ=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),DU=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function k6(Q){let X="",Y=0,W=0;for(W=0;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),Y===48)continue;if(!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W];break}for(W+=1;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W]}return X}var VU=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function nJ(Q){return Q.length=0,!0}function LU(Q,X,Y){if(Q.length){let W=k6(Q);if(W!=="")X.push(W);else return Y.error=!0,!1;Q.length=0}return!0}function UU(Q){let X=0,Y={error:!1,address:"",zone:""},W=[],G=[],J=!1,B=!1,H=LU;for(let K=0;K<Q.length;K++){let z=Q[K];if(z==="["||z==="]")continue;if(z===":"){if(J===!0)B=!0;if(!H(G,W,Y))break;if(++X>7){Y.error=!0;break}if(K>0&&Q[K-1]===":")J=!0;W.push(":");continue}else if(z==="%"){if(!H(G,W,Y))break;H=nJ}else{G.push(z);continue}}if(G.length)if(H===nJ)Y.zone=G.join("");else if(B)W.push(G.join(""));else W.push(k6(G));return Y.address=W.join(""),Y}function tJ(Q){if(NU(Q,":")<2)return{host:Q,isIPV6:!1};let X=UU(Q);if(!X.error){let{address:Y,address:W}=X;if(X.zone)Y+="%"+X.zone,W+="%25"+X.zone;return{host:Y,isIPV6:!0,escapedHost:W}}else return{host:Q,isIPV6:!1}}function NU(Q,X){let Y=0;for(let W=0;W<Q.length;W++)if(Q[W]===X)Y++;return Y}function MU(Q){let X=Q,Y=[],W=-1,G=0;while(G=X.length){if(G===1)if(X===".")break;else if(X==="/"){Y.push("/");break}else{Y.push(X);break}else if(G===2){if(X[0]==="."){if(X[1]===".")break;else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."||X[1]==="/"){Y.push("/");break}}}else if(G===3){if(X==="/.."){if(Y.length!==0)Y.pop();Y.push("/");break}}if(X[0]==="."){if(X[1]==="."){if(X[2]==="/"){X=X.slice(3);continue}}else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."){if(X[2]==="/"){X=X.slice(2);continue}else if(X[2]==="."){if(X[3]==="/"){if(X=X.slice(3),Y.length!==0)Y.pop();continue}}}}if((W=X.indexOf("/",1))===-1){Y.push(X);break}else Y.push(X.slice(0,W)),X=X.slice(W)}return Y.join("")}var qU={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},wU=/[@/?#:]/g,$U=/[@/?#]/g;function aJ(Q,X){let Y=X?$U:wU;return Y.lastIndex=0,Q.replace(Y,(W)=>qU[W])}function OU(Q,X=!1){if(Q.indexOf("%")===-1)return Q;let Y="";for(let W=0;W<Q.length;W++){if(Q[W]==="%"&&W+2<Q.length){let G=Q.slice(W+1,W+3);if(b6(G)){let J=G.toUpperCase(),B=String.fromCharCode(parseInt(J,16));if(X&&rJ(B))Y+=B;else Y+="%"+J;W+=2;continue}}Y+=Q[W]}return Y}function IU(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let W=Q.slice(Y+1,Y+3);if(b6(W)){let G=W.toUpperCase(),J=String.fromCharCode(parseInt(G,16));if(J!=="."&&rJ(J))X+=J;else X+="%"+G;Y+=2;continue}}if(DU(Q[Y]))X+=Q[Y];else X+=escape(Q[Y])}return X}function PU(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let W=Q.slice(Y+1,Y+3);if(b6(W)){X+="%"+W.toUpperCase(),Y+=2;continue}}X+=escape(Q[Y])}return X}function EU(Q){let X=[];if(Q.userinfo!==void 0)X.push(Q.userinfo),X.push("@");if(Q.host!==void 0){let Y=unescape(Q.host);if(!oJ(Y)){let W=tJ(Y);if(W.isIPV6===!0)Y=`[${W.escapedHost}]`;else Y=aJ(Y,!1)}X.push(Y)}if(typeof Q.port==="number"||typeof Q.port==="string")X.push(":"),X.push(String(Q.port));return X.length?X.join(""):void 0}sJ.exports={nonSimpleDomain:VU,recomposeAuthority:EU,reescapeHostDelimiters:aJ,normalizePercentEncoding:OU,normalizePathEncoding:IU,escapePreservingEscapes:PU,removeDotSegments:MU,isIPv4:oJ,isUUID:FU,normalizeIPv6:tJ,stringArrayToHexStripped:k6}});var WB=w((iR,YB)=>{var{isUUID:TU}=v6(),jU=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,SU=["http","https","ws","wss","urn","urn:uuid"];function RU(Q){return SU.indexOf(Q)!==-1}function x6(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function eJ(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function QB(Q){let X=String(Q.scheme).toLowerCase()==="https";if(Q.port===(X?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function CU(Q){return Q.secure=x6(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function bU(Q){if(Q.port===(x6(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[X,Y]=Q.resourceName.split("?");Q.path=X&&X!=="/"?X:void 0,Q.query=Y,Q.resourceName=void 0}return Q.fragment=void 0,Q}function kU(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(jU);if(Y){let W=X.scheme||Q.scheme||"urn";Q.nid=Y[1].toLowerCase(),Q.nss=Y[2];let G=`${W}:${X.nid||Q.nid}`,J=_6(G);if(Q.path=void 0,J)Q=J.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function vU(Q,X){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let Y=X.scheme||Q.scheme||"urn",W=Q.nid.toLowerCase(),G=`${Y}:${X.nid||W}`,J=_6(G);if(J)Q=J.serialize(Q,X);let B=Q,H=Q.nss;return B.path=`${W||X.nid}:${H}`,X.skipEscape=!0,B}function xU(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!TU(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function _U(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var XB={scheme:"http",domainHost:!0,parse:eJ,serialize:QB},yU={scheme:"https",domainHost:XB.domainHost,parse:eJ,serialize:QB},zQ={scheme:"ws",domainHost:!0,parse:CU,serialize:bU},gU={scheme:"wss",domainHost:zQ.domainHost,parse:zQ.parse,serialize:zQ.serialize},hU={scheme:"urn",parse:kU,serialize:vU,skipNormalize:!0},fU={scheme:"urn:uuid",parse:xU,serialize:_U,skipNormalize:!0},AQ={http:XB,https:yU,ws:zQ,wss:gU,urn:hU,"urn:uuid":fU};Object.setPrototypeOf(AQ,null);function _6(Q){return Q&&(AQ[Q]||AQ[Q.toLowerCase()])||void 0}YB.exports={wsIsSecure:x6,SCHEMES:AQ,isValidSchemeName:RU,getSchemeHandler:_6}});var zB=w((nR,ZQ)=>{var{normalizeIPv6:uU,removeDotSegments:d9,recomposeAuthority:lU,normalizePercentEncoding:mU,normalizePathEncoding:cU,escapePreservingEscapes:pU,reescapeHostDelimiters:dU,isIPv4:iU,nonSimpleDomain:nU}=v6(),{SCHEMES:oU,getSchemeHandler:JB}=WB();function rU(Q,X){if(typeof Q==="string")Q=QN(Q,X);else if(typeof Q==="object")Q=d1(P1(Q,X),X);return Q}function tU(Q,X,Y){let W=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},G=BB(d1(Q,W),d1(X,W),W,!0);return W.skipEscape=!0,P1(G,W)}function BB(Q,X,Y,W){let G={};if(!W)Q=d1(P1(Q,Y),Y),X=d1(P1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)G.scheme=X.scheme,G.userinfo=X.userinfo,G.host=X.host,G.port=X.port,G.path=d9(X.path||""),G.query=X.query;else{if(X.userinfo!==void 0||X.host!==void 0||X.port!==void 0)G.userinfo=X.userinfo,G.host=X.host,G.port=X.port,G.path=d9(X.path||""),G.query=X.query;else{if(!X.path)if(G.path=Q.path,X.query!==void 0)G.query=X.query;else G.query=Q.query;else{if(X.path[0]==="/")G.path=d9(X.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)G.path="/"+X.path;else if(!Q.path)G.path=X.path;else G.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+X.path;G.path=d9(G.path)}G.query=X.query}G.userinfo=Q.userinfo,G.host=Q.host,G.port=Q.port}G.scheme=Q.scheme}return G.fragment=X.fragment,G}function aU(Q,X,Y){let W=GB(Q,Y),G=GB(X,Y);return W!==void 0&&G!==void 0&&W.toLowerCase()===G.toLowerCase()}function P1(Q,X){let Y={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},W=Object.assign({},X),G=[],J=JB(W.scheme||Y.scheme);if(J&&J.serialize)J.serialize(Y,W);if(Y.path!==void 0)if(!W.skipEscape){if(Y.path=pU(Y.path),Y.scheme!==void 0)Y.path=Y.path.split("%3A").join(":")}else Y.path=mU(Y.path);if(W.reference!=="suffix"&&Y.scheme)G.push(Y.scheme,":");let B=lU(Y);if(B!==void 0){if(W.reference!=="suffix")G.push("//");if(G.push(B),Y.path&&Y.path[0]!=="/")G.push("/")}if(Y.path!==void 0){let H=Y.path;if(!W.absolutePath&&(!J||!J.absolutePath))H=d9(H);if(B===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);G.push(H)}if(Y.query!==void 0)G.push("?",Y.query);if(Y.fragment!==void 0)G.push("#",Y.fragment);return G.join("")}var sU=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function eU(Q,X){if(X[2]!==void 0&&Q.path&&Q.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof Q.port==="number"&&(Q.port<0||Q.port>65535))return"URI port is malformed.";return}function HB(Q,X){let Y=Object.assign({},X),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},G=!1,J=!1;if(Y.reference==="suffix")if(Y.scheme)Q=Y.scheme+":"+Q;else Q="//"+Q;let B=Q.match(sU);if(B){if(W.scheme=B[1],W.userinfo=B[3],W.host=B[4],W.port=parseInt(B[5],10),W.path=B[6]||"",W.query=B[7],W.fragment=B[8],isNaN(W.port))W.port=B[5];let H=eU(W,B);if(H!==void 0)W.error=W.error||H,G=!0;if(W.host)if(iU(W.host)===!1){let A=uU(W.host);W.host=A.host.toLowerCase(),J=A.isIPV6}else J=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(Y.reference&&Y.reference!=="suffix"&&Y.reference!==W.reference)W.error=W.error||"URI is not a "+Y.reference+" reference.";let K=JB(Y.scheme||W.scheme);if(!Y.unicodeSupport&&(!K||!K.unicodeSupport)){if(W.host&&(Y.domainHost||K&&K.domainHost)&&J===!1&&nU(W.host))try{W.host=URL.domainToASCII(W.host.toLowerCase())}catch(z){W.error=W.error||"Host's domain name can not be converted to ASCII: "+z}}if(!K||K&&!K.skipNormalize){if(Q.indexOf("%")!==-1){if(W.scheme!==void 0)W.scheme=unescape(W.scheme);if(W.host!==void 0)W.host=dU(unescape(W.host),J)}if(W.path)W.path=cU(W.path);if(W.fragment)try{W.fragment=encodeURI(decodeURIComponent(W.fragment))}catch{W.error=W.error||"URI malformed"}}if(K&&K.parse)K.parse(W,Y)}else W.error=W.error||"URI can not be parsed.";return{parsed:W,malformedAuthorityOrPort:G}}function d1(Q,X){return HB(Q,X).parsed}function QN(Q,X){return KB(Q,X).normalized}function KB(Q,X){let{parsed:Y,malformedAuthorityOrPort:W}=HB(Q,X);return{normalized:W?Q:P1(Y,X),malformedAuthorityOrPort:W}}function GB(Q,X){if(typeof Q==="string"){let{normalized:Y,malformedAuthorityOrPort:W}=KB(Q,X);return W?void 0:Y}if(typeof Q==="object")return P1(Q,X)}var y6={SCHEMES:oU,normalize:rU,resolve:tU,resolveComponent:BB,equal:aU,serialize:P1,parse:d1};ZQ.exports=y6;ZQ.exports.default=y6;ZQ.exports.fastUri=y6});var FB=w((ZB)=>{Object.defineProperty(ZB,"__esModule",{value:!0});var AB=zB();AB.code='require("ajv/dist/runtime/uri").default';ZB.default=AB});var wB=w((a0)=>{Object.defineProperty(a0,"__esModule",{value:!0});a0.CodeGen=a0.Name=a0.nil=a0.stringify=a0.str=a0._=a0.KeywordCxt=void 0;var YN=m9();Object.defineProperty(a0,"KeywordCxt",{enumerable:!0,get:function(){return YN.KeywordCxt}});var i1=v();Object.defineProperty(a0,"_",{enumerable:!0,get:function(){return i1._}});Object.defineProperty(a0,"str",{enumerable:!0,get:function(){return i1.str}});Object.defineProperty(a0,"stringify",{enumerable:!0,get:function(){return i1.stringify}});Object.defineProperty(a0,"nil",{enumerable:!0,get:function(){return i1.nil}});Object.defineProperty(a0,"Name",{enumerable:!0,get:function(){return i1.Name}});Object.defineProperty(a0,"CodeGen",{enumerable:!0,get:function(){return i1.CodeGen}});var WN=BQ(),NB=c9(),GN=V6(),i9=KQ(),JN=v(),n9=f9(),FQ=h9(),h6=g(),DB=iJ(),BN=FB(),MB=(Q,X)=>new RegExp(Q,X);MB.code="new RegExp";var HN=["removeAdditional","useDefaults","coerceTypes"],KN=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),zN={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."},AN={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},VB=200;function ZN(Q){var X,Y,W,G,J,B,H,K,z,A,Z,D,F,V,L,M,q,O,j,R,I,w0,P0,Q9,uQ;let X9=Q.strict,lQ=(X=Q.code)===null||X===void 0?void 0:X.optimize,k4=lQ===!0||lQ===void 0?1:lQ||0,v4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:MB,az=(G=Q.uriResolver)!==null&&G!==void 0?G:BN.default;return{strictSchema:(B=(J=Q.strictSchema)!==null&&J!==void 0?J:X9)!==null&&B!==void 0?B:!0,strictNumbers:(K=(H=Q.strictNumbers)!==null&&H!==void 0?H:X9)!==null&&K!==void 0?K:!0,strictTypes:(A=(z=Q.strictTypes)!==null&&z!==void 0?z:X9)!==null&&A!==void 0?A:"log",strictTuples:(D=(Z=Q.strictTuples)!==null&&Z!==void 0?Z:X9)!==null&&D!==void 0?D:"log",strictRequired:(V=(F=Q.strictRequired)!==null&&F!==void 0?F:X9)!==null&&V!==void 0?V:!1,code:Q.code?{...Q.code,optimize:k4,regExp:v4}:{optimize:k4,regExp:v4},loopRequired:(L=Q.loopRequired)!==null&&L!==void 0?L:VB,loopEnum:(M=Q.loopEnum)!==null&&M!==void 0?M:VB,meta:(q=Q.meta)!==null&&q!==void 0?q:!0,messages:(O=Q.messages)!==null&&O!==void 0?O:!0,inlineRefs:(j=Q.inlineRefs)!==null&&j!==void 0?j:!0,schemaId:(R=Q.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(I=Q.addUsedSchema)!==null&&I!==void 0?I:!0,validateSchema:(w0=Q.validateSchema)!==null&&w0!==void 0?w0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(Q9=Q.unicodeRegExp)!==null&&Q9!==void 0?Q9:!0,int32range:(uQ=Q.int32range)!==null&&uQ!==void 0?uQ:!0,uriResolver:az}}class DQ{constructor(Q={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...ZN(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new JN.ValueScope({scope:{},prefixes:KN,es5:X,lines:Y}),this.logger=NN(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,GN.getRules)(),LB.call(this,zN,Q,"NOT SUPPORTED"),LB.call(this,AN,Q,"DEPRECATED","warn"),this._metaOpts=LN.call(this),Q.formats)DN.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)VN.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);FN.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=DB;if(Y==="id")W={...DB},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,A){await G.call(this,z.$schema);let Z=this._addSchema(z,A);return Z.validate||J.call(this,Z)}async function G(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(A){if(!(A instanceof NB.default))throw A;return B.call(this,A),await H.call(this,A.missingSchema),J.call(this,z)}}function B({missingSchema:z,missingRef:A}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${A} cannot be resolved`)}async function H(z){let A=await K.call(this,z);if(!this.refs[z])await G.call(this,A.$schema);if(!this.refs[z])this.addSchema(A,z,X)}async function K(z){let A=this._loading[z];if(A)return A;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let G;if(typeof Q==="object"){let{schemaId:J}=this.opts;if(G=Q[J],G!==void 0&&typeof G!="string")throw Error(`schema ${J} must be string`)}return X=(0,n9.normalizeId)(X||G),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let G="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(G);else throw Error(G)}return W}getSchema(Q){let X;while(typeof(X=UB.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new i9.SchemaEnv({schema:{},schemaId:Y});if(X=i9.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=UB.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,n9.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(qN.call(this,Y,X),!X)return(0,h6.eachItem)(Y,(G)=>g6.call(this,G)),this;$N.call(this,X);let W={...X,type:(0,FQ.getJSONTypes)(X.type),schemaType:(0,FQ.getJSONTypes)(X.schemaType)};return(0,h6.eachItem)(Y,W.type.length===0?(G)=>g6.call(this,G,W):(G)=>W.type.forEach((J)=>g6.call(this,G,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex((G)=>G.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,G)=>W+X+G)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let G=W.split("/").slice(1),J=Q;for(let B of G)J=J[B];for(let B in Y){let H=Y[B];if(typeof H!="object")continue;let{$data:K}=H.definition,z=J[B];if(K&&z)J[B]=qB(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,G=this.opts.addUsedSchema){let J,{schemaId:B}=this.opts;if(typeof Q=="object")J=Q[B];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,n9.normalizeId)(J||Y);let K=n9.getSchemaRefs.call(this,Q,Y);if(H=new i9.SchemaEnv({schema:Q,schemaId:B,meta:X,baseId:Y,localRefs:K}),this._cache.set(H.schema,H),G&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else i9.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{i9.compileSchema.call(this,Q)}finally{this.opts=X}}}DQ.ValidationError=WN.default;DQ.MissingRefError=NB.default;a0.default=DQ;function LB(Q,X,Y,W="error"){for(let G in Q){let J=G;if(J in X)this.logger[W](`${Y}: option ${G}. ${Q[J]}`)}}function UB(Q){return Q=(0,n9.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function FN(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function DN(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function VN(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function LN(){let Q={...this.opts};for(let X of HN)delete Q[X];return Q}var UN={log(){},warn(){},error(){}};function NN(Q){if(Q===!1)return UN;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var MN=/^[a-z_$][a-z0-9_$:-]*$/i;function qN(Q,X){let{RULES:Y}=this;if((0,h6.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!MN.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function g6(Q,X,Y){var W;let G=X===null||X===void 0?void 0:X.post;if(Y&&G)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,B=G?J.post:J.rules.find(({type:K})=>K===Y);if(!B)B={type:Y,rules:[]},J.rules.push(B);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,FQ.getJSONTypes)(X.type),schemaType:(0,FQ.getJSONTypes)(X.schemaType)}};if(X.before)wN.call(this,B,H,X.before);else B.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((K)=>this.addKeyword(K))}function wN(Q,X,Y){let W=Q.rules.findIndex((G)=>G.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function $N(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=qB(X);Q.validateSchema=this.compile(X,!0)}var ON={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function qB(Q){return{anyOf:[Q,ON]}}});var OB=w(($B)=>{Object.defineProperty($B,"__esModule",{value:!0});var EN={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};$B.default=EN});var SB=w((TB)=>{Object.defineProperty(TB,"__esModule",{value:!0});TB.callRef=TB.getValidate=void 0;var jN=c9(),IB=S0(),M0=v(),n1=r0(),PB=KQ(),VQ=g(),SN={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:G,schemaEnv:J,validateName:B,opts:H,self:K}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&G===z.baseId)return Z();let A=PB.resolveRef.call(K,z,G,Y);if(A===void 0)throw new jN.default(W.opts.uriResolver,G,Y);if(A instanceof PB.SchemaEnv)return D(A);return F(A);function Z(){if(J===z)return LQ(Q,B,J,J.$async);let V=X.scopeValue("root",{ref:z});return LQ(Q,M0._`${V}.validate`,z,z.$async)}function D(V){let L=EB(Q,V);LQ(Q,L,V,V.$async)}function F(V){let L=X.scopeValue("schema",H.code.source===!0?{ref:V,code:(0,M0.stringify)(V)}:{ref:V}),M=X.name("valid"),q=Q.subschema({schema:V,dataTypes:[],schemaPath:M0.nil,topSchemaRef:L,errSchemaPath:Y},M);Q.mergeEvaluated(q),Q.ok(M)}}};function EB(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):M0._`${Y.scopeValue("wrapper",{ref:X})}.validate`}TB.getValidate=EB;function LQ(Q,X,Y,W){let{gen:G,it:J}=Q,{allErrors:B,schemaEnv:H,opts:K}=J,z=K.passContext?n1.default.this:M0.nil;if(W)A();else Z();function A(){if(!H.$async)throw Error("async schema referenced by sync schema");let V=G.let("valid");G.try(()=>{if(G.code(M0._`await ${(0,IB.callValidateCode)(Q,X,z)}`),F(X),!B)G.assign(V,!0)},(L)=>{if(G.if(M0._`!(${L} instanceof ${J.ValidationError})`,()=>G.throw(L)),D(L),!B)G.assign(V,!1)}),Q.ok(V)}function Z(){Q.result((0,IB.callValidateCode)(Q,X,z),()=>F(X),()=>D(X))}function D(V){let L=M0._`${V}.errors`;G.assign(n1.default.vErrors,M0._`${n1.default.vErrors} === null ? ${L} : ${n1.default.vErrors}.concat(${L})`),G.assign(n1.default.errors,M0._`${n1.default.vErrors}.length`)}function F(V){var L;if(!J.opts.unevaluated)return;let M=(L=Y===null||Y===void 0?void 0:Y.validate)===null||L===void 0?void 0:L.evaluated;if(J.props!==!0)if(M&&!M.dynamicProps){if(M.props!==void 0)J.props=VQ.mergeEvaluated.props(G,M.props,J.props)}else{let q=G.var("props",M0._`${V}.evaluated.props`);J.props=VQ.mergeEvaluated.props(G,q,J.props,M0.Name)}if(J.items!==!0)if(M&&!M.dynamicItems){if(M.items!==void 0)J.items=VQ.mergeEvaluated.items(G,M.items,J.items)}else{let q=G.var("items",M0._`${V}.evaluated.items`);J.items=VQ.mergeEvaluated.items(G,q,J.items,M0.Name)}}}TB.callRef=LQ;TB.default=SN});var CB=w((RB)=>{Object.defineProperty(RB,"__esModule",{value:!0});var bN=OB(),kN=SB(),vN=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",bN.default,kN.default];RB.default=vN});var kB=w((bB)=>{Object.defineProperty(bB,"__esModule",{value:!0});var UQ=v(),F1=UQ.operators,NQ={maximum:{okStr:"<=",ok:F1.LTE,fail:F1.GT},minimum:{okStr:">=",ok:F1.GTE,fail:F1.LT},exclusiveMaximum:{okStr:"<",ok:F1.LT,fail:F1.GTE},exclusiveMinimum:{okStr:">",ok:F1.GT,fail:F1.LTE}},_N={message:({keyword:Q,schemaCode:X})=>UQ.str`must be ${NQ[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>UQ._`{comparison: ${NQ[Q].okStr}, limit: ${X}}`},yN={keyword:Object.keys(NQ),type:"number",schemaType:"number",$data:!0,error:_N,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(UQ._`${Y} ${NQ[X].fail} ${W} || isNaN(${Y})`)}};bB.default=yN});var xB=w((vB)=>{Object.defineProperty(vB,"__esModule",{value:!0});var o9=v(),hN={message:({schemaCode:Q})=>o9.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>o9._`{multipleOf: ${Q}}`},fN={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:hN,code(Q){let{gen:X,data:Y,schemaCode:W,it:G}=Q,J=G.opts.multipleOfPrecision,B=X.let("res"),H=J?o9._`Math.abs(Math.round(${B}) - ${B}) > 1e-${J}`:o9._`${B} !== parseInt(${B})`;Q.fail$data(o9._`(${W} === 0 || (${B} = ${Y}/${W}, ${H}))`)}};vB.default=fN});var gB=w((yB)=>{Object.defineProperty(yB,"__esModule",{value:!0});function _B(Q){let X=Q.length,Y=0,W=0,G;while(W<X)if(Y++,G=Q.charCodeAt(W++),G>=55296&&G<=56319&&W<X){if(G=Q.charCodeAt(W),(G&64512)===56320)W++}return Y}yB.default=_B;_B.code='require("ajv/dist/runtime/ucs2length").default'});var fB=w((hB)=>{Object.defineProperty(hB,"__esModule",{value:!0});var E1=v(),mN=g(),cN=gB(),pN={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return E1.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>E1._`{limit: ${Q}}`},dN={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:pN,code(Q){let{keyword:X,data:Y,schemaCode:W,it:G}=Q,J=X==="maxLength"?E1.operators.GT:E1.operators.LT,B=G.opts.unicode===!1?E1._`${Y}.length`:E1._`${(0,mN.useFunc)(Q.gen,cN.default)}(${Y})`;Q.fail$data(E1._`${B} ${J} ${W}`)}};hB.default=dN});var lB=w((uB)=>{Object.defineProperty(uB,"__esModule",{value:!0});var nN=S0(),oN=g(),o1=v(),rN={message:({schemaCode:Q})=>o1.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>o1._`{pattern: ${Q}}`},tN={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:rN,code(Q){let{gen:X,data:Y,$data:W,schema:G,schemaCode:J,it:B}=Q,H=B.opts.unicodeRegExp?"u":"";if(W){let{regExp:K}=B.opts.code,z=K.code==="new RegExp"?o1._`new RegExp`:(0,oN.useFunc)(X,K),A=X.let("valid");X.try(()=>X.assign(A,o1._`${z}(${J}, ${H}).test(${Y})`),()=>X.assign(A,!1)),Q.fail$data(o1._`!${A}`)}else{let K=(0,nN.usePattern)(Q,G);Q.fail$data(o1._`!${K}.test(${Y})`)}}};uB.default=tN});var cB=w((mB)=>{Object.defineProperty(mB,"__esModule",{value:!0});var r9=v(),sN={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return r9.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>r9._`{limit: ${Q}}`},eN={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:sN,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,G=X==="maxProperties"?r9.operators.GT:r9.operators.LT;Q.fail$data(r9._`Object.keys(${Y}).length ${G} ${W}`)}};mB.default=eN});var dB=w((pB)=>{Object.defineProperty(pB,"__esModule",{value:!0});var t9=S0(),a9=v(),XM=g(),YM={message:({params:{missingProperty:Q}})=>a9.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>a9._`{missingProperty: ${Q}}`},WM={keyword:"required",type:"object",schemaType:"array",$data:!0,error:YM,code(Q){let{gen:X,schema:Y,schemaCode:W,data:G,$data:J,it:B}=Q,{opts:H}=B;if(!J&&Y.length===0)return;let K=Y.length>=H.loopRequired;if(B.allErrors)z();else A();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:V}=Q.it;for(let L of Y)if((F===null||F===void 0?void 0:F[L])===void 0&&!V.has(L)){let M=B.schemaEnv.baseId+B.errSchemaPath,q=`required property "${L}" is not defined at "${M}" (strictRequired)`;(0,XM.checkStrictMode)(B,q,B.opts.strictRequired)}}function z(){if(K||J)Q.block$data(a9.nil,Z);else for(let F of Y)(0,t9.checkReportMissingProp)(Q,F)}function A(){let F=X.let("missing");if(K||J){let V=X.let("valid",!0);Q.block$data(V,()=>D(F,V)),Q.ok(V)}else X.if((0,t9.checkMissingProp)(Q,Y,F)),(0,t9.reportMissingProp)(Q,F),X.else()}function Z(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,t9.noPropertyInData)(X,G,F,H.ownProperties),()=>Q.error())})}function D(F,V){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(V,(0,t9.propertyInData)(X,G,F,H.ownProperties)),X.if((0,a9.not)(V),()=>{Q.error(),X.break()})},a9.nil)}}};pB.default=WM});var nB=w((iB)=>{Object.defineProperty(iB,"__esModule",{value:!0});var s9=v(),JM={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return s9.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>s9._`{limit: ${Q}}`},BM={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:JM,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,G=X==="maxItems"?s9.operators.GT:s9.operators.LT;Q.fail$data(s9._`${Y}.length ${G} ${W}`)}};iB.default=BM});var MQ=w((rB)=>{Object.defineProperty(rB,"__esModule",{value:!0});var oB=O6();oB.code='require("ajv/dist/runtime/equal").default';rB.default=oB});var aB=w((tB)=>{Object.defineProperty(tB,"__esModule",{value:!0});var f6=h9(),z0=v(),zM=g(),AM=MQ(),ZM={message:({params:{i:Q,j:X}})=>z0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>z0._`{i: ${Q}, j: ${X}}`},FM={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:ZM,code(Q){let{gen:X,data:Y,$data:W,schema:G,parentSchema:J,schemaCode:B,it:H}=Q;if(!W&&!G)return;let K=X.let("valid"),z=J.items?(0,f6.getSchemaTypes)(J.items):[];Q.block$data(K,A,z0._`${B} === false`),Q.ok(K);function A(){let V=X.let("i",z0._`${Y}.length`),L=X.let("j");Q.setParams({i:V,j:L}),X.assign(K,!0),X.if(z0._`${V} > 1`,()=>(Z()?D:F)(V,L))}function Z(){return z.length>0&&!z.some((V)=>V==="object"||V==="array")}function D(V,L){let M=X.name("item"),q=(0,f6.checkDataTypes)(z,M,H.opts.strictNumbers,f6.DataType.Wrong),O=X.const("indices",z0._`{}`);X.for(z0._`;${V}--;`,()=>{if(X.let(M,z0._`${Y}[${V}]`),X.if(q,z0._`continue`),z.length>1)X.if(z0._`typeof ${M} == "string"`,z0._`${M} += "_"`);X.if(z0._`typeof ${O}[${M}] == "number"`,()=>{X.assign(L,z0._`${O}[${M}]`),Q.error(),X.assign(K,!1).break()}).code(z0._`${O}[${M}] = ${V}`)})}function F(V,L){let M=(0,zM.useFunc)(X,AM.default),q=X.name("outer");X.label(q).for(z0._`;${V}--;`,()=>X.for(z0._`${L} = ${V}; ${L}--;`,()=>X.if(z0._`${M}(${Y}[${V}], ${Y}[${L}])`,()=>{Q.error(),X.assign(K,!1).break(q)})))}}};tB.default=FM});var eB=w((sB)=>{Object.defineProperty(sB,"__esModule",{value:!0});var u6=v(),VM=g(),LM=MQ(),UM={message:"must be equal to constant",params:({schemaCode:Q})=>u6._`{allowedValue: ${Q}}`},NM={keyword:"const",$data:!0,error:UM,code(Q){let{gen:X,data:Y,$data:W,schemaCode:G,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(u6._`!${(0,VM.useFunc)(X,LM.default)}(${Y}, ${G})`);else Q.fail(u6._`${J} !== ${Y}`)}};sB.default=NM});var XH=w((QH)=>{Object.defineProperty(QH,"__esModule",{value:!0});var e9=v(),qM=g(),wM=MQ(),$M={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>e9._`{allowedValues: ${Q}}`},OM={keyword:"enum",schemaType:"array",$data:!0,error:$M,code(Q){let{gen:X,data:Y,$data:W,schema:G,schemaCode:J,it:B}=Q;if(!W&&G.length===0)throw Error("enum must have non-empty array");let H=G.length>=B.opts.loopEnum,K,z=()=>K!==null&&K!==void 0?K:K=(0,qM.useFunc)(X,wM.default),A;if(H||W)A=X.let("valid"),Q.block$data(A,Z);else{if(!Array.isArray(G))throw Error("ajv implementation error");let F=X.const("vSchema",J);A=(0,e9.or)(...G.map((V,L)=>D(F,L)))}Q.pass(A);function Z(){X.assign(A,!1),X.forOf("v",J,(F)=>X.if(e9._`${z()}(${Y}, ${F})`,()=>X.assign(A,!0).break()))}function D(F,V){let L=G[V];return typeof L==="object"&&L!==null?e9._`${z()}(${Y}, ${F}[${V}])`:e9._`${Y} === ${L}`}}};QH.default=OM});var WH=w((YH)=>{Object.defineProperty(YH,"__esModule",{value:!0});var PM=kB(),EM=xB(),TM=fB(),jM=lB(),SM=cB(),RM=dB(),CM=nB(),bM=aB(),kM=eB(),vM=XH(),xM=[PM.default,EM.default,TM.default,jM.default,SM.default,RM.default,CM.default,bM.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},kM.default,vM.default];YH.default=xM});var m6=w((JH)=>{Object.defineProperty(JH,"__esModule",{value:!0});JH.validateAdditionalItems=void 0;var T1=v(),l6=g(),yM={message:({params:{len:Q}})=>T1.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>T1._`{limit: ${Q}}`},gM={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:yM,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,l6.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}GH(Q,W)}};function GH(Q,X){let{gen:Y,schema:W,data:G,keyword:J,it:B}=Q;B.items=!0;let H=Y.const("len",T1._`${G}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(T1._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,l6.alwaysValidSchema)(B,W)){let z=Y.var("valid",T1._`${H} <= ${X.length}`);Y.if((0,T1.not)(z),()=>K(z)),Q.ok(z)}function K(z){Y.forRange("i",X.length,H,(A)=>{if(Q.subschema({keyword:J,dataProp:A,dataPropType:l6.Type.Num},z),!B.allErrors)Y.if((0,T1.not)(z),()=>Y.break())})}}JH.validateAdditionalItems=GH;JH.default=gM});var c6=w((zH)=>{Object.defineProperty(zH,"__esModule",{value:!0});zH.validateTuple=void 0;var HH=v(),qQ=g(),fM=S0(),uM={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return KH(Q,"additionalItems",X);if(Y.items=!0,(0,qQ.alwaysValidSchema)(Y,X))return;Q.ok((0,fM.validateArray)(Q))}};function KH(Q,X,Y=Q.schema){let{gen:W,parentSchema:G,data:J,keyword:B,it:H}=Q;if(A(G),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=qQ.mergeEvaluated.items(W,Y.length,H.items);let K=W.name("valid"),z=W.const("len",HH._`${J}.length`);Y.forEach((Z,D)=>{if((0,qQ.alwaysValidSchema)(H,Z))return;W.if(HH._`${z} > ${D}`,()=>Q.subschema({keyword:B,schemaProp:D,dataProp:D},K)),Q.ok(K)});function A(Z){let{opts:D,errSchemaPath:F}=H,V=Y.length,L=V===Z.minItems&&(V===Z.maxItems||Z[X]===!1);if(D.strictTuples&&!L){let M=`"${B}" is ${V}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,qQ.checkStrictMode)(H,M,D.strictTuples)}}}zH.validateTuple=KH;zH.default=uM});var FH=w((ZH)=>{Object.defineProperty(ZH,"__esModule",{value:!0});var mM=c6(),cM={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,mM.validateTuple)(Q,"items")};ZH.default=cM});var LH=w((VH)=>{Object.defineProperty(VH,"__esModule",{value:!0});var DH=v(),dM=g(),iM=S0(),nM=m6(),oM={message:({params:{len:Q}})=>DH.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>DH._`{limit: ${Q}}`},rM={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:oM,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:G}=Y;if(W.items=!0,(0,dM.alwaysValidSchema)(W,X))return;if(G)(0,nM.validateAdditionalItems)(Q,G);else Q.ok((0,iM.validateArray)(Q))}};VH.default=rM});var NH=w((UH)=>{Object.defineProperty(UH,"__esModule",{value:!0});var R0=v(),wQ=g(),aM={message:({params:{min:Q,max:X}})=>X===void 0?R0.str`must contain at least ${Q} valid item(s)`:R0.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?R0._`{minContains: ${Q}}`:R0._`{minContains: ${Q}, maxContains: ${X}}`},sM={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:aM,code(Q){let{gen:X,schema:Y,parentSchema:W,data:G,it:J}=Q,B,H,{minContains:K,maxContains:z}=W;if(J.opts.next)B=K===void 0?1:K,H=z;else B=1;let A=X.const("len",R0._`${G}.length`);if(Q.setParams({min:B,max:H}),H===void 0&&B===0){(0,wQ.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&B>H){(0,wQ.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,wQ.alwaysValidSchema)(J,Y)){let L=R0._`${A} >= ${B}`;if(H!==void 0)L=R0._`${L} && ${A} <= ${H}`;Q.pass(L);return}J.items=!0;let Z=X.name("valid");if(H===void 0&&B===1)F(Z,()=>X.if(Z,()=>X.break()));else if(B===0){if(X.let(Z,!0),H!==void 0)X.if(R0._`${G}.length > 0`,D)}else X.let(Z,!1),D();Q.result(Z,()=>Q.reset());function D(){let L=X.name("_valid"),M=X.let("count",0);F(L,()=>X.if(L,()=>V(M)))}function F(L,M){X.forRange("i",0,A,(q)=>{Q.subschema({keyword:"contains",dataProp:q,dataPropType:wQ.Type.Num,compositeRule:!0},L),M()})}function V(L){if(X.code(R0._`${L}++`),H===void 0)X.if(R0._`${L} >= ${B}`,()=>X.assign(Z,!0).break());else if(X.if(R0._`${L} > ${H}`,()=>X.assign(Z,!1).break()),B===1)X.assign(Z,!0);else X.if(R0._`${L} >= ${B}`,()=>X.assign(Z,!0))}}};UH.default=sM});var IH=w((wH)=>{Object.defineProperty(wH,"__esModule",{value:!0});wH.validateSchemaDeps=wH.validatePropertyDeps=wH.error=void 0;var p6=v(),Qq=g(),Q8=S0();wH.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return p6.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>p6._`{property: ${Q},
|
|
8
|
+
missingProperty: ${W},
|
|
9
|
+
depsCount: ${X},
|
|
10
|
+
deps: ${Y}}`};var Xq={keyword:"dependencies",type:"object",schemaType:"object",error:wH.error,code(Q){let[X,Y]=Yq(Q);MH(Q,X),qH(Q,Y)}};function Yq({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let G=Array.isArray(Q[W])?X:Y;G[W]=Q[W]}return[X,Y]}function MH(Q,X=Q.schema){let{gen:Y,data:W,it:G}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let B in X){let H=X[B];if(H.length===0)continue;let K=(0,Q8.propertyInData)(Y,W,B,G.opts.ownProperties);if(Q.setParams({property:B,depsCount:H.length,deps:H.join(", ")}),G.allErrors)Y.if(K,()=>{for(let z of H)(0,Q8.checkReportMissingProp)(Q,z)});else Y.if(p6._`${K} && (${(0,Q8.checkMissingProp)(Q,H,J)})`),(0,Q8.reportMissingProp)(Q,J),Y.else()}}wH.validatePropertyDeps=MH;function qH(Q,X=Q.schema){let{gen:Y,data:W,keyword:G,it:J}=Q,B=Y.name("valid");for(let H in X){if((0,Qq.alwaysValidSchema)(J,X[H]))continue;Y.if((0,Q8.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let K=Q.subschema({keyword:G,schemaProp:H},B);Q.mergeValidEvaluated(K,B)},()=>Y.var(B,!0)),Q.ok(B)}}wH.validateSchemaDeps=qH;wH.default=Xq});var TH=w((EH)=>{Object.defineProperty(EH,"__esModule",{value:!0});var PH=v(),Jq=g(),Bq={message:"property name must be valid",params:({params:Q})=>PH._`{propertyName: ${Q.propertyName}}`},Hq={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Bq,code(Q){let{gen:X,schema:Y,data:W,it:G}=Q;if((0,Jq.alwaysValidSchema)(G,Y))return;let J=X.name("valid");X.forIn("key",W,(B)=>{Q.setParams({propertyName:B}),Q.subschema({keyword:"propertyNames",data:B,dataTypes:["string"],propertyName:B,compositeRule:!0},J),X.if((0,PH.not)(J),()=>{if(Q.error(!0),!G.allErrors)X.break()})}),Q.ok(J)}};EH.default=Hq});var d6=w((jH)=>{Object.defineProperty(jH,"__esModule",{value:!0});var $Q=S0(),_0=v(),zq=r0(),OQ=g(),Aq={message:"must NOT have additional properties",params:({params:Q})=>_0._`{additionalProperty: ${Q.additionalProperty}}`},Zq={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Aq,code(Q){let{gen:X,schema:Y,parentSchema:W,data:G,errsCount:J,it:B}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:K}=B;if(B.props=!0,K.removeAdditional!=="all"&&(0,OQ.alwaysValidSchema)(B,Y))return;let z=(0,$Q.allSchemaProperties)(W.properties),A=(0,$Q.allSchemaProperties)(W.patternProperties);Z(),Q.ok(_0._`${J} === ${zq.default.errors}`);function Z(){X.forIn("key",G,(M)=>{if(!z.length&&!A.length)V(M);else X.if(D(M),()=>V(M))})}function D(M){let q;if(z.length>8){let O=(0,OQ.schemaRefOrVal)(B,W.properties,"properties");q=(0,$Q.isOwnProperty)(X,O,M)}else if(z.length)q=(0,_0.or)(...z.map((O)=>_0._`${M} === ${O}`));else q=_0.nil;if(A.length)q=(0,_0.or)(q,...A.map((O)=>_0._`${(0,$Q.usePattern)(Q,O)}.test(${M})`));return(0,_0.not)(q)}function F(M){X.code(_0._`delete ${G}[${M}]`)}function V(M){if(K.removeAdditional==="all"||K.removeAdditional&&Y===!1){F(M);return}if(Y===!1){if(Q.setParams({additionalProperty:M}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,OQ.alwaysValidSchema)(B,Y)){let q=X.name("valid");if(K.removeAdditional==="failing")L(M,q,!1),X.if((0,_0.not)(q),()=>{Q.reset(),F(M)});else if(L(M,q),!H)X.if((0,_0.not)(q),()=>X.break())}}function L(M,q,O){let j={keyword:"additionalProperties",dataProp:M,dataPropType:OQ.Type.Str};if(O===!1)Object.assign(j,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(j,q)}}};jH.default=Zq});var bH=w((CH)=>{Object.defineProperty(CH,"__esModule",{value:!0});var Dq=m9(),SH=S0(),i6=g(),RH=d6(),Vq={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:G,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)RH.default.code(new Dq.KeywordCxt(J,RH.default,"additionalProperties"));let B=(0,SH.allSchemaProperties)(Y);for(let Z of B)J.definedProperties.add(Z);if(J.opts.unevaluated&&B.length&&J.props!==!0)J.props=i6.mergeEvaluated.props(X,(0,i6.toHash)(B),J.props);let H=B.filter((Z)=>!(0,i6.alwaysValidSchema)(J,Y[Z]));if(H.length===0)return;let K=X.name("valid");for(let Z of H){if(z(Z))A(Z);else{if(X.if((0,SH.propertyInData)(X,G,Z,J.opts.ownProperties)),A(Z),!J.allErrors)X.else().var(K,!0);X.endIf()}Q.it.definedProperties.add(Z),Q.ok(K)}function z(Z){return J.opts.useDefaults&&!J.compositeRule&&Y[Z].default!==void 0}function A(Z){Q.subschema({keyword:"properties",schemaProp:Z,dataProp:Z},K)}}};CH.default=Vq});var yH=w((_H)=>{Object.defineProperty(_H,"__esModule",{value:!0});var kH=S0(),IQ=v(),vH=g(),xH=g(),Uq={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:G,it:J}=Q,{opts:B}=J,H=(0,kH.allSchemaProperties)(Y),K=H.filter((L)=>(0,vH.alwaysValidSchema)(J,Y[L]));if(H.length===0||K.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=B.strictSchema&&!B.allowMatchingProperties&&G.properties,A=X.name("valid");if(J.props!==!0&&!(J.props instanceof IQ.Name))J.props=(0,xH.evaluatedPropsToName)(X,J.props);let{props:Z}=J;D();function D(){for(let L of H){if(z)F(L);if(J.allErrors)V(L);else X.var(A,!0),V(L),X.if(A)}}function F(L){for(let M in z)if(new RegExp(L).test(M))(0,vH.checkStrictMode)(J,`property ${M} matches pattern ${L} (use allowMatchingProperties)`)}function V(L){X.forIn("key",W,(M)=>{X.if(IQ._`${(0,kH.usePattern)(Q,L)}.test(${M})`,()=>{let q=K.includes(L);if(!q)Q.subschema({keyword:"patternProperties",schemaProp:L,dataProp:M,dataPropType:xH.Type.Str},A);if(J.opts.unevaluated&&Z!==!0)X.assign(IQ._`${Z}[${M}]`,!0);else if(!q&&!J.allErrors)X.if((0,IQ.not)(A),()=>X.break())})})}}};_H.default=Uq});var hH=w((gH)=>{Object.defineProperty(gH,"__esModule",{value:!0});var Mq=g(),qq={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,Mq.alwaysValidSchema)(W,Y)){Q.fail();return}let G=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},G),Q.failResult(G,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};gH.default=qq});var uH=w((fH)=>{Object.defineProperty(fH,"__esModule",{value:!0});var $q=S0(),Oq={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:$q.validateUnion,error:{message:"must match a schema in anyOf"}};fH.default=Oq});var mH=w((lH)=>{Object.defineProperty(lH,"__esModule",{value:!0});var PQ=v(),Pq=g(),Eq={message:"must match exactly one schema in oneOf",params:({params:Q})=>PQ._`{passingSchemas: ${Q.passing}}`},Tq={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Eq,code(Q){let{gen:X,schema:Y,parentSchema:W,it:G}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(G.opts.discriminator&&W.discriminator)return;let J=Y,B=X.let("valid",!1),H=X.let("passing",null),K=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(B,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((A,Z)=>{let D;if((0,Pq.alwaysValidSchema)(G,A))X.var(K,!0);else D=Q.subschema({keyword:"oneOf",schemaProp:Z,compositeRule:!0},K);if(Z>0)X.if(PQ._`${K} && ${B}`).assign(B,!1).assign(H,PQ._`[${H}, ${Z}]`).else();X.if(K,()=>{if(X.assign(B,!0),X.assign(H,Z),D)Q.mergeEvaluated(D,PQ.Name)})})}}};lH.default=Tq});var pH=w((cH)=>{Object.defineProperty(cH,"__esModule",{value:!0});var Sq=g(),Rq={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let G=X.name("valid");Y.forEach((J,B)=>{if((0,Sq.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:B},G);Q.ok(G),Q.mergeEvaluated(H)})}};cH.default=Rq});var oH=w((nH)=>{Object.defineProperty(nH,"__esModule",{value:!0});var EQ=v(),iH=g(),bq={message:({params:Q})=>EQ.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>EQ._`{failingKeyword: ${Q.ifClause}}`},kq={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:bq,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,iH.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let G=dH(W,"then"),J=dH(W,"else");if(!G&&!J)return;let B=X.let("valid",!0),H=X.name("_valid");if(K(),Q.reset(),G&&J){let A=X.let("ifClause");Q.setParams({ifClause:A}),X.if(H,z("then",A),z("else",A))}else if(G)X.if(H,z("then"));else X.if((0,EQ.not)(H),z("else"));Q.pass(B,()=>Q.error(!0));function K(){let A=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(A)}function z(A,Z){return()=>{let D=Q.subschema({keyword:A},H);if(X.assign(B,H),Q.mergeValidEvaluated(D,B),Z)X.assign(Z,EQ._`${A}`);else Q.setParams({ifClause:A})}}}};function dH(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,iH.alwaysValidSchema)(Q,Y)}nH.default=kq});var tH=w((rH)=>{Object.defineProperty(rH,"__esModule",{value:!0});var xq=g(),_q={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,xq.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};rH.default=_q});var sH=w((aH)=>{Object.defineProperty(aH,"__esModule",{value:!0});var gq=m6(),hq=FH(),fq=c6(),uq=LH(),lq=NH(),mq=IH(),cq=TH(),pq=d6(),dq=bH(),iq=yH(),nq=hH(),oq=uH(),rq=mH(),tq=pH(),aq=oH(),sq=tH();function eq(Q=!1){let X=[nq.default,oq.default,rq.default,tq.default,aq.default,sq.default,cq.default,pq.default,mq.default,dq.default,iq.default];if(Q)X.push(hq.default,uq.default);else X.push(gq.default,fq.default);return X.push(lq.default),X}aH.default=eq});var QK=w((eH)=>{Object.defineProperty(eH,"__esModule",{value:!0});var X0=v(),Xw={message:({schemaCode:Q})=>X0.str`must match format "${Q}"`,params:({schemaCode:Q})=>X0._`{format: ${Q}}`},Yw={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Xw,code(Q,X){let{gen:Y,data:W,$data:G,schema:J,schemaCode:B,it:H}=Q,{opts:K,errSchemaPath:z,schemaEnv:A,self:Z}=H;if(!K.validateFormats)return;if(G)D();else F();function D(){let V=Y.scopeValue("formats",{ref:Z.formats,code:K.code.formats}),L=Y.const("fDef",X0._`${V}[${B}]`),M=Y.let("fType"),q=Y.let("format");Y.if(X0._`typeof ${L} == "object" && !(${L} instanceof RegExp)`,()=>Y.assign(M,X0._`${L}.type || "string"`).assign(q,X0._`${L}.validate`),()=>Y.assign(M,X0._`"string"`).assign(q,L)),Q.fail$data((0,X0.or)(O(),j()));function O(){if(K.strictSchema===!1)return X0.nil;return X0._`${B} && !${q}`}function j(){let R=A.$async?X0._`(${L}.async ? await ${q}(${W}) : ${q}(${W}))`:X0._`${q}(${W})`,I=X0._`(typeof ${q} == "function" ? ${R} : ${q}.test(${W}))`;return X0._`${q} && ${q} !== true && ${M} === ${X} && !${I}`}}function F(){let V=Z.formats[J];if(!V){O();return}if(V===!0)return;let[L,M,q]=j(V);if(L===X)Q.pass(R());function O(){if(K.strictSchema===!1){Z.logger.warn(I());return}throw Error(I());function I(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function j(I){let w0=I instanceof RegExp?(0,X0.regexpCode)(I):K.code.formats?X0._`${K.code.formats}${(0,X0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:I,code:w0});if(typeof I=="object"&&!(I instanceof RegExp))return[I.type||"string",I.validate,X0._`${P0}.validate`];return["string",I,P0]}function R(){if(typeof V=="object"&&!(V instanceof RegExp)&&V.async){if(!A.$async)throw Error("async format in sync schema");return X0._`await ${q}(${W})`}return typeof M=="function"?X0._`${q}(${W})`:X0._`${q}.test(${W})`}}}};eH.default=Yw});var YK=w((XK)=>{Object.defineProperty(XK,"__esModule",{value:!0});var Gw=QK(),Jw=[Gw.default];XK.default=Jw});var JK=w((WK)=>{Object.defineProperty(WK,"__esModule",{value:!0});WK.contentVocabulary=WK.metadataVocabulary=void 0;WK.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];WK.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var KK=w((HK)=>{Object.defineProperty(HK,"__esModule",{value:!0});var Kw=CB(),zw=WH(),Aw=sH(),Zw=YK(),BK=JK(),Fw=[Kw.default,zw.default,(0,Aw.default)(),Zw.default,BK.metadataVocabulary,BK.contentVocabulary];HK.default=Fw});var FK=w((AK)=>{Object.defineProperty(AK,"__esModule",{value:!0});AK.DiscrError=void 0;var zK;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(zK||(AK.DiscrError=zK={}))});var LK=w((VK)=>{Object.defineProperty(VK,"__esModule",{value:!0});var r1=v(),n6=FK(),DK=KQ(),Vw=c9(),Lw=g(),Uw={message:({params:{discrError:Q,tagName:X}})=>Q===n6.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>r1._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},Nw={keyword:"discriminator",type:"object",schemaType:"object",error:Uw,code(Q){let{gen:X,data:Y,schema:W,parentSchema:G,it:J}=Q,{oneOf:B}=G;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!B)throw Error("discriminator: requires oneOf keyword");let K=X.let("valid",!1),z=X.const("tag",r1._`${Y}${(0,r1.getProperty)(H)}`);X.if(r1._`typeof ${z} == "string"`,()=>A(),()=>Q.error(!1,{discrError:n6.DiscrError.Tag,tag:z,tagName:H})),Q.ok(K);function A(){let F=D();X.if(!1);for(let V in F)X.elseIf(r1._`${z} === ${V}`),X.assign(K,Z(F[V]));X.else(),Q.error(!1,{discrError:n6.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function Z(F){let V=X.name("valid"),L=Q.subschema({keyword:"oneOf",schemaProp:F},V);return Q.mergeEvaluated(L,r1.Name),V}function D(){var F;let V={},L=q(G),M=!0;for(let R=0;R<B.length;R++){let I=B[R];if((I===null||I===void 0?void 0:I.$ref)&&!(0,Lw.schemaHasRulesButRef)(I,J.self.RULES)){let P0=I.$ref;if(I=DK.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),I instanceof DK.SchemaEnv)I=I.schema;if(I===void 0)throw new Vw.default(J.opts.uriResolver,J.baseId,P0)}let w0=(F=I===null||I===void 0?void 0:I.properties)===null||F===void 0?void 0:F[H];if(typeof w0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);M=M&&(L||q(I)),O(w0,R)}if(!M)throw Error(`discriminator: "${H}" must be required`);return V;function q({required:R}){return Array.isArray(R)&&R.includes(H)}function O(R,I){if(R.const)j(R.const,I);else if(R.enum)for(let w0 of R.enum)j(w0,I);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function j(R,I){if(typeof R!="string"||R in V)throw Error(`discriminator: "${H}" values must be unique strings`);V[R]=I}}}};VK.default=Nw});var UK=w((lC,qw)=>{qw.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 r6=w((q0,o6)=>{Object.defineProperty(q0,"__esModule",{value:!0});q0.MissingRefError=q0.ValidationError=q0.CodeGen=q0.Name=q0.nil=q0.stringify=q0.str=q0._=q0.KeywordCxt=q0.Ajv=void 0;var ww=wB(),$w=KK(),Ow=LK(),NK=UK(),Iw=["/properties"],TQ="http://json-schema.org/draft-07/schema";class X8 extends ww.default{_addVocabularies(){if(super._addVocabularies(),$w.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(Ow.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(NK,Iw):NK;this.addMetaSchema(Q,TQ,!1),this.refs["http://json-schema.org/schema"]=TQ}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(TQ)?TQ:void 0)}}q0.Ajv=X8;o6.exports=q0=X8;o6.exports.Ajv=X8;Object.defineProperty(q0,"__esModule",{value:!0});q0.default=X8;var Pw=m9();Object.defineProperty(q0,"KeywordCxt",{enumerable:!0,get:function(){return Pw.KeywordCxt}});var t1=v();Object.defineProperty(q0,"_",{enumerable:!0,get:function(){return t1._}});Object.defineProperty(q0,"str",{enumerable:!0,get:function(){return t1.str}});Object.defineProperty(q0,"stringify",{enumerable:!0,get:function(){return t1.stringify}});Object.defineProperty(q0,"nil",{enumerable:!0,get:function(){return t1.nil}});Object.defineProperty(q0,"Name",{enumerable:!0,get:function(){return t1.Name}});Object.defineProperty(q0,"CodeGen",{enumerable:!0,get:function(){return t1.CodeGen}});var Ew=BQ();Object.defineProperty(q0,"ValidationError",{enumerable:!0,get:function(){return Ew.default}});var Tw=c9();Object.defineProperty(q0,"MissingRefError",{enumerable:!0,get:function(){return Tw.default}})});var jK=w((EK)=>{Object.defineProperty(EK,"__esModule",{value:!0});EK.formatNames=EK.fastFormats=EK.fullFormats=void 0;function f0(Q,X){return{validate:Q,compare:X}}EK.fullFormats={date:f0($K,e6),time:f0(a6(!0),Q4),"date-time":f0(MK(!0),IK),"iso-time":f0(a6(),OK),"iso-date-time":f0(MK(),PK),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:xw,"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:lw,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:_w,int32:{type:"number",validate:hw},int64:{type:"number",validate:fw},float:{type:"number",validate:wK},double:{type:"number",validate:wK},password:!0,binary:!0};EK.fastFormats={...EK.fullFormats,date:f0(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,e6),time:f0(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Q4),"date-time":f0(/^\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,IK),"iso-time":f0(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,OK),"iso-date-time":f0(/^\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,PK),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};EK.formatNames=Object.keys(EK.fullFormats);function Rw(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var Cw=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,bw=[0,31,28,31,30,31,30,31,31,30,31,30,31];function $K(Q){let X=Cw.exec(Q);if(!X)return!1;let Y=+X[1],W=+X[2],G=+X[3];return W>=1&&W<=12&&G>=1&&G<=(W===2&&Rw(Y)?29:bw[W])}function e6(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var t6=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function a6(Q){return function(Y){let W=t6.exec(Y);if(!W)return!1;let G=+W[1],J=+W[2],B=+W[3],H=W[4],K=W[5]==="-"?-1:1,z=+(W[6]||0),A=+(W[7]||0);if(z>23||A>59||Q&&!H)return!1;if(G<=23&&J<=59&&B<60)return!0;let Z=J-A*K,D=G-z*K-(Z<0?1:0);return(D===23||D===-1)&&(Z===59||Z===-1)&&B<61}}function Q4(Q,X){if(!(Q&&X))return;let Y=new Date("2020-01-01T"+Q).valueOf(),W=new Date("2020-01-01T"+X).valueOf();if(!(Y&&W))return;return Y-W}function OK(Q,X){if(!(Q&&X))return;let Y=t6.exec(Q),W=t6.exec(X);if(!(Y&&W))return;if(Q=Y[1]+Y[2]+Y[3],X=W[1]+W[2]+W[3],Q>X)return 1;if(Q<X)return-1;return 0}var s6=/t|\s/i;function MK(Q){let X=a6(Q);return function(W){let G=W.split(s6);return G.length===2&&$K(G[0])&&X(G[1])}}function IK(Q,X){if(!(Q&&X))return;let Y=new Date(Q).valueOf(),W=new Date(X).valueOf();if(!(Y&&W))return;return Y-W}function PK(Q,X){if(!(Q&&X))return;let[Y,W]=Q.split(s6),[G,J]=X.split(s6),B=e6(Y,G);if(B===void 0)return;return B||Q4(W,J)}var kw=/\/|:/,vw=/^(?:[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 xw(Q){return kw.test(Q)&&vw.test(Q)}var qK=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function _w(Q){return qK.lastIndex=0,qK.test(Q)}var yw=-2147483648,gw=2147483647;function hw(Q){return Number.isInteger(Q)&&Q<=gw&&Q>=yw}function fw(Q){return Number.isInteger(Q)}function wK(){return!0}var uw=/[^\\]\\Z/;function lw(Q){if(uw.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var RK=w((SK)=>{Object.defineProperty(SK,"__esModule",{value:!0});SK.formatLimitDefinition=void 0;var cw=r6(),y0=v(),D1=y0.operators,jQ={formatMaximum:{okStr:"<=",ok:D1.LTE,fail:D1.GT},formatMinimum:{okStr:">=",ok:D1.GTE,fail:D1.LT},formatExclusiveMaximum:{okStr:"<",ok:D1.LT,fail:D1.GTE},formatExclusiveMinimum:{okStr:">",ok:D1.GT,fail:D1.LTE}},pw={message:({keyword:Q,schemaCode:X})=>y0.str`should be ${jQ[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>y0._`{comparison: ${jQ[Q].okStr}, limit: ${X}}`};SK.formatLimitDefinition={keyword:Object.keys(jQ),type:"string",schemaType:"string",$data:!0,error:pw,code(Q){let{gen:X,data:Y,schemaCode:W,keyword:G,it:J}=Q,{opts:B,self:H}=J;if(!B.validateFormats)return;let K=new cw.KeywordCxt(J,H.RULES.all.format.definition,"format");if(K.$data)z();else A();function z(){let D=X.scopeValue("formats",{ref:H.formats,code:B.code.formats}),F=X.const("fmt",y0._`${D}[${K.schemaCode}]`);Q.fail$data((0,y0.or)(y0._`typeof ${F} != "object"`,y0._`${F} instanceof RegExp`,y0._`typeof ${F}.compare != "function"`,Z(F)))}function A(){let D=K.schema,F=H.formats[D];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${G}": format "${D}" does not define "compare" function`);let V=X.scopeValue("formats",{key:D,ref:F,code:B.code.formats?y0._`${B.code.formats}${(0,y0.getProperty)(D)}`:void 0});Q.fail$data(Z(V))}function Z(D){return y0._`${D}.compare(${Y}, ${W}) ${jQ[G].fail} 0`}},dependencies:["format"]};var dw=(Q)=>{return Q.addKeyword(SK.formatLimitDefinition),Q};SK.default=dw});var vK=w((Y8,kK)=>{Object.defineProperty(Y8,"__esModule",{value:!0});var a1=jK(),nw=RK(),W4=v(),CK=new W4.Name("fullFormats"),ow=new W4.Name("fastFormats"),G4=(Q,X={keywords:!0})=>{if(Array.isArray(X))return bK(Q,X,a1.fullFormats,CK),Q;let[Y,W]=X.mode==="fast"?[a1.fastFormats,ow]:[a1.fullFormats,CK],G=X.formats||a1.formatNames;if(bK(Q,G,Y,W),X.keywords)(0,nw.default)(Q);return Q};G4.get=(Q,X="full")=>{let W=(X==="fast"?a1.fastFormats:a1.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function bK(Q,X,Y,W){var G,J;(G=(J=Q.opts.code).formats)!==null&&G!==void 0||(J.formats=W4._`require("ajv-formats/dist/formats").${W}`);for(let B of X)Q.addFormat(B,Y[B])}kK.exports=Y8=G4;Object.defineProperty(Y8,"__esModule",{value:!0});Y8.default=G4});var cQ="https://api.aetherwealth.ai",pQ="http://localhost:9006",U1="127.0.0.1",z8=["localhost","127.0.0.1","[::1]"];var y4=`https://registry.npmjs.org/${encodeURIComponent("@aetherwealth/mcp")}/latest`,dQ="npm install -g @aetherwealth/mcp@latest";function z3(Q){let X=Q.NODE_ENV;return X==="development"||X==="test"}function g4(Q){let X=Q.AETHER_BASE_URL,Y="";if(X&&X.trim().length>0)Y=X.trim();else if(z3(Q))Y=pQ;else Y=cQ;let W;try{W=new URL(Y)}catch{return{config:null,errors:[`AETHER_BASE_URL is not a valid URL: "${Y}"`]}}if(W.protocol!=="https:"&&!A3(W.hostname))return{config:null,errors:[`AETHER_BASE_URL must use https (loopback hosts exempt): "${Y}"`]};let G=Y.replace(/\/$/,"");return{config:{baseUrl:G,trpcUrl:`${G}/trpc`,host:W.host},errors:[]}}function A3(Q){return z8.includes(Q)}import{timingSafeEqual as rK}from"node:crypto";import{createServer as L$}from"node:http";var h4;function N(Q,X,Y){function W(H,K){if(!H._zod)Object.defineProperty(H,"_zod",{value:{def:K,constr:B,traits:new Set},enumerable:!1});if(H._zod.traits.has(Q))return;H._zod.traits.add(Q),X(H,K);let z=B.prototype,A=Object.keys(z);for(let Z=0;Z<A.length;Z++){let D=A[Z];if(!(D in H))H[D]=z[D].bind(H)}}let G=Y?.Parent??Object;class J extends G{}Object.defineProperty(J,"name",{value:Q});function B(H){var K;let z=Y?.Parent?new J:this;W(z,H),(K=z._zod).deferred??(K.deferred=[]);for(let A of z._zod.deferred)A();return z}return Object.defineProperty(B,"init",{value:W}),Object.defineProperty(B,Symbol.hasInstance,{value:(H)=>{if(Y?.Parent&&H instanceof Y.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(B,"name",{value:Q}),B}var QI=Symbol("zod_brand");class m0 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Y9 extends Error{constructor(Q){super(`Encountered unidirectional transform during encode: ${Q}`);this.name="ZodEncodeError"}}(h4=globalThis).__zod_globalConfig??(h4.__zod_globalConfig={});var j1=globalThis.__zod_globalConfig;function $0(Q){if(Q)Object.assign(j1,Q);return j1}var y={};_4(y,{unwrapMessage:()=>W9,uint8ArrayToHex:()=>_3,uint8ArrayToBase64url:()=>v3,uint8ArrayToBase64:()=>d4,stringifyPrimitive:()=>D8,slugify:()=>oQ,shallowClone:()=>u4,safeExtend:()=>j3,required:()=>C3,randomString:()=>w3,propertyKeyTypes:()=>tQ,promiseAllObject:()=>q3,primitiveTypes:()=>l4,prefixIssues:()=>d0,pick:()=>P3,partial:()=>R3,parsedType:()=>QX,optionalKeys:()=>aQ,omit:()=>E3,objectClone:()=>U3,numKeys:()=>$3,nullish:()=>J9,normalizeParams:()=>S,mergeDefs:()=>c0,merge:()=>S3,jsonStringifyReplacer:()=>S1,joinValues:()=>A8,issue:()=>C1,isPlainObject:()=>Q1,isObject:()=>N1,hexToUint8Array:()=>x3,getSizableOrigin:()=>c4,getParsedType:()=>O3,getLengthableOrigin:()=>H9,getEnumValues:()=>G9,getElementAtPath:()=>M3,floatSafeRemainder:()=>nQ,finalizeIssue:()=>E0,extend:()=>T3,explicitlyAborted:()=>eQ,escapeRegex:()=>p0,esc:()=>Z8,defineLazy:()=>f,createTransparentProxy:()=>I3,cloneDef:()=>N3,clone:()=>C0,cleanRegex:()=>B9,cleanEnum:()=>b3,captureStackTrace:()=>F8,cached:()=>R1,base64urlToUint8Array:()=>k3,base64ToUint8Array:()=>p4,assignProp:()=>e0,assertNotEqual:()=>F3,assertNever:()=>V3,assertIs:()=>D3,assertEqual:()=>Z3,assert:()=>L3,allowsEval:()=>rQ,aborted:()=>X1,NUMBER_FORMAT_RANGES:()=>sQ,Class:()=>i4,BIGINT_FORMAT_RANGES:()=>m4});function Z3(Q){return Q}function F3(Q){return Q}function D3(Q){}function V3(Q){throw Error("Unexpected value in exhaustive check")}function L3(Q){}function G9(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,G])=>X.indexOf(+W)===-1).map(([W,G])=>G)}function A8(Q,X="|"){return Q.map((Y)=>D8(Y)).join(X)}function S1(Q,X){if(typeof X==="bigint")return X.toString();return X}function R1(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function J9(Q){return Q===null||Q===void 0}function B9(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function nQ(Q,X){let Y=Q/X,W=Math.round(Y),G=Number.EPSILON*Math.max(Math.abs(Y),1);if(Math.abs(Y-W)<G)return 0;return Y-W}var f4=Symbol("evaluating");function f(Q,X,Y){let W=void 0;Object.defineProperty(Q,X,{get(){if(W===f4)return;if(W===void 0)W=f4,W=Y();return W},set(G){Object.defineProperty(Q,X,{value:G})},configurable:!0})}function U3(Q){return Object.create(Object.getPrototypeOf(Q),Object.getOwnPropertyDescriptors(Q))}function e0(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function c0(...Q){let X={};for(let Y of Q){let W=Object.getOwnPropertyDescriptors(Y);Object.assign(X,W)}return Object.defineProperties({},X)}function N3(Q){return c0(Q._zod.def)}function M3(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function q3(Q){let X=Object.keys(Q),Y=X.map((W)=>Q[W]);return Promise.all(Y).then((W)=>{let G={};for(let J=0;J<X.length;J++)G[X[J]]=W[J];return G})}function w3(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function Z8(Q){return JSON.stringify(Q)}function oQ(Q){return Q.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var F8="captureStackTrace"in Error?Error.captureStackTrace:(...Q)=>{};function N1(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var rQ=R1(()=>{if(j1.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function Q1(Q){if(N1(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;if(typeof X!=="function")return!0;let Y=X.prototype;if(N1(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function u4(Q){if(Q1(Q))return{...Q};if(Array.isArray(Q))return[...Q];if(Q instanceof Map)return new Map(Q);if(Q instanceof Set)return new Set(Q);return Q}function $3(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var O3=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},tQ=new Set(["string","number","symbol"]),l4=new Set(["string","number","bigint","boolean","symbol","undefined"]);function p0(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function C0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function S(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function I3(Q){let X;return new Proxy({},{get(Y,W,G){return X??(X=Q()),Reflect.get(X,W,G)},set(Y,W,G,J){return X??(X=Q()),Reflect.set(X,W,G,J)},has(Y,W){return X??(X=Q()),Reflect.has(X,W)},deleteProperty(Y,W){return X??(X=Q()),Reflect.deleteProperty(X,W)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,W){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,W)},defineProperty(Y,W,G){return X??(X=Q()),Reflect.defineProperty(X,W,G)}})}function D8(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function aQ(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var sQ={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},m4={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function P3(Q,X){let Y=Q._zod.def,W=Y.checks;if(W&&W.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let J=c0(Q._zod.def,{get shape(){let B={};for(let H in X){if(!(H in Y.shape))throw Error(`Unrecognized key: "${H}"`);if(!X[H])continue;B[H]=Y.shape[H]}return e0(this,"shape",B),B},checks:[]});return C0(Q,J)}function E3(Q,X){let Y=Q._zod.def,W=Y.checks;if(W&&W.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let J=c0(Q._zod.def,{get shape(){let B={...Q._zod.def.shape};for(let H in X){if(!(H in Y.shape))throw Error(`Unrecognized key: "${H}"`);if(!X[H])continue;delete B[H]}return e0(this,"shape",B),B},checks:[]});return C0(Q,J)}function T3(Q,X){if(!Q1(X))throw Error("Invalid input to extend: expected a plain object");let Y=Q._zod.def.checks;if(Y&&Y.length>0){let J=Q._zod.def.shape;for(let B in X)if(Object.getOwnPropertyDescriptor(J,B)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let G=c0(Q._zod.def,{get shape(){let J={...Q._zod.def.shape,...X};return e0(this,"shape",J),J}});return C0(Q,G)}function j3(Q,X){if(!Q1(X))throw Error("Invalid input to safeExtend: expected a plain object");let Y=c0(Q._zod.def,{get shape(){let W={...Q._zod.def.shape,...X};return e0(this,"shape",W),W}});return C0(Q,Y)}function S3(Q,X){if(Q._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let Y=c0(Q._zod.def,{get shape(){let W={...Q._zod.def.shape,...X._zod.def.shape};return e0(this,"shape",W),W},get catchall(){return X._zod.def.catchall},checks:X._zod.def.checks??[]});return C0(Q,Y)}function R3(Q,X,Y){let G=X._zod.def.checks;if(G&&G.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let B=c0(X._zod.def,{get shape(){let H=X._zod.def.shape,K={...H};if(Y)for(let z in Y){if(!(z in H))throw Error(`Unrecognized key: "${z}"`);if(!Y[z])continue;K[z]=Q?new Q({type:"optional",innerType:H[z]}):H[z]}else for(let z in H)K[z]=Q?new Q({type:"optional",innerType:H[z]}):H[z];return e0(this,"shape",K),K},checks:[]});return C0(X,B)}function C3(Q,X,Y){let W=c0(X._zod.def,{get shape(){let G=X._zod.def.shape,J={...G};if(Y)for(let B in Y){if(!(B in J))throw Error(`Unrecognized key: "${B}"`);if(!Y[B])continue;J[B]=new Q({type:"nonoptional",innerType:G[B]})}else for(let B in G)J[B]=new Q({type:"nonoptional",innerType:G[B]});return e0(this,"shape",J),J}});return C0(X,W)}function X1(Q,X=0){if(Q.aborted===!0)return!0;for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function eQ(Q,X=0){if(Q.aborted===!0)return!0;for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue===!1)return!0;return!1}function d0(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function W9(Q){return typeof Q==="string"?Q:Q?.message}function E0(Q,X,Y){let W=Q.message?Q.message:W9(Q.inst?._zod.def?.error?.(Q))??W9(X?.error?.(Q))??W9(Y.customError?.(Q))??W9(Y.localeError?.(Q))??"Invalid input",{inst:G,continue:J,input:B,...H}=Q;if(H.path??(H.path=[]),H.message=W,X?.reportInput)H.input=B;return H}function c4(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function H9(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function QX(Q){let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"nan":"number";case"object":{if(Q===null)return"null";if(Array.isArray(Q))return"array";let Y=Q;if(Y&&Object.getPrototypeOf(Y)!==Object.prototype&&"constructor"in Y&&Y.constructor)return Y.constructor.name}}return X}function C1(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function b3(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}function p4(Q){let X=atob(Q),Y=new Uint8Array(X.length);for(let W=0;W<X.length;W++)Y[W]=X.charCodeAt(W);return Y}function d4(Q){let X="";for(let Y=0;Y<Q.length;Y++)X+=String.fromCharCode(Q[Y]);return btoa(X)}function k3(Q){let X=Q.replace(/-/g,"+").replace(/_/g,"/"),Y="=".repeat((4-X.length%4)%4);return p4(X+Y)}function v3(Q){return d4(Q).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function x3(Q){let X=Q.replace(/^0x/,"");if(X.length%2!==0)throw Error("Invalid hex string length");let Y=new Uint8Array(X.length/2);for(let W=0;W<X.length;W+=2)Y[W/2]=Number.parseInt(X.slice(W,W+2),16);return Y}function _3(Q){return Array.from(Q).map((X)=>X.toString(16).padStart(2,"0")).join("")}class i4{constructor(...Q){}}var n4=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Q.message=JSON.stringify(X,S1,2),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},V8=N("$ZodError",n4),XX=N("$ZodError",n4,{Parent:Error});function o4(Q,X=(Y)=>Y.message){let Y={},W=[];for(let G of Q.issues)if(G.path.length>0)Y[G.path[0]]=Y[G.path[0]]||[],Y[G.path[0]].push(X(G));else W.push(X(G));return{formErrors:W,fieldErrors:Y}}function r4(Q,X=(Y)=>Y.message){let Y={_errors:[]},W=(G,J=[])=>{for(let B of G.issues)if(B.code==="invalid_union"&&B.errors.length)B.errors.map((H)=>W({issues:H},[...J,...B.path]));else if(B.code==="invalid_key")W({issues:B.issues},[...J,...B.path]);else if(B.code==="invalid_element")W({issues:B.issues},[...J,...B.path]);else{let H=[...J,...B.path];if(H.length===0)Y._errors.push(X(B));else{let K=Y,z=0;while(z<H.length){let A=H[z];if(z!==H.length-1)K[A]=K[A]||{_errors:[]};else K[A]=K[A]||{_errors:[]},K[A]._errors.push(X(B));K=K[A],z++}}}};return W(Q),Y}var L8=(Q)=>(X,Y,W,G)=>{let J=W?{...W,async:!1}:{async:!1},B=X._zod.run({value:Y,issues:[]},J);if(B instanceof Promise)throw new m0;if(B.issues.length){let H=new(G?.Err??Q)(B.issues.map((K)=>E0(K,J,$0())));throw F8(H,G?.callee),H}return B.value};var U8=(Q)=>async(X,Y,W,G)=>{let J=W?{...W,async:!0}:{async:!0},B=X._zod.run({value:Y,issues:[]},J);if(B instanceof Promise)B=await B;if(B.issues.length){let H=new(G?.Err??Q)(B.issues.map((K)=>E0(K,J,$0())));throw F8(H,G?.callee),H}return B.value};var K9=(Q)=>(X,Y,W)=>{let G=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},G);if(J instanceof Promise)throw new m0;return J.issues.length?{success:!1,error:new(Q??V8)(J.issues.map((B)=>E0(B,G,$0())))}:{success:!0,data:J.value}},z9=K9(XX),A9=(Q)=>async(X,Y,W)=>{let G=W?{...W,async:!0}:{async:!0},J=X._zod.run({value:Y,issues:[]},G);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((B)=>E0(B,G,$0())))}:{success:!0,data:J.value}},N8=A9(XX),t4=(Q)=>(X,Y,W)=>{let G=W?{...W,direction:"backward"}:{direction:"backward"};return L8(Q)(X,Y,G)};var a4=(Q)=>(X,Y,W)=>{return L8(Q)(X,Y,W)};var s4=(Q)=>async(X,Y,W)=>{let G=W?{...W,direction:"backward"}:{direction:"backward"};return U8(Q)(X,Y,G)};var e4=(Q)=>async(X,Y,W)=>{return U8(Q)(X,Y,W)};var QY=(Q)=>(X,Y,W)=>{let G=W?{...W,direction:"backward"}:{direction:"backward"};return K9(Q)(X,Y,G)};var XY=(Q)=>(X,Y,W)=>{return K9(Q)(X,Y,W)};var YY=(Q)=>async(X,Y,W)=>{let G=W?{...W,direction:"backward"}:{direction:"backward"};return A9(Q)(X,Y,G)};var WY=(Q)=>async(X,Y,W)=>{return A9(Q)(X,Y,W)};var GY=/^[cC][0-9a-z]{6,}$/,JY=/^[0-9a-z]+$/,BY=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,HY=/^[0-9a-vA-V]{20}$/,KY=/^[A-Za-z0-9]{27}$/,zY=/^[a-zA-Z0-9_-]{21}$/,AY=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ZY=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,YX=(Q)=>{if(!Q)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var FY=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var g3="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function DY(){return new RegExp(g3,"u")}var VY=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,LY=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var UY=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,NY=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,MY=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,WX=/^[A-Za-z0-9_-]*$/;var qY=/^https?$/,wY=/^\+[1-9]\d{6,14}$/,$Y="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",OY=new RegExp(`^${$Y}$`);function IY(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function PY(Q){return new RegExp(`^${IY(Q)}$`)}function EY(Q){let X=IY({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let W=`${X}(?:${Y.join("|")})`;return new RegExp(`^${$Y}T(?:${W})$`)}var TY=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)};var jY=/^-?\d+$/,M8=/^-?\d+(?:\.\d+)?$/,SY=/^(?:true|false)$/i,RY=/^null$/i;var CY=/^[^A-Z]*$/,bY=/^[^a-z]*$/;var J0=N("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),kY={number:"number",bigint:"bigint",object:"date"},GX=N("$ZodCheckLessThan",(Q,X)=>{J0.init(Q,X);let Y=kY[typeof X.value];Q._zod.onattach.push((W)=>{let G=W._zod.bag,J=(X.inclusive?G.maximum:G.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<J)if(X.inclusive)G.maximum=X.value;else G.exclusiveMaximum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value<=X.value:W.value<X.value)return;W.issues.push({origin:Y,code:"too_big",maximum:typeof X.value==="object"?X.value.getTime():X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),JX=N("$ZodCheckGreaterThan",(Q,X)=>{J0.init(Q,X);let Y=kY[typeof X.value];Q._zod.onattach.push((W)=>{let G=W._zod.bag,J=(X.inclusive?G.minimum:G.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>J)if(X.inclusive)G.minimum=X.value;else G.exclusiveMinimum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value>=X.value:W.value>X.value)return;W.issues.push({origin:Y,code:"too_small",minimum:typeof X.value==="object"?X.value.getTime():X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),vY=N("$ZodCheckMultipleOf",(Q,X)=>{J0.init(Q,X),Q._zod.onattach.push((Y)=>{var W;(W=Y._zod.bag).multipleOf??(W.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):nQ(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),xY=N("$ZodCheckNumberFormat",(Q,X)=>{J0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[G,J]=sQ[X.format];Q._zod.onattach.push((B)=>{let H=B._zod.bag;if(H.format=X.format,H.minimum=G,H.maximum=J,Y)H.pattern=jY}),Q._zod.check=(B)=>{let H=B.value;if(Y){if(!Number.isInteger(H)){B.issues.push({expected:W,format:X.format,code:"invalid_type",continue:!1,input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)B.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,inclusive:!0,continue:!X.abort});else B.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,inclusive:!0,continue:!X.abort});return}}if(H<G)B.issues.push({origin:"number",input:H,code:"too_small",minimum:G,inclusive:!0,inst:Q,continue:!X.abort});if(H>J)B.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inclusive:!0,inst:Q,continue:!X.abort})}});var _Y=N("$ZodCheckMaxLength",(Q,X)=>{var Y;J0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let G=W.value;return!J9(G)&&G.length!==void 0}),Q._zod.onattach.push((W)=>{let G=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<G)W._zod.bag.maximum=X.maximum}),Q._zod.check=(W)=>{let G=W.value;if(G.length<=X.maximum)return;let B=H9(G);W.issues.push({origin:B,code:"too_big",maximum:X.maximum,inclusive:!0,input:G,inst:Q,continue:!X.abort})}}),yY=N("$ZodCheckMinLength",(Q,X)=>{var Y;J0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let G=W.value;return!J9(G)&&G.length!==void 0}),Q._zod.onattach.push((W)=>{let G=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>G)W._zod.bag.minimum=X.minimum}),Q._zod.check=(W)=>{let G=W.value;if(G.length>=X.minimum)return;let B=H9(G);W.issues.push({origin:B,code:"too_small",minimum:X.minimum,inclusive:!0,input:G,inst:Q,continue:!X.abort})}}),gY=N("$ZodCheckLengthEquals",(Q,X)=>{var Y;J0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let G=W.value;return!J9(G)&&G.length!==void 0}),Q._zod.onattach.push((W)=>{let G=W._zod.bag;G.minimum=X.length,G.maximum=X.length,G.length=X.length}),Q._zod.check=(W)=>{let G=W.value,J=G.length;if(J===X.length)return;let B=H9(G),H=J>X.length;W.issues.push({origin:B,...H?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!X.abort})}}),Z9=N("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(J0.init(Q,X),Q._zod.onattach.push((G)=>{let J=G._zod.bag;if(J.format=X.format,X.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=(G)=>{if(X.pattern.lastIndex=0,X.pattern.test(G.value))return;G.issues.push({origin:"string",code:"invalid_format",format:X.format,input:G.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(W=Q._zod).check??(W.check=()=>{})}),hY=N("$ZodCheckRegex",(Q,X)=>{Z9.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),fY=N("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=CY),Z9.init(Q,X)}),uY=N("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=bY),Z9.init(Q,X)}),lY=N("$ZodCheckIncludes",(Q,X)=>{J0.init(Q,X);let Y=p0(X.includes),W=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=W,Q._zod.onattach.push((G)=>{let J=G._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=(G)=>{if(G.value.includes(X.includes,X.position))return;G.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:G.value,inst:Q,continue:!X.abort})}}),mY=N("$ZodCheckStartsWith",(Q,X)=>{J0.init(Q,X);let Y=new RegExp(`^${p0(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let G=W._zod.bag;G.patterns??(G.patterns=new Set),G.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.startsWith(X.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:W.value,inst:Q,continue:!X.abort})}}),cY=N("$ZodCheckEndsWith",(Q,X)=>{J0.init(Q,X);let Y=new RegExp(`.*${p0(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let G=W._zod.bag;G.patterns??(G.patterns=new Set),G.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.endsWith(X.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:W.value,inst:Q,continue:!X.abort})}});var pY=N("$ZodCheckOverwrite",(Q,X)=>{J0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class BX{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
|
|
11
|
+
`).filter((J)=>J),W=Math.min(...Y.map((J)=>J.length-J.trimStart().length)),G=Y.map((J)=>J.slice(W)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of G)this.content.push(J)}compile(){let Q=Function,X=this?.args,W=[...(this?.content??[""]).map((G)=>` ${G}`)];return new Q(...X,W.join(`
|
|
12
|
+
`))}}var iY={major:4,minor:4,patch:3};var d=N("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=iY;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let G of W)for(let J of G._zod.onattach)J(Q);if(W.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let G=(B,H,K)=>{let z=X1(B),A;for(let Z of H){if(Z._zod.def.when){if(eQ(B))continue;if(!Z._zod.def.when(B))continue}else if(z)continue;let D=B.issues.length,F=Z._zod.check(B);if(F instanceof Promise&&K?.async===!1)throw new m0;if(A||F instanceof Promise)A=(A??Promise.resolve()).then(async()=>{if(await F,B.issues.length===D)return;if(!z)z=X1(B,D)});else{if(B.issues.length===D)continue;if(!z)z=X1(B,D)}}if(A)return A.then(()=>{return B});return B},J=(B,H,K)=>{if(X1(B))return B.aborted=!0,B;let z=G(H,W,K);if(z instanceof Promise){if(K.async===!1)throw new m0;return z.then((A)=>Q._zod.parse(A,K))}return Q._zod.parse(z,K)};Q._zod.run=(B,H)=>{if(H.skipChecks)return Q._zod.parse(B,H);if(H.direction==="backward"){let z=Q._zod.parse({value:B.value,issues:[]},{...H,skipChecks:!0});if(z instanceof Promise)return z.then((A)=>{return J(A,B,H)});return J(z,B,H)}let K=Q._zod.parse(B,H);if(K instanceof Promise){if(H.async===!1)throw new m0;return K.then((z)=>G(z,W,H))}return G(K,W,H)}}f(Q,"~standard",()=>({validate:(G)=>{try{let J=z9(Q,G);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return N8(Q,G).then((B)=>B.success?{value:B.data}:{issues:B.error?.issues})}},vendor:"zod",version:1}))}),O8=N("$ZodString",(Q,X)=>{d.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??TY(Q._zod.bag),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=String(Y.value)}catch(G){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),i=N("$ZodStringFormat",(Q,X)=>{Z9.init(Q,X),O8.init(Q,X)}),XW=N("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=ZY),i.init(Q,X)}),YW=N("$ZodUUID",(Q,X)=>{if(X.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(W===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=YX(W))}else X.pattern??(X.pattern=YX());i.init(Q,X)}),WW=N("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=FY),i.init(Q,X)}),GW=N("$ZodURL",(Q,X)=>{i.init(Q,X),Q._zod.check=(Y)=>{try{let W=Y.value.trim();if(!X.normalize&&X.protocol?.source===qY.source){if(!/^https?:\/\//i.test(W)){Y.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:Y.value,inst:Q,continue:!X.abort});return}}let G=new URL(W);if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test(G.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:X.hostname.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test(G.protocol.endsWith(":")?G.protocol.slice(0,-1):G.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.normalize)Y.value=G.href;else Y.value=W;return}catch(W){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),JW=N("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=DY()),i.init(Q,X)}),BW=N("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=zY),i.init(Q,X)}),HW=N("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=GY),i.init(Q,X)}),KW=N("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=JY),i.init(Q,X)}),zW=N("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=BY),i.init(Q,X)}),AW=N("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=HY),i.init(Q,X)}),ZW=N("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=KY),i.init(Q,X)}),FW=N("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=EY(X)),i.init(Q,X)}),DW=N("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=OY),i.init(Q,X)}),VW=N("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=PY(X)),i.init(Q,X)}),LW=N("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=AY),i.init(Q,X)}),UW=N("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=VY),i.init(Q,X),Q._zod.bag.format="ipv4"}),NW=N("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=LY),i.init(Q,X),Q._zod.bag.format="ipv6",Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}});var MW=N("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=UY),i.init(Q,X)}),qW=N("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=NY),i.init(Q,X),Q._zod.check=(Y)=>{let W=Y.value.split("/");try{if(W.length!==2)throw Error();let[G,J]=W;if(!J)throw Error();let B=Number(J);if(`${B}`!==J)throw Error();if(B<0||B>128)throw Error();new URL(`http://[${G}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function wW(Q){if(Q==="")return!0;if(/\s/.test(Q))return!1;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var $W=N("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=MY),i.init(Q,X),Q._zod.bag.contentEncoding="base64",Q._zod.check=(Y)=>{if(wW(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function u3(Q){if(!WX.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return wW(Y)}var OW=N("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=WX),i.init(Q,X),Q._zod.bag.contentEncoding="base64url",Q._zod.check=(Y)=>{if(u3(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),IW=N("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=wY),i.init(Q,X)});function l3(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[W]=Y;if(!W)return!1;let G=JSON.parse(atob(W));if("typ"in G&&G?.typ!=="JWT")return!1;if(!G.alg)return!1;if(X&&(!("alg"in G)||G.alg!==X))return!1;return!0}catch{return!1}}var PW=N("$ZodJWT",(Q,X)=>{i.init(Q,X),Q._zod.check=(Y)=>{if(l3(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var KX=N("$ZodNumber",(Q,X)=>{d.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??M8,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(B){}let G=Y.value;if(typeof G==="number"&&!Number.isNaN(G)&&Number.isFinite(G))return Y;let J=typeof G==="number"?Number.isNaN(G)?"NaN":!Number.isFinite(G)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:G,inst:Q,...J?{received:J}:{}}),Y}}),EW=N("$ZodNumberFormat",(Q,X)=>{xY.init(Q,X),KX.init(Q,X)}),TW=N("$ZodBoolean",(Q,X)=>{d.init(Q,X),Q._zod.pattern=SY,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(J){}let G=Y.value;if(typeof G==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:G,inst:Q}),Y}});var jW=N("$ZodNull",(Q,X)=>{d.init(Q,X),Q._zod.pattern=RY,Q._zod.values=new Set([null]),Q._zod.parse=(Y,W)=>{let G=Y.value;if(G===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:G,inst:Q}),Y}});var SW=N("$ZodUnknown",(Q,X)=>{d.init(Q,X),Q._zod.parse=(Y)=>Y}),RW=N("$ZodNever",(Q,X)=>{d.init(Q,X),Q._zod.parse=(Y,W)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});function nY(Q,X,Y){if(Q.issues.length)X.issues.push(...d0(Y,Q.issues));X.value[Y]=Q.value}var CW=N("$ZodArray",(Q,X)=>{d.init(Q,X),Q._zod.parse=(Y,W)=>{let G=Y.value;if(!Array.isArray(G))return Y.issues.push({expected:"array",code:"invalid_type",input:G,inst:Q}),Y;Y.value=Array(G.length);let J=[];for(let B=0;B<G.length;B++){let H=G[B],K=X.element._zod.run({value:H,issues:[]},W);if(K instanceof Promise)J.push(K.then((z)=>nY(z,Y,B)));else nY(K,Y,B)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function $8(Q,X,Y,W,G,J){let B=Y in W;if(Q.issues.length){if(G&&J&&!B)return;X.issues.push(...d0(Y,Q.issues))}if(!B&&!G){if(!Q.issues.length)X.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[Y]});return}if(Q.value===void 0){if(B)X.value[Y]=void 0}else X.value[Y]=Q.value}function bW(Q){let X=Object.keys(Q.shape);for(let W of X)if(!Q.shape?.[W]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${W}": expected a Zod schema`);let Y=aQ(Q.shape);return{...Q,keys:X,keySet:new Set(X),numKeys:X.length,optionalKeys:new Set(Y)}}function kW(Q,X,Y,W,G,J){let B=[],H=G.keySet,K=G.catchall._zod,z=K.def.type,A=K.optin==="optional",Z=K.optout==="optional";for(let D in X){if(D==="__proto__")continue;if(H.has(D))continue;if(z==="never"){B.push(D);continue}let F=K.run({value:X[D],issues:[]},W);if(F instanceof Promise)Q.push(F.then((V)=>$8(V,Y,D,X,A,Z)));else $8(F,Y,D,X,A,Z)}if(B.length)Y.issues.push({code:"unrecognized_keys",keys:B,input:X,inst:J});if(!Q.length)return Y;return Promise.all(Q).then(()=>{return Y})}var m3=N("$ZodObject",(Q,X)=>{if(d.init(Q,X),!Object.getOwnPropertyDescriptor(X,"shape")?.get){let H=X.shape;Object.defineProperty(X,"shape",{get:()=>{let K={...H};return Object.defineProperty(X,"shape",{value:K}),K}})}let W=R1(()=>bW(X));f(Q._zod,"propValues",()=>{let H=X.shape,K={};for(let z in H){let A=H[z]._zod;if(A.values){K[z]??(K[z]=new Set);for(let Z of A.values)K[z].add(Z)}}return K});let G=N1,J=X.catchall,B;Q._zod.parse=(H,K)=>{B??(B=W.value);let z=H.value;if(!G(z))return H.issues.push({expected:"object",code:"invalid_type",input:z,inst:Q}),H;H.value={};let A=[],Z=B.shape;for(let D of B.keys){let F=Z[D],V=F._zod.optin==="optional",L=F._zod.optout==="optional",M=F._zod.run({value:z[D],issues:[]},K);if(M instanceof Promise)A.push(M.then((q)=>$8(q,H,D,z,V,L)));else $8(M,H,D,z,V,L)}if(!J)return A.length?Promise.all(A).then(()=>H):H;return kW(A,z,H,K,W.value,Q)}}),vW=N("$ZodObjectJIT",(Q,X)=>{m3.init(Q,X);let Y=Q._zod.parse,W=R1(()=>bW(X)),G=(D)=>{let F=new BX(["shape","payload","ctx"]),V=W.value,L=(j)=>{let R=Z8(j);return`shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};F.write("const input = payload.value;");let M=Object.create(null),q=0;for(let j of V.keys)M[j]=`key_${q++}`;F.write("const newResult = {};");for(let j of V.keys){let R=M[j],I=Z8(j),w0=D[j],P0=w0?._zod?.optin==="optional",Q9=w0?._zod?.optout==="optional";if(F.write(`const ${R} = ${L(j)};`),P0&&Q9)F.write(`
|
|
13
|
+
if (${R}.issues.length) {
|
|
14
|
+
if (${I} in input) {
|
|
15
|
+
payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
|
|
16
|
+
...iss,
|
|
17
|
+
path: iss.path ? [${I}, ...iss.path] : [${I}]
|
|
18
|
+
})));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (${R}.value === undefined) {
|
|
23
|
+
if (${I} in input) {
|
|
24
|
+
newResult[${I}] = undefined;
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
newResult[${I}] = ${R}.value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
`);else if(!P0)F.write(`
|
|
31
|
+
const ${R}_present = ${I} in input;
|
|
32
|
+
if (${R}.issues.length) {
|
|
33
|
+
payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
|
|
34
|
+
...iss,
|
|
35
|
+
path: iss.path ? [${I}, ...iss.path] : [${I}]
|
|
36
|
+
})));
|
|
37
|
+
}
|
|
38
|
+
if (!${R}_present && !${R}.issues.length) {
|
|
39
|
+
payload.issues.push({
|
|
40
|
+
code: "invalid_type",
|
|
41
|
+
expected: "nonoptional",
|
|
42
|
+
input: undefined,
|
|
43
|
+
path: [${I}]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (${R}_present) {
|
|
48
|
+
if (${R}.value === undefined) {
|
|
49
|
+
newResult[${I}] = undefined;
|
|
50
|
+
} else {
|
|
51
|
+
newResult[${I}] = ${R}.value;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
`);else F.write(`
|
|
56
|
+
if (${R}.issues.length) {
|
|
57
|
+
payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
|
|
58
|
+
...iss,
|
|
59
|
+
path: iss.path ? [${I}, ...iss.path] : [${I}]
|
|
60
|
+
})));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (${R}.value === undefined) {
|
|
64
|
+
if (${I} in input) {
|
|
65
|
+
newResult[${I}] = undefined;
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
newResult[${I}] = ${R}.value;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
`)}F.write("payload.value = newResult;"),F.write("return payload;");let O=F.compile();return(j,R)=>O(D,j,R)},J,B=N1,H=!j1.jitless,z=H&&rQ.value,A=X.catchall,Z;Q._zod.parse=(D,F)=>{Z??(Z=W.value);let V=D.value;if(!B(V))return D.issues.push({expected:"object",code:"invalid_type",input:V,inst:Q}),D;if(H&&z&&F?.async===!1&&F.jitless!==!0){if(!J)J=G(X.shape);if(D=J(D,F),!A)return D;return kW([],V,D,F,Z,Q)}return Y(D,F)}});function oY(Q,X,Y,W){for(let J of Q)if(J.issues.length===0)return X.value=J.value,X;let G=Q.filter((J)=>!X1(J));if(G.length===1)return X.value=G[0].value,G[0];return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map((J)=>J.issues.map((B)=>E0(B,W,$0())))}),X}var zX=N("$ZodUnion",(Q,X)=>{d.init(Q,X),f(Q._zod,"optin",()=>X.options.some((W)=>W._zod.optin==="optional")?"optional":void 0),f(Q._zod,"optout",()=>X.options.some((W)=>W._zod.optout==="optional")?"optional":void 0),f(Q._zod,"values",()=>{if(X.options.every((W)=>W._zod.values))return new Set(X.options.flatMap((W)=>Array.from(W._zod.values)));return}),f(Q._zod,"pattern",()=>{if(X.options.every((W)=>W._zod.pattern)){let W=X.options.map((G)=>G._zod.pattern);return new RegExp(`^(${W.map((G)=>B9(G.source)).join("|")})$`)}return});let Y=X.options.length===1?X.options[0]._zod.run:null;Q._zod.parse=(W,G)=>{if(Y)return Y(W,G);let J=!1,B=[];for(let H of X.options){let K=H._zod.run({value:W.value,issues:[]},G);if(K instanceof Promise)B.push(K),J=!0;else{if(K.issues.length===0)return K;B.push(K)}}if(!J)return oY(B,W,Q,G);return Promise.all(B).then((H)=>{return oY(H,W,Q,G)})}});var xW=N("$ZodDiscriminatedUnion",(Q,X)=>{X.inclusive=!1,zX.init(Q,X);let Y=Q._zod.parse;f(Q._zod,"propValues",()=>{let G={};for(let J of X.options){let B=J._zod.propValues;if(!B||Object.keys(B).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(J)}"`);for(let[H,K]of Object.entries(B)){if(!G[H])G[H]=new Set;for(let z of K)G[H].add(z)}}return G});let W=R1(()=>{let G=X.options,J=new Map;for(let B of G){let H=B._zod.propValues?.[X.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(B)}"`);for(let K of H){if(J.has(K))throw Error(`Duplicate discriminator value "${String(K)}"`);J.set(K,B)}}return J});Q._zod.parse=(G,J)=>{let B=G.value;if(!N1(B))return G.issues.push({code:"invalid_type",expected:"object",input:B,inst:Q}),G;let H=W.value.get(B?.[X.discriminator]);if(H)return H._zod.run(G,J);if(X.unionFallback||J.direction==="backward")return Y(G,J);return G.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:X.discriminator,options:Array.from(W.value.keys()),input:B,path:[X.discriminator],inst:Q}),G}}),_W=N("$ZodIntersection",(Q,X)=>{d.init(Q,X),Q._zod.parse=(Y,W)=>{let G=Y.value,J=X.left._zod.run({value:G,issues:[]},W),B=X.right._zod.run({value:G,issues:[]},W);if(J instanceof Promise||B instanceof Promise)return Promise.all([J,B]).then(([K,z])=>{return rY(Y,K,z)});return rY(Y,J,B)}});function HX(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(Q1(Q)&&Q1(X)){let Y=Object.keys(X),W=Object.keys(Q).filter((J)=>Y.indexOf(J)!==-1),G={...Q,...X};for(let J of W){let B=HX(Q[J],X[J]);if(!B.valid)return{valid:!1,mergeErrorPath:[J,...B.mergeErrorPath]};G[J]=B.data}return{valid:!0,data:G}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let W=0;W<Q.length;W++){let G=Q[W],J=X[W],B=HX(G,J);if(!B.valid)return{valid:!1,mergeErrorPath:[W,...B.mergeErrorPath]};Y.push(B.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function rY(Q,X,Y){let W=new Map,G;for(let H of X.issues)if(H.code==="unrecognized_keys"){G??(G=H);for(let K of H.keys){if(!W.has(K))W.set(K,{});W.get(K).l=!0}}else Q.issues.push(H);for(let H of Y.issues)if(H.code==="unrecognized_keys")for(let K of H.keys){if(!W.has(K))W.set(K,{});W.get(K).r=!0}else Q.issues.push(H);let J=[...W].filter(([,H])=>H.l&&H.r).map(([H])=>H);if(J.length&&G)Q.issues.push({...G,keys:J});if(X1(Q))return Q;let B=HX(X.value,Y.value);if(!B.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(B.mergeErrorPath)}`);return Q.value=B.data,Q}var yW=N("$ZodRecord",(Q,X)=>{d.init(Q,X),Q._zod.parse=(Y,W)=>{let G=Y.value;if(!Q1(G))return Y.issues.push({expected:"record",code:"invalid_type",input:G,inst:Q}),Y;let J=[],B=X.keyType._zod.values;if(B){Y.value={};let H=new Set;for(let z of B)if(typeof z==="string"||typeof z==="number"||typeof z==="symbol"){H.add(typeof z==="number"?z.toString():z);let A=X.keyType._zod.run({value:z,issues:[]},W);if(A instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(A.issues.length){Y.issues.push({code:"invalid_key",origin:"record",issues:A.issues.map((F)=>E0(F,W,$0())),input:z,path:[z],inst:Q});continue}let Z=A.value,D=X.valueType._zod.run({value:G[z],issues:[]},W);if(D instanceof Promise)J.push(D.then((F)=>{if(F.issues.length)Y.issues.push(...d0(z,F.issues));Y.value[Z]=F.value}));else{if(D.issues.length)Y.issues.push(...d0(z,D.issues));Y.value[Z]=D.value}}let K;for(let z in G)if(!H.has(z))K=K??[],K.push(z);if(K&&K.length>0)Y.issues.push({code:"unrecognized_keys",input:G,inst:Q,keys:K})}else{Y.value={};for(let H of Reflect.ownKeys(G)){if(H==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(G,H))continue;let K=X.keyType._zod.run({value:H,issues:[]},W);if(K instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof H==="string"&&M8.test(H)&&K.issues.length){let Z=X.keyType._zod.run({value:Number(H),issues:[]},W);if(Z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(Z.issues.length===0)K=Z}if(K.issues.length){if(X.mode==="loose")Y.value[H]=G[H];else Y.issues.push({code:"invalid_key",origin:"record",issues:K.issues.map((Z)=>E0(Z,W,$0())),input:H,path:[H],inst:Q});continue}let A=X.valueType._zod.run({value:G[H],issues:[]},W);if(A instanceof Promise)J.push(A.then((Z)=>{if(Z.issues.length)Y.issues.push(...d0(H,Z.issues));Y.value[K.value]=Z.value}));else{if(A.issues.length)Y.issues.push(...d0(H,A.issues));Y.value[K.value]=A.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var gW=N("$ZodEnum",(Q,X)=>{d.init(Q,X);let Y=G9(X.entries),W=new Set(Y);Q._zod.values=W,Q._zod.pattern=new RegExp(`^(${Y.filter((G)=>tQ.has(typeof G)).map((G)=>typeof G==="string"?p0(G):G.toString()).join("|")})$`),Q._zod.parse=(G,J)=>{let B=G.value;if(W.has(B))return G;return G.issues.push({code:"invalid_value",values:Y,input:B,inst:Q}),G}}),hW=N("$ZodLiteral",(Q,X)=>{if(d.init(Q,X),X.values.length===0)throw Error("Cannot create literal schema with no valid values");let Y=new Set(X.values);Q._zod.values=Y,Q._zod.pattern=new RegExp(`^(${X.values.map((W)=>typeof W==="string"?p0(W):W?p0(W.toString()):String(W)).join("|")})$`),Q._zod.parse=(W,G)=>{let J=W.value;if(Y.has(J))return W;return W.issues.push({code:"invalid_value",values:X.values,input:J,inst:Q}),W}});var fW=N("$ZodTransform",(Q,X)=>{d.init(Q,X),Q._zod.optin="optional",Q._zod.parse=(Y,W)=>{if(W.direction==="backward")throw new Y9(Q.constructor.name);let G=X.transform(Y.value,Y);if(W.async)return(G instanceof Promise?G:Promise.resolve(G)).then((B)=>{return Y.value=B,Y.fallback=!0,Y});if(G instanceof Promise)throw new m0;return Y.value=G,Y.fallback=!0,Y}});function tY(Q,X){if(X===void 0&&(Q.issues.length||Q.fallback))return{issues:[],value:void 0};return Q}var AX=N("$ZodOptional",(Q,X)=>{d.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",f(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),f(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${B9(Y.source)})?$`):void 0}),Q._zod.parse=(Y,W)=>{if(X.innerType._zod.optin==="optional"){let G=Y.value,J=X.innerType._zod.run(Y,W);if(J instanceof Promise)return J.then((B)=>tY(B,G));return tY(J,G)}if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,W)}}),uW=N("$ZodExactOptional",(Q,X)=>{AX.init(Q,X),f(Q._zod,"values",()=>X.innerType._zod.values),f(Q._zod,"pattern",()=>X.innerType._zod.pattern),Q._zod.parse=(Y,W)=>{return X.innerType._zod.run(Y,W)}}),lW=N("$ZodNullable",(Q,X)=>{d.init(Q,X),f(Q._zod,"optin",()=>X.innerType._zod.optin),f(Q._zod,"optout",()=>X.innerType._zod.optout),f(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${B9(Y.source)}|null)$`):void 0}),f(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,W)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,W)}}),mW=N("$ZodDefault",(Q,X)=>{d.init(Q,X),Q._zod.optin="optional",f(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(W.direction==="backward")return X.innerType._zod.run(Y,W);if(Y.value===void 0)return Y.value=X.defaultValue,Y;let G=X.innerType._zod.run(Y,W);if(G instanceof Promise)return G.then((J)=>aY(J,X));return aY(G,X)}});function aY(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var cW=N("$ZodPrefault",(Q,X)=>{d.init(Q,X),Q._zod.optin="optional",f(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(W.direction==="backward")return X.innerType._zod.run(Y,W);if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,W)}}),pW=N("$ZodNonOptional",(Q,X)=>{d.init(Q,X),f(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(Y,W)=>{let G=X.innerType._zod.run(Y,W);if(G instanceof Promise)return G.then((J)=>sY(J,Q));return sY(G,Q)}});function sY(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var dW=N("$ZodCatch",(Q,X)=>{d.init(Q,X),Q._zod.optin="optional",f(Q._zod,"optout",()=>X.innerType._zod.optout),f(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(W.direction==="backward")return X.innerType._zod.run(Y,W);let G=X.innerType._zod.run(Y,W);if(G instanceof Promise)return G.then((J)=>{if(Y.value=J.value,J.issues.length)Y.value=X.catchValue({...Y,error:{issues:J.issues.map((B)=>E0(B,W,$0()))},input:Y.value}),Y.issues=[],Y.fallback=!0;return Y});if(Y.value=G.value,G.issues.length)Y.value=X.catchValue({...Y,error:{issues:G.issues.map((J)=>E0(J,W,$0()))},input:Y.value}),Y.issues=[],Y.fallback=!0;return Y}});var ZX=N("$ZodPipe",(Q,X)=>{d.init(Q,X),f(Q._zod,"values",()=>X.in._zod.values),f(Q._zod,"optin",()=>X.in._zod.optin),f(Q._zod,"optout",()=>X.out._zod.optout),f(Q._zod,"propValues",()=>X.in._zod.propValues),Q._zod.parse=(Y,W)=>{if(W.direction==="backward"){let J=X.out._zod.run(Y,W);if(J instanceof Promise)return J.then((B)=>w8(B,X.in,W));return w8(J,X.in,W)}let G=X.in._zod.run(Y,W);if(G instanceof Promise)return G.then((J)=>w8(J,X.out,W));return w8(G,X.out,W)}});function w8(Q,X,Y){if(Q.issues.length)return Q.aborted=!0,Q;return X._zod.run({value:Q.value,issues:Q.issues,fallback:Q.fallback},Y)}var iW=N("$ZodPreprocess",(Q,X)=>{ZX.init(Q,X)}),nW=N("$ZodReadonly",(Q,X)=>{d.init(Q,X),f(Q._zod,"propValues",()=>X.innerType._zod.propValues),f(Q._zod,"values",()=>X.innerType._zod.values),f(Q._zod,"optin",()=>X.innerType?._zod?.optin),f(Q._zod,"optout",()=>X.innerType?._zod?.optout),Q._zod.parse=(Y,W)=>{if(W.direction==="backward")return X.innerType._zod.run(Y,W);let G=X.innerType._zod.run(Y,W);if(G instanceof Promise)return G.then(eY);return eY(G)}});function eY(Q){return Q.value=Object.freeze(Q.value),Q}var oW=N("$ZodCustom",(Q,X)=>{J0.init(Q,X),d.init(Q,X),Q._zod.parse=(Y,W)=>{return Y},Q._zod.check=(Y)=>{let W=Y.value,G=X.fn(W);if(G instanceof Promise)return G.then((J)=>QW(J,Y,W,Q));QW(G,Y,W,Q);return}});function QW(Q,X,Y,W){if(!Q){let G={code:"custom",input:Y,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)G.params=W._zod.def.params;X.issues.push(C1(G))}}var c3=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function X(G){return Q[G]??null}let Y={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},W={nan:"NaN"};return(G)=>{switch(G.code){case"invalid_type":{let J=W[G.expected]??G.expected,B=QX(G.input),H=W[B]??B;return`Invalid input: expected ${J}, received ${H}`}case"invalid_value":if(G.values.length===1)return`Invalid input: expected ${D8(G.values[0])}`;return`Invalid option: expected one of ${A8(G.values,"|")}`;case"too_big":{let J=G.inclusive?"<=":"<",B=X(G.origin);if(B)return`Too big: expected ${G.origin??"value"} to have ${J}${G.maximum.toString()} ${B.unit??"elements"}`;return`Too big: expected ${G.origin??"value"} to be ${J}${G.maximum.toString()}`}case"too_small":{let J=G.inclusive?">=":">",B=X(G.origin);if(B)return`Too small: expected ${G.origin} to have ${J}${G.minimum.toString()} ${B.unit}`;return`Too small: expected ${G.origin} to be ${J}${G.minimum.toString()}`}case"invalid_format":{let J=G;if(J.format==="starts_with")return`Invalid string: must start with "${J.prefix}"`;if(J.format==="ends_with")return`Invalid string: must end with "${J.suffix}"`;if(J.format==="includes")return`Invalid string: must include "${J.includes}"`;if(J.format==="regex")return`Invalid string: must match pattern ${J.pattern}`;return`Invalid ${Y[J.format]??G.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${G.divisor}`;case"unrecognized_keys":return`Unrecognized key${G.keys.length>1?"s":""}: ${A8(G.keys,", ")}`;case"invalid_key":return`Invalid key in ${G.origin}`;case"invalid_union":if(G.options&&Array.isArray(G.options)&&G.options.length>0)return`Invalid discriminator value. Expected ${G.options.map((B)=>`'${B}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${G.origin}`;default:return"Invalid input"}}};function FX(){return{localeError:c3()}}var rW,UI=Symbol("ZodOutput"),NI=Symbol("ZodInput");class tW{constructor(){this._map=new WeakMap,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y)this._idmap.set(Y.id,Q);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};delete Y.id;let W={...Y,...this._map.get(Q)};return Object.keys(W).length?W:void 0}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function p3(){return new tW}(rW=globalThis).__zod_globalRegistry??(rW.__zod_globalRegistry=p3());var M1=globalThis.__zod_globalRegistry;function aW(Q,X){return new Q({type:"string",...S(X)})}function sW(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...S(X)})}function DX(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...S(X)})}function eW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...S(X)})}function Q7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...S(X)})}function X7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...S(X)})}function Y7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...S(X)})}function W7(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...S(X)})}function G7(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...S(X)})}function J7(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...S(X)})}function B7(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...S(X)})}function H7(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...S(X)})}function K7(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...S(X)})}function z7(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...S(X)})}function A7(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...S(X)})}function Z7(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...S(X)})}function F7(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...S(X)})}function D7(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...S(X)})}function V7(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...S(X)})}function L7(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...S(X)})}function U7(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...S(X)})}function N7(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...S(X)})}function M7(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...S(X)})}function q7(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...S(X)})}function w7(Q,X){return new Q({type:"string",format:"date",check:"string_format",...S(X)})}function $7(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...S(X)})}function O7(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...S(X)})}function I7(Q,X){return new Q({type:"number",checks:[],...S(X)})}function P7(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...S(X)})}function E7(Q,X){return new Q({type:"boolean",...S(X)})}function T7(Q,X){return new Q({type:"null",...S(X)})}function j7(Q){return new Q({type:"unknown"})}function S7(Q,X){return new Q({type:"never",...S(X)})}function I8(Q,X){return new GX({check:"less_than",...S(X),value:Q,inclusive:!1})}function F9(Q,X){return new GX({check:"less_than",...S(X),value:Q,inclusive:!0})}function P8(Q,X){return new JX({check:"greater_than",...S(X),value:Q,inclusive:!1})}function D9(Q,X){return new JX({check:"greater_than",...S(X),value:Q,inclusive:!0})}function E8(Q,X){return new vY({check:"multiple_of",...S(X),value:Q})}function T8(Q,X){return new _Y({check:"max_length",...S(X),maximum:Q})}function b1(Q,X){return new yY({check:"min_length",...S(X),minimum:Q})}function j8(Q,X){return new gY({check:"length_equals",...S(X),length:Q})}function VX(Q,X){return new hY({check:"string_format",format:"regex",...S(X),pattern:Q})}function LX(Q){return new fY({check:"string_format",format:"lowercase",...S(Q)})}function UX(Q){return new uY({check:"string_format",format:"uppercase",...S(Q)})}function NX(Q,X){return new lY({check:"string_format",format:"includes",...S(X),includes:Q})}function MX(Q,X){return new mY({check:"string_format",format:"starts_with",...S(X),prefix:Q})}function qX(Q,X){return new cY({check:"string_format",format:"ends_with",...S(X),suffix:Q})}function Y1(Q){return new pY({check:"overwrite",tx:Q})}function wX(Q){return Y1((X)=>X.normalize(Q))}function $X(){return Y1((Q)=>Q.trim())}function OX(){return Y1((Q)=>Q.toLowerCase())}function IX(){return Y1((Q)=>Q.toUpperCase())}function PX(){return Y1((Q)=>oQ(Q))}function R7(Q,X,Y){return new Q({type:"array",element:X,...S(Y)})}function C7(Q,X,Y){let W=S(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function b7(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...S(Y)})}function k7(Q,X){let Y=d3((W)=>{return W.addIssue=(G)=>{if(typeof G==="string")W.issues.push(C1(G,W.value,Y._zod.def));else{let J=G;if(J.fatal)J.continue=!1;J.code??(J.code="custom"),J.input??(J.input=W.value),J.inst??(J.inst=Y),J.continue??(J.continue=!Y._zod.def.abort),W.issues.push(C1(J))}},Q(W.value,W)},X);return Y}function d3(Q,X){let Y=new J0({check:"custom",...S(X)});return Y._zod.check=Q,Y}function EX(Q){let X=Q?.target??"draft-2020-12";if(X==="draft-4")X="draft-04";if(X==="draft-7")X="draft-07";return{processors:Q.processors??{},metadataRegistry:Q?.metadata??M1,target:X,unrepresentable:Q?.unrepresentable??"throw",override:Q?.override??(()=>{}),io:Q?.io??"output",counter:0,seen:new Map,cycles:Q?.cycles??"ref",reused:Q?.reused??"inline",external:Q?.external??void 0}}function Q0(Q,X,Y={path:[],schemaPath:[]}){var W;let G=Q._zod.def,J=X.seen.get(Q);if(J){if(J.count++,Y.schemaPath.includes(Q))J.cycle=Y.path;return J.schema}let B={schema:{},count:1,cycle:void 0,path:Y.path};X.seen.set(Q,B);let H=Q._zod.toJSONSchema?.();if(H)B.schema=H;else{let A={...Y,schemaPath:[...Y.schemaPath,Q],path:Y.path};if(Q._zod.processJSONSchema)Q._zod.processJSONSchema(X,B.schema,A);else{let D=B.schema,F=X.processors[G.type];if(!F)throw Error(`[toJSONSchema]: Non-representable type encountered: ${G.type}`);F(Q,X,D,A)}let Z=Q._zod.parent;if(Z){if(!B.ref)B.ref=Z;Q0(Z,X,A),X.seen.get(Z).isParent=!0}}let K=X.metadataRegistry.get(Q);if(K)Object.assign(B.schema,K);if(X.io==="input"&&Z0(Q))delete B.schema.examples,delete B.schema.default;if(X.io==="input"&&"_prefault"in B.schema)(W=B.schema).default??(W.default=B.schema._prefault);return delete B.schema._prefault,X.seen.get(Q).schema}function TX(Q,X){let Y=Q.seen.get(X);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let W=new Map;for(let B of Q.seen.entries()){let H=Q.metadataRegistry.get(B[0])?.id;if(H){let K=W.get(H);if(K&&K!==B[0])throw Error(`Duplicate schema id "${H}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);W.set(H,B[0])}}let G=(B)=>{let H=Q.target==="draft-2020-12"?"$defs":"definitions";if(Q.external){let Z=Q.external.registry.get(B[0])?.id,D=Q.external.uri??((V)=>V);if(Z)return{ref:D(Z)};let F=B[1].defId??B[1].schema.id??`schema${Q.counter++}`;return B[1].defId=F,{defId:F,ref:`${D("__shared")}#/${H}/${F}`}}if(B[1]===Y)return{ref:"#"};let z=`${"#"}/${H}/`,A=B[1].schema.id??`__schema${Q.counter++}`;return{defId:A,ref:z+A}},J=(B)=>{if(B[1].schema.$ref)return;let H=B[1],{ref:K,defId:z}=G(B);if(H.def={...H.schema},z)H.defId=z;let A=H.schema;for(let Z in A)delete A[Z];A.$ref=K};if(Q.cycles==="throw")for(let B of Q.seen.entries()){let H=B[1];if(H.cycle)throw Error(`Cycle detected: #/${H.cycle?.join("/")}/<root>
|
|
72
|
+
|
|
73
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let B of Q.seen.entries()){let H=B[1];if(X===B[0]){J(B);continue}if(Q.external){let z=Q.external.registry.get(B[0])?.id;if(X!==B[0]&&z){J(B);continue}}if(Q.metadataRegistry.get(B[0])?.id){J(B);continue}if(H.cycle){J(B);continue}if(H.count>1){if(Q.reused==="ref"){J(B);continue}}}}function jX(Q,X){let Y=Q.seen.get(X);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let W=(H)=>{let K=Q.seen.get(H);if(K.ref===null)return;let z=K.def??K.schema,A={...z},Z=K.ref;if(K.ref=null,Z){W(Z);let F=Q.seen.get(Z),V=F.schema;if(V.$ref&&(Q.target==="draft-07"||Q.target==="draft-04"||Q.target==="openapi-3.0"))z.allOf=z.allOf??[],z.allOf.push(V);else Object.assign(z,V);if(Object.assign(z,A),H._zod.parent===Z)for(let M in z){if(M==="$ref"||M==="allOf")continue;if(!(M in A))delete z[M]}if(V.$ref&&F.def)for(let M in z){if(M==="$ref"||M==="allOf")continue;if(M in F.def&&JSON.stringify(z[M])===JSON.stringify(F.def[M]))delete z[M]}}let D=H._zod.parent;if(D&&D!==Z){W(D);let F=Q.seen.get(D);if(F?.schema.$ref){if(z.$ref=F.schema.$ref,F.def)for(let V in z){if(V==="$ref"||V==="allOf")continue;if(V in F.def&&JSON.stringify(z[V])===JSON.stringify(F.def[V]))delete z[V]}}}Q.override({zodSchema:H,jsonSchema:z,path:K.path??[]})};for(let H of[...Q.seen.entries()].reverse())W(H[0]);let G={};if(Q.target==="draft-2020-12")G.$schema="https://json-schema.org/draft/2020-12/schema";else if(Q.target==="draft-07")G.$schema="http://json-schema.org/draft-07/schema#";else if(Q.target==="draft-04")G.$schema="http://json-schema.org/draft-04/schema#";else if(Q.target==="openapi-3.0");if(Q.external?.uri){let H=Q.external.registry.get(X)?.id;if(!H)throw Error("Schema is missing an `id` property");G.$id=Q.external.uri(H)}Object.assign(G,Y.def??Y.schema);let J=Q.metadataRegistry.get(X)?.id;if(J!==void 0&&G.id===J)delete G.id;let B=Q.external?.defs??{};for(let H of Q.seen.entries()){let K=H[1];if(K.def&&K.defId){if(K.def.id===K.defId)delete K.def.id;B[K.defId]=K.def}}if(Q.external);else if(Object.keys(B).length>0)if(Q.target==="draft-2020-12")G.$defs=B;else G.definitions=B;try{let H=JSON.parse(JSON.stringify(G));return Object.defineProperty(H,"~standard",{value:{...X["~standard"],jsonSchema:{input:V9(X,"input",Q.processors),output:V9(X,"output",Q.processors)}},enumerable:!1,writable:!1}),H}catch(H){throw Error("Error converting schema to JSON.")}}function Z0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let W=Q._zod.def;if(W.type==="transform")return!0;if(W.type==="array")return Z0(W.element,Y);if(W.type==="set")return Z0(W.valueType,Y);if(W.type==="lazy")return Z0(W.getter(),Y);if(W.type==="promise"||W.type==="optional"||W.type==="nonoptional"||W.type==="nullable"||W.type==="readonly"||W.type==="default"||W.type==="prefault")return Z0(W.innerType,Y);if(W.type==="intersection")return Z0(W.left,Y)||Z0(W.right,Y);if(W.type==="record"||W.type==="map")return Z0(W.keyType,Y)||Z0(W.valueType,Y);if(W.type==="pipe"){if(Q._zod.traits.has("$ZodCodec"))return!0;return Z0(W.in,Y)||Z0(W.out,Y)}if(W.type==="object"){for(let G in W.shape)if(Z0(W.shape[G],Y))return!0;return!1}if(W.type==="union"){for(let G of W.options)if(Z0(G,Y))return!0;return!1}if(W.type==="tuple"){for(let G of W.items)if(Z0(G,Y))return!0;if(W.rest&&Z0(W.rest,Y))return!0;return!1}return!1}var v7=(Q,X={})=>(Y)=>{let W=EX({...Y,processors:X});return Q0(Q,W),TX(W,Q),jX(W,Q)},V9=(Q,X,Y={})=>(W)=>{let{libraryOptions:G,target:J}=W??{},B=EX({...G??{},target:J,io:X,processors:Y});return Q0(Q,B),TX(B,Q),jX(B,Q)};var i3={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},x7=(Q,X,Y,W)=>{let G=Y;G.type="string";let{minimum:J,maximum:B,format:H,patterns:K,contentEncoding:z}=Q._zod.bag;if(typeof J==="number")G.minLength=J;if(typeof B==="number")G.maxLength=B;if(H){if(G.format=i3[H]??H,G.format==="")delete G.format;if(H==="time")delete G.format}if(z)G.contentEncoding=z;if(K&&K.size>0){let A=[...K];if(A.length===1)G.pattern=A[0].source;else if(A.length>1)G.allOf=[...A.map((Z)=>({...X.target==="draft-07"||X.target==="draft-04"||X.target==="openapi-3.0"?{type:"string"}:{},pattern:Z.source}))]}},_7=(Q,X,Y,W)=>{let G=Y,{minimum:J,maximum:B,format:H,multipleOf:K,exclusiveMaximum:z,exclusiveMinimum:A}=Q._zod.bag;if(typeof H==="string"&&H.includes("int"))G.type="integer";else G.type="number";let Z=typeof A==="number"&&A>=(J??Number.NEGATIVE_INFINITY),D=typeof z==="number"&&z<=(B??Number.POSITIVE_INFINITY),F=X.target==="draft-04"||X.target==="openapi-3.0";if(Z)if(F)G.minimum=A,G.exclusiveMinimum=!0;else G.exclusiveMinimum=A;else if(typeof J==="number")G.minimum=J;if(D)if(F)G.maximum=z,G.exclusiveMaximum=!0;else G.exclusiveMaximum=z;else if(typeof B==="number")G.maximum=B;if(typeof K==="number")G.multipleOf=K},y7=(Q,X,Y,W)=>{Y.type="boolean"};var g7=(Q,X,Y,W)=>{if(X.target==="openapi-3.0")Y.type="string",Y.nullable=!0,Y.enum=[null];else Y.type="null"};var h7=(Q,X,Y,W)=>{Y.not={}};var f7=(Q,X,Y,W)=>{};var u7=(Q,X,Y,W)=>{let G=Q._zod.def,J=G9(G.entries);if(J.every((B)=>typeof B==="number"))Y.type="number";if(J.every((B)=>typeof B==="string"))Y.type="string";Y.enum=J},l7=(Q,X,Y,W)=>{let G=Q._zod.def,J=[];for(let B of G.values)if(B===void 0){if(X.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof B==="bigint")if(X.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else J.push(Number(B));else J.push(B);if(J.length===0);else if(J.length===1){let B=J[0];if(Y.type=B===null?"null":typeof B,X.target==="draft-04"||X.target==="openapi-3.0")Y.enum=[B];else Y.const=B}else{if(J.every((B)=>typeof B==="number"))Y.type="number";if(J.every((B)=>typeof B==="string"))Y.type="string";if(J.every((B)=>typeof B==="boolean"))Y.type="boolean";if(J.every((B)=>B===null))Y.type="null";Y.enum=J}};var m7=(Q,X,Y,W)=>{if(X.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")};var c7=(Q,X,Y,W)=>{if(X.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")};var p7=(Q,X,Y,W)=>{let G=Y,J=Q._zod.def,{minimum:B,maximum:H}=Q._zod.bag;if(typeof B==="number")G.minItems=B;if(typeof H==="number")G.maxItems=H;G.type="array",G.items=Q0(J.element,X,{...W,path:[...W.path,"items"]})},d7=(Q,X,Y,W)=>{let G=Y,J=Q._zod.def;G.type="object",G.properties={};let B=J.shape;for(let z in B)G.properties[z]=Q0(B[z],X,{...W,path:[...W.path,"properties",z]});let H=new Set(Object.keys(B)),K=new Set([...H].filter((z)=>{let A=J.shape[z]._zod;if(X.io==="input")return A.optin===void 0;else return A.optout===void 0}));if(K.size>0)G.required=Array.from(K);if(J.catchall?._zod.def.type==="never")G.additionalProperties=!1;else if(!J.catchall){if(X.io==="output")G.additionalProperties=!1}else if(J.catchall)G.additionalProperties=Q0(J.catchall,X,{...W,path:[...W.path,"additionalProperties"]})},i7=(Q,X,Y,W)=>{let G=Q._zod.def,J=G.inclusive===!1,B=G.options.map((H,K)=>Q0(H,X,{...W,path:[...W.path,J?"oneOf":"anyOf",K]}));if(J)Y.oneOf=B;else Y.anyOf=B},n7=(Q,X,Y,W)=>{let G=Q._zod.def,J=Q0(G.left,X,{...W,path:[...W.path,"allOf",0]}),B=Q0(G.right,X,{...W,path:[...W.path,"allOf",1]}),H=(z)=>("allOf"in z)&&Object.keys(z).length===1,K=[...H(J)?J.allOf:[J],...H(B)?B.allOf:[B]];Y.allOf=K};var o7=(Q,X,Y,W)=>{let G=Y,J=Q._zod.def;G.type="object";let B=J.keyType,K=B._zod.bag?.patterns;if(J.mode==="loose"&&K&&K.size>0){let A=Q0(J.valueType,X,{...W,path:[...W.path,"patternProperties","*"]});G.patternProperties={};for(let Z of K)G.patternProperties[Z.source]=A}else{if(X.target==="draft-07"||X.target==="draft-2020-12")G.propertyNames=Q0(J.keyType,X,{...W,path:[...W.path,"propertyNames"]});G.additionalProperties=Q0(J.valueType,X,{...W,path:[...W.path,"additionalProperties"]})}let z=B._zod.values;if(z){let A=[...z].filter((Z)=>typeof Z==="string"||typeof Z==="number");if(A.length>0)G.required=A}},r7=(Q,X,Y,W)=>{let G=Q._zod.def,J=Q0(G.innerType,X,W),B=X.seen.get(Q);if(X.target==="openapi-3.0")B.ref=G.innerType,Y.nullable=!0;else Y.anyOf=[J,{type:"null"}]},t7=(Q,X,Y,W)=>{let G=Q._zod.def;Q0(G.innerType,X,W);let J=X.seen.get(Q);J.ref=G.innerType},a7=(Q,X,Y,W)=>{let G=Q._zod.def;Q0(G.innerType,X,W);let J=X.seen.get(Q);J.ref=G.innerType,Y.default=JSON.parse(JSON.stringify(G.defaultValue))},s7=(Q,X,Y,W)=>{let G=Q._zod.def;Q0(G.innerType,X,W);let J=X.seen.get(Q);if(J.ref=G.innerType,X.io==="input")Y._prefault=JSON.parse(JSON.stringify(G.defaultValue))},e7=(Q,X,Y,W)=>{let G=Q._zod.def;Q0(G.innerType,X,W);let J=X.seen.get(Q);J.ref=G.innerType;let B;try{B=G.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}Y.default=B},QG=(Q,X,Y,W)=>{let G=Q._zod.def,J=G.in._zod.traits.has("$ZodTransform"),B=X.io==="input"?J?G.out:G.in:G.out;Q0(B,X,W);let H=X.seen.get(Q);H.ref=B},XG=(Q,X,Y,W)=>{let G=Q._zod.def;Q0(G.innerType,X,W);let J=X.seen.get(Q);J.ref=G.innerType,Y.readOnly=!0};var SX=(Q,X,Y,W)=>{let G=Q._zod.def;Q0(G.innerType,X,W);let J=X.seen.get(Q);J.ref=G.innerType};var U9={};_4(U9,{time:()=>bX,duration:()=>kX,datetime:()=>RX,date:()=>CX,ZodISOTime:()=>GG,ZodISODuration:()=>JG,ZodISODateTime:()=>YG,ZodISODate:()=>WG});var YG=N("ZodISODateTime",(Q,X)=>{FW.init(Q,X),t.init(Q,X)});function RX(Q){return q7(YG,Q)}var WG=N("ZodISODate",(Q,X)=>{DW.init(Q,X),t.init(Q,X)});function CX(Q){return w7(WG,Q)}var GG=N("ZodISOTime",(Q,X)=>{VW.init(Q,X),t.init(Q,X)});function bX(Q){return $7(GG,Q)}var JG=N("ZodISODuration",(Q,X)=>{LW.init(Q,X),t.init(Q,X)});function kX(Q){return O7(JG,Q)}var XA=(Q,X)=>{V8.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>r4(Q,Y)},flatten:{value:(Y)=>o4(Q,Y)},addIssue:{value:(Y)=>{Q.issues.push(Y),Q.message=JSON.stringify(Q.issues,S1,2)}},addIssues:{value:(Y)=>{Q.issues.push(...Y),Q.message=JSON.stringify(Q.issues,S1,2)}},isEmpty:{get(){return Q.issues.length===0}}})};var O0=N("ZodError",XA,{Parent:Error});var BG=L8(O0),HG=U8(O0),KG=K9(O0),zG=A9(O0),AG=t4(O0),ZG=a4(O0),FG=s4(O0),DG=e4(O0),VG=QY(O0),LG=XY(O0),UG=YY(O0),NG=WY(O0);var MG=new WeakMap;function N9(Q,X,Y){let W=Object.getPrototypeOf(Q),G=MG.get(W);if(!G)G=new Set,MG.set(W,G);if(G.has(X))return;G.add(X);for(let J in Y){let B=Y[J];Object.defineProperty(W,J,{configurable:!0,enumerable:!1,get(){let H=B.bind(this);return Object.defineProperty(this,J,{configurable:!0,writable:!0,enumerable:!0,value:H}),H},set(H){Object.defineProperty(this,J,{configurable:!0,writable:!0,enumerable:!0,value:H})}})}}var e=N("ZodType",(Q,X)=>{return d.init(Q,X),Object.assign(Q["~standard"],{jsonSchema:{input:V9(Q,"input"),output:V9(Q,"output")}}),Q.toJSONSchema=v7(Q,{}),Q.def=X,Q.type=X.type,Object.defineProperty(Q,"_def",{value:X}),Q.parse=(Y,W)=>BG(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>KG(Q,Y,W),Q.parseAsync=async(Y,W)=>HG(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>zG(Q,Y,W),Q.spa=Q.safeParseAsync,Q.encode=(Y,W)=>AG(Q,Y,W),Q.decode=(Y,W)=>ZG(Q,Y,W),Q.encodeAsync=async(Y,W)=>FG(Q,Y,W),Q.decodeAsync=async(Y,W)=>DG(Q,Y,W),Q.safeEncode=(Y,W)=>VG(Q,Y,W),Q.safeDecode=(Y,W)=>LG(Q,Y,W),Q.safeEncodeAsync=async(Y,W)=>UG(Q,Y,W),Q.safeDecodeAsync=async(Y,W)=>NG(Q,Y,W),N9(Q,"ZodType",{check(...Y){let W=this.def;return this.clone(y.mergeDefs(W,{checks:[...W.checks??[],...Y.map((G)=>typeof G==="function"?{_zod:{check:G,def:{check:"custom"},onattach:[]}}:G)]}),{parent:!0})},with(...Y){return this.check(...Y)},clone(Y,W){return C0(this,Y,W)},brand(){return this},register(Y,W){return Y.add(this,W),this},refine(Y,W){return this.check(dA(Y,W))},superRefine(Y,W){return this.check(iA(Y,W))},overwrite(Y){return this.check(Y1(Y))},optional(){return s(this)},exactOptional(){return vA(this)},nullable(){return OG(this)},nullish(){return s(OG(this))},nonoptional(Y){return fA(this,Y)},array(){return x(this)},or(Y){return n([this,Y])},and(Y){return R8(this,Y)},transform(Y){return IG(this,RG(Y))},default(Y){return yA(this,Y)},prefault(Y){return hA(this,Y)},catch(Y){return lA(this,Y)},pipe(Y){return IG(this,Y)},readonly(){return pA(this)},describe(Y){let W=this.clone();return M1.add(W,{description:Y}),W},meta(...Y){if(Y.length===0)return M1.get(this);let W=this.clone();return M1.add(W,Y[0]),W},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(Y){return Y(this)}}),Object.defineProperty(Q,"description",{get(){return M1.get(Q)?.description},configurable:!0}),Q}),PG=N("_ZodString",(Q,X)=>{O8.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(W,G,J)=>x7(Q,W,G,J);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,N9(Q,"_ZodString",{regex(...W){return this.check(VX(...W))},includes(...W){return this.check(NX(...W))},startsWith(...W){return this.check(MX(...W))},endsWith(...W){return this.check(qX(...W))},min(...W){return this.check(b1(...W))},max(...W){return this.check(T8(...W))},length(...W){return this.check(j8(...W))},nonempty(...W){return this.check(b1(1,...W))},lowercase(W){return this.check(LX(W))},uppercase(W){return this.check(UX(W))},trim(){return this.check($X())},normalize(...W){return this.check(wX(...W))},toLowerCase(){return this.check(OX())},toUpperCase(){return this.check(IX())},slugify(){return this.check(PX())}})}),WA=N("ZodString",(Q,X)=>{O8.init(Q,X),PG.init(Q,X),Q.email=(Y)=>Q.check(sW(GA,Y)),Q.url=(Y)=>Q.check(W7(JA,Y)),Q.jwt=(Y)=>Q.check(M7(wA,Y)),Q.emoji=(Y)=>Q.check(G7(BA,Y)),Q.guid=(Y)=>Q.check(DX(qG,Y)),Q.uuid=(Y)=>Q.check(eW(S8,Y)),Q.uuidv4=(Y)=>Q.check(Q7(S8,Y)),Q.uuidv6=(Y)=>Q.check(X7(S8,Y)),Q.uuidv7=(Y)=>Q.check(Y7(S8,Y)),Q.nanoid=(Y)=>Q.check(J7(HA,Y)),Q.guid=(Y)=>Q.check(DX(qG,Y)),Q.cuid=(Y)=>Q.check(B7(KA,Y)),Q.cuid2=(Y)=>Q.check(H7(zA,Y)),Q.ulid=(Y)=>Q.check(K7(AA,Y)),Q.base64=(Y)=>Q.check(L7(NA,Y)),Q.base64url=(Y)=>Q.check(U7(MA,Y)),Q.xid=(Y)=>Q.check(z7(ZA,Y)),Q.ksuid=(Y)=>Q.check(A7(FA,Y)),Q.ipv4=(Y)=>Q.check(Z7(DA,Y)),Q.ipv6=(Y)=>Q.check(F7(VA,Y)),Q.cidrv4=(Y)=>Q.check(D7(LA,Y)),Q.cidrv6=(Y)=>Q.check(V7(UA,Y)),Q.e164=(Y)=>Q.check(N7(qA,Y)),Q.datetime=(Y)=>Q.check(RX(Y)),Q.date=(Y)=>Q.check(CX(Y)),Q.time=(Y)=>Q.check(bX(Y)),Q.duration=(Y)=>Q.check(kX(Y))});function U(Q){return aW(WA,Q)}var t=N("ZodStringFormat",(Q,X)=>{i.init(Q,X),PG.init(Q,X)}),GA=N("ZodEmail",(Q,X)=>{WW.init(Q,X),t.init(Q,X)});var qG=N("ZodGUID",(Q,X)=>{XW.init(Q,X),t.init(Q,X)});var S8=N("ZodUUID",(Q,X)=>{YW.init(Q,X),t.init(Q,X)});var JA=N("ZodURL",(Q,X)=>{GW.init(Q,X),t.init(Q,X)});var BA=N("ZodEmoji",(Q,X)=>{JW.init(Q,X),t.init(Q,X)});var HA=N("ZodNanoID",(Q,X)=>{BW.init(Q,X),t.init(Q,X)});var KA=N("ZodCUID",(Q,X)=>{HW.init(Q,X),t.init(Q,X)});var zA=N("ZodCUID2",(Q,X)=>{KW.init(Q,X),t.init(Q,X)});var AA=N("ZodULID",(Q,X)=>{zW.init(Q,X),t.init(Q,X)});var ZA=N("ZodXID",(Q,X)=>{AW.init(Q,X),t.init(Q,X)});var FA=N("ZodKSUID",(Q,X)=>{ZW.init(Q,X),t.init(Q,X)});var DA=N("ZodIPv4",(Q,X)=>{UW.init(Q,X),t.init(Q,X)});var VA=N("ZodIPv6",(Q,X)=>{NW.init(Q,X),t.init(Q,X)});var LA=N("ZodCIDRv4",(Q,X)=>{MW.init(Q,X),t.init(Q,X)});var UA=N("ZodCIDRv6",(Q,X)=>{qW.init(Q,X),t.init(Q,X)});var NA=N("ZodBase64",(Q,X)=>{$W.init(Q,X),t.init(Q,X)});var MA=N("ZodBase64URL",(Q,X)=>{OW.init(Q,X),t.init(Q,X)});var qA=N("ZodE164",(Q,X)=>{IW.init(Q,X),t.init(Q,X)});var wA=N("ZodJWT",(Q,X)=>{PW.init(Q,X),t.init(Q,X)});var EG=N("ZodNumber",(Q,X)=>{KX.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(W,G,J)=>_7(Q,W,G,J),N9(Q,"ZodNumber",{gt(W,G){return this.check(P8(W,G))},gte(W,G){return this.check(D9(W,G))},min(W,G){return this.check(D9(W,G))},lt(W,G){return this.check(I8(W,G))},lte(W,G){return this.check(F9(W,G))},max(W,G){return this.check(F9(W,G))},int(W){return this.check(wG(W))},safe(W){return this.check(wG(W))},positive(W){return this.check(P8(0,W))},nonnegative(W){return this.check(D9(0,W))},negative(W){return this.check(I8(0,W))},nonpositive(W){return this.check(F9(0,W))},multipleOf(W,G){return this.check(E8(W,G))},step(W,G){return this.check(E8(W,G))},finite(){return this}});let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function u(Q){return I7(EG,Q)}var $A=N("ZodNumberFormat",(Q,X)=>{EW.init(Q,X),EG.init(Q,X)});function wG(Q){return P7($A,Q)}var OA=N("ZodBoolean",(Q,X)=>{TW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>y7(Q,Y,W,G)});function W0(Q){return E7(OA,Q)}var IA=N("ZodNull",(Q,X)=>{jW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>g7(Q,Y,W,G)});function TG(Q){return T7(IA,Q)}var PA=N("ZodUnknown",(Q,X)=>{SW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>f7(Q,Y,W,G)});function a(){return j7(PA)}var EA=N("ZodNever",(Q,X)=>{RW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>h7(Q,Y,W,G)});function TA(Q){return S7(EA,Q)}var jA=N("ZodArray",(Q,X)=>{CW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>p7(Q,Y,W,G),Q.element=X.element,N9(Q,"ZodArray",{min(Y,W){return this.check(b1(Y,W))},nonempty(Y){return this.check(b1(1,Y))},max(Y,W){return this.check(T8(Y,W))},length(Y,W){return this.check(j8(Y,W))},unwrap(){return this.element}})});function x(Q,X){return R7(jA,Q,X)}var jG=N("ZodObject",(Q,X)=>{vW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>d7(Q,Y,W,G),y.defineLazy(Q,"shape",()=>{return X.shape}),N9(Q,"ZodObject",{keyof(){return L0(Object.keys(this._zod.def.shape))},catchall(Y){return this.clone({...this._zod.def,catchall:Y})},passthrough(){return this.clone({...this._zod.def,catchall:a()})},loose(){return this.clone({...this._zod.def,catchall:a()})},strict(){return this.clone({...this._zod.def,catchall:TA()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(Y){return y.extend(this,Y)},safeExtend(Y){return y.safeExtend(this,Y)},merge(Y){return y.merge(this,Y)},pick(Y){return y.pick(this,Y)},omit(Y){return y.omit(this,Y)},partial(...Y){return y.partial(CG,this,Y[0])},required(...Y){return y.required(bG,this,Y[0])}})});function $(Q,X){let Y={type:"object",shape:Q??{},...y.normalizeParams(X)};return new jG(Y)}function F0(Q,X){return new jG({type:"object",shape:Q,catchall:a(),...y.normalizeParams(X)})}var SG=N("ZodUnion",(Q,X)=>{zX.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>i7(Q,Y,W,G),Q.options=X.options});function n(Q,X){return new SG({type:"union",options:Q,...y.normalizeParams(X)})}var SA=N("ZodDiscriminatedUnion",(Q,X)=>{SG.init(Q,X),xW.init(Q,X)});function xX(Q,X,Y){return new SA({type:"union",options:X,discriminator:Q,...y.normalizeParams(Y)})}var RA=N("ZodIntersection",(Q,X)=>{_W.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>n7(Q,Y,W,G)});function R8(Q,X){return new RA({type:"intersection",left:Q,right:X})}var $G=N("ZodRecord",(Q,X)=>{yW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>o7(Q,Y,W,G),Q.keyType=X.keyType,Q.valueType=X.valueType});function p(Q,X,Y){if(!X||!X._zod)return new $G({type:"record",keyType:U(),valueType:Q,...y.normalizeParams(X)});return new $G({type:"record",keyType:Q,valueType:X,...y.normalizeParams(Y)})}var vX=N("ZodEnum",(Q,X)=>{gW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(W,G,J)=>u7(Q,W,G,J),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(W,G)=>{let J={};for(let B of W)if(Y.has(B))J[B]=X.entries[B];else throw Error(`Key ${B} not found in enum`);return new vX({...X,checks:[],...y.normalizeParams(G),entries:J})},Q.exclude=(W,G)=>{let J={...X.entries};for(let B of W)if(Y.has(B))delete J[B];else throw Error(`Key ${B} not found in enum`);return new vX({...X,checks:[],...y.normalizeParams(G),entries:J})}});function L0(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new vX({type:"enum",entries:Y,...y.normalizeParams(X)})}var CA=N("ZodLiteral",(Q,X)=>{hW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>l7(Q,Y,W,G),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function P(Q,X){return new CA({type:"literal",values:Array.isArray(Q)?Q:[Q],...y.normalizeParams(X)})}var bA=N("ZodTransform",(Q,X)=>{fW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>c7(Q,Y,W,G),Q._zod.parse=(Y,W)=>{if(W.direction==="backward")throw new Y9(Q.constructor.name);Y.addIssue=(J)=>{if(typeof J==="string")Y.issues.push(y.issue(J,Y.value,X));else{let B=J;if(B.fatal)B.continue=!1;B.code??(B.code="custom"),B.input??(B.input=Y.value),B.inst??(B.inst=Q),Y.issues.push(y.issue(B))}};let G=X.transform(Y.value,Y);if(G instanceof Promise)return G.then((J)=>{return Y.value=J,Y.fallback=!0,Y});return Y.value=G,Y.fallback=!0,Y}});function RG(Q){return new bA({type:"transform",transform:Q})}var CG=N("ZodOptional",(Q,X)=>{AX.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>SX(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType});function s(Q){return new CG({type:"optional",innerType:Q})}var kA=N("ZodExactOptional",(Q,X)=>{uW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>SX(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType});function vA(Q){return new kA({type:"optional",innerType:Q})}var xA=N("ZodNullable",(Q,X)=>{lW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>r7(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType});function OG(Q){return new xA({type:"nullable",innerType:Q})}var _A=N("ZodDefault",(Q,X)=>{mW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>a7(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function yA(Q,X){return new _A({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():y.shallowClone(X)}})}var gA=N("ZodPrefault",(Q,X)=>{cW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>s7(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType});function hA(Q,X){return new gA({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():y.shallowClone(X)}})}var bG=N("ZodNonOptional",(Q,X)=>{pW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>t7(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType});function fA(Q,X){return new bG({type:"nonoptional",innerType:Q,...y.normalizeParams(X)})}var uA=N("ZodCatch",(Q,X)=>{dW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>e7(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function lA(Q,X){return new uA({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var kG=N("ZodPipe",(Q,X)=>{ZX.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>QG(Q,Y,W,G),Q.in=X.in,Q.out=X.out});function IG(Q,X){return new kG({type:"pipe",in:Q,out:X})}var mA=N("ZodPreprocess",(Q,X)=>{kG.init(Q,X),iW.init(Q,X)}),cA=N("ZodReadonly",(Q,X)=>{nW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>XG(Q,Y,W,G),Q.unwrap=()=>Q._zod.def.innerType});function pA(Q){return new cA({type:"readonly",innerType:Q})}var vG=N("ZodCustom",(Q,X)=>{oW.init(Q,X),e.init(Q,X),Q._zod.processJSONSchema=(Y,W,G)=>m7(Q,Y,W,G)});function xG(Q,X){return C7(vG,Q??(()=>!0),X)}function dA(Q,X={}){return b7(vG,Q,X)}function iA(Q,X){return k7(Q,X)}function _X(Q,X){return new mA({type:"pipe",in:RG(Q),out:X})}$0(FX());var yX="2025-11-25",_G="2025-03-26",v1=[yX,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],W1="io.modelcontextprotocol/related-task",b8="2.0",Y0=xG((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),yG=n([U(),u().int()]),gG=U(),zE=F0({ttl:u().optional(),pollInterval:u().optional()}),nA=$({ttl:u().optional()}),oA=$({taskId:U()}),gX=F0({progressToken:yG.optional(),[W1]:oA.optional()}),I0=$({_meta:gX.optional()}),M9=I0.extend({task:nA.optional()}),hG=(Q)=>M9.safeParse(Q).success,B0=$({method:U(),params:I0.loose().optional()}),T0=$({_meta:gX.optional()}),j0=$({method:U(),params:T0.loose().optional()}),H0=F0({_meta:gX.optional()}),k8=n([U(),u().int()]),fG=$({jsonrpc:P(b8),id:k8,...B0.shape}).strict(),G1=(Q)=>fG.safeParse(Q).success,uG=$({jsonrpc:P(b8),...j0.shape}).strict(),lG=(Q)=>uG.safeParse(Q).success,hX=$({jsonrpc:P(b8),id:k8,result:H0}).strict(),i0=(Q)=>hX.safeParse(Q).success;var C;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(C||(C={}));var fX=$({jsonrpc:P(b8),id:k8.optional(),error:$({code:u().int(),message:U(),data:a().optional()})}).strict();var x1=(Q)=>fX.safeParse(Q).success;var q9=n([fG,uG,hX,fX]),AE=n([hX,fX]),v8=H0.strict(),rA=T0.extend({requestId:k8.optional(),reason:U().optional()}),x8=j0.extend({method:P("notifications/cancelled"),params:rA}),tA=$({src:U(),mimeType:U().optional(),sizes:x(U()).optional(),theme:L0(["light","dark"]).optional()}),w9=$({icons:x(tA).optional()}),k1=$({name:U(),title:U().optional()}),mG=k1.extend({...k1.shape,...w9.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),aA=R8($({applyDefaults:W0().optional()}),p(U(),a())),sA=_X((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},R8($({form:aA.optional(),url:Y0.optional()}),p(U(),a()).optional())),eA=F0({list:Y0.optional(),cancel:Y0.optional(),requests:F0({sampling:F0({createMessage:Y0.optional()}).optional(),elicitation:F0({create:Y0.optional()}).optional()}).optional()}),QZ=F0({list:Y0.optional(),cancel:Y0.optional(),requests:F0({tools:F0({call:Y0.optional()}).optional()}).optional()}),XZ=$({experimental:p(U(),Y0).optional(),sampling:$({context:Y0.optional(),tools:Y0.optional()}).optional(),elicitation:sA.optional(),roots:$({listChanged:W0().optional()}).optional(),tasks:eA.optional(),extensions:p(U(),Y0).optional()}),YZ=I0.extend({protocolVersion:U(),capabilities:XZ,clientInfo:mG}),_8=B0.extend({method:P("initialize"),params:YZ}),uX=(Q)=>_8.safeParse(Q).success,WZ=$({experimental:p(U(),Y0).optional(),logging:Y0.optional(),completions:Y0.optional(),prompts:$({listChanged:W0().optional()}).optional(),resources:$({subscribe:W0().optional(),listChanged:W0().optional()}).optional(),tools:$({listChanged:W0().optional()}).optional(),tasks:QZ.optional(),extensions:p(U(),Y0).optional()}),GZ=H0.extend({protocolVersion:U(),capabilities:WZ,serverInfo:mG,instructions:U().optional()}),lX=j0.extend({method:P("notifications/initialized"),params:T0.optional()});var y8=B0.extend({method:P("ping"),params:I0.optional()}),JZ=$({progress:u(),total:s(u()),message:s(U())}),BZ=$({...T0.shape,...JZ.shape,progressToken:yG}),g8=j0.extend({method:P("notifications/progress"),params:BZ}),HZ=I0.extend({cursor:gG.optional()}),$9=B0.extend({params:HZ.optional()}),O9=H0.extend({nextCursor:gG.optional()}),KZ=L0(["working","input_required","completed","failed","cancelled"]),I9=$({taskId:U(),status:KZ,ttl:n([u(),TG()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:s(u()),statusMessage:s(U())}),_1=H0.extend({task:I9}),zZ=T0.merge(I9),P9=j0.extend({method:P("notifications/tasks/status"),params:zZ}),h8=B0.extend({method:P("tasks/get"),params:I0.extend({taskId:U()})}),f8=H0.merge(I9),u8=B0.extend({method:P("tasks/result"),params:I0.extend({taskId:U()})}),ZE=H0.loose(),l8=$9.extend({method:P("tasks/list")}),m8=O9.extend({tasks:x(I9)}),c8=B0.extend({method:P("tasks/cancel"),params:I0.extend({taskId:U()})}),cG=H0.merge(I9),pG=$({uri:U(),mimeType:s(U()),_meta:p(U(),a()).optional()}),dG=pG.extend({text:U()}),mX=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),iG=pG.extend({blob:mX}),E9=L0(["user","assistant"]),y1=$({audience:x(E9).optional(),priority:u().min(0).max(1).optional(),lastModified:U9.datetime({offset:!0}).optional()}),nG=$({...k1.shape,...w9.shape,uri:U(),description:s(U()),mimeType:s(U()),size:s(u()),annotations:y1.optional(),_meta:s(F0({}))}),AZ=$({...k1.shape,...w9.shape,uriTemplate:U(),description:s(U()),mimeType:s(U()),annotations:y1.optional(),_meta:s(F0({}))}),T9=$9.extend({method:P("resources/list")}),ZZ=O9.extend({resources:x(nG)}),FZ=$9.extend({method:P("resources/templates/list")}),DZ=O9.extend({resourceTemplates:x(AZ)}),cX=I0.extend({uri:U()}),VZ=cX,j9=B0.extend({method:P("resources/read"),params:VZ}),LZ=H0.extend({contents:x(n([dG,iG]))}),UZ=j0.extend({method:P("notifications/resources/list_changed"),params:T0.optional()}),NZ=cX,MZ=B0.extend({method:P("resources/subscribe"),params:NZ}),qZ=cX,wZ=B0.extend({method:P("resources/unsubscribe"),params:qZ}),$Z=T0.extend({uri:U()}),OZ=j0.extend({method:P("notifications/resources/updated"),params:$Z}),IZ=$({name:U(),description:s(U()),required:s(W0())}),PZ=$({...k1.shape,...w9.shape,description:s(U()),arguments:s(x(IZ)),_meta:s(F0({}))}),S9=$9.extend({method:P("prompts/list")}),EZ=O9.extend({prompts:x(PZ)}),TZ=I0.extend({name:U(),arguments:p(U(),U()).optional()}),R9=B0.extend({method:P("prompts/get"),params:TZ}),pX=$({type:P("text"),text:U(),annotations:y1.optional(),_meta:p(U(),a()).optional()}),dX=$({type:P("image"),data:mX,mimeType:U(),annotations:y1.optional(),_meta:p(U(),a()).optional()}),iX=$({type:P("audio"),data:mX,mimeType:U(),annotations:y1.optional(),_meta:p(U(),a()).optional()}),jZ=$({type:P("tool_use"),name:U(),id:U(),input:p(U(),a()),_meta:p(U(),a()).optional()}),SZ=$({type:P("resource"),resource:n([dG,iG]),annotations:y1.optional(),_meta:p(U(),a()).optional()}),RZ=nG.extend({type:P("resource_link")}),nX=n([pX,dX,iX,RZ,SZ]),CZ=$({role:E9,content:nX}),bZ=H0.extend({description:U().optional(),messages:x(CZ)}),kZ=j0.extend({method:P("notifications/prompts/list_changed"),params:T0.optional()}),vZ=$({title:U().optional(),readOnlyHint:W0().optional(),destructiveHint:W0().optional(),idempotentHint:W0().optional(),openWorldHint:W0().optional()}),xZ=$({taskSupport:L0(["required","optional","forbidden"]).optional()}),oG=$({...k1.shape,...w9.shape,description:U().optional(),inputSchema:$({type:P("object"),properties:p(U(),Y0).optional(),required:x(U()).optional()}).catchall(a()),outputSchema:$({type:P("object"),properties:p(U(),Y0).optional(),required:x(U()).optional()}).catchall(a()).optional(),annotations:vZ.optional(),execution:xZ.optional(),_meta:p(U(),a()).optional()}),C9=$9.extend({method:P("tools/list")}),_Z=O9.extend({tools:x(oG)}),p8=H0.extend({content:x(nX).default([]),structuredContent:p(U(),a()).optional(),isError:W0().optional()}),FE=p8.or(H0.extend({toolResult:a()})),yZ=M9.extend({name:U(),arguments:p(U(),a()).optional()}),q1=B0.extend({method:P("tools/call"),params:yZ}),gZ=j0.extend({method:P("notifications/tools/list_changed"),params:T0.optional()}),DE=$({autoRefresh:W0().default(!0),debounceMs:u().int().nonnegative().default(300)}),b9=L0(["debug","info","notice","warning","error","critical","alert","emergency"]),hZ=I0.extend({level:b9}),oX=B0.extend({method:P("logging/setLevel"),params:hZ}),fZ=T0.extend({level:b9,logger:U().optional(),data:a()}),uZ=j0.extend({method:P("notifications/message"),params:fZ}),lZ=$({name:U().optional()}),mZ=$({hints:x(lZ).optional(),costPriority:u().min(0).max(1).optional(),speedPriority:u().min(0).max(1).optional(),intelligencePriority:u().min(0).max(1).optional()}),cZ=$({mode:L0(["auto","required","none"]).optional()}),pZ=$({type:P("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:x(nX).default([]),structuredContent:$({}).loose().optional(),isError:W0().optional(),_meta:p(U(),a()).optional()}),dZ=xX("type",[pX,dX,iX]),C8=xX("type",[pX,dX,iX,jZ,pZ]),iZ=$({role:E9,content:n([C8,x(C8)]),_meta:p(U(),a()).optional()}),nZ=M9.extend({messages:x(iZ),modelPreferences:mZ.optional(),systemPrompt:U().optional(),includeContext:L0(["none","thisServer","allServers"]).optional(),temperature:u().optional(),maxTokens:u().int(),stopSequences:x(U()).optional(),metadata:Y0.optional(),tools:x(oG).optional(),toolChoice:cZ.optional()}),oZ=B0.extend({method:P("sampling/createMessage"),params:nZ}),k9=H0.extend({model:U(),stopReason:s(L0(["endTurn","stopSequence","maxTokens"]).or(U())),role:E9,content:dZ}),rX=H0.extend({model:U(),stopReason:s(L0(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:E9,content:n([C8,x(C8)])}),rZ=$({type:P("boolean"),title:U().optional(),description:U().optional(),default:W0().optional()}),tZ=$({type:P("string"),title:U().optional(),description:U().optional(),minLength:u().optional(),maxLength:u().optional(),format:L0(["email","uri","date","date-time"]).optional(),default:U().optional()}),aZ=$({type:L0(["number","integer"]),title:U().optional(),description:U().optional(),minimum:u().optional(),maximum:u().optional(),default:u().optional()}),sZ=$({type:P("string"),title:U().optional(),description:U().optional(),enum:x(U()),default:U().optional()}),eZ=$({type:P("string"),title:U().optional(),description:U().optional(),oneOf:x($({const:U(),title:U()})),default:U().optional()}),QF=$({type:P("string"),title:U().optional(),description:U().optional(),enum:x(U()),enumNames:x(U()).optional(),default:U().optional()}),XF=n([sZ,eZ]),YF=$({type:P("array"),title:U().optional(),description:U().optional(),minItems:u().optional(),maxItems:u().optional(),items:$({type:P("string"),enum:x(U())}),default:x(U()).optional()}),WF=$({type:P("array"),title:U().optional(),description:U().optional(),minItems:u().optional(),maxItems:u().optional(),items:$({anyOf:x($({const:U(),title:U()}))}),default:x(U()).optional()}),GF=n([YF,WF]),JF=n([QF,XF,GF]),BF=n([JF,rZ,tZ,aZ]),HF=M9.extend({mode:P("form").optional(),message:U(),requestedSchema:$({type:P("object"),properties:p(U(),BF),required:x(U()).optional()})}),KF=M9.extend({mode:P("url"),message:U(),elicitationId:U(),url:U().url()}),zF=n([HF,KF]),AF=B0.extend({method:P("elicitation/create"),params:zF}),ZF=T0.extend({elicitationId:U()}),FF=j0.extend({method:P("notifications/elicitation/complete"),params:ZF}),g1=H0.extend({action:L0(["accept","decline","cancel"]),content:_X((Q)=>Q===null?void 0:Q,p(U(),n([U(),u(),W0(),x(U())])).optional())}),DF=$({type:P("ref/resource"),uri:U()});var VF=$({type:P("ref/prompt"),name:U()}),LF=I0.extend({ref:n([VF,DF]),argument:$({name:U(),value:U()}),context:$({arguments:p(U(),U()).optional()}).optional()}),UF=B0.extend({method:P("completion/complete"),params:LF});var NF=H0.extend({completion:F0({values:x(U()).max(100),total:s(u().int()),hasMore:s(W0())})}),MF=$({uri:U().startsWith("file://"),name:U().optional(),_meta:p(U(),a()).optional()}),qF=B0.extend({method:P("roots/list"),params:I0.optional()}),tX=H0.extend({roots:x(MF)}),wF=j0.extend({method:P("notifications/roots/list_changed"),params:T0.optional()}),VE=n([y8,_8,UF,oX,R9,S9,T9,FZ,j9,MZ,wZ,q1,C9,h8,u8,l8,c8]),LE=n([x8,g8,lX,wF,P9]),UE=n([v8,k9,rX,g1,tX,f8,m8,_1]),NE=n([y8,oZ,AF,qF,h8,u8,l8,c8]),ME=n([x8,g8,uZ,OZ,UZ,gZ,kZ,P9,FF]),qE=n([v8,GZ,NF,bZ,EZ,ZZ,DZ,LZ,p8,_Z,f8,m8,_1]);class T extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===C.UrlElicitationRequired&&Y){let W=Y;if(W.elicitations)return new rG(W.elicitations,X)}return new T(Q,X,Y)}}class rG extends T{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(C.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}class aX{constructor(Q={}){this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=Q.sessionIdGenerator,this._enableJsonResponse=Q.enableJsonResponse??!1,this._eventStore=Q.eventStore,this._onsessioninitialized=Q.onsessioninitialized,this._onsessionclosed=Q.onsessionclosed,this._allowedHosts=Q.allowedHosts,this._allowedOrigins=Q.allowedOrigins,this._enableDnsRebindingProtection=Q.enableDnsRebindingProtection??!1,this._retryInterval=Q.retryInterval}async start(){if(this._started)throw Error("Transport already started");this._started=!0}createJsonErrorResponse(Q,X,Y,W){let G={code:X,message:Y};if(W?.data!==void 0)G.data=W.data;return new Response(JSON.stringify({jsonrpc:"2.0",error:G,id:null}),{status:Q,headers:{"Content-Type":"application/json",...W?.headers}})}validateRequestHeaders(Q){if(!this._enableDnsRebindingProtection)return;if(this._allowedHosts&&this._allowedHosts.length>0){let X=Q.headers.get("host");if(!X||!this._allowedHosts.includes(X)){let Y=`Invalid Host header: ${X}`;return this.onerror?.(Error(Y)),this.createJsonErrorResponse(403,-32000,Y)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let X=Q.headers.get("origin");if(X&&!this._allowedOrigins.includes(X)){let Y=`Invalid Origin header: ${X}`;return this.onerror?.(Error(Y)),this.createJsonErrorResponse(403,-32000,Y)}}return}async handleRequest(Q,X){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw Error("Stateless transport cannot be reused across requests. Create a new transport per request.");this._hasHandledRequest=!0;let Y=this.validateRequestHeaders(Q);if(Y)return Y;switch(Q.method){case"POST":return this.handlePostRequest(Q,X);case"GET":return this.handleGetRequest(Q);case"DELETE":return this.handleDeleteRequest(Q);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(Q,X,Y,W){if(!this._eventStore)return;if(W<"2025-11-25")return;let G=await this._eventStore.storeEvent(Y,{}),J=`id: ${G}
|
|
74
|
+
data:
|
|
75
|
+
|
|
76
|
+
`;if(this._retryInterval!==void 0)J=`id: ${G}
|
|
77
|
+
retry: ${this._retryInterval}
|
|
78
|
+
data:
|
|
79
|
+
|
|
80
|
+
`;Q.enqueue(X.encode(J))}async handleGetRequest(Q){if(!Q.headers.get("accept")?.includes("text/event-stream"))return this.onerror?.(Error("Not Acceptable: Client must accept text/event-stream")),this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept text/event-stream");let Y=this.validateSession(Q);if(Y)return Y;let W=this.validateProtocolVersion(Q);if(W)return W;if(this._eventStore){let K=Q.headers.get("last-event-id");if(K)return this.replayEvents(K)}if(this._streamMapping.get(this._standaloneSseStreamId)!==void 0)return this.onerror?.(Error("Conflict: Only one SSE stream is allowed per session")),this.createJsonErrorResponse(409,-32000,"Conflict: Only one SSE stream is allowed per session");let G=new TextEncoder,J,B=new ReadableStream({start:(K)=>{J=K},cancel:()=>{this._streamMapping.delete(this._standaloneSseStreamId)}}),H={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;return this._streamMapping.set(this._standaloneSseStreamId,{controller:J,encoder:G,cleanup:()=>{this._streamMapping.delete(this._standaloneSseStreamId);try{J.close()}catch{}}}),new Response(B,{headers:H})}async replayEvents(Q){if(!this._eventStore)return this.onerror?.(Error("Event store not configured")),this.createJsonErrorResponse(400,-32000,"Event store not configured");try{let X;if(this._eventStore.getStreamIdForEventId){if(X=await this._eventStore.getStreamIdForEventId(Q),!X)return this.onerror?.(Error("Invalid event ID format")),this.createJsonErrorResponse(400,-32000,"Invalid event ID format");if(this._streamMapping.get(X)!==void 0)return this.onerror?.(Error("Conflict: Stream already has an active connection")),this.createJsonErrorResponse(409,-32000,"Conflict: Stream already has an active connection")}let Y={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};if(this.sessionId!==void 0)Y["mcp-session-id"]=this.sessionId;let W=new TextEncoder,G,J=new ReadableStream({start:(H)=>{G=H},cancel:()=>{}}),B=await this._eventStore.replayEventsAfter(Q,{send:async(H,K)=>{if(!this.writeSSEEvent(G,W,K,H)){this.onerror?.(Error("Failed replay events"));try{G.close()}catch{}}}});return this._streamMapping.set(B,{controller:G,encoder:W,cleanup:()=>{this._streamMapping.delete(B);try{G.close()}catch{}}}),new Response(J,{headers:Y})}catch(X){return this.onerror?.(X),this.createJsonErrorResponse(500,-32000,"Error replaying events")}}writeSSEEvent(Q,X,Y,W){try{let G=`event: message
|
|
81
|
+
`;if(W)G+=`id: ${W}
|
|
82
|
+
`;return G+=`data: ${JSON.stringify(Y)}
|
|
83
|
+
|
|
84
|
+
`,Q.enqueue(X.encode(G)),!0}catch(G){return this.onerror?.(G),!1}}handleUnsupportedRequest(){return this.onerror?.(Error("Method not allowed.")),new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Q,X){try{let Y=Q.headers.get("accept");if(!Y?.includes("application/json")||!Y.includes("text/event-stream"))return this.onerror?.(Error("Not Acceptable: Client must accept both application/json and text/event-stream")),this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let W=Q.headers.get("content-type");if(!W||!W.includes("application/json"))return this.onerror?.(Error("Unsupported Media Type: Content-Type must be application/json")),this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let G={headers:Object.fromEntries(Q.headers.entries()),url:new URL(Q.url)},J;if(X?.parsedBody!==void 0)J=X.parsedBody;else try{J=await Q.json()}catch{return this.onerror?.(Error("Parse error: Invalid JSON")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let B;try{if(Array.isArray(J))B=J.map((M)=>q9.parse(M));else B=[q9.parse(J)]}catch{return this.onerror?.(Error("Parse error: Invalid JSON-RPC message")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=B.some(uX);if(H){if(this._initialized&&this.sessionId!==void 0)return this.onerror?.(Error("Invalid Request: Server already initialized")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(B.length>1)return this.onerror?.(Error("Invalid Request: Only one initialization request is allowed")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!H){let M=this.validateSession(Q);if(M)return M;let q=this.validateProtocolVersion(Q);if(q)return q}if(!B.some(G1)){for(let M of B)this.onmessage?.(M,{authInfo:X?.authInfo,requestInfo:G});return new Response(null,{status:202})}let z=crypto.randomUUID(),A=B.find((M)=>uX(M)),Z=A?A.params.protocolVersion:Q.headers.get("mcp-protocol-version")??_G;if(this._enableJsonResponse)return new Promise((M)=>{this._streamMapping.set(z,{resolveJson:M,cleanup:()=>{this._streamMapping.delete(z)}});for(let q of B)if(G1(q))this._requestToStreamMapping.set(q.id,z);for(let q of B)this.onmessage?.(q,{authInfo:X?.authInfo,requestInfo:G})});let D=new TextEncoder,F,V=new ReadableStream({start:(M)=>{F=M},cancel:()=>{this._streamMapping.delete(z)}}),L={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)L["mcp-session-id"]=this.sessionId;for(let M of B)if(G1(M))this._streamMapping.set(z,{controller:F,encoder:D,cleanup:()=>{this._streamMapping.delete(z);try{F.close()}catch{}}}),this._requestToStreamMapping.set(M.id,z);await this.writePrimingEvent(F,D,z,Z);for(let M of B){let q,O;if(G1(M)&&this._eventStore&&Z>="2025-11-25")q=()=>{this.closeSSEStream(M.id)},O=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(M,{authInfo:X?.authInfo,requestInfo:G,closeSSEStream:q,closeStandaloneSSEStream:O})}return new Response(V,{status:200,headers:L})}catch(Y){return this.onerror?.(Y),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(Y)})}}async handleDeleteRequest(Q){let X=this.validateSession(Q);if(X)return X;let Y=this.validateProtocolVersion(Q);if(Y)return Y;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Q){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.onerror?.(Error("Bad Request: Server not initialized")),this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let X=Q.headers.get("mcp-session-id");if(!X)return this.onerror?.(Error("Bad Request: Mcp-Session-Id header is required")),this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(X!==this.sessionId)return this.onerror?.(Error("Session not found")),this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Q){let X=Q.headers.get("mcp-protocol-version");if(X!==null&&!v1.includes(X))return this.onerror?.(Error(`Bad Request: Unsupported protocol version: ${X} (supported versions: ${v1.join(", ")})`)),this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${X} (supported versions: ${v1.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Q})=>{Q()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Q){let X=this._requestToStreamMapping.get(Q);if(!X)return;let Y=this._streamMapping.get(X);if(Y)Y.cleanup()}closeStandaloneSSEStream(){let Q=this._streamMapping.get(this._standaloneSseStreamId);if(Q)Q.cleanup()}async send(Q,X){let Y=X?.relatedRequestId;if(i0(Q)||x1(Q))Y=Q.id;if(Y===void 0){if(i0(Q)||x1(Q))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let J;if(this._eventStore)J=await this._eventStore.storeEvent(this._standaloneSseStreamId,Q);let B=this._streamMapping.get(this._standaloneSseStreamId);if(B===void 0)return;if(B.controller&&B.encoder)this.writeSSEEvent(B.controller,B.encoder,Q,J);return}let W=this._requestToStreamMapping.get(Y);if(!W)throw Error(`No connection established for request ID: ${String(Y)}`);let G=this._streamMapping.get(W);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let J;if(this._eventStore)J=await this._eventStore.storeEvent(W,Q);this.writeSSEEvent(G.controller,G.encoder,Q,J)}if(i0(Q)||x1(Q)){this._requestResponseMap.set(Y,Q);let J=Array.from(this._requestToStreamMapping.entries()).filter(([H,K])=>K===W).map(([H])=>H);if(J.every((H)=>this._requestResponseMap.has(H))){if(!G)throw Error(`No connection established for request ID: ${String(Y)}`);if(this._enableJsonResponse&&G.resolveJson){let H={"Content-Type":"application/json"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;let K=J.map((z)=>this._requestResponseMap.get(z));if(K.length===1)G.resolveJson(new Response(JSON.stringify(K[0]),{status:200,headers:H}));else G.resolveJson(new Response(JSON.stringify(K),{status:200,headers:H}))}else G.cleanup();for(let H of J)this._requestResponseMap.delete(H),this._requestToStreamMapping.delete(H)}}}}function h1(Q){return!!Q._zod}function J1(Q,X){if(h1(Q))return z9(Q,X);return Q.safeParse(X)}function d8(Q){if(!Q)return;let X;if(h1(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function tG(Q){if(h1(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let W=Q.value;if(W!==void 0)return W;return}function B1(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var $F=Symbol("Let zodToJsonSchema decide on which parser to use");var DT=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function sX(Q){let Y=d8(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=tG(Y);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function eX(Q,X){let Y=J1(Q,X);if(!Y.success)throw Y.error;return Y.data}var jF=60000;class Q6{constructor(Q){if(this._options=Q,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(x8,(X)=>{this._oncancel(X)}),this.setNotificationHandler(g8,(X)=>{this._onprogress(X)}),this.setRequestHandler(y8,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(h8,async(X,Y)=>{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new T(C.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(u8,async(X,Y)=>{let W=async()=>{let G=X.params.taskId;if(this._taskMessageQueue){let B;while(B=await this._taskMessageQueue.dequeue(G,Y.sessionId)){if(B.type==="response"||B.type==="error"){let H=B.message,K=H.id,z=this._requestResolvers.get(K);if(z)if(this._requestResolvers.delete(K),B.type==="response")z(H);else{let A=H,Z=new T(A.error.code,A.error.message,A.error.data);z(Z)}else{let A=B.type==="response"?"Response":"Error";this._onerror(Error(`${A} handler missing for request ${K}`))}continue}await this._transport?.send(B.message,{relatedRequestId:Y.requestId})}}let J=await this._taskStore.getTask(G,Y.sessionId);if(!J)throw new T(C.InvalidParams,`Task not found: ${G}`);if(!B1(J.status))return await this._waitForTaskUpdate(G,Y.signal),await W();if(B1(J.status)){let B=await this._taskStore.getTaskResult(G,Y.sessionId);return this._clearTaskQueue(G),{...B,_meta:{...B._meta,[W1]:{taskId:G}}}}return await W()};return await W()}),this.setRequestHandler(l8,async(X,Y)=>{try{let{tasks:W,nextCursor:G}=await this._taskStore.listTasks(X.params?.cursor,Y.sessionId);return{tasks:W,nextCursor:G,_meta:{}}}catch(W){throw new T(C.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(c8,async(X,Y)=>{try{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new T(C.InvalidParams,`Task not found: ${X.params.taskId}`);if(B1(W.status))throw new T(C.InvalidParams,`Cannot cancel task in terminal status: ${W.status}`);await this._taskStore.updateTaskStatus(X.params.taskId,"cancelled","Client cancelled task execution.",Y.sessionId),this._clearTaskQueue(X.params.taskId);let G=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!G)throw new T(C.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...G}}catch(W){if(W instanceof T)throw W;throw new T(C.InvalidRequest,`Failed to cancel task: ${W instanceof Error?W.message:String(W)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,X,Y,W,G=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(W,X),startTime:Date.now(),timeout:X,maxTotalTimeout:Y,resetTimeoutOnProgress:G,onTimeout:W})}_resetTimeout(Q){let X=this._timeoutInfo.get(Q);if(!X)return!1;let Y=Date.now()-X.startTime;if(X.maxTotalTimeout&&Y>=X.maxTotalTimeout)throw this._timeoutInfo.delete(Q),T.fromError(C.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:X.maxTotalTimeout,totalElapsed:Y});return clearTimeout(X.timeoutId),X.timeoutId=setTimeout(X.onTimeout,X.timeout),!0}_cleanupTimeout(Q){let X=this._timeoutInfo.get(Q);if(X)clearTimeout(X.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=Q;let X=this.transport?.onclose;this._transport.onclose=()=>{X?.(),this._onclose()};let Y=this.transport?.onerror;this._transport.onerror=(G)=>{Y?.(G),this._onerror(G)};let W=this._transport?.onmessage;this._transport.onmessage=(G,J)=>{if(W?.(G,J),i0(G)||x1(G))this._onresponse(G);else if(G1(G))this._onrequest(G,J);else if(lG(G))this._onnotification(G);else this._onerror(Error(`Unknown message type: ${JSON.stringify(G)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let Y of this._timeoutInfo.values())clearTimeout(Y.timeoutId);this._timeoutInfo.clear();for(let Y of this._requestHandlerAbortControllers.values())Y.abort();this._requestHandlerAbortControllers.clear();let X=T.fromError(C.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Y of Q.values())Y(X)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let X=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(X===void 0)return;Promise.resolve().then(()=>X(Q)).catch((Y)=>this._onerror(Error(`Uncaught error in notification handler: ${Y}`)))}_onrequest(Q,X){let Y=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,W=this._transport,G=Q.params?._meta?.[W1]?.taskId;if(Y===void 0){let z={jsonrpc:"2.0",id:Q.id,error:{code:C.MethodNotFound,message:"Method not found"}};if(G&&this._taskMessageQueue)this._enqueueTaskMessage(G,{type:"error",message:z,timestamp:Date.now()},W?.sessionId).catch((A)=>this._onerror(Error(`Failed to enqueue error response: ${A}`)));else W?.send(z).catch((A)=>this._onerror(Error(`Failed to send an error response: ${A}`)));return}let J=new AbortController;this._requestHandlerAbortControllers.set(Q.id,J);let B=hG(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,W?.sessionId):void 0,K={signal:J.signal,sessionId:W?.sessionId,_meta:Q.params?._meta,sendNotification:async(z)=>{if(J.signal.aborted)return;let A={relatedRequestId:Q.id};if(G)A.relatedTask={taskId:G};await this.notification(z,A)},sendRequest:async(z,A,Z)=>{if(J.signal.aborted)throw new T(C.ConnectionClosed,"Request was cancelled");let D={...Z,relatedRequestId:Q.id};if(G&&!D.relatedTask)D.relatedTask={taskId:G};let F=D.relatedTask?.taskId??G;if(F&&H)await H.updateTaskStatus(F,"input_required");return await this.request(z,A,D)},authInfo:X?.authInfo,requestId:Q.id,requestInfo:X?.requestInfo,taskId:G,taskStore:H,taskRequestedTtl:B?.ttl,closeSSEStream:X?.closeSSEStream,closeStandaloneSSEStream:X?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(B)this.assertTaskHandlerCapability(Q.method)}).then(()=>Y(Q,K)).then(async(z)=>{if(J.signal.aborted)return;let A={result:z,jsonrpc:"2.0",id:Q.id};if(G&&this._taskMessageQueue)await this._enqueueTaskMessage(G,{type:"response",message:A,timestamp:Date.now()},W?.sessionId);else await W?.send(A)},async(z)=>{if(J.signal.aborted)return;let A={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(z.code)?z.code:C.InternalError,message:z.message??"Internal error",...z.data!==void 0&&{data:z.data}}};if(G&&this._taskMessageQueue)await this._enqueueTaskMessage(G,{type:"error",message:A,timestamp:Date.now()},W?.sessionId);else await W?.send(A)}).catch((z)=>this._onerror(Error(`Failed to send response: ${z}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(Q.id)===J)this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:X,...Y}=Q.params,W=Number(X),G=this._progressHandlers.get(W);if(!G){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(W),B=this._timeoutInfo.get(W);if(B&&J&&B.resetTimeoutOnProgress)try{this._resetTimeout(W)}catch(H){this._responseHandlers.delete(W),this._progressHandlers.delete(W),this._cleanupTimeout(W),J(H);return}G(Y)}_onresponse(Q){let X=Number(Q.id),Y=this._requestResolvers.get(X);if(Y){if(this._requestResolvers.delete(X),i0(Q))Y(Q);else{let J=new T(Q.error.code,Q.error.message,Q.error.data);Y(J)}return}let W=this._responseHandlers.get(X);if(W===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(X),this._cleanupTimeout(X);let G=!1;if(i0(Q)&&Q.result&&typeof Q.result==="object"){let J=Q.result;if(J.task&&typeof J.task==="object"){let B=J.task;if(typeof B.taskId==="string")G=!0,this._taskProgressTokens.set(B.taskId,X)}}if(!G)this._progressHandlers.delete(X);if(i0(Q))W(Q);else{let J=T.fromError(Q.error.code,Q.error.message,Q.error.data);W(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,X,Y){let{task:W}=Y??{};if(!W){try{yield{type:"result",result:await this.request(Q,X,Y)}}catch(J){yield{type:"error",error:J instanceof T?J:new T(C.InternalError,String(J))}}return}let G;try{let J=await this.request(Q,_1,Y);if(J.task)G=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new T(C.InternalError,"Task creation did not return a task");while(!0){let B=await this.getTask({taskId:G},Y);if(yield{type:"taskStatus",task:B},B1(B.status)){if(B.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:G},X,Y)};else if(B.status==="failed")yield{type:"error",error:new T(C.InternalError,`Task ${G} failed`)};else if(B.status==="cancelled")yield{type:"error",error:new T(C.InternalError,`Task ${G} was cancelled`)};return}if(B.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:G},X,Y)};return}let H=B.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((K)=>setTimeout(K,H)),Y?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof T?J:new T(C.InternalError,String(J))}}}request(Q,X,Y){let{relatedRequestId:W,resumptionToken:G,onresumptiontoken:J,task:B,relatedTask:H}=Y??{};return new Promise((K,z)=>{let A=(q)=>{z(q)};if(!this._transport){A(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),B)this.assertTaskCapability(Q.method)}catch(q){A(q);return}Y?.signal?.throwIfAborted();let Z=this._requestMessageId++,D={...Q,jsonrpc:"2.0",id:Z};if(Y?.onprogress)this._progressHandlers.set(Z,Y.onprogress),D.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:Z}};if(B)D.params={...D.params,task:B};if(H)D.params={...D.params,_meta:{...D.params?._meta||{},[W1]:H}};let F=(q)=>{this._responseHandlers.delete(Z),this._progressHandlers.delete(Z),this._cleanupTimeout(Z),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:Z,reason:String(q)}},{relatedRequestId:W,resumptionToken:G,onresumptiontoken:J}).catch((j)=>this._onerror(Error(`Failed to send cancellation: ${j}`)));let O=q instanceof T?q:new T(C.RequestTimeout,String(q));z(O)};this._responseHandlers.set(Z,(q)=>{if(Y?.signal?.aborted)return;if(q instanceof Error)return z(q);try{let O=J1(X,q.result);if(!O.success)z(O.error);else K(O.data)}catch(O){z(O)}}),Y?.signal?.addEventListener("abort",()=>{F(Y?.signal?.reason)});let V=Y?.timeout??jF,L=()=>F(T.fromError(C.RequestTimeout,"Request timed out",{timeout:V}));this._setupTimeout(Z,V,Y?.maxTotalTimeout,L,Y?.resetTimeoutOnProgress??!1);let M=H?.taskId;if(M){let q=(O)=>{let j=this._responseHandlers.get(Z);if(j)j(O);else this._onerror(Error(`Response handler missing for side-channeled request ${Z}`))};this._requestResolvers.set(Z,q),this._enqueueTaskMessage(M,{type:"request",message:D,timestamp:Date.now()}).catch((O)=>{this._cleanupTimeout(Z),z(O)})}else this._transport.send(D,{relatedRequestId:W,resumptionToken:G,onresumptiontoken:J}).catch((q)=>{this._cleanupTimeout(Z),z(q)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},f8,X)}async getTaskResult(Q,X,Y){return this.request({method:"tasks/result",params:Q},X,Y)}async listTasks(Q,X){return this.request({method:"tasks/list",params:Q},m8,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},cG,X)}async notification(Q,X){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let Y=X?.relatedTask?.taskId;if(Y){let B={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[W1]:X.relatedTask}}};await this._enqueueTaskMessage(Y,{type:"notification",message:B,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!X?.relatedRequestId&&!X?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let B={...Q,jsonrpc:"2.0"};if(X?.relatedTask)B={...B,params:{...B.params,_meta:{...B.params?._meta||{},[W1]:X.relatedTask}}};this._transport?.send(B,X).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(X?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[W1]:X.relatedTask}}};await this._transport.send(J,X)}setRequestHandler(Q,X){let Y=sX(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(W,G)=>{let J=eX(Q,W);return Promise.resolve(X(J,G))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,X){let Y=sX(Q);this._notificationHandlers.set(Y,(W)=>{let G=eX(Q,W);return Promise.resolve(X(G))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let X=this._taskProgressTokens.get(Q);if(X!==void 0)this._progressHandlers.delete(X),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,X,Y){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let W=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,X,Y,W)}async _clearTaskQueue(Q,X){if(this._taskMessageQueue){let Y=await this._taskMessageQueue.dequeueAll(Q,X);for(let W of Y)if(W.type==="request"&&G1(W.message)){let G=W.message.id,J=this._requestResolvers.get(G);if(J)J(new T(C.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(G);else this._onerror(Error(`Resolver missing for request ${G} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,X){let Y=this._options?.defaultTaskPollInterval??1000;try{let W=await this._taskStore?.getTask(Q);if(W?.pollInterval)Y=W.pollInterval}catch{}return new Promise((W,G)=>{if(X.aborted){G(new T(C.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,Y);X.addEventListener("abort",()=>{clearTimeout(J),G(new T(C.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,X){let Y=this._taskStore;if(!Y)throw Error("No task store configured");return{createTask:async(W)=>{if(!Q)throw Error("No request provided");return await Y.createTask(W,Q.id,{method:Q.method,params:Q.params},X)},getTask:async(W)=>{let G=await Y.getTask(W,X);if(!G)throw new T(C.InvalidParams,"Failed to retrieve task: Task not found");return G},storeTaskResult:async(W,G,J)=>{await Y.storeTaskResult(W,G,J,X);let B=await Y.getTask(W,X);if(B){let H=P9.parse({method:"notifications/tasks/status",params:B});if(await this.notification(H),B1(B.status))this._cleanupTaskProgressHandler(W)}},getTaskResult:(W)=>{return Y.getTaskResult(W,X)},updateTaskStatus:async(W,G,J)=>{let B=await Y.getTask(W,X);if(!B)throw new T(C.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(B1(B.status))throw new T(C.InvalidParams,`Cannot update task "${W}" from terminal status "${B.status}" to "${G}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Y.updateTaskStatus(W,G,J,X);let H=await Y.getTask(W,X);if(H){let K=P9.parse({method:"notifications/tasks/status",params:H});if(await this.notification(K),B1(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return Y.listTasks(W,X)}}}}function aG(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function sG(Q,X){let Y={...Q};for(let W in X){let G=W,J=X[G];if(J===void 0)continue;let B=Y[G];if(aG(B)&&aG(J))Y[G]={...B,...J};else Y[G]=J}return Y}var xK=x4(r6(),1),_K=x4(vK(),1);function rw(){let Q=new xK.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return _K.default(Q),Q}class J4{constructor(Q){this._ajv=Q??rw()}getValidator(Q){let X="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(Y)=>{if(X(Y))return{valid:!0,data:Y,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(X.errors)}}}}class B4{constructor(Q){this._server=Q}requestStream(Q,X,Y){return this._server.requestStream(Q,X,Y)}createMessageStream(Q,X){let Y=this._server.getClientCapabilities();if((Q.tools||Q.toolChoice)&&!Y?.sampling?.tools)throw Error("Client does not support sampling tools capability.");if(Q.messages.length>0){let W=Q.messages[Q.messages.length-1],G=Array.isArray(W.content)?W.content:[W.content],J=G.some((z)=>z.type==="tool_result"),B=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,H=B?Array.isArray(B.content)?B.content:[B.content]:[],K=H.some((z)=>z.type==="tool_use");if(J){if(G.some((z)=>z.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!K)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(K){let z=new Set(H.filter((Z)=>Z.type==="tool_use").map((Z)=>Z.id)),A=new Set(G.filter((Z)=>Z.type==="tool_result").map((Z)=>Z.toolUseId));if(z.size!==A.size||![...z].every((Z)=>A.has(Z)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:Q},k9,X)}elicitInputStream(Q,X){let Y=this._server.getClientCapabilities(),W=Q.mode??"form";switch(W){case"url":{if(!Y?.elicitation?.url)throw Error("Client does not support url elicitation.");break}case"form":{if(!Y?.elicitation?.form)throw Error("Client does not support form elicitation.");break}}let G=W==="form"&&Q.mode===void 0?{...Q,mode:"form"}:Q;return this.requestStream({method:"elicitation/create",params:G},g1,X)}async getTask(Q,X){return this._server.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._server.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._server.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._server.cancelTask({taskId:Q},X)}}function yK(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"tools/call":if(!Q.tools?.call)throw Error(`${Y} does not support task creation for tools/call (required for ${X})`);break;default:break}}function gK(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${Y} does not support task creation for sampling/createMessage (required for ${X})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${Y} does not support task creation for elicitation/create (required for ${X})`);break;default:break}}class W8 extends Q6{constructor(Q,X){super(X);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(b9.options.map((Y,W)=>[Y,W])),this.isMessageIgnored=(Y,W)=>{let G=this._loggingLevels.get(W);return G?this.LOG_LEVEL_SEVERITY.get(Y)<this.LOG_LEVEL_SEVERITY.get(G):!1},this._capabilities=X?.capabilities??{},this._instructions=X?.instructions,this._jsonSchemaValidator=X?.jsonSchemaValidator??new J4,this.setRequestHandler(_8,(Y)=>this._oninitialize(Y)),this.setNotificationHandler(lX,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(oX,async(Y,W)=>{let G=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=Y.params,B=b9.safeParse(J);if(B.success)this._loggingLevels.set(G,B.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new B4(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=sG(this._capabilities,Q)}setRequestHandler(Q,X){let W=d8(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let G;if(h1(W)){let B=W;G=B._zod?.def?.value??B.value}else{let B=W;G=B._def?.value??B.value}if(typeof G!=="string")throw Error("Schema method literal must be a string");if(G==="tools/call"){let B=async(H,K)=>{let z=J1(q1,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new T(C.InvalidParams,`Invalid tools/call request: ${F}`)}let{params:A}=z.data,Z=await Promise.resolve(X(H,K));if(A.task){let F=J1(_1,Z);if(!F.success){let V=F.error instanceof Error?F.error.message:String(F.error);throw new T(C.InvalidParams,`Invalid task creation result: ${V}`)}return F.data}let D=J1(p8,Z);if(!D.success){let F=D.error instanceof Error?D.error.message:String(D.error);throw new T(C.InvalidParams,`Invalid tools/call result: ${F}`)}return D.data};return super.setRequestHandler(Q,B)}return super.setRequestHandler(Q,X)}assertCapabilityForMethod(Q){switch(Q){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${Q})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${Q})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${Q})`);break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${Q})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${Q})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${Q})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${Q})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${Q})`);break;case"ping":case"initialize":break}}assertTaskCapability(Q){gK(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;yK(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let X=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:v1.includes(X)?X:yX,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},v8)}async createMessage(Q,X){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let Y=Q.messages[Q.messages.length-1],W=Array.isArray(Y.content)?Y.content:[Y.content],G=W.some((K)=>K.type==="tool_result"),J=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,B=J?Array.isArray(J.content)?J.content:[J.content]:[],H=B.some((K)=>K.type==="tool_use");if(G){if(W.some((K)=>K.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!H)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(H){let K=new Set(B.filter((A)=>A.type==="tool_use").map((A)=>A.id)),z=new Set(W.filter((A)=>A.type==="tool_result").map((A)=>A.toolUseId));if(K.size!==z.size||![...K].every((A)=>z.has(A)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(Q.tools)return this.request({method:"sampling/createMessage",params:Q},rX,X);return this.request({method:"sampling/createMessage",params:Q},k9,X)}async elicitInput(Q,X){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let W=Q;return this.request({method:"elicitation/create",params:W},g1,X)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let W=Q.mode==="form"?Q:{...Q,mode:"form"},G=await this.request({method:"elicitation/create",params:W},g1,X);if(G.action==="accept"&&G.content&&W.requestedSchema)try{let B=this._jsonSchemaValidator.getValidator(W.requestedSchema)(G.content);if(!B.valid)throw new T(C.InvalidParams,`Elicitation response content does not match requested schema: ${B.errorMessage}`)}catch(J){if(J instanceof T)throw J;throw new T(C.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return G}}}createElicitationCompletionNotifier(Q,X){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:Q}},X)}async listRoots(Q,X){return this.request({method:"roots/list",params:Q},tX,X)}async sendLoggingMessage(Q,X){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,X))return this.notification({method:"notifications/message",params:Q})}}async sendResourceUpdated(Q){return this.notification({method:"notifications/resources/updated",params:Q})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}function H4(){return[{name:"getting_started",description:"Brief the LLM on what the Aether Wealth MCP exposes and the sign-in-first flow.",handler:()=>[{role:"user",content:{type:"text",text:["You are connected to the Aether Wealth MCP, which reads the user's trading journal over an authenticated connection.","","Auth tools:"," • login — sign in. Opens the browser; the user authenticates and approves access. Call this first if a data tool reports the user is not signed in."," • logout — sign out on this device.","","Data tools:"," • list_trades — list the user's trades, filtered by account, status, pair, or date range.","","Recommended flow:"," 1. Try the data tool the user asked for (e.g. list_trades).",' 2. If it reports "not signed in", call login, wait for the user to finish in the browser, then retry.',"","More read and write tools are being added; for now the journal is read-only over this connection."].join(`
|
|
85
|
+
`)}}]}]}function K4(){return[]}function l(Q){return Q}var tw='Not signed in to Aether Wealth. Call the "login" tool to authenticate, then retry.';async function r(Q){if(!await Q.session.getAccessToken())throw Error(tw)}var hK={type:"integer",minimum:1,maximum:200,description:"Max rows to return"},fK={type:"integer",minimum:1,description:"Page number (1-indexed)"};function SQ(Q,X){if(X===null||X===void 0){if(Q.required&&Q.required.length>0)return{ok:!1,reason:`missing required: ${Q.required.join(", ")}`};return{ok:!0,args:{}}}if(typeof X!=="object"||Array.isArray(X))return{ok:!1,reason:"args must be an object"};let Y=X,W=aw(Q,Y)??sw(Q,Y);return W?{ok:!1,reason:W}:{ok:!0,args:Y}}function aw(Q,X){for(let Y of Q.required??[])if(!(Y in X)||X[Y]===void 0||X[Y]===null)return`missing required: ${Y}`;return null}function sw(Q,X){if(Q.additionalProperties!==!1)return null;for(let Y of Object.keys(X))if(!(Y in Q.properties))return`unknown property: ${Y}`;return null}function z4(Q){return{triggerType:Q.triggerType??"close",isPersistent:Q.isPersistent??!1,notifyEmail:Q.notifyEmail??!0,notifyPush:Q.notifyPush??!0,...Q.message===void 0?{}:{message:Q.message},...Q.expiresAt===void 0?{}:{expiresAt:Q.expiresAt}}}function uK(Q){return{...Q.includeArchived===void 0?{}:{includeArchived:Q.includeArchived},...Q.pair===void 0?{}:{pair:Q.pair}}}function ew(Q){return{id:Q.id,...Q.price===void 0?{}:{price:Q.price},...Q.price1===void 0?{}:{price1:Q.price1},...Q.price2===void 0?{}:{price2:Q.price2},...Q.time1===void 0?{}:{time1:Q.time1},...Q.time2===void 0?{}:{time2:Q.time2},...Q.condition===void 0?{}:{condition:Q.condition},...Q.triggerType===void 0?{}:{triggerType:Q.triggerType},...Q.timeframe===void 0?{}:{timeframe:Q.timeframe},...Q.isActive===void 0?{}:{isActive:Q.isActive},...Q.isArchived===void 0?{}:{isArchived:Q.isArchived},...Q.isPersistent===void 0?{}:{isPersistent:Q.isPersistent},...Q.notifyEmail===void 0?{}:{notifyEmail:Q.notifyEmail},...Q.notifyPush===void 0?{}:{notifyPush:Q.notifyPush},...Q.message===void 0?{}:{message:Q.message},...Q.expiresAt===void 0?{}:{expiresAt:Q.expiresAt}}}function Q$(Q){return{id:Q.id,...Q.condition===void 0?{}:{condition:Q.condition},...Q.dedupMode===void 0?{}:{dedupMode:Q.dedupMode},...Q.triggerType===void 0?{}:{triggerType:Q.triggerType},...Q.isActive===void 0?{}:{isActive:Q.isActive},...Q.isArchived===void 0?{}:{isArchived:Q.isArchived},...Q.isPersistent===void 0?{}:{isPersistent:Q.isPersistent},...Q.notifyEmail===void 0?{}:{notifyEmail:Q.notifyEmail},...Q.notifyPush===void 0?{}:{notifyPush:Q.notifyPush},...Q.message===void 0?{}:{message:Q.message},...Q.expiresAt===void 0?{}:{expiresAt:Q.expiresAt}}}var A4={type:"string",enum:["above","below","crosses"]},G8={triggerType:{type:"string",enum:["close","wick"],description:"default: close"},isPersistent:{type:"boolean",description:"Re-arm after firing. default: false"},notifyEmail:{type:"boolean",description:"default: true"},notifyPush:{type:"boolean",description:"default: true"},message:{type:"string"},expiresAt:{type:"string",description:"ISO 8601 datetime"}},lK=[l({name:"list_alerts",description:"List your price + trendline alerts. Optionally include archived or filter by pair. Requires sign-in.",inputSchema:{type:"object",properties:{includeArchived:{type:"boolean"},pair:{type:"string"}},additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.alerts.list.query(uK(Q))}}),l({name:"create_price_alert",description:"Create a price-level alert (fires when price is above/below/crosses a level). Requires sign-in.",inputSchema:{type:"object",properties:{pair:{type:"string",description:"e.g. EURUSD, BTCUSD"},timeframe:{type:"string",description:"e.g. 1h, 4h, 1d"},price:{type:"number"},condition:A4,...G8},required:["pair","timeframe","price","condition"],additionalProperties:!1},handler:async(Q,X)=>{await r(X);let Y={pair:Q.pair,timeframe:Q.timeframe,price:Q.price,condition:Q.condition,...z4(Q)};return X.trpc.alerts.createPrice.mutate(Y)}}),l({name:"create_trendline_alert",description:"Create a trendline alert (fires when price crosses a line defined by two points). Requires sign-in.",inputSchema:{type:"object",properties:{pair:{type:"string"},timeframe:{type:"string"},price1:{type:"number"},time1:{type:"string",description:"ISO 8601 datetime of point 1"},price2:{type:"number"},time2:{type:"string",description:"ISO 8601 datetime of point 2"},condition:A4,...G8},required:["pair","timeframe","price1","time1","price2","time2","condition"],additionalProperties:!1},handler:async(Q,X)=>{await r(X);let Y={pair:Q.pair,timeframe:Q.timeframe,price1:Q.price1,time1:Q.time1,price2:Q.price2,time2:Q.time2,condition:Q.condition,...z4(Q)};return X.trpc.alerts.createTrendline.mutate(Y)}}),l({name:"update_alert",description:"Update a price/trendline alert (e.g. change level, archive, mute). Requires sign-in.",inputSchema:{type:"object",properties:{id:{type:"string"},price:{type:"number"},price1:{type:"number"},price2:{type:"number"},time1:{type:"string"},time2:{type:"string"},condition:A4,timeframe:{type:"string"},isActive:{type:"boolean"},isArchived:{type:"boolean"},...G8},required:["id"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.alerts.update.mutate(ew(Q))}}),l({name:"delete_alert",description:"Delete a price/trendline alert by id. Requires sign-in.",inputSchema:{type:"object",properties:{id:{type:"string"}},required:["id"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.alerts.delete.mutate({id:Q.id})}}),l({name:"list_indicator_alerts",description:"List your indicator-based alerts. Optionally include archived or filter by pair. Requires sign-in.",inputSchema:{type:"object",properties:{includeArchived:{type:"boolean"},pair:{type:"string"}},additionalProperties:!1},handler:async(Q,X)=>{await r(X);let Y=uK(Q);return X.trpc.alerts.indicator.list.query(Y)}}),l({name:"create_indicator_alert",description:"Create an indicator alert (fires on an indicator output condition, e.g. RSI crosses 70). `condition` is { op, threshold } or { op, other }. Requires sign-in.",inputSchema:{type:"object",properties:{pair:{type:"string"},timeframe:{type:"string"},indicatorType:{type:"string",description:"e.g. rsi, ema, macd"},indicatorParams:{type:"object",description:"Indicator settings, e.g. { length: 14 }"},outputSeries:{type:"string",description:"Which output series to watch"},condition:{type:"object",description:"{ op: gt|gte|lt|lte|eq|crosses_above|crosses_below, threshold } or { op: *_series, other }"},dedupMode:{type:"string",enum:["edge","continuous"],description:"default: edge"},...G8},required:["pair","timeframe","indicatorType","indicatorParams","outputSeries","condition"],additionalProperties:!1},handler:async(Q,X)=>{await r(X);let Y={pair:Q.pair,timeframe:Q.timeframe,indicatorType:Q.indicatorType,indicatorParams:Q.indicatorParams,outputSeries:Q.outputSeries,condition:Q.condition,dedupMode:Q.dedupMode??"edge",...z4(Q)};return X.trpc.alerts.indicator.create.mutate(Y)}}),l({name:"update_indicator_alert",description:"Update an indicator alert (condition, dedup, archive, mute). Requires sign-in.",inputSchema:{type:"object",properties:{id:{type:"string"},condition:{type:"object"},dedupMode:{type:"string",enum:["edge","continuous"]},isActive:{type:"boolean"},isArchived:{type:"boolean"},...G8},required:["id"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.alerts.indicator.update.mutate(Q$(Q))}}),l({name:"delete_indicator_alert",description:"Delete an indicator alert by id. Requires sign-in.",inputSchema:{type:"object",properties:{id:{type:"string"}},required:["id"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.alerts.indicator.delete.mutate({id:Q.id})}})];var mK=[l({name:"login",description:"Sign in to Aether Wealth. Opens your browser to authenticate; once you approve, the MCP stores a per-user token and the data tools become available.",inputSchema:{type:"object",properties:{},additionalProperties:!1},handler:async(Q,X)=>{return await X.session.login(),{status:"signed_in",message:"Signed in to Aether Wealth."}}}),l({name:"logout",description:"Sign out of Aether Wealth on this device. Clears the stored access token.",inputSchema:{type:"object",properties:{},additionalProperties:!1},handler:async(Q,X)=>{return await X.session.logout(),{status:"signed_out",message:"Signed out on this device."}}})];var X$="momentum: rsi, macd, stoch, stochf, stochrsi, cci, cmo, mom, roc, rocr, willr, mfi, ultosc, ppo, apo, bop, aroon, aroonosc; trend: adx, adxr, dx, plus_di, minus_di, plus_dm, minus_dm, sar, supertrend; moving averages: sma, ema, wma, dema, tema, trima, kama, t3ma, mama, vwap, midpoint, midprice; bands: bbands, keltner, percent_b; volatility: atr, natr, trange; volume: obv, ad, adosc; stats: linearreg, linearregslope, linearregangle, linearregintercept, stddev, var, tsf";function Y$(Q){return{pair:Q.pair,interval:Q.interval,indicators:Q.indicators.map((X)=>({name:X.name,...X.params===void 0?{}:{params:X.params}})),...Q.outputsize===void 0?{}:{outputsize:Q.outputsize}}}var cK=[l({name:"get_indicators",description:"Compute Twelve Data technical indicators for a pair + timeframe (requires sign-in). "+`Pass up to 8 indicators by name; params are optional and default sensibly. Names — ${X$}. Bad names/params return an error listing valid options. At most 2 distinct pairs per user at a time.`,inputSchema:{type:"object",properties:{pair:{type:"string",description:"Canonical id, e.g. EURUSD, XAUUSD, BTCUSD (case-insensitive)"},interval:{type:"string",description:"One of 1m, 5m, 15m, 30m, 45m, 1h, 2h, 4h, 1d"},indicators:{type:"array",minItems:1,maxItems:8,description:"Up to 8 indicators to compute on the pair",items:{type:"object",properties:{name:{type:"string",description:"Indicator name, e.g. rsi, macd, ema, bbands, atr, adx"},params:{type:"object",description:'Optional params, e.g. {"time_period": 14} or MACD {"fast_period":12,"slow_period":26}. Defaults applied when omitted.'}},required:["name"],additionalProperties:!1}},outputsize:{type:"integer",minimum:1,maximum:500,description:"Bars to return per indicator (default 30)"}},required:["pair","interval","indicators"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.technicalIndicators.get.query(Y$(Q))}})];function W$(Q){return{...Q.currency===void 0?{}:{currency:Q.currency},...Q.from===void 0?{}:{from:Q.from},...Q.to===void 0?{}:{to:Q.to},...Q.indicator===void 0?{}:{indicator:Q.indicator},...Q.impactMin===void 0?{}:{impactMin:Q.impactMin},...Q.view===void 0?{}:{view:Q.view}}}function G$(Q){return{currency:Q.currency,indicator:Q.indicator,...Q.from===void 0?{}:{from:Q.from},...Q.to===void 0?{}:{to:Q.to},...Q.limit===void 0?{}:{limit:Q.limit}}}var pK=[l({name:"get_candles",description:"Get the most recent OHLC candles (up to 500) for a pair + timeframe. Timeframe may be a base (1m, 5m, 15m, 30m, 1h, 4h, 1d) or any integer multiple of one (e.g. 2h, 3h, 12h, 90m), aggregated server-side; invalid or unsupported timeframes return an error, not an empty list.",inputSchema:{type:"object",properties:{pair:{type:"string",description:"e.g. EURUSD, BTCUSD (canonical id; case-insensitive)"},timeframe:{type:"string",description:"A base (1m, 5m, 15m, 30m, 1h, 4h, 1d) or an integer multiple of one (e.g. 2h, 3h, 12h, 90m). No fractional (2.5h) or sub-minute values."}},required:["pair","timeframe"],additionalProperties:!1},handler:async(Q,X)=>{await r(X);let Y={pair:Q.pair,timeframe:Q.timeframe};return X.trpc.marketData.candles.query(Y)}}),l({name:"list_economic_calendar",description:'List economic calendar events. Filter by currency, date range, release, or minimum impact (1-5). Currency and indicator/release are validated against the catalog: unknown values return an error listing valid options, so an empty result always means "no events" rather than "bad input".',inputSchema:{type:"object",properties:{currency:{type:"array",items:{type:"string"},description:'ISO currency codes, e.g. ["USD","EUR"]'},from:{type:"string",description:"ISO 8601 date or datetime"},to:{type:"string",description:"ISO 8601 date or datetime"},indicator:{type:"string",description:"release slug, e.g. cpi"},impactMin:{type:"integer",minimum:1,maximum:5},view:{type:"string",enum:["minimal","rich"]}},additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.marketData.listCalendar.query(W$(Q))}}),l({name:"get_macro_series",description:"Get a macro indicator time series (e.g. USD cpi). Currency and indicator are validated against the catalog: unknown values return an error listing valid options (case-insensitive).",inputSchema:{type:"object",properties:{currency:{type:"string",description:"ISO currency code, e.g. USD"},indicator:{type:"string",description:"release slug, e.g. cpi"},from:{type:"string",description:"ISO 8601 date or datetime"},to:{type:"string",description:"ISO 8601 date or datetime"},limit:{type:"integer",minimum:1,maximum:1000}},required:["currency","indicator"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.marketData.listIndicatorSeries.query(G$(Q))}}),l({name:"get_market_config",description:"Get the catalog of supported instruments + timeframes (useful before calling other tools).",inputSchema:{type:"object",properties:{},additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.marketData.getConfig.query()}})];function J$(Q){return{...Q.accountId===void 0?{}:{accountId:Q.accountId},...Q.status===void 0||Q.status==="ALL"?{}:{status:Q.status},...Q.pair===void 0?{}:{pair:Q.pair},...Q.from===void 0?{}:{from:Q.from},...Q.to===void 0?{}:{to:Q.to},...Q.page===void 0?{}:{page:Q.page},...Q.limit===void 0?{}:{limit:Q.limit}}}function iK(Q){return{...Q.stopLoss===void 0?{}:{stopLoss:Q.stopLoss},...Q.takeProfit===void 0?{}:{takeProfit:Q.takeProfit},...Q.lotSize===void 0?{}:{lotSize:Q.lotSize},...Q.notes===void 0?{}:{notes:Q.notes},...Q.timeframe===void 0?{}:{timeframe:Q.timeframe},...Q.riskPercent===void 0?{}:{riskPercent:Q.riskPercent},...Q.tags===void 0?{}:{tags:Q.tags}}}function B$(Q){return{accountId:Q.accountId,pair:Q.pair,direction:Q.direction,entryPrice:Q.entryPrice,entryTime:Q.entryTime,...iK(Q)}}function H$(Q){return{id:Q.id,...Q.pair===void 0?{}:{pair:Q.pair},...Q.direction===void 0?{}:{direction:Q.direction},...Q.entryPrice===void 0?{}:{entryPrice:Q.entryPrice},...Q.entryTime===void 0?{}:{entryTime:Q.entryTime},...iK(Q)}}function K$(Q){return{id:Q.id,exitPrice:Q.exitPrice,exitTime:Q.exitTime,...Q.fees===void 0?{}:{fees:Q.fees},...Q.swap===void 0?{}:{swap:Q.swap},...Q.notes===void 0?{}:{notes:Q.notes}}}function z$(Q){return{...Q.accountId===void 0?{}:{accountId:Q.accountId},...Q.pair===void 0?{}:{pair:Q.pair},...Q.from===void 0?{}:{from:Q.from},...Q.to===void 0?{}:{to:Q.to}}}var dK={stopLoss:{type:"number"},takeProfit:{type:"number"},lotSize:{type:"number"},notes:{type:"string"},timeframe:{type:"string",description:"e.g. 1h, 4h, 1d"},riskPercent:{type:"number"},tags:{type:"array",items:{type:"string"}}},nK=[l({name:"list_trades",description:"List the authenticated user's trades. Filter by account, status, pair, or date range (ISO 8601). Requires sign-in.",inputSchema:{type:"object",properties:{accountId:{type:"string"},status:{type:"string",enum:["OPEN","CLOSED","CANCELLED","ALL"]},pair:{type:"string",description:"e.g. EURUSD, BTCUSD"},from:{type:"string",description:"ISO 8601 datetime (inclusive lower bound)"},to:{type:"string",description:"ISO 8601 datetime (inclusive upper bound)"},page:fK,limit:hK},additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.trading.trades.list.query(J$(Q))}}),l({name:"get_trade",description:"Get a single trade by id. Requires sign-in.",inputSchema:{type:"object",properties:{id:{type:"string"}},required:["id"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.trading.trades.get.query({id:Q.id})}}),l({name:"list_accounts",description:"List the user's trading accounts (use an account's id when creating a trade). Requires sign-in.",inputSchema:{type:"object",properties:{},additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.trading.accounts.list.query()}}),l({name:"trade_stats",description:"Trading performance statistics (win rate, PnL, etc.). Filter by account, pair, or date range. Requires sign-in.",inputSchema:{type:"object",properties:{accountId:{type:"string"},pair:{type:"string"},from:{type:"string",description:"ISO 8601 datetime"},to:{type:"string",description:"ISO 8601 datetime"}},additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.trading.analytics.stats.query(z$(Q))}}),l({name:"create_trade",description:"Record a new trade. Requires sign-in. Use list_accounts to find the accountId.",inputSchema:{type:"object",properties:{accountId:{type:"string",description:"Trading account id (see list_accounts)"},pair:{type:"string",description:"e.g. EURUSD, BTCUSD"},direction:{type:"string",enum:["LONG","SHORT"]},entryPrice:{type:"number"},entryTime:{type:"string",description:"ISO 8601 datetime"},...dK},required:["accountId","pair","direction","entryPrice","entryTime"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.trading.trades.create.mutate(B$(Q))}}),l({name:"update_trade",description:"Update fields on an existing trade. Requires sign-in.",inputSchema:{type:"object",properties:{id:{type:"string"},pair:{type:"string"},direction:{type:"string",enum:["LONG","SHORT"]},entryPrice:{type:"number"},entryTime:{type:"string",description:"ISO 8601 datetime"},...dK},required:["id"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.trading.trades.update.mutate(H$(Q))}}),l({name:"close_trade",description:"Close an open trade with an exit price + time. Requires sign-in.",inputSchema:{type:"object",properties:{id:{type:"string"},exitPrice:{type:"number"},exitTime:{type:"string",description:"ISO 8601 datetime"},fees:{type:"number"},swap:{type:"number"},notes:{type:"string"}},required:["id","exitPrice","exitTime"],additionalProperties:!1},handler:async(Q,X)=>{return await r(X),X.trpc.trading.trades.close.mutate(K$(Q))}})];function Z4(){return[...mK,...nK,...lK,...pK,...cK]}var A$="aether-wealth-mcp",Z$="0.1.18-beta.4";function oK(Q){let X=new W8({name:A$,version:Z$},{capabilities:{tools:{listChanged:!1},resources:{listChanged:!1,subscribe:!1},prompts:{listChanged:!1}}});return F$(X,Q),X}function F$(Q,X){let Y=!1,W=(G)=>{let J=X.clientGate?.nudge;if(J&&!Y)return Y=!0,`${J}
|
|
86
|
+
|
|
87
|
+
${G}`;return G};Q.setRequestHandler(C9,async()=>({tools:Array.from(X.tools.values()).map((G)=>({name:G.name,description:G.description,inputSchema:G.inputSchema}))})),Q.setRequestHandler(q1,async(G)=>{if(X.clientGate?.blocked)return{content:[{type:"text",text:X.clientGate.blockedMessage??"Update required."}],isError:!0};let{name:J,arguments:B}=G.params,H=X.tools.get(J);if(!H)throw new T(C.MethodNotFound,`tool not found: ${J}`);let K=SQ(H.inputSchema,B);if(!K.ok)throw new T(C.InvalidParams,`invalid arguments for ${J}: ${K.reason}`);try{let z=await H.handler(K.args,X.toolContext);return{content:[{type:"text",text:W(D$(z))}],isError:!1}}catch(z){return{content:[{type:"text",text:V$(z)}],isError:!0}}}),Q.setRequestHandler(T9,async()=>({resources:Array.from(X.resources.values()).map((G)=>({uri:G.uri,name:G.name,description:G.description,mimeType:G.mimeType}))})),Q.setRequestHandler(j9,async(G)=>{let{uri:J}=G.params,B=X.resources.get(J);if(!B)throw new T(C.MethodNotFound,`resource not found: ${J}`);let H=await B.handler(X.toolContext);return{contents:[{uri:J,mimeType:B.mimeType,text:H.text}]}}),Q.setRequestHandler(S9,async()=>({prompts:Array.from(X.prompts.values()).map((G)=>({name:G.name,description:G.description,...G.arguments?{arguments:G.arguments}:{}}))})),Q.setRequestHandler(R9,async(G)=>{let{name:J,arguments:B}=G.params,H=X.prompts.get(J);if(!H)throw new T(C.MethodNotFound,`prompt not found: ${J}`);let K={};for(let[A,Z]of Object.entries(B??{}))if(typeof Z==="string")K[A]=Z;for(let A of H.arguments??[])if(A.required&&!(A.name in K))throw new T(C.InvalidParams,`prompts/get: missing required argument: ${A.name}`);let z=H.handler(K);return{description:H.description,messages:z}})}function D$(Q){if(typeof Q==="string")return Q;return JSON.stringify(Q,null,2)}function V$(Q){if(!(Q instanceof Error))return String(Q);let X=Q,Y=[`${X.name??"Error"}: ${X.message}`];if(typeof X.status==="number")Y.push(`status=${X.status}`);if(X.code)Y.push(`code=${X.code}`);if(X.method&&X.path)Y.push(`request=${X.method} ${X.path}`);return Y.join(" | ")}var U$="/mcp";async function aK(Q,X){let Y=X.path??U$,W=X.hostname??U1,G=X.log??((K)=>{process.stderr.write(K)});if(!X.bearerToken)G(`[http] WARNING: no bearer token configured; binding to ${W}:${X.port}${Y} unauthenticated
|
|
88
|
+
`);let J=Q.getRegistryBundle(),B=async(K)=>{if(new URL(K.url).pathname!==Y)return new Response("not found",{status:404});if(K.method==="GET")return new Response(JSON.stringify({ok:!0,transport:"streamable-http"}),{status:200,headers:{"content-type":"application/json"}});if(X.bearerToken&&!E$(K,X.bearerToken))return new Response("unauthorized",{status:401});let A=oK(J),Z=new aX({enableJsonResponse:!0});try{return await A.connect(Z),await Z.handleRequest(K)}catch(D){return G(`[http] dispatch error: ${sK(D)}
|
|
89
|
+
`),new Response(JSON.stringify({error:"internal error"}),{status:500,headers:{"content-type":"application/json"}})}finally{await Z.close().catch(tK),await A.close().catch(tK)}};if(globalThis.Bun?.serve)return N$(B,X,W);return M$(B,X,W)}function N$(Q,X,Y){let G=globalThis.Bun.serve({port:X.port,hostname:Y,fetch:Q});return{port:G.port??X.port,close:async()=>{await G.stop()}}}async function M$(Q,X,Y){let W=L$((B,H)=>{q$(B,H,Q).catch(()=>{})});return await new Promise((B,H)=>{W.once("error",H),W.listen(X.port,Y,()=>{W.off("error",H),B()})}),{port:W.address()?.port??X.port,close:()=>new Promise((B,H)=>{W.close((K)=>{if(K)H(K);else B()})})}}async function q$(Q,X,Y){try{let W=await w$(Q),G=await Y(W);await P$(G,X)}catch(W){if(!X.headersSent){X.statusCode=500,X.setHeader("content-type","application/json"),X.end(JSON.stringify({error:sK(W)}));return}X.end()}}async function w$(Q){let X=$$(Q),Y=O$(Q),W=Q.method??"GET",G={method:W,headers:Y},J=await I$(Q,W);if(J)G.body=J,G.duplex="half";return new Request(X,G)}function $$(Q){let X=Q.socket,Y=Q.headers["x-forwarded-proto"]??(X?.encrypted?"https":"http"),W=Q.headers.host??"localhost";return new URL(Q.url??"/",`${Y}://${W}`).toString()}function O$(Q){let X=new Headers;for(let[Y,W]of Object.entries(Q.headers)){if(W===void 0)continue;if(Array.isArray(W))for(let G of W)X.append(Y,G);else X.append(Y,W)}return X}async function I$(Q,X){if(X==="GET"||X==="HEAD")return;let Y=[];for await(let W of Q)Y.push(Buffer.isBuffer(W)?W:Buffer.from(W));return Y.length>0?Buffer.concat(Y):void 0}async function P$(Q,X){if(X.statusCode=Q.status,Q.headers.forEach((W,G)=>{X.setHeader(G,W)}),!Q.body){X.end();return}let Y=Q.body.getReader();try{while(!0){let{value:W,done:G}=await Y.read();if(G)break;if(W)X.write(Buffer.from(W))}}finally{Y.releaseLock(),X.end()}}function E$(Q,X){let Y=Q.headers.get("authorization");if(!Y)return!1;if(!Y.startsWith("Bearer "))return!1;let W=Y.slice(7),G=Buffer.from(W,"utf8"),J=Buffer.from(X,"utf8");if(G.length!==J.length){let B=Buffer.alloc(J.length);return G.copy(B,0,0,Math.min(G.length,J.length)),rK(B,J),!1}return rK(G,J)}function sK(Q){if(Q instanceof Error)return Q.message;return String(Q)}function tK(){return}import{chmod as T$,mkdir as j$,readFile as S$,rm as R$,writeFile as C$}from"node:fs/promises";import{homedir as b$}from"node:os";import{dirname as k$,join as eK}from"node:path";var F4="aether-wealth-mcp";function Qz(Q){if(typeof Q!=="object"||Q===null)return null;let{accessToken:X,expiresAt:Y}=Q;if(typeof X==="string"&&typeof Y==="number")return{accessToken:X,expiresAt:Y};return null}function v$(Q){try{return Qz(JSON.parse(Q))}catch{return null}}class Xz{Entry;constructor(Q){this.Entry=Q}async get(Q){try{return v$(new this.Entry(F4,Q).getPassword())}catch{return null}}async set(Q,X){new this.Entry(F4,Q).setPassword(JSON.stringify(X))}async clear(Q){try{new this.Entry(F4,Q).deletePassword()}catch{}}}class D4{filePath;constructor(Q){this.filePath=Q}async readAll(){try{let Q=JSON.parse(await S$(this.filePath,"utf8"));if(typeof Q!=="object"||Q===null)return{};return Q}catch{return{}}}async writeAll(Q){await j$(k$(this.filePath),{recursive:!0,mode:448}),await C$(this.filePath,JSON.stringify(Q,null,2),{mode:384}),await T$(this.filePath,384)}async get(Q){return Qz((await this.readAll())[Q])}async set(Q,X){let Y=await this.readAll();Y[Q]=X,await this.writeAll(Y)}async clear(Q){let X=await this.readAll();if(!(Q in X))return;if(delete X[Q],Object.keys(X).length===0){await R$(this.filePath,{force:!0});return}await this.writeAll(X)}}function x$(Q=process.env){let X=Q.XDG_CONFIG_HOME||eK(b$(),".config");return eK(X,"aether-wealth-mcp","credentials.json")}async function Yz(Q={}){let X=Q.filePath??x$();if(Q.forceFile||process.env.AETHER_MCP_CREDENTIALS_FILE)return new D4(X);try{let Y=Q.loadKeyring??(()=>import("@napi-rs/keyring")),{Entry:W}=await Y();return new Xz(W)}catch{return new D4(X)}}function Wz(Q){return z8.includes(Q)}import{spawn as _$}from"node:child_process";function y$(Q,X){if(Q==="darwin")return{command:"open",args:[X]};if(Q==="win32")return{command:"cmd",args:["/c","start","",X]};return{command:"xdg-open",args:[X]}}function Gz(Q,X=process.platform){return new Promise((Y)=>{let{command:W,args:G}=y$(X,Q);try{let J=_$(W,G,{stdio:"ignore",detached:!0});J.once("spawn",()=>{J.unref(),Y(!0)}),J.once("error",()=>Y(!1))}catch{Y(!1)}})}var V4="aether-wealth-mcp",Jz=[33417,33418,33419],L4="/callback",Bz=["trades:read","trades:write","accounts:read","alerts:read","alerts:write"];function Hz(Q){return`http://${U1}:${Q}${L4}`}async function RQ(Q){let X=await Q.text();if(!X)return{};try{let Y=JSON.parse(X);return typeof Y==="object"&&Y!==null?Y:{}}catch{return{}}}var g$="/auth/api/.well-known/openid-configuration";async function zz(Q,X=fetch){let Y=`${Q.replace(/\/$/,"")}${g$}`,W;try{W=await X(Y)}catch(H){throw Error(`OAuth discovery request failed for ${Y}`,{cause:H})}if(!W.ok)throw Error(`OAuth discovery returned ${W.status} for ${Y}`);let G=await RQ(W),J=G.authorization_endpoint,B=G.token_endpoint;if(typeof J!=="string"||typeof B!=="string")throw Error(`OAuth discovery at ${Y} is missing authorization_endpoint or token_endpoint`);return Kz(Q,J,Y),Kz(Q,B,Y),{authorizationEndpoint:J,tokenEndpoint:B}}function Kz(Q,X,Y){let W;try{W=new URL(X).origin}catch{throw Error(`OAuth discovery at ${Y} returned an invalid endpoint: ${X}`)}if(W!==new URL(Q).origin)throw Error(`OAuth discovery at ${Y} returned a cross-origin endpoint: ${X}`)}import{createServer as h$}from"node:http";function Zz(Q){let X=Q.ok?"accent":"danger",Y=Q.ok?"✓":"!";return`<!doctype html><html lang="en"><head><meta charset="utf-8">
|
|
90
|
+
<title>${Q.title}</title><meta name="viewport" content="width=device-width, initial-scale=1">
|
|
91
|
+
<style>
|
|
92
|
+
:root{--bg:40 30% 97%;--fg:220 30% 18%;--card:40 35% 99%;--muted:35 15% 42%;--border:35 18% 80%;--accent:326 44% 46%;--danger:0 65% 45%}
|
|
93
|
+
@media(prefers-color-scheme:dark){:root{--bg:226 37% 9%;--fg:230 50% 92%;--card:226 28% 13%;--muted:215 20% 65%;--border:226 11% 29%;--accent:326 39% 53%;--danger:0 70% 62%}}
|
|
94
|
+
*{box-sizing:border-box}html,body{height:100%}
|
|
95
|
+
body{margin:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(40rem 40rem at 50% 28%,hsl(var(--accent)/.06),transparent 62%),hsl(var(--bg));color:hsl(var(--fg));font:16px/1.5 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
|
|
96
|
+
.card{width:100%;max-width:23rem;text-align:center;padding:2.5rem 2rem;border-radius:1rem;background:hsl(var(--card)/.6);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid hsl(var(--fg)/.08);box-shadow:0 24px 64px -30px rgb(0 0 0 / .5)}
|
|
97
|
+
.badge{width:3rem;height:3rem;margin:0 auto 1.25rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;background:hsl(var(--${X})/.15);color:hsl(var(--${X}))}
|
|
98
|
+
h1{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
|
|
99
|
+
p{margin:0;color:hsl(var(--muted));font-size:.95rem}
|
|
100
|
+
.brand{margin-top:1.5rem;font:600 10px/1 'Inter',-apple-system,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--muted))}
|
|
101
|
+
</style></head>
|
|
102
|
+
<body><main class="card"><div class="badge">${Y}</div><h1>${Q.heading}</h1><p>${Q.detail}</p><div class="brand">Aether Wealth</div></main></body></html>`}var f$=Zz({title:"Signed in · Aether Wealth",heading:"Signed in to Aether Wealth",detail:"You can close this tab and return to your assistant.",ok:!0}),Az=Zz({title:"Sign-in failed · Aether Wealth",heading:"Sign-in failed",detail:"You can close this tab and try again from your assistant.",ok:!1});function u$(Q,X){return new Promise((Y)=>{let W=(G)=>{Q.removeListener("error",W),Y({ok:!1,...G.code==="EADDRINUSE"?{}:{error:G}})};Q.once("error",W),Q.listen(X,U1,()=>{Q.removeListener("error",W),Y({ok:!0})})})}async function l$(Q,X){let Y;for(let G of X){let J=await u$(Q,G);if(J.ok)return G;if(J.error)Y=J.error}let W=Y?`: ${Y.message}`:"";throw Error(`could not bind any loopback port (${X.join(", ")}) for OAuth redirect${W}`)}async function Fz(Q,X){let Y=null,W=null,G=null,J=(K)=>{if(Y)return;if(Y=K,K?.ok)W?.(K.value);else if(K)G?.(K.error)},B=h$((K,z)=>{let A=new URL(K.url??"/",`http://${U1}`);if(A.pathname!==X){z.writeHead(404).end("not found");return}let Z=A.searchParams.get("error"),D=A.searchParams.get("code"),F=A.searchParams.get("state");if(Z){z.writeHead(400,{"content-type":"text/html"}).end(Az),J({ok:!1,error:Error(`authorization denied: ${Z}`)});return}if(!D||!F){z.writeHead(400,{"content-type":"text/html"}).end(Az),J({ok:!1,error:Error("callback missing code or state")});return}z.writeHead(200,{"content-type":"text/html"}).end(f$),J({ok:!0,value:{code:D,state:F}})}),H=await l$(B,Q);return{redirectUri:Hz(H),waitForCode(K){return new Promise((z,A)=>{let Z=setTimeout(()=>A(Error("timed out waiting for the browser sign-in to complete")),K);if(Z.unref(),W=(D)=>{clearTimeout(Z),z(D)},G=(D)=>{clearTimeout(Z),A(D)},Y?.ok)W(Y.value);else if(Y)G(Y.error)})},close(){return new Promise((K)=>B.close(()=>K()))}}}import{createHash as m$,randomBytes as Dz}from"node:crypto";function U4(Q){return Q.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Vz(Q={}){let X=U4((Q.randomBytesImpl??Dz)(32)),Y=Q.hashImpl?Q.hashImpl(X):m$("sha256").update(X).digest();return{verifier:X,challenge:U4(Y),method:"S256"}}function Lz(Q=Dz){return U4(Q(16))}var c$=300000;async function Uz(Q){let X=Q.fetchImpl??fetch,Y=Q.log??(()=>{}),W=Q.now??Date.now,G=await zz(Q.authBaseUrl,X),J=Vz(),B=Lz(),H=await Fz(Jz,L4);try{let K=d$(Q.authBaseUrl),z=p$(G.authorizationEndpoint,{clientId:V4,redirectUri:H.redirectUri,scope:Bz.join(" "),state:B,codeChallenge:J.challenge,...K?{prompt:"consent"}:{}});if(Y(`Opening your browser to sign in. If it doesn't open, visit:
|
|
103
|
+
${z}
|
|
104
|
+
`),!await(Q.openBrowserImpl??Gz)(z))Y(`Could not open a browser automatically — open the URL above manually.
|
|
105
|
+
`);let{code:Z,state:D}=await H.waitForCode(c$);if(D!==B)throw Error("OAuth state mismatch — aborting login (possible CSRF).");return await i$(G.tokenEndpoint,{code:Z,codeVerifier:J.verifier,redirectUri:H.redirectUri,clientId:V4},X,W)}finally{await H.close()}}function p$(Q,X){let Y=new URL(Q);if(Y.searchParams.set("response_type","code"),Y.searchParams.set("client_id",X.clientId),Y.searchParams.set("redirect_uri",X.redirectUri),Y.searchParams.set("scope",X.scope),Y.searchParams.set("state",X.state),Y.searchParams.set("code_challenge",X.codeChallenge),Y.searchParams.set("code_challenge_method","S256"),X.prompt)Y.searchParams.set("prompt",X.prompt);return Y.toString()}function d$(Q){try{return Wz(new URL(Q).hostname)}catch{return!1}}async function i$(Q,X,Y=fetch,W=Date.now){let G=new URLSearchParams({grant_type:"authorization_code",code:X.code,redirect_uri:X.redirectUri,client_id:X.clientId,code_verifier:X.codeVerifier}),J=await Y(Q,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded",accept:"application/json"},body:G.toString()}),B=await RQ(J),H=B.access_token,K=B.expires_in;if(!J.ok||typeof H!=="string")throw Error(`OAuth token exchange failed: ${n$(B,J.status)}`);if(typeof K!=="number"||K<=0)throw Error("OAuth token exchange returned no valid expires_in");return{accessToken:H,expiresAt:W()+K*1000}}function n$(Q,X){if(typeof Q.error_description==="string")return Q.error_description;if(typeof Q.error==="string")return Q.error;return`HTTP ${X}`}class N4{config;store;deps;constructor(Q,X,Y={}){this.config=Q;this.store=X;this.deps=Y}async getAccessToken(){let Q=await this.store.get(this.config.host);if(!Q)return null;let X=(this.deps.now??Date.now)();if(Q.expiresAt<=X)return await this.store.clear(this.config.host),null;return Q.accessToken}async login(){let Q=await(this.deps.runLoginImpl??Uz)({authBaseUrl:this.config.baseUrl,...this.deps.log?{log:this.deps.log}:{},...this.deps.now?{now:this.deps.now}:{}});await this.store.set(this.config.host,{accessToken:Q.accessToken,expiresAt:Q.expiresAt})}async logout(){await this.store.clear(this.config.host)}}var Nz="aether-wealth-mcp",M4="0.1.18-beta.4";function o$(Q){return{toolContext:Q.toolContext,tools:new Map((Q.tools??Z4()).map((X)=>[X.name,X])),resources:new Map((Q.resources??K4()).map((X)=>[X.uri,X])),prompts:new Map((Q.prompts??H4()).map((X)=>[X.name,X])),...Q.clientGate?{clientGate:Q.clientGate}:{},log:Q.log??((X)=>{process.stderr.write(X)})}}function r$(Q){let X=new W8({name:Nz,version:M4},{capabilities:{tools:{listChanged:!1},resources:{listChanged:!1,subscribe:!1},prompts:{listChanged:!1}}});return t$(X,Q),X}class q4{server;bundle;constructor(Q){this.bundle=o$(Q),this.server=r$(this.bundle),this.server.oninitialized=()=>{this.bundle.log(`${Nz} initialized
|
|
106
|
+
`)}}async connect(Q){await this.server.connect(Q)}async close(){await this.server.close()}isInitialized(){return this.server.getClientVersion()!==void 0}getRegistryBundle(){return this.bundle}}function t$(Q,X){let Y=!1,W=(G)=>{let J=X.clientGate?.nudge;if(J&&!Y)return Y=!0,`${J}
|
|
107
|
+
|
|
108
|
+
${G}`;return G};Q.setRequestHandler(C9,async()=>({tools:Array.from(X.tools.values()).map((G)=>({name:G.name,description:G.description,inputSchema:G.inputSchema}))})),Q.setRequestHandler(q1,async(G)=>{if(X.clientGate?.blocked)return{content:[{type:"text",text:X.clientGate.blockedMessage??"Update required."}],isError:!0};let{name:J,arguments:B}=G.params,H=X.tools.get(J);if(!H)throw new T(C.MethodNotFound,`tool not found: ${J}`);let K=SQ(H.inputSchema,B);if(!K.ok)throw new T(C.InvalidParams,`invalid arguments for ${J}: ${K.reason}`);try{let z=await H.handler(K.args,X.toolContext);return{content:[{type:"text",text:W(a$(z))}],isError:!1}}catch(z){return{content:[{type:"text",text:s$(z)}],isError:!0}}}),Q.setRequestHandler(T9,async()=>({resources:Array.from(X.resources.values()).map((G)=>({uri:G.uri,name:G.name,description:G.description,mimeType:G.mimeType}))})),Q.setRequestHandler(j9,async(G)=>{let{uri:J}=G.params,B=X.resources.get(J);if(!B)throw new T(C.MethodNotFound,`resource not found: ${J}`);let H=await B.handler(X.toolContext);return{contents:[{uri:J,mimeType:B.mimeType,text:H.text}]}}),Q.setRequestHandler(S9,async()=>({prompts:Array.from(X.prompts.values()).map((G)=>({name:G.name,description:G.description,...G.arguments?{arguments:G.arguments}:{}}))})),Q.setRequestHandler(R9,async(G)=>{let{name:J,arguments:B}=G.params,H=X.prompts.get(J);if(!H)throw new T(C.MethodNotFound,`prompt not found: ${J}`);let K={};for(let[A,Z]of Object.entries(B??{}))if(typeof Z==="string")K[A]=Z;for(let A of H.arguments??[])if(A.required&&!(A.name in K))throw new T(C.InvalidParams,`prompts/get: missing required argument: ${A.name}`);let z=H.handler(K);return{description:H.description,messages:z}})}function a$(Q){if(typeof Q==="string")return Q;return JSON.stringify(Q,null,2)}function s$(Q){if(!(Q instanceof Error))return String(Q);let X=Q,Y=[`${X.name??"Error"}: ${X.message}`];if(typeof X.status==="number")Y.push(`status=${X.status}`);if(X.code)Y.push(`code=${X.code}`);if(X.method&&X.path)Y.push(`request=${X.method} ${X.path}`);return Y.join(" | ")}import qz from"node:process";class w4{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
|
|
109
|
+
`);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),e$(X)}clear(){this._buffer=void 0}}function e$(Q){return q9.parse(JSON.parse(Q))}function Mz(Q){return JSON.stringify(Q)+`
|
|
110
|
+
`}class CQ{constructor(Q=qz.stdin,X=qz.stdout){this._stdin=Q,this._stdout=X,this._readBuffer=new w4,this._started=!1,this._ondata=(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()},this._onerror=(Y)=>{this.onerror?.(Y)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(Q){return new Promise((X)=>{let Y=Mz(Q);if(this._stdout.write(Y))X();else this._stdout.once("drain",X)})}}var{create:QO,defineProperty:wz,getOwnPropertyDescriptor:XO,getOwnPropertyNames:$z,getPrototypeOf:YO}=Object,WO=Object.prototype.hasOwnProperty,g0=(Q,X)=>function(){return X||(0,Q[$z(Q)[0]])((X={exports:{}}).exports,X),X.exports},GO=(Q,X,Y,W)=>{if(X&&typeof X==="object"||typeof X==="function"){for(var G=$z(X),J=0,B=G.length,H;J<B;J++)if(H=G[J],!WO.call(Q,H)&&H!==Y)wz(Q,H,{get:((K)=>X[K]).bind(null,H),enumerable:!(W=XO(X,H))||W.enumerable})}return Q},m=(Q,X,Y)=>(Y=Q!=null?QO(YO(Q)):{},GO(X||!Q||!Q.__esModule?wz(Y,"default",{value:Q,enumerable:!0}):Y,Q)),Oz=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(Q,X){function Y(W){return X.exports=Y=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(G){return typeof G}:function(G){return G&&typeof Symbol=="function"&&G.constructor===Symbol&&G!==Symbol.prototype?"symbol":typeof G},X.exports.__esModule=!0,X.exports.default=X.exports,Y(W)}X.exports=Y,X.exports.__esModule=!0,X.exports.default=X.exports}}),JO=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(Q,X){var Y=Oz().default;function W(G,J){if(Y(G)!="object"||!G)return G;var B=G[Symbol.toPrimitive];if(B!==void 0){var H=B.call(G,J||"default");if(Y(H)!="object")return H;throw TypeError("@@toPrimitive must return a primitive value.")}return(J==="string"?String:Number)(G)}X.exports=W,X.exports.__esModule=!0,X.exports.default=X.exports}}),BO=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(Q,X){var Y=Oz().default,W=JO();function G(J){var B=W(J,"string");return Y(B)=="symbol"?B:B+""}X.exports=G,X.exports.__esModule=!0,X.exports.default=X.exports}}),u0=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(Q,X){var Y=BO();function W(G,J,B){return(J=Y(J))in G?Object.defineProperty(G,J,{value:B,enumerable:!0,configurable:!0,writable:!0}):G[J]=B,G}X.exports=W,X.exports.__esModule=!0,X.exports.default=X.exports}}),G0=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(Q,X){var Y=u0();function W(J,B){var H=Object.keys(J);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(J);B&&(K=K.filter(function(z){return Object.getOwnPropertyDescriptor(J,z).enumerable})),H.push.apply(H,K)}return H}function G(J){for(var B=1;B<arguments.length;B++){var H=arguments[B]!=null?arguments[B]:{};B%2?W(Object(H),!0).forEach(function(K){Y(J,K,H[K])}):Object.getOwnPropertyDescriptors?Object.defineProperties(J,Object.getOwnPropertyDescriptors(H)):W(Object(H)).forEach(function(K){Object.defineProperty(J,K,Object.getOwnPropertyDescriptor(H,K))})}return J}X.exports=G,X.exports.__esModule=!0,X.exports.default=X.exports}});function l0(Q){let X={subscribe(Y){let W=null,G=!1,J=!1,B=!1;function H(){if(W===null){B=!0;return}if(J)return;if(J=!0,typeof W==="function")W();else if(W)W.unsubscribe()}if(W=Q({next(K){var z;if(G)return;(z=Y.next)===null||z===void 0||z.call(Y,K)},error(K){var z;if(G)return;G=!0,(z=Y.error)===null||z===void 0||z.call(Y,K),H()},complete(){var K;if(G)return;G=!0,(K=Y.complete)===null||K===void 0||K.call(Y),H()}}),B)H();return{unsubscribe:H}},pipe(...Y){return Y.reduce(HO,X)}};return X}function HO(Q,X){return X(Q)}function $4(Q){let X=new AbortController;return new Promise((W,G)=>{let J=!1;function B(){if(J)return;J=!0,H.unsubscribe()}X.signal.addEventListener("abort",()=>{G(X.signal.reason)});let H=Q.subscribe({next(K){J=!0,W(K),B()},error(K){G(K)},complete(){X.abort(),B()}})})}function O4(Q){return(X)=>{let Y=0,W=null,G=[];function J(){if(W)return;W=X.subscribe({next(H){for(let z of G){var K;(K=z.next)===null||K===void 0||K.call(z,H)}},error(H){for(let z of G){var K;(K=z.error)===null||K===void 0||K.call(z,H)}},complete(){for(let K of G){var H;(H=K.complete)===null||H===void 0||H.call(K)}}})}function B(){if(Y===0&&W){let H=W;W=null,H.unsubscribe()}}return l0((H)=>{return Y++,G.push(H),J(),{unsubscribe(){Y--,B();let K=G.findIndex((z)=>z===H);if(K>-1)G.splice(K,1)}}})}}var kb=Symbol();function bQ(Q){let X=Q,Y=[],W=(B)=>{if(X!==void 0)B.next(X);Y.push(B)},G=(B)=>{Y.splice(Y.indexOf(B),1)},J=l0((B)=>{return W(B),()=>{G(B)}});return J.next=(B)=>{if(X===B)return;X=B;for(let H of Y)H.next(B)},J.get=()=>X,J}function Iz(Q){return l0((X)=>{function Y(G=0,J=Q.op){let B=Q.links[G];if(!B)throw Error("No more links to execute - did you forget to add an ending link?");return B({op:J,next(K){return Y(G+1,K)}})}return Y().subscribe(X)})}function s0(Q){return!!Q&&!Array.isArray(Q)&&typeof Q==="object"}function kQ(){return Object.create(null)}var s1={PARSE_ERROR:-32700,BAD_REQUEST:-32600,INTERNAL_SERVER_ERROR:-32603,NOT_IMPLEMENTED:-32603,BAD_GATEWAY:-32603,SERVICE_UNAVAILABLE:-32603,GATEWAY_TIMEOUT:-32603,UNAUTHORIZED:-32001,PAYMENT_REQUIRED:-32002,FORBIDDEN:-32003,NOT_FOUND:-32004,METHOD_NOT_SUPPORTED:-32005,TIMEOUT:-32008,CONFLICT:-32009,PRECONDITION_FAILED:-32012,PAYLOAD_TOO_LARGE:-32013,UNSUPPORTED_MEDIA_TYPE:-32015,UNPROCESSABLE_CONTENT:-32022,PRECONDITION_REQUIRED:-32028,TOO_MANY_REQUESTS:-32029,CLIENT_CLOSED_REQUEST:-32099};var Pz=[s1.BAD_GATEWAY,s1.SERVICE_UNAVAILABLE,s1.GATEWAY_TIMEOUT,s1.INTERNAL_SERVER_ERROR];var{create:zO,defineProperty:Tz,getOwnPropertyDescriptor:AO,getOwnPropertyNames:jz,getPrototypeOf:ZO}=Object,FO=Object.prototype.hasOwnProperty,J8=(Q,X)=>function(){return X||(0,Q[jz(Q)[0]])((X={exports:{}}).exports,X),X.exports},DO=(Q,X,Y,W)=>{if(X&&typeof X==="object"||typeof X==="function"){for(var G=jz(X),J=0,B=G.length,H;J<B;J++)if(H=G[J],!FO.call(Q,H)&&H!==Y)Tz(Q,H,{get:((K)=>X[K]).bind(null,H),enumerable:!(W=AO(X,H))||W.enumerable})}return Q},B8=(Q,X,Y)=>(Y=Q!=null?zO(ZO(Q)):{},DO(X||!Q||!Q.__esModule?Tz(Y,"default",{value:Q,enumerable:!0}):Y,Q)),Sz=()=>{},Ez=(Q)=>{if(Object.freeze)Object.freeze(Q)};function Rz(Q,X,Y){var W;let G=X.join(".");return(W=Y[G])!==null&&W!==void 0||(Y[G]=new Proxy(Sz,{get(J,B){if(typeof B!=="string"||B==="then")return;return Rz(Q,[...X,B],Y)},apply(J,B,H){let K=X[X.length-1];if(K==="valueOf"||K==="toString"||K==="toJSON")return`tRPC.proxy(${X.slice(0,-1).join(".")})`;let z={args:H,path:X};if(K==="call")z={args:H.length>=2?[H[1]]:[],path:X.slice(0,-1)};else if(K==="apply")z={args:H.length>=2?H[1]:[],path:X.slice(0,-1)};return Ez(z.args),Ez(z.path),Q(z)}})),Y[G]}var vQ=(Q)=>Rz(Q,[],kQ()),I4=(Q)=>{return new Proxy(Sz,{get(X,Y){if(Y==="then")return;return Q(Y)}})};var Cz=J8({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(Q,X){function Y(W){return X.exports=Y=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(G){return typeof G}:function(G){return G&&typeof Symbol=="function"&&G.constructor===Symbol&&G!==Symbol.prototype?"symbol":typeof G},X.exports.__esModule=!0,X.exports.default=X.exports,Y(W)}X.exports=Y,X.exports.__esModule=!0,X.exports.default=X.exports}}),VO=J8({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(Q,X){var Y=Cz().default;function W(G,J){if(Y(G)!="object"||!G)return G;var B=G[Symbol.toPrimitive];if(B!==void 0){var H=B.call(G,J||"default");if(Y(H)!="object")return H;throw TypeError("@@toPrimitive must return a primitive value.")}return(J==="string"?String:Number)(G)}X.exports=W,X.exports.__esModule=!0,X.exports.default=X.exports}}),LO=J8({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(Q,X){var Y=Cz().default,W=VO();function G(J){var B=W(J,"string");return Y(B)=="symbol"?B:B+""}X.exports=G,X.exports.__esModule=!0,X.exports.default=X.exports}}),P4=J8({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(Q,X){var Y=LO();function W(G,J,B){return(J=Y(J))in G?Object.defineProperty(G,J,{value:B,enumerable:!0,configurable:!0,writable:!0}):G[J]=B,G}X.exports=W,X.exports.__esModule=!0,X.exports.default=X.exports}}),xQ=J8({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(Q,X){var Y=P4();function W(J,B){var H=Object.keys(J);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(J);B&&(K=K.filter(function(z){return Object.getOwnPropertyDescriptor(J,z).enumerable})),H.push.apply(H,K)}return H}function G(J){for(var B=1;B<arguments.length;B++){var H=arguments[B]!=null?arguments[B]:{};B%2?W(Object(H),!0).forEach(function(K){Y(J,K,H[K])}):Object.getOwnPropertyDescriptors?Object.defineProperties(J,Object.getOwnPropertyDescriptors(H)):W(Object(H)).forEach(function(K){Object.defineProperty(J,K,Object.getOwnPropertyDescriptor(H,K))})}return J}X.exports=G,X.exports.__esModule=!0,X.exports.default=X.exports}}),nb=B8(xQ(),1);var ab=B8(P4(),1);var _Q=B8(xQ(),1);function MO(Q,X){if("error"in Q){let W=X.deserialize(Q.error);return{ok:!1,error:(0,_Q.default)((0,_Q.default)({},Q),{},{error:W})}}return{ok:!0,result:(0,_Q.default)((0,_Q.default)({},Q.result),(!Q.result.type||Q.result.type==="data")&&{type:"data",data:X.deserialize(Q.result.data)})}}var E4=class extends Error{constructor(){super("Unable to transform response from server")}};function T4(Q,X){let Y;try{Y=MO(Q,X)}catch(W){throw new E4}if(!Y.ok&&(!s0(Y.error.error)||typeof Y.error.error.code!=="number"))throw new E4;if(Y.ok&&!s0(Y.result))throw new E4;return Y}var sb=B8(xQ(),1);var eb=Symbol();var yQ=m(u0(),1),e1=m(G0(),1);function bz(Q){return Q instanceof V1}function OO(Q){return s0(Q)&&s0(Q.error)&&typeof Q.error.code==="number"&&typeof Q.error.message==="string"}function IO(Q,X){if(typeof Q==="string")return Q;if(s0(Q)&&typeof Q.message==="string")return Q.message;return X}var V1=class Q extends Error{constructor(X,Y){var W,G;let J=Y===null||Y===void 0?void 0:Y.cause;super(X,{cause:J});(0,yQ.default)(this,"cause",void 0),(0,yQ.default)(this,"shape",void 0),(0,yQ.default)(this,"data",void 0),(0,yQ.default)(this,"meta",void 0),this.meta=Y===null||Y===void 0?void 0:Y.meta,this.cause=J,this.shape=Y===null||Y===void 0||(W=Y.result)===null||W===void 0?void 0:W.error,this.data=Y===null||Y===void 0||(G=Y.result)===null||G===void 0?void 0:G.error.data,this.name="TRPCClientError",Object.setPrototypeOf(this,Q.prototype)}static from(X,Y={}){let W=X;if(bz(W)){if(Y.meta)W.meta=(0,e1.default)((0,e1.default)({},W.meta),Y.meta);return W}if(OO(W))return new Q(W.error.message,(0,e1.default)((0,e1.default)({},Y),{},{result:W,cause:Y.cause}));return new Q(IO(W,"Unknown error"),(0,e1.default)((0,e1.default)({},Y),{},{cause:W}))}};function gQ(Q){let X=Q;if(!X)return{input:{serialize:(Y)=>Y,deserialize:(Y)=>Y},output:{serialize:(Y)=>Y,deserialize:(Y)=>Y}};if("input"in X)return X;return{input:X,output:X}}var kz=(Q)=>typeof Q==="function";function vz(Q){if(Q)return Q;if(typeof window<"u"&&kz(window.fetch))return window.fetch;if(typeof globalThis<"u"&&kz(globalThis.fetch))return globalThis.fetch;throw Error("No fetch implementation found")}var H8=m(G0());function hQ(Q){return{url:Q.url.toString(),fetch:Q.fetch,transformer:gQ(Q.transformer),methodOverride:Q.methodOverride}}function PO(Q){let X={};for(let Y=0;Y<Q.length;Y++){let W=Q[Y];X[Y]=W}return X}var EO={query:"GET",mutation:"POST",subscription:"PATCH"};function xz(Q){return"input"in Q?Q.transformer.input.serialize(Q.input):PO(Q.inputs.map((X)=>Q.transformer.input.serialize(X)))}var K8=(Q)=>{let X=Q.url.split("?"),W=X[0].replace(/\/$/,"")+"/"+Q.path,G=[];if(X[1])G.push(X[1]);if("inputs"in Q)G.push("batch=1");if(Q.type==="query"||Q.type==="subscription"){let J=xz(Q);if(J!==void 0&&Q.methodOverride!=="POST")G.push(`input=${encodeURIComponent(JSON.stringify(J))}`)}if(G.length)W+="?"+G.join("&");return W},_z=(Q)=>{if(Q.type==="query"&&Q.methodOverride!=="POST")return;let X=xz(Q);return X!==void 0?JSON.stringify(X):void 0},j4=(Q)=>{return gz((0,H8.default)((0,H8.default)({},Q),{},{contentTypeHeader:"application/json",getUrl:K8,getBody:_z}))},TO=class extends Error{constructor(){super("AbortError");this.name="AbortError",this.message="AbortError"}},jO=(Q)=>{var X;if(!(Q===null||Q===void 0?void 0:Q.aborted))return;if((X=Q.throwIfAborted)===null||X===void 0||X.call(Q),typeof DOMException<"u")throw new DOMException("AbortError","AbortError");throw new TO};async function yz(Q){var X,Y;jO(Q.signal);let W=Q.getUrl(Q),G=Q.getBody(Q),J=(X=Q.methodOverride)!==null&&X!==void 0?X:EO[Q.type],B=await(async()=>{let K=await Q.headers();if(Symbol.iterator in K)return Object.fromEntries(K);return K})(),H=(0,H8.default)((0,H8.default)((0,H8.default)({},Q.contentTypeHeader&&J!=="GET"?{"content-type":Q.contentTypeHeader}:{}),Q.trpcAcceptHeader?{[(Y=Q.trpcAcceptHeaderKey)!==null&&Y!==void 0?Y:"trpc-accept"]:Q.trpcAcceptHeader}:void 0),B);return vz(Q.fetch)(W,{method:J,signal:Q.signal,body:G,headers:H})}async function gz(Q){let X={},Y=await yz(Q);X.response=Y;let W=await Y.json();return X.responseJSON=W,{json:W,meta:X}}var Kv=m(G0(),1);var hz=()=>{throw Error("Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new")};function S4(Q){let X=null,Y=null,W=()=>{clearTimeout(Y),Y=null,X=null};function G(H){let K=[[]],z=0;while(!0){let D=H[z];if(!D)break;let F=K[K.length-1];if(D.aborted){var A;(A=D.reject)===null||A===void 0||A.call(D,Error("Aborted")),z++;continue}if(Q.validate(F.concat(D).map((L)=>L.key))){F.push(D),z++;continue}if(F.length===0){var Z;(Z=D.reject)===null||Z===void 0||Z.call(D,Error("Input is too big for a single dispatch")),z++;continue}K.push([])}return K}function J(){let H=G(X);W();for(let K of H){if(!K.length)continue;let z={items:K};for(let Z of K)Z.batch=z;Q.fetch(z.items.map((Z)=>Z.key)).then(async(Z)=>{await Promise.all(Z.map(async(F,V)=>{let L=z.items[V];try{var M;let O=await Promise.resolve(F);(M=L.resolve)===null||M===void 0||M.call(L,O)}catch(O){var q;(q=L.reject)===null||q===void 0||q.call(L,O)}L.batch=null,L.reject=null,L.resolve=null}));for(let F of z.items){var D;(D=F.reject)===null||D===void 0||D.call(F,Error("Missing result")),F.batch=null}}).catch((Z)=>{for(let F of z.items){var D;(D=F.reject)===null||D===void 0||D.call(F,Z),F.batch=null}})}}function B(H){var K;let z={aborted:!1,key:H,batch:null,resolve:hz,reject:hz},A=new Promise((Z,D)=>{var F;z.reject=D,z.resolve=Z,(F=X)!==null&&F!==void 0||(X=[]),X.push(z)});return(K=Y)!==null&&K!==void 0||(Y=setTimeout(J)),A}return{load:B}}function fz(...Q){let X=new AbortController,Y=Q.length,W=0,G=()=>{if(++W===Y)X.abort()};for(let J of Q)if(J===null||J===void 0?void 0:J.aborted)G();else J===null||J===void 0||J.addEventListener("abort",G,{once:!0});return X.signal}var fQ=m(G0(),1);function R4(Q){var X,Y;let W=hQ(Q),G=(X=Q.maxURLLength)!==null&&X!==void 0?X:1/0,J=(Y=Q.maxItems)!==null&&Y!==void 0?Y:1/0;return()=>{let B=(A)=>{return{validate(Z){if(G===1/0&&J===1/0)return!0;if(Z.length>J)return!1;let D=Z.map((L)=>L.path).join(","),F=Z.map((L)=>L.input);return K8((0,fQ.default)((0,fQ.default)({},W),{},{type:A,path:D,inputs:F,signal:null})).length<=G},async fetch(Z){let D=Z.map((O)=>O.path).join(","),F=Z.map((O)=>O.input),V=fz(...Z.map((O)=>O.signal)),L=await j4((0,fQ.default)((0,fQ.default)({},W),{},{path:D,inputs:F,type:A,headers(){if(!Q.headers)return{};if(typeof Q.headers==="function")return Q.headers({opList:Z});return Q.headers},signal:V}));return(Array.isArray(L.json)?L.json:Z.map(()=>L.json)).map((O)=>({meta:L.meta,json:O}))}}},H=S4(B("query")),K=S4(B("mutation")),z={query:H,mutation:K};return({op:A})=>{return l0((Z)=>{if(A.type==="subscription")throw Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");let F=z[A.type].load(A),V=void 0;return F.then((L)=>{V=L;let M=T4(L.json,W.transformer.output);if(!M.ok){Z.error(V1.from(M.error,{meta:L.meta}));return}Z.next({context:L.meta,result:M.result}),Z.complete()}).catch((L)=>{Z.error(V1.from(L,{meta:V===null||V===void 0?void 0:V.meta}))}),()=>{}})}}}var Nv=m(G0(),1);var C4=(Q,...X)=>{return typeof Q==="function"?Q(...X):Q},Iv=m(u0(),1);function SO(){let Q,X;return{promise:new Promise((W,G)=>{Q=W,X=G}),resolve:Q,reject:X}}async function RO(Q){let X=await C4(Q.url);if(!Q.connectionParams)return X;let W=`${X.includes("?")?"&":"?"}connectionParams=1`;return X+W}async function CO(Q,X){let Y={method:"connectionParams",data:await C4(Q)};return X.encode(Y)}var Pv=m(u0(),1);var L1=m(u0(),1);function bO(Q){let{promise:X,resolve:Y,reject:W}=SO();return Q.addEventListener("open",()=>{Q.removeEventListener("error",W),Y()}),Q.addEventListener("error",W),X}function kO(Q,{intervalMs:X,pongTimeoutMs:Y}){let W,G;function J(){W=setTimeout(()=>{Q.send("PING"),G=setTimeout(()=>{Q.close()},Y)},X)}function B(){clearTimeout(W),J()}function H(){clearTimeout(G),B()}Q.addEventListener("open",J),Q.addEventListener("message",({data:K})=>{if(clearTimeout(W),J(),K==="PONG")H()}),Q.addEventListener("close",()=>{clearTimeout(W),clearTimeout(G)})}var vO=class Q{constructor(X){var Y;if((0,L1.default)(this,"id",++Q.connectCount),(0,L1.default)(this,"WebSocketPonyfill",void 0),(0,L1.default)(this,"urlOptions",void 0),(0,L1.default)(this,"keepAliveOpts",void 0),(0,L1.default)(this,"encoder",void 0),(0,L1.default)(this,"wsObservable",bQ(null)),(0,L1.default)(this,"openPromise",null),this.WebSocketPonyfill=(Y=X.WebSocketPonyfill)!==null&&Y!==void 0?Y:WebSocket,!this.WebSocketPonyfill)throw Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");this.urlOptions=X.urlOptions,this.keepAliveOpts=X.keepAlive,this.encoder=X.encoder}get ws(){return this.wsObservable.get()}set ws(X){this.wsObservable.next(X)}isOpen(){return!!this.ws&&this.ws.readyState===this.WebSocketPonyfill.OPEN&&!this.openPromise}isClosed(){return!!this.ws&&(this.ws.readyState===this.WebSocketPonyfill.CLOSING||this.ws.readyState===this.WebSocketPonyfill.CLOSED)}async open(){var X=this;if(X.openPromise)return X.openPromise;X.id=++Q.connectCount;let Y=RO(X.urlOptions).then((W)=>new X.WebSocketPonyfill(W));X.openPromise=Y.then(async(W)=>{if(X.ws=W,W.binaryType="arraybuffer",W.addEventListener("message",function({data:G}){if(G==="PING")this.send("PONG")}),X.keepAliveOpts.enabled)kO(W,X.keepAliveOpts);if(W.addEventListener("close",()=>{if(X.ws===W)X.ws=null}),await bO(W),X.urlOptions.connectionParams)W.send(await CO(X.urlOptions.connectionParams,X.encoder))});try{await X.openPromise}finally{X.openPromise=null}}async close(){var X=this;try{await X.openPromise}finally{var Y;(Y=X.ws)===null||Y===void 0||Y.close()}}};(0,L1.default)(vO,"connectCount",0);var Ev=m(u0(),1),Tv=m(G0(),1);var b4=m(u0(),1),uz=m(G0(),1),xO=class{constructor(Q){(0,b4.default)(this,"links",void 0),(0,b4.default)(this,"runtime",void 0),(0,b4.default)(this,"requestId",void 0),this.requestId=0,this.runtime={},this.links=Q.links.map((X)=>X(this.runtime))}$request(Q){var X;return Iz({links:this.links,op:(0,uz.default)((0,uz.default)({},Q),{},{context:(X=Q.context)!==null&&X!==void 0?X:{},id:++this.requestId})}).pipe(O4())}async requestAsPromise(Q){var X=this;try{let Y=X.$request(Q);return(await $4(Y)).result.data}catch(Y){throw V1.from(Y)}}query(Q,X,Y){return this.requestAsPromise({type:"query",path:Q,input:X,context:Y===null||Y===void 0?void 0:Y.context,signal:Y===null||Y===void 0?void 0:Y.signal})}mutation(Q,X,Y){return this.requestAsPromise({type:"mutation",path:Q,input:X,context:Y===null||Y===void 0?void 0:Y.context,signal:Y===null||Y===void 0?void 0:Y.signal})}subscription(Q,X,Y){return this.$request({type:"subscription",path:Q,input:X,context:Y.context,signal:Y.signal}).subscribe({next(G){switch(G.result.type){case"state":{var J;(J=Y.onConnectionStateChange)===null||J===void 0||J.call(Y,G.result);break}case"started":{var B;(B=Y.onStarted)===null||B===void 0||B.call(Y,{context:G.context});break}case"stopped":{var H;(H=Y.onStopped)===null||H===void 0||H.call(Y);break}case"data":case void 0:{var K;(K=Y.onData)===null||K===void 0||K.call(Y,G.result.data);break}}},error(G){var J;(J=Y.onError)===null||J===void 0||J.call(Y,G)},complete(){var G;(G=Y.onComplete)===null||G===void 0||G.call(Y)}})}};var _O=Symbol.for("trpc_untypedClient"),yO={query:"query",mutate:"mutation",subscribe:"subscription"},gO=(Q)=>{return yO[Q]};function hO(Q){let X=vQ(({path:Y,args:W})=>{let G=[...Y],J=gO(G.pop()),B=G.join(".");return Q[J](B,...W)});return I4((Y)=>{if(Y===_O)return Q;return X[Y]})}function lz(Q){let X=new xO(Q);return hO(X)}var Xx=m(G0(),1);var Yx=m(G0(),1);var fO=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(Q,X){function Y(G){var J,B,H,K=2;for(typeof Symbol<"u"&&(B=Symbol.asyncIterator,H=Symbol.iterator);K--;){if(B&&(J=G[B])!=null)return J.call(G);if(H&&(J=G[H])!=null)return new W(J.call(G));B="@@asyncIterator",H="@@iterator"}throw TypeError("Object is not async iterable")}function W(G){function J(B){if(Object(B)!==B)return Promise.reject(TypeError(B+" is not an object."));var H=B.done;return Promise.resolve(B.value).then(function(K){return{value:K,done:H}})}return W=function(H){this.s=H,this.n=H.next},W.prototype={s:null,n:null,next:function(){return J(this.n.apply(this.s,arguments))},return:function(H){var K=this.s.return;return K===void 0?Promise.resolve({value:H,done:!0}):J(K.apply(this.s,arguments))},throw:function(H){var K=this.s.return;return K===void 0?Promise.reject(H):J(K.apply(this.s,arguments))}},new W(G)}X.exports=Y,X.exports.__esModule=!0,X.exports.default=X.exports}}),Wx=m(fO(),1);var Gx=m(G0(),1);var uO=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(Q,X){function Y(){var W=typeof SuppressedError=="function"?SuppressedError:function(H,K){var z=Error();return z.name="SuppressedError",z.error=H,z.suppressed=K,z},G={},J=[];function B(H,K){if(K!=null){if(Object(K)!==K)throw TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(H)var z=K[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(z===void 0&&(z=K[Symbol.dispose||Symbol.for("Symbol.dispose")],H))var A=z;if(typeof z!="function")throw TypeError("Object is not disposable.");A&&(z=function(){try{A.call(K)}catch(D){return Promise.reject(D)}}),J.push({v:K,d:z,a:H})}else H&&J.push({d:K,a:H});return K}return{e:G,u:B.bind(null,!1),a:B.bind(null,!0),d:function(){var K,z=this.e,A=0;function Z(){for(;K=J.pop();)try{if(!K.a&&A===1)return A=0,J.push(K),Promise.resolve().then(Z);if(K.d){var F=K.d.call(K.v);if(K.a)return A|=2,Promise.resolve(F).then(Z,D)}else A|=1}catch(V){return D(V)}if(A===1)return z!==G?Promise.reject(z):Promise.resolve();if(z!==G)throw z}function D(F){return z=z!==G?new W(F,z):F,Z()}return Z()}}}X.exports=Y,X.exports.__esModule=!0,X.exports.default=X.exports}}),mz=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(Q,X){function Y(W,G){this.v=W,this.k=G}X.exports=Y,X.exports.__esModule=!0,X.exports.default=X.exports}}),lO=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(Q,X){var Y=mz();function W(G){return new Y(G,0)}X.exports=W,X.exports.__esModule=!0,X.exports.default=X.exports}}),mO=g0({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(Q,X){var Y=mz();function W(J){return function(){return new G(J.apply(this,arguments))}}function G(J){var B,H;function K(A,Z){try{var D=J[A](Z),F=D.value,V=F instanceof Y;Promise.resolve(V?F.v:F).then(function(L){if(V){var M=A==="return"?"return":"next";if(!F.k||L.done)return K(M,L);L=J[M](L).value}z(D.done?"return":"normal",L)},function(L){K("throw",L)})}catch(L){z("throw",L)}}function z(A,Z){switch(A){case"return":B.resolve({value:Z,done:!0});break;case"throw":B.reject(Z);break;default:B.resolve({value:Z,done:!1})}(B=B.next)?K(B.key,B.arg):H=null}this._invoke=function(A,Z){return new Promise(function(D,F){var V={key:A,arg:Z,resolve:D,reject:F,next:null};H?H=H.next=V:(B=H=V,K(A,Z))})},typeof J.return!="function"&&(this.return=void 0)}G.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},G.prototype.next=function(J){return this._invoke("next",J)},G.prototype.throw=function(J){return this._invoke("throw",J)},G.prototype.return=function(J){return this._invoke("return",J)},X.exports=W,X.exports.__esModule=!0,X.exports.default=X.exports}}),Jx=m(uO(),1),Bx=m(lO(),1),Hx=m(mO(),1),Kx=m(G0(),1);function cz(Q,X){return lz({links:[R4({url:Q,headers:async()=>{let Y=await X();return Y?{authorization:`Bearer ${Y}`}:{}}})]})}var cO=4000;function pz(Q){let X=/^(\d+)\.(\d+)\.(\d+)/.exec(Q.trim());if(!X)return null;return[Number(X[1]),Number(X[2]),Number(X[3])]}function dz(Q,X){let Y=pz(Q),W=pz(X);if(!Y||!W)return 0;for(let G=0;G<3;G++){let J=Y[G],B=W[G];if(J!==B)return J<B?-1:1}return 0}function pO(Q){let{ownVersion:X,minVersion:Y,latestVersion:W}=Q;if(Y&&dz(X,Y)<0)return{blocked:!0,blockedMessage:`This Aether Wealth MCP (v${X}) is below the minimum supported version (v${Y}) and can no longer be used. Update it and restart your MCP client:
|
|
111
|
+
${dQ}`};if(W&&dz(X,W)<0)return{blocked:!1,nudge:`A newer Aether Wealth MCP is available (v${X} -> v${W}). Update for the latest tools:
|
|
112
|
+
${dQ}`};return{blocked:!1}}async function oz(){let Q=new AbortController,X=setTimeout(()=>Q.abort(),cO);try{let Y=await fetch(y4,{signal:Q.signal});if(!Y.ok)return null;let W=await Y.json();return typeof W.version==="string"?W.version:null}catch{return null}finally{clearTimeout(X)}}var iz=5000;function nz(Q,X,Y){return new Promise((W)=>{let G=setTimeout(()=>W(Y),X),J=(B)=>{clearTimeout(G),W(B)};Q.then(J,()=>J(Y))})}async function rz(Q){let[X,Y]=await Promise.all([nz(Q.fetchMinVersion(),iz,null),nz(Q.fetchLatestVersion(),iz,null)]);return pO({ownVersion:Q.ownVersion,minVersion:X,latestVersion:Y})}async function dO(){let{config:Q,errors:X}=g4(process.env);if(!Q){process.stderr.write(`aether-wealth-mcp: missing required environment:
|
|
113
|
+
`);for(let B of X)process.stderr.write(` - ${B}
|
|
114
|
+
`);return 2}let Y=await iO(Q),W=await rz({ownVersion:M4,fetchMinVersion:()=>Y.trpc.meta.clientRequirements.query().then((B)=>B.minMcpVersion),fetchLatestVersion:oz}),G=(process.env.MCP_TRANSPORT??"stdio").toLowerCase(),J=new q4({toolContext:Y,clientGate:W});if(G==="http")return nO(J,Q);return oO(J,Q)}async function iO(Q){let X=await Yz(),Y=new N4(Q,X,{log:(G)=>process.stderr.write(G)}),W=cz(Q.trpcUrl,()=>Y.getAccessToken());return{session:Y,trpc:W}}async function nO(Q,X){let Y=process.env.MCP_HTTP_PORT,W=Y?Number(Y):9099;if(!Number.isFinite(W)||W<0||W>65535)return process.stderr.write(`aether-wealth-mcp: MCP_HTTP_PORT="${Y}" is not a valid port
|
|
115
|
+
`),2;let G=await aK(Q,{port:W,...process.env.MCP_HTTP_HOST?{hostname:process.env.MCP_HTTP_HOST}:{},...process.env.MCP_HTTP_PATH?{path:process.env.MCP_HTTP_PATH}:{},...process.env.MCP_HTTP_BEARER?{bearerToken:process.env.MCP_HTTP_BEARER}:{}});process.stderr.write(`aether-wealth-mcp: ready (transport=http, port=${G.port}, base=${X.baseUrl})
|
|
116
|
+
`);let J=async(B)=>{process.stderr.write(`aether-wealth-mcp: ${B} received, shutting down
|
|
117
|
+
`),await G.close(),await Q.close(),process.exit(0)};return process.on("SIGINT",J),process.on("SIGTERM",J),0}async function oO(Q,X){let Y=new CQ;return await Q.connect(Y),process.stderr.write(`aether-wealth-mcp: ready (transport=stdio, base=${X.baseUrl})
|
|
118
|
+
`),process.stdin.on("end",()=>{process.exit(0)}),0}var tz=await dO();if(tz!==0)process.exit(tz);
|
package/package.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aetherwealth/mcp",
|
|
3
|
+
"version": "0.1.18-beta.4",
|
|
4
|
+
"description": "Aether Wealth MCP server — per-user OAuth access to your trading journal, alerts, and market data from Claude, Codex, and other MCP clients.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"aether-wealth-mcp": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@napi-rs/keyring": "^1.3.0"
|
|
14
|
+
},
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=18"
|
|
17
|
+
},
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"license": "UNLICENSED",
|
|
22
|
+
"homepage": "https://aetherwealth.ai"
|
|
23
|
+
}
|