forked from mksglu/context-mode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.bundle.mjs
More file actions
executable file
·407 lines (355 loc) · 417 KB
/
server.bundle.mjs
File metadata and controls
executable file
·407 lines (355 loc) · 417 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
#!/usr/bin/env node
var fx=Object.create;var ia=Object.defineProperty;var mx=Object.getOwnPropertyDescriptor;var hx=Object.getOwnPropertyNames;var gx=Object.getPrototypeOf,_x=Object.prototype.hasOwnProperty;var bt=(t,e)=>()=>(t&&(e=t(t=0)),e);var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),jt=(t,e)=>{for(var r in e)ia(t,r,{get:e[r],enumerable:!0})},yx=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of hx(e))!_x.call(t,o)&&o!==r&&ia(t,o,{get:()=>e[o],enumerable:!(n=mx(e,o))||n.enumerable});return t};var _p=(t,e,r)=>(r=t!=null?fx(gx(t)):{},yx(e||!t||!t.__esModule?ia(r,"default",{value:t,enumerable:!0}):r,t));var ho=T(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.regexpCode=ee.getEsmExportName=ee.getProperty=ee.safeStringify=ee.stringify=ee.strConcat=ee.addCodeArg=ee.str=ee._=ee.nil=ee._Code=ee.Name=ee.IDENTIFIER=ee._CodeOrName=void 0;var fo=class{};ee._CodeOrName=fo;ee.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Lr=class extends fo{constructor(e){if(super(),!ee.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};ee.Name=Lr;var it=class extends fo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Lr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ee._Code=it;ee.nil=new it("");function fh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Hu(r,e[n]),r.push(t[++n]);return new it(r)}ee._=fh;var Fu=new it("+");function mh(t,...e){let r=[mo(t[0])],n=0;for(;n<e.length;)r.push(Fu),Hu(r,e[n]),r.push(Fu,mo(t[++n]));return hw(r),new it(r)}ee.str=mh;function Hu(t,e){e instanceof it?t.push(...e._items):e instanceof Lr?t.push(e):t.push(yw(e))}ee.addCodeArg=Hu;function hw(t){let e=1;for(;e<t.length-1;){if(t[e]===Fu){let r=gw(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function gw(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Lr||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Lr))return`"${t}${e.slice(1)}`}function _w(t,e){return e.emptyStr()?t:t.emptyStr()?e:mh`${t}${e}`}ee.strConcat=_w;function yw(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:mo(Array.isArray(t)?t.join(","):t)}function xw(t){return new it(mo(t))}ee.stringify=xw;function mo(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ee.safeStringify=mo;function vw(t){return typeof t=="string"&&ee.IDENTIFIER.test(t)?new it(`.${t}`):fh`[${t}]`}ee.getProperty=vw;function bw(t){if(typeof t=="string"&&ee.IDENTIFIER.test(t))return new it(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ee.getEsmExportName=bw;function kw(t){return new it(t.toString())}ee.regexpCode=kw});var Ku=T(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.ValueScope=Ke.ValueScopeName=Ke.Scope=Ke.varKinds=Ke.UsedValueState=void 0;var Be=ho(),Vu=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},ei;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(ei||(Ke.UsedValueState=ei={}));Ke.varKinds={const:new Be.Name("const"),let:new Be.Name("let"),var:new Be.Name("var")};var ti=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Be.Name?e:this.name(e)}name(e){return new Be.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Ke.Scope=ti;var ri=class extends Be.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Be._)`.${new Be.Name(r)}[${n}]`}};Ke.ValueScopeName=ri;var Sw=(0,Be._)`\n`,Bu=class extends ti{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Sw:Be.nil}}get(){return this._scope}name(e){return new ri(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Be._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=Be.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,ei.Started);let l=r(u);if(l){let d=this.opts.es5?Ke.varKinds.var:Ke.varKinds.const;s=(0,Be._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Be._)`${s}${l}${this.opts._n}`;else throw new Vu(u);c.set(u,ei.Completed)})}return s}};Ke.ValueScope=Bu});var U=T(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var Y=ho(),mt=Ku(),or=ho();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return or._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return or.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return or.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return or.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return or.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return or.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return or.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return or.Name}});var ii=Ku();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return ii.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return ii.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return ii.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return ii.varKinds}});F.operators={GT:new Y._Code(">"),GTE:new Y._Code(">="),LT:new Y._Code("<"),LTE:new Y._Code("<="),EQ:new Y._Code("==="),NEQ:new Y._Code("!=="),NOT:new Y._Code("!"),OR:new Y._Code("||"),AND:new Y._Code("&&"),ADD:new Y._Code("+")};var Ut=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Ju=class extends Ut{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?mt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=_n(this.rhs,e,r)),this}get names(){return this.rhs instanceof Y._CodeOrName?this.rhs.names:{}}},ni=class extends Ut{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof Y.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=_n(this.rhs,e,r),this}get names(){let e=this.lhs instanceof Y.Name?{}:{...this.lhs.names};return si(e,this.rhs)}},Gu=class extends ni{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Wu=class extends Ut{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Yu=class extends Ut{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},Xu=class extends Ut{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Qu=class extends Ut{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=_n(this.code,e,r),this}get names(){return this.code instanceof Y._CodeOrName?this.code.names:{}}},go=class extends Ut{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(ww(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Fr(e,r.names),{})}},Ft=class extends go{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},el=class extends go{},gn=class extends Ft{};gn.kind="else";var qr=class t extends Ft{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new gn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(hh(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=_n(this.condition,e,r),this}get names(){let e=super.names;return si(e,this.condition),this.else&&Fr(e,this.else.names),e}};qr.kind="if";var Ur=class extends Ft{};Ur.kind="for";var tl=class extends Ur{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=_n(this.iteration,e,r),this}get names(){return Fr(super.names,this.iteration.names)}},rl=class extends Ur{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?mt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=si(super.names,this.from);return si(e,this.to)}},oi=class extends Ur{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=_n(this.iterable,e,r),this}get names(){return Fr(super.names,this.iterable.names)}},_o=class extends Ft{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};_o.kind="func";var yo=class extends go{render(e){return"return "+super.render(e)}};yo.kind="return";var nl=class extends Ft{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Fr(e,this.catch.names),this.finally&&Fr(e,this.finally.names),e}},xo=class extends Ft{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};xo.kind="catch";var vo=class extends Ft{render(e){return"finally"+super.render(e)}};vo.kind="finally";var ol=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
`:""},this._extScope=e,this._scope=new mt.Scope({parent:e}),this._nodes=[new el]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Ju(e,s,n)),s}const(e,r,n){return this._def(mt.varKinds.const,e,r,n)}let(e,r,n){return this._def(mt.varKinds.let,e,r,n)}var(e,r,n){return this._def(mt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new ni(e,r,n))}add(e,r){return this._leafNode(new Gu(e,F.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==Y.nil&&this._leafNode(new Qu(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,Y.addCodeArg)(r,o));return r.push("}"),new Y._Code(r)}if(e,r,n){if(this._blockNode(new qr(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new qr(e))}else(){return this._elseNode(new gn)}endIf(){return this._endBlockNode(qr,gn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new tl(e),r)}forRange(e,r,n,o,s=this.opts.es5?mt.varKinds.var:mt.varKinds.let){let i=this._scope.toName(e);return this._for(new rl(s,i,r,n),()=>o(i))}forOf(e,r,n,o=mt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof Y.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Y._)`${i}.length`,a=>{this.var(s,(0,Y._)`${i}[${a}]`),n(s)})}return this._for(new oi("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?mt.varKinds.var:mt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Y._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new oi("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Ur)}label(e){return this._leafNode(new Wu(e))}break(e){return this._leafNode(new Yu(e))}return(e){let r=new yo;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(yo)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new nl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new xo(s),r(s)}return n&&(this._currNode=o.finally=new vo,this.code(n)),this._endBlockNode(xo,vo)}throw(e){return this._leafNode(new Xu(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=Y.nil,n,o){return this._blockNode(new _o(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(_o)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof qr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};F.CodeGen=ol;function Fr(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function si(t,e){return e instanceof Y._CodeOrName?Fr(t,e.names):t}function _n(t,e,r){if(t instanceof Y.Name)return n(t);if(!o(t))return t;return new Y._Code(t._items.reduce((s,i)=>(i instanceof Y.Name&&(i=n(i)),i instanceof Y._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof Y._Code&&s._items.some(i=>i instanceof Y.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function ww(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function hh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,Y._)`!${sl(t)}`}F.not=hh;var $w=gh(F.operators.AND);function Tw(...t){return t.reduce($w)}F.and=Tw;var Ew=gh(F.operators.OR);function Pw(...t){return t.reduce(Ew)}F.or=Pw;function gh(t){return(e,r)=>e===Y.nil?r:r===Y.nil?e:(0,Y._)`${sl(e)} ${t} ${sl(r)}`}function sl(t){return t instanceof Y.Name?t:(0,Y._)`(${t})`}});var X=T(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var oe=U(),Rw=ho();function zw(t){let e={};for(let r of t)e[r]=!0;return e}V.toHash=zw;function Ow(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(xh(t,e),!vh(e,t.self.RULES.all))}V.alwaysValidSchema=Ow;function xh(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Sh(t,`unknown keyword: "${s}"`)}V.checkUnknownRules=xh;function vh(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}V.schemaHasRules=vh;function Iw(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}V.schemaHasRulesButRef=Iw;function Cw({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,oe._)`${r}`}return(0,oe._)`${t}${e}${(0,oe.getProperty)(n)}`}V.schemaRefOrVal=Cw;function Nw(t){return bh(decodeURIComponent(t))}V.unescapeFragment=Nw;function Aw(t){return encodeURIComponent(al(t))}V.escapeFragment=Aw;function al(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=al;function bh(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=bh;function jw(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}V.eachItem=jw;function _h({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof oe.Name?(s instanceof oe.Name?t(o,s,i):e(o,s,i),i):s instanceof oe.Name?(e(o,i,s),s):r(s,i);return a===oe.Name&&!(c instanceof oe.Name)?n(o,c):c}}V.mergeEvaluated={props:_h({mergeNames:(t,e,r)=>t.if((0,oe._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,oe._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,oe._)`${r} || {}`).code((0,oe._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,oe._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,oe._)`${r} || {}`),cl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:kh}),items:_h({mergeNames:(t,e,r)=>t.if((0,oe._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,oe._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,oe._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,oe._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function kh(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,oe._)`{}`);return e!==void 0&&cl(t,r,e),r}V.evaluatedPropsToName=kh;function cl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,oe._)`${e}${(0,oe.getProperty)(n)}`,!0))}V.setEvaluated=cl;var yh={};function Mw(t,e){return t.scopeValue("func",{ref:e,code:yh[e.code]||(yh[e.code]=new Rw._Code(e.code))})}V.useFunc=Mw;var il;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(il||(V.Type=il={}));function Dw(t,e,r){if(t instanceof oe.Name){let n=e===il.Num;return r?n?(0,oe._)`"[" + ${t} + "]"`:(0,oe._)`"['" + ${t} + "']"`:n?(0,oe._)`"/" + ${t}`:(0,oe._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,oe.getProperty)(t).toString():"/"+al(t)}V.getErrorPath=Dw;function Sh(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}V.checkStrictMode=Sh});var Ht=T(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});var Ce=U(),Zw={data:new Ce.Name("data"),valCxt:new Ce.Name("valCxt"),instancePath:new Ce.Name("instancePath"),parentData:new Ce.Name("parentData"),parentDataProperty:new Ce.Name("parentDataProperty"),rootData:new Ce.Name("rootData"),dynamicAnchors:new Ce.Name("dynamicAnchors"),vErrors:new Ce.Name("vErrors"),errors:new Ce.Name("errors"),this:new Ce.Name("this"),self:new Ce.Name("self"),scope:new Ce.Name("scope"),json:new Ce.Name("json"),jsonPos:new Ce.Name("jsonPos"),jsonLen:new Ce.Name("jsonLen"),jsonPart:new Ce.Name("jsonPart")};ul.default=Zw});var bo=T(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.extendErrors=Ne.resetErrorsCount=Ne.reportExtraError=Ne.reportError=Ne.keyword$DataError=Ne.keywordError=void 0;var Q=U(),ai=X(),Ze=Ht();Ne.keywordError={message:({keyword:t})=>(0,Q.str)`must pass "${t}" keyword validation`};Ne.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,Q.str)`"${t}" keyword must be ${e} ($data)`:(0,Q.str)`"${t}" keyword is invalid ($data)`};function Lw(t,e=Ne.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Th(t,e,r);n??(i||a)?wh(s,c):$h(o,(0,Q._)`[${c}]`)}Ne.reportError=Lw;function qw(t,e=Ne.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Th(t,e,r);wh(o,a),s||i||$h(n,Ze.default.vErrors)}Ne.reportExtraError=qw;function Uw(t,e){t.assign(Ze.default.errors,e),t.if((0,Q._)`${Ze.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,Q._)`${Ze.default.vErrors}.length`,e),()=>t.assign(Ze.default.vErrors,null)))}Ne.resetErrorsCount=Uw;function Fw({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,Ze.default.errors,a=>{t.const(i,(0,Q._)`${Ze.default.vErrors}[${a}]`),t.if((0,Q._)`${i}.instancePath === undefined`,()=>t.assign((0,Q._)`${i}.instancePath`,(0,Q.strConcat)(Ze.default.instancePath,s.errorPath))),t.assign((0,Q._)`${i}.schemaPath`,(0,Q.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,Q._)`${i}.schema`,r),t.assign((0,Q._)`${i}.data`,n))})}Ne.extendErrors=Fw;function wh(t,e){let r=t.const("err",e);t.if((0,Q._)`${Ze.default.vErrors} === null`,()=>t.assign(Ze.default.vErrors,(0,Q._)`[${r}]`),(0,Q._)`${Ze.default.vErrors}.push(${r})`),t.code((0,Q._)`${Ze.default.errors}++`)}function $h(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,Q._)`new ${t.ValidationError}(${e})`):(r.assign((0,Q._)`${n}.errors`,e),r.return(!1))}var Hr={keyword:new Q.Name("keyword"),schemaPath:new Q.Name("schemaPath"),params:new Q.Name("params"),propertyName:new Q.Name("propertyName"),message:new Q.Name("message"),schema:new Q.Name("schema"),parentSchema:new Q.Name("parentSchema")};function Th(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,Q._)`{}`:Hw(t,e,r)}function Hw(t,e,r={}){let{gen:n,it:o}=t,s=[Vw(o,r),Bw(t,r)];return Kw(t,e,s),n.object(...s)}function Vw({errorPath:t},{instancePath:e}){let r=e?(0,Q.str)`${t}${(0,ai.getErrorPath)(e,ai.Type.Str)}`:t;return[Ze.default.instancePath,(0,Q.strConcat)(Ze.default.instancePath,r)]}function Bw({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,Q.str)`${e}/${t}`;return r&&(o=(0,Q.str)`${o}${(0,ai.getErrorPath)(r,ai.Type.Str)}`),[Hr.schemaPath,o]}function Kw(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([Hr.keyword,o],[Hr.params,typeof e=="function"?e(t):e||(0,Q._)`{}`]),c.messages&&n.push([Hr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Hr.schema,i],[Hr.parentSchema,(0,Q._)`${l}${d}`],[Ze.default.data,s]),u&&n.push([Hr.propertyName,u])}});var Ph=T(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.boolOrEmptySchema=yn.topBoolOrEmptySchema=void 0;var Jw=bo(),Gw=U(),Ww=Ht(),Yw={message:"boolean schema is false"};function Xw(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Eh(t,!1):typeof r=="object"&&r.$async===!0?e.return(Ww.default.data):(e.assign((0,Gw._)`${n}.errors`,null),e.return(!0))}yn.topBoolOrEmptySchema=Xw;function Qw(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Eh(t)):r.var(e,!0)}yn.boolOrEmptySchema=Qw;function Eh(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,Jw.reportError)(o,Yw,void 0,e)}});var ll=T(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.getRules=xn.isJSONType=void 0;var e$=["string","number","integer","boolean","null","object","array"],t$=new Set(e$);function r$(t){return typeof t=="string"&&t$.has(t)}xn.isJSONType=r$;function n$(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}xn.getRules=n$});var dl=T(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.shouldUseRule=sr.shouldUseGroup=sr.schemaHasRulesForType=void 0;function o$({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Rh(t,n)}sr.schemaHasRulesForType=o$;function Rh(t,e){return e.rules.some(r=>zh(t,r))}sr.shouldUseGroup=Rh;function zh(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}sr.shouldUseRule=zh});var ko=T(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.reportTypeError=Ae.checkDataTypes=Ae.checkDataType=Ae.coerceAndCheckDataType=Ae.getJSONTypes=Ae.getSchemaTypes=Ae.DataType=void 0;var s$=ll(),i$=dl(),a$=bo(),L=U(),Oh=X(),vn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(vn||(Ae.DataType=vn={}));function c$(t){let e=Ih(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ae.getSchemaTypes=c$;function Ih(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(s$.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ae.getJSONTypes=Ih;function u$(t,e){let{gen:r,data:n,opts:o}=t,s=l$(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,i$.schemaHasRulesForType)(t,e[0]));if(i){let a=fl(e,n,o.strictNumbers,vn.Wrong);r.if(a,()=>{s.length?d$(t,e,s):ml(t)})}return i}Ae.coerceAndCheckDataType=u$;var Ch=new Set(["string","number","integer","boolean","null"]);function l$(t,e){return e?t.filter(r=>Ch.has(r)||e==="array"&&r==="array"):[]}function d$(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,L._)`typeof ${o}`),a=n.let("coerced",(0,L._)`undefined`);s.coerceTypes==="array"&&n.if((0,L._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,L._)`${o}[0]`).assign(i,(0,L._)`typeof ${o}`).if(fl(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,L._)`${a} !== undefined`);for(let u of r)(Ch.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),ml(t),n.endIf(),n.if((0,L._)`${a} !== undefined`,()=>{n.assign(o,a),p$(t,a)});function c(u){switch(u){case"string":n.elseIf((0,L._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,L._)`"" + ${o}`).elseIf((0,L._)`${o} === null`).assign(a,(0,L._)`""`);return;case"number":n.elseIf((0,L._)`${i} == "boolean" || ${o} === null
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,L._)`+${o}`);return;case"integer":n.elseIf((0,L._)`${i} === "boolean" || ${o} === null
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,L._)`+${o}`);return;case"boolean":n.elseIf((0,L._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,L._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,L._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,L._)`${i} === "string" || ${i} === "number"
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,L._)`[${o}]`)}}}function p$({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,L._)`${e} !== undefined`,()=>t.assign((0,L._)`${e}[${r}]`,n))}function pl(t,e,r,n=vn.Correct){let o=n===vn.Correct?L.operators.EQ:L.operators.NEQ,s;switch(t){case"null":return(0,L._)`${e} ${o} null`;case"array":s=(0,L._)`Array.isArray(${e})`;break;case"object":s=(0,L._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,L._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,L._)`typeof ${e} ${o} ${t}`}return n===vn.Correct?s:(0,L.not)(s);function i(a=L.nil){return(0,L.and)((0,L._)`typeof ${e} == "number"`,a,r?(0,L._)`isFinite(${e})`:L.nil)}}Ae.checkDataType=pl;function fl(t,e,r,n){if(t.length===1)return pl(t[0],e,r,n);let o,s=(0,Oh.toHash)(t);if(s.array&&s.object){let i=(0,L._)`typeof ${e} != "object"`;o=s.null?i:(0,L._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=L.nil;s.number&&delete s.integer;for(let i in s)o=(0,L.and)(o,pl(i,e,r,n));return o}Ae.checkDataTypes=fl;var f$={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,L._)`{type: ${t}}`:(0,L._)`{type: ${e}}`};function ml(t){let e=m$(t);(0,a$.reportError)(e,f$)}Ae.reportTypeError=ml;function m$(t){let{gen:e,data:r,schema:n}=t,o=(0,Oh.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var Ah=T(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.assignDefaults=void 0;var bn=U(),h$=X();function g$(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)Nh(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Nh(t,s,o.default))}ci.assignDefaults=g$;function Nh(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,bn._)`${s}${(0,bn.getProperty)(e)}`;if(o){(0,h$.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,bn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,bn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,bn._)`${a} = ${(0,bn.stringify)(r)}`)}});var at=T(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.validateUnion=ne.validateArray=ne.usePattern=ne.callValidateCode=ne.schemaProperties=ne.allSchemaProperties=ne.noPropertyInData=ne.propertyInData=ne.isOwnProperty=ne.hasPropFunc=ne.reportMissingProp=ne.checkMissingProp=ne.checkReportMissingProp=void 0;var de=U(),hl=X(),ir=Ht(),_$=X();function y$(t,e){let{gen:r,data:n,it:o}=t;r.if(_l(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,de._)`${e}`},!0),t.error()})}ne.checkReportMissingProp=y$;function x$({gen:t,data:e,it:{opts:r}},n,o){return(0,de.or)(...n.map(s=>(0,de.and)(_l(t,e,s,r.ownProperties),(0,de._)`${o} = ${s}`)))}ne.checkMissingProp=x$;function v$(t,e){t.setParams({missingProperty:e},!0),t.error()}ne.reportMissingProp=v$;function jh(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}ne.hasPropFunc=jh;function gl(t,e,r){return(0,de._)`${jh(t)}.call(${e}, ${r})`}ne.isOwnProperty=gl;function b$(t,e,r,n){let o=(0,de._)`${e}${(0,de.getProperty)(r)} !== undefined`;return n?(0,de._)`${o} && ${gl(t,e,r)}`:o}ne.propertyInData=b$;function _l(t,e,r,n){let o=(0,de._)`${e}${(0,de.getProperty)(r)} === undefined`;return n?(0,de.or)(o,(0,de.not)(gl(t,e,r))):o}ne.noPropertyInData=_l;function Mh(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ne.allSchemaProperties=Mh;function k$(t,e){return Mh(e).filter(r=>!(0,hl.alwaysValidSchema)(t,e[r]))}ne.schemaProperties=k$;function S$({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,de._)`${t}, ${e}, ${n}${o}`:e,d=[[ir.default.instancePath,(0,de.strConcat)(ir.default.instancePath,s)],[ir.default.parentData,i.parentData],[ir.default.parentDataProperty,i.parentDataProperty],[ir.default.rootData,ir.default.rootData]];i.opts.dynamicRef&&d.push([ir.default.dynamicAnchors,ir.default.dynamicAnchors]);let f=(0,de._)`${l}, ${r.object(...d)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${f})`:(0,de._)`${a}(${f})`}ne.callValidateCode=S$;var w$=(0,de._)`new RegExp`;function $$({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,de._)`${o.code==="new RegExp"?w$:(0,_$.useFunc)(t,o)}(${r}, ${n})`})}ne.usePattern=$$;function T$(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,de._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:hl.Type.Num},s),e.if((0,de.not)(s),a)})}}ne.validateArray=T$;function E$(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,hl.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,de._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,de.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}ne.validateUnion=E$});var Lh=T(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.validateKeywordUsage=Tt.validSchemaType=Tt.funcKeywordCode=Tt.macroKeywordCode=void 0;var Le=U(),Vr=Ht(),P$=at(),R$=bo();function z$(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=Zh(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Le.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Tt.macroKeywordCode=z$;function O$(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;C$(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=Zh(n,o,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&Dh(t),g(()=>t.error());else{let y=e.async?m():p();e.modifying&&Dh(t),g(()=>I$(t,y))}}function m(){let y=n.let("ruleErrs",null);return n.try(()=>h((0,Le._)`await `),v=>n.assign(d,!1).if((0,Le._)`${v} instanceof ${c.ValidationError}`,()=>n.assign(y,(0,Le._)`${v}.errors`),()=>n.throw(v))),y}function p(){let y=(0,Le._)`${l}.errors`;return n.assign(y,null),h(Le.nil),y}function h(y=e.async?(0,Le._)`await `:Le.nil){let v=c.opts.passContext?Vr.default.this:Vr.default.self,b=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Le._)`${y}${(0,P$.callValidateCode)(t,l,v,b)}`,e.modifying)}function g(y){var v;n.if((0,Le.not)((v=e.valid)!==null&&v!==void 0?v:d),y)}}Tt.funcKeywordCode=O$;function Dh(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Le._)`${n.parentData}[${n.parentDataProperty}]`))}function I$(t,e){let{gen:r}=t;r.if((0,Le._)`Array.isArray(${e})`,()=>{r.assign(Vr.default.vErrors,(0,Le._)`${Vr.default.vErrors} === null ? ${e} : ${Vr.default.vErrors}.concat(${e})`).assign(Vr.default.errors,(0,Le._)`${Vr.default.vErrors}.length`),(0,R$.extendErrors)(t)},()=>t.error())}function C$({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Zh(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Le.stringify)(r)})}function N$(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Tt.validSchemaType=N$;function A$({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Tt.validateKeywordUsage=A$});var Uh=T(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.extendSubschemaMode=ar.extendSubschemaData=ar.getSubschema=void 0;var Et=U(),qh=X();function j$(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,Et._)`${t.schemaPath}${(0,Et.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Et._)`${t.schemaPath}${(0,Et.getProperty)(e)}${(0,Et.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,qh.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}ar.getSubschema=j$;function M$(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,Et._)`${e.data}${(0,Et.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Et.str)`${u}${(0,qh.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Et._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof Et.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}ar.extendSubschemaData=M$;function D$(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}ar.extendSubschemaMode=D$});var yl=T((LA,Fh)=>{"use strict";Fh.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var Vh=T((qA,Hh)=>{"use strict";var cr=Hh.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};ui(e,n,o,t,"",t)};cr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};cr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};cr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};cr.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 ui(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in cr.arrayKeywords)for(var f=0;f<d.length;f++)ui(t,e,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in cr.propsKeywords){if(d&&typeof d=="object")for(var m in d)ui(t,e,r,d[m],o+"/"+l+"/"+Z$(m),s,o,l,n,m)}else(l in cr.keywords||t.allKeys&&!(l in cr.skipKeywords))&&ui(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function Z$(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var So=T(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.getSchemaRefs=Je.resolveUrl=Je.normalizeId=Je._getFullPath=Je.getFullPath=Je.inlineRef=void 0;var L$=X(),q$=yl(),U$=Vh(),F$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function H$(t,e=!0){return typeof t=="boolean"?!0:e===!0?!xl(t):e?Bh(t)<=e:!1}Je.inlineRef=H$;var V$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function xl(t){for(let e in t){if(V$.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(xl)||typeof r=="object"&&xl(r))return!0}return!1}function Bh(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!F$.has(r)&&(typeof t[r]=="object"&&(0,L$.eachItem)(t[r],n=>e+=Bh(n)),e===1/0))return 1/0}return e}function Kh(t,e="",r){r!==!1&&(e=kn(e));let n=t.parse(e);return Jh(t,n)}Je.getFullPath=Kh;function Jh(t,e){return t.serialize(e).split("#")[0]+"#"}Je._getFullPath=Jh;var B$=/#\/?$/;function kn(t){return t?t.replace(B$,""):""}Je.normalizeId=kn;function K$(t,e,r){return r=kn(r),t.resolve(e,r)}Je.resolveUrl=K$;var J$=/^[a-z_][-a-z0-9._]*$/i;function G$(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=kn(t[r]||e),s={"":o},i=Kh(n,o,!1),a={},c=new Set;return U$(t,{allKeys:!0},(d,f,m,p)=>{if(p===void 0)return;let h=i+f,g=s[p];typeof d[r]=="string"&&(g=y.call(this,d[r])),v.call(this,d.$anchor),v.call(this,d.$dynamicAnchor),s[f]=g;function y(b){let w=this.opts.uriResolver.resolve;if(b=kn(g?w(g,b):b),c.has(b))throw l(b);c.add(b);let R=this.refs[b];return typeof R=="string"&&(R=this.refs[R]),typeof R=="object"?u(d,R.schema,b):b!==kn(h)&&(b[0]==="#"?(u(d,a[b],b),a[b]=d):this.refs[b]=h),b}function v(b){if(typeof b=="string"){if(!J$.test(b))throw new Error(`invalid anchor "${b}"`);y.call(this,`#${b}`)}}}),a;function u(d,f,m){if(f!==void 0&&!q$(d,f))throw l(m)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Je.getSchemaRefs=G$});var To=T(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.getData=ur.KeywordCxt=ur.validateFunctionCode=void 0;var Qh=Ph(),Gh=ko(),bl=dl(),li=ko(),W$=Ah(),$o=Lh(),vl=Uh(),C=U(),D=Ht(),Y$=So(),Vt=X(),wo=bo();function X$(t){if(rg(t)&&(ng(t),tg(t))){t0(t);return}eg(t,()=>(0,Qh.topBoolOrEmptySchema)(t))}ur.validateFunctionCode=X$;function eg({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,C._)`${D.default.data}, ${D.default.valCxt}`,n.$async,()=>{t.code((0,C._)`"use strict"; ${Wh(r,o)}`),e0(t,o),t.code(s)}):t.func(e,(0,C._)`${D.default.data}, ${Q$(o)}`,n.$async,()=>t.code(Wh(r,o)).code(s))}function Q$(t){return(0,C._)`{${D.default.instancePath}="", ${D.default.parentData}, ${D.default.parentDataProperty}, ${D.default.rootData}=${D.default.data}${t.dynamicRef?(0,C._)`, ${D.default.dynamicAnchors}={}`:C.nil}}={}`}function e0(t,e){t.if(D.default.valCxt,()=>{t.var(D.default.instancePath,(0,C._)`${D.default.valCxt}.${D.default.instancePath}`),t.var(D.default.parentData,(0,C._)`${D.default.valCxt}.${D.default.parentData}`),t.var(D.default.parentDataProperty,(0,C._)`${D.default.valCxt}.${D.default.parentDataProperty}`),t.var(D.default.rootData,(0,C._)`${D.default.valCxt}.${D.default.rootData}`),e.dynamicRef&&t.var(D.default.dynamicAnchors,(0,C._)`${D.default.valCxt}.${D.default.dynamicAnchors}`)},()=>{t.var(D.default.instancePath,(0,C._)`""`),t.var(D.default.parentData,(0,C._)`undefined`),t.var(D.default.parentDataProperty,(0,C._)`undefined`),t.var(D.default.rootData,D.default.data),e.dynamicRef&&t.var(D.default.dynamicAnchors,(0,C._)`{}`)})}function t0(t){let{schema:e,opts:r,gen:n}=t;eg(t,()=>{r.$comment&&e.$comment&&sg(t),i0(t),n.let(D.default.vErrors,null),n.let(D.default.errors,0),r.unevaluated&&r0(t),og(t),u0(t)})}function r0(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,C._)`${r}.evaluated`),e.if((0,C._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,C._)`${t.evaluated}.props`,(0,C._)`undefined`)),e.if((0,C._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,C._)`${t.evaluated}.items`,(0,C._)`undefined`))}function Wh(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,C._)`/*# sourceURL=${r} */`:C.nil}function n0(t,e){if(rg(t)&&(ng(t),tg(t))){o0(t,e);return}(0,Qh.boolOrEmptySchema)(t,e)}function tg({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function rg(t){return typeof t.schema!="boolean"}function o0(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&sg(t),a0(t),c0(t);let s=n.const("_errs",D.default.errors);og(t,s),n.var(e,(0,C._)`${s} === ${D.default.errors}`)}function ng(t){(0,Vt.checkUnknownRules)(t),s0(t)}function og(t,e){if(t.opts.jtd)return Yh(t,[],!1,e);let r=(0,Gh.getSchemaTypes)(t.schema),n=(0,Gh.coerceAndCheckDataType)(t,r);Yh(t,r,!n,e)}function s0(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Vt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function i0(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Vt.checkStrictMode)(t,"default is ignored in the schema root")}function a0(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Y$.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function c0(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function sg({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,C._)`${D.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,C.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,C._)`${D.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function u0(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,C._)`${D.default.errors} === 0`,()=>e.return(D.default.data),()=>e.throw((0,C._)`new ${o}(${D.default.vErrors})`)):(e.assign((0,C._)`${n}.errors`,D.default.vErrors),s.unevaluated&&l0(t),e.return((0,C._)`${D.default.errors} === 0`))}function l0({gen:t,evaluated:e,props:r,items:n}){r instanceof C.Name&&t.assign((0,C._)`${e}.props`,r),n instanceof C.Name&&t.assign((0,C._)`${e}.items`,n)}function Yh(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Vt.schemaHasRulesButRef)(s,l))){o.block(()=>ag(t,"$ref",l.all.$ref.definition));return}c.jtd||d0(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,bl.shouldUseGroup)(s,f)&&(f.type?(o.if((0,li.checkDataType)(f.type,i,c.strictNumbers)),Xh(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,li.reportTypeError)(t)),o.endIf()):Xh(t,f),a||o.if((0,C._)`${D.default.errors} === ${n||0}`))}}function Xh(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,W$.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,bl.shouldUseRule)(n,s)&&ag(t,s.keyword,s.definition,e.type)})}function d0(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(p0(t,e),t.opts.allowUnionTypes||f0(t,e),m0(t,t.dataTypes))}function p0(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ig(t.dataTypes,r)||kl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),g0(t,e)}}function f0(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&kl(t,"use allowUnionTypes to allow union type keyword")}function m0(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,bl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>h0(e,i))&&kl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function h0(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ig(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function g0(t,e){let r=[];for(let n of t.dataTypes)ig(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function kl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Vt.checkStrictMode)(t,e,t.opts.strictTypes)}var di=class{constructor(e,r,n){if((0,$o.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Vt.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",cg(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,$o.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",D.default.errors))}result(e,r,n){this.failResult((0,C.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,C.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,C._)`${r} !== undefined && (${(0,C.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?wo.reportExtraError:wo.reportError)(this,this.def.error,r)}$dataError(){(0,wo.reportError)(this,this.def.$dataError||wo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,wo.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=C.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=C.nil,r=C.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,C.or)((0,C._)`${o} === undefined`,r)),e!==C.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==C.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(n.length){if(!(r instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,C._)`${(0,li.checkDataTypes)(c,r,s.opts.strictNumbers,li.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${r})`}return C.nil}}subschema(e,r){let n=(0,vl.getSubschema)(this.it,e);(0,vl.extendSubschemaData)(n,this.it,e),(0,vl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return n0(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Vt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Vt.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,C.Name)),!0}};ur.KeywordCxt=di;function ag(t,e,r,n){let o=new di(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,$o.funcKeywordCode)(o,r):"macro"in r?(0,$o.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,$o.funcKeywordCode)(o,r)}var _0=/^\/(?:[^~]|~0|~1)*$/,y0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function cg(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return D.default.rootData;if(t[0]==="/"){if(!_0.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=D.default.rootData}else{let u=y0.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,C._)`${s}${(0,C.getProperty)((0,Vt.unescapeJsonPointer)(u))}`,i=(0,C._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}ur.getData=cg});var pi=T(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});var Sl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};wl.default=Sl});var Eo=T(El=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});var $l=So(),Tl=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,$l.resolveUrl)(e,r,n),this.missingSchema=(0,$l.normalizeId)((0,$l.getFullPath)(e,this.missingRef))}};El.default=Tl});var mi=T(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.resolveSchema=ct.getCompilingSchema=ct.resolveRef=ct.compileSchema=ct.SchemaEnv=void 0;var ht=U(),x0=pi(),Br=Ht(),gt=So(),ug=X(),v0=To(),Sn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,gt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ct.SchemaEnv=Sn;function Rl(t){let e=lg.call(this,t);if(e)return e;let r=(0,gt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new ht.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:x0.default,code:(0,ht._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Br.default.data,parentData:Br.default.parentData,parentDataProperty:Br.default.parentDataProperty,dataNames:[Br.default.data],dataPathArr:[ht.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,ht.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:ht.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ht._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,v0.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Br.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let m=new Function(`${Br.default.self}`,`${Br.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:h}=u;m.evaluated={props:p instanceof ht.Name?void 0:p,items:h instanceof ht.Name?void 0:h,dynamicProps:p instanceof ht.Name,dynamicItems:h instanceof ht.Name},m.source&&(m.source.evaluated=(0,ht.stringify)(m.evaluated))}return t.validate=m,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}ct.compileSchema=Rl;function b0(t,e,r){var n;r=(0,gt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=w0.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Sn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=k0.call(this,s)}ct.resolveRef=b0;function k0(t){return(0,gt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Rl.call(this,t)}function lg(t){for(let e of this._compilations)if(S0(e,t))return e}ct.getCompilingSchema=lg;function S0(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function w0(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||fi.call(this,t,e)}function fi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,gt._getFullPath)(this.opts.uriResolver,r),o=(0,gt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Pl.call(this,r,t);let s=(0,gt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=fi.call(this,t,i);return typeof a?.schema!="object"?void 0:Pl.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Rl.call(this,i),s===(0,gt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,gt.resolveUrl)(this.opts.uriResolver,o,u)),new Sn({schema:a,schemaId:c,root:t,baseId:o})}return Pl.call(this,r,i)}}ct.resolveSchema=fi;var $0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Pl(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,ug.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!$0.has(a)&&u&&(e=(0,gt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,ug.schemaHasRulesButRef)(r,this.RULES)){let a=(0,gt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=fi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Sn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var dg=T((KA,T0)=>{T0.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 Ol=T((JA,hg)=>{"use strict";var E0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),fg=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function zl(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var P0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function pg(t){return t.length=0,!0}function R0(t,e,r){if(t.length){let n=zl(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function z0(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=R0;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=pg}else{o.push(u);continue}}return o.length&&(a===pg?r.zone=o.join(""):i?n.push(o.join("")):n.push(zl(o))),r.address=n.join(""),r}function mg(t){if(O0(t,":")<2)return{host:t,isIPV6:!1};let e=z0(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function O0(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function I0(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}function C0(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function N0(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!fg(r)){let n=mg(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}hg.exports={nonSimpleDomain:P0,recomposeAuthority:N0,normalizeComponentEncoding:C0,removeDotSegments:I0,isIPv4:fg,isUUID:E0,normalizeIPv6:mg,stringArrayToHexStripped:zl}});var vg=T((GA,xg)=>{"use strict";var{isUUID:A0}=Ol(),j0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,M0=["http","https","ws","wss","urn","urn:uuid"];function D0(t){return M0.indexOf(t)!==-1}function Il(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function gg(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function _g(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function Z0(t){return t.secure=Il(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function L0(t){if((t.port===(Il(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function q0(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(j0);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=Cl(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function U0(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=Cl(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function F0(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!A0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function H0(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var yg={scheme:"http",domainHost:!0,parse:gg,serialize:_g},V0={scheme:"https",domainHost:yg.domainHost,parse:gg,serialize:_g},hi={scheme:"ws",domainHost:!0,parse:Z0,serialize:L0},B0={scheme:"wss",domainHost:hi.domainHost,parse:hi.parse,serialize:hi.serialize},K0={scheme:"urn",parse:q0,serialize:U0,skipNormalize:!0},J0={scheme:"urn:uuid",parse:F0,serialize:H0,skipNormalize:!0},gi={http:yg,https:V0,ws:hi,wss:B0,urn:K0,"urn:uuid":J0};Object.setPrototypeOf(gi,null);function Cl(t){return t&&(gi[t]||gi[t.toLowerCase()])||void 0}xg.exports={wsIsSecure:Il,SCHEMES:gi,isValidSchemeName:D0,getSchemeHandler:Cl}});var Sg=T((WA,yi)=>{"use strict";var{normalizeIPv6:G0,removeDotSegments:Po,recomposeAuthority:W0,normalizeComponentEncoding:_i,isIPv4:Y0,nonSimpleDomain:X0}=Ol(),{SCHEMES:Q0,getSchemeHandler:bg}=vg();function eT(t,e){return typeof t=="string"?t=Pt(Bt(t,e),e):typeof t=="object"&&(t=Bt(Pt(t,e),e)),t}function tT(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=kg(Bt(t,n),Bt(e,n),n,!0);return n.skipEscape=!0,Pt(o,n)}function kg(t,e,r,n){let o={};return n||(t=Bt(Pt(t,r),r),e=Bt(Pt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Po(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Po(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Po(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=Po(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function rT(t,e,r){return typeof t=="string"?(t=unescape(t),t=Pt(_i(Bt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=Pt(_i(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Pt(_i(Bt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=Pt(_i(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Pt(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=bg(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=W0(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=Po(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var nT=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Bt(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(nT);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(Y0(n.host)===!1){let c=G0(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let i=bg(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&X0(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var Nl={SCHEMES:Q0,normalize:eT,resolve:tT,resolveComponent:kg,equal:rT,serialize:Pt,parse:Bt};yi.exports=Nl;yi.exports.default=Nl;yi.exports.fastUri=Nl});var $g=T(Al=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});var wg=Sg();wg.code='require("ajv/dist/runtime/uri").default';Al.default=wg});var Cg=T(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.CodeGen=Re.Name=Re.nil=Re.stringify=Re.str=Re._=Re.KeywordCxt=void 0;var oT=To();Object.defineProperty(Re,"KeywordCxt",{enumerable:!0,get:function(){return oT.KeywordCxt}});var wn=U();Object.defineProperty(Re,"_",{enumerable:!0,get:function(){return wn._}});Object.defineProperty(Re,"str",{enumerable:!0,get:function(){return wn.str}});Object.defineProperty(Re,"stringify",{enumerable:!0,get:function(){return wn.stringify}});Object.defineProperty(Re,"nil",{enumerable:!0,get:function(){return wn.nil}});Object.defineProperty(Re,"Name",{enumerable:!0,get:function(){return wn.Name}});Object.defineProperty(Re,"CodeGen",{enumerable:!0,get:function(){return wn.CodeGen}});var sT=pi(),zg=Eo(),iT=ll(),Ro=mi(),aT=U(),zo=So(),xi=ko(),Ml=X(),Tg=dg(),cT=$g(),Og=(t,e)=>new RegExp(t,e);Og.code="new RegExp";var uT=["removeAdditional","useDefaults","coerceTypes"],lT=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),dT={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."},pT={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Eg=200;function fT(t){var e,r,n,o,s,i,a,c,u,l,d,f,m,p,h,g,y,v,b,w,R,ie,ae,Ye,At;let fe=t.strict,Kt=(e=t.code)===null||e===void 0?void 0:e.optimize,je=Kt===!0||Kt===void 0?1:Kt||0,Xo=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Og,sa=(o=t.uriResolver)!==null&&o!==void 0?o:cT.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:fe)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:fe)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:fe)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:fe)!==null&&f!==void 0?f:"log",strictRequired:(p=(m=t.strictRequired)!==null&&m!==void 0?m:fe)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:je,regExp:Xo}:{optimize:je,regExp:Xo},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:Eg,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:Eg,meta:(y=t.meta)!==null&&y!==void 0?y:!0,messages:(v=t.messages)!==null&&v!==void 0?v:!0,inlineRefs:(b=t.inlineRefs)!==null&&b!==void 0?b:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(R=t.addUsedSchema)!==null&&R!==void 0?R:!0,validateSchema:(ie=t.validateSchema)!==null&&ie!==void 0?ie:!0,validateFormats:(ae=t.validateFormats)!==null&&ae!==void 0?ae:!0,unicodeRegExp:(Ye=t.unicodeRegExp)!==null&&Ye!==void 0?Ye:!0,int32range:(At=t.int32range)!==null&&At!==void 0?At:!0,uriResolver:sa}}var Oo=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...fT(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new aT.ValueScope({scope:{},prefixes:lT,es5:r,lines:n}),this.logger=xT(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,iT.getRules)(),Pg.call(this,dT,e,"NOT SUPPORTED"),Pg.call(this,pT,e,"DEPRECATED","warn"),this._metaOpts=_T.call(this),e.formats&&hT.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&gT.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),mT.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=Tg;n==="id"&&(o={...Tg},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,e,r);async function o(l,d){await s.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||i.call(this,f)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof zg.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,zo.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=Rg.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Ro.SchemaEnv({schema:{},schemaId:n});if(r=Ro.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Rg.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,zo.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(bT.call(this,n,r),!r)return(0,Ml.eachItem)(n,s=>jl.call(this,s)),this;ST.call(this,r);let o={...r,type:(0,xi.getJSONTypes)(r.type),schemaType:(0,xi.getJSONTypes)(r.schemaType)};return(0,Ml.eachItem)(n,o.type.length===0?s=>jl.call(this,s,o):s=>o.type.forEach(i=>jl.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=Ig(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,zo.normalizeId)(i||n);let u=zo.getSchemaRefs.call(this,e,n);return c=new Ro.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Ro.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Ro.compileSchema.call(this,e)}finally{this.opts=r}}};Oo.ValidationError=sT.default;Oo.MissingRefError=zg.default;Re.default=Oo;function Pg(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function Rg(t){return t=(0,zo.normalizeId)(t),this.schemas[t]||this.refs[t]}function mT(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function hT(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function gT(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function _T(){let t={...this.opts};for(let e of uT)delete t[e];return t}var yT={log(){},warn(){},error(){}};function xT(t){if(t===!1)return yT;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var vT=/^[a-z_$][a-z0-9_$:-]*$/i;function bT(t,e){let{RULES:r}=this;if((0,Ml.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!vT.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function jl(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,xi.getJSONTypes)(e.type),schemaType:(0,xi.getJSONTypes)(e.schemaType)}};e.before?kT.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function kT(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function ST(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Ig(e)),t.validateSchema=this.compile(e,!0))}var wT={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ig(t){return{anyOf:[t,wT]}}});var Ng=T(Dl=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});var $T={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Dl.default=$T});var Dg=T(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.callRef=Kr.getValidate=void 0;var TT=Eo(),Ag=at(),Ge=U(),$n=Ht(),jg=mi(),vi=X(),ET={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=jg.resolveRef.call(c,u,o,r);if(l===void 0)throw new TT.default(n.opts.uriResolver,o,r);if(l instanceof jg.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return bi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return bi(t,(0,Ge._)`${p}.validate`,u,u.$async)}function f(p){let h=Mg(t,p);bi(t,h,p,p.$async)}function m(p){let h=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,Ge.stringify)(p)}:{ref:p}),g=e.name("valid"),y=t.subschema({schema:p,dataTypes:[],schemaPath:Ge.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(y),t.ok(g)}}};function Mg(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Ge._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Kr.getValidate=Mg;function bi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?$n.default.this:Ge.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,Ge._)`await ${(0,Ag.callValidateCode)(t,e,u)}`),m(e),i||o.assign(p,!0)},h=>{o.if((0,Ge._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),f(h),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,Ag.callValidateCode)(t,e,u),()=>m(e),()=>f(e))}function f(p){let h=(0,Ge._)`${p}.errors`;o.assign($n.default.vErrors,(0,Ge._)`${$n.default.vErrors} === null ? ${h} : ${$n.default.vErrors}.concat(${h})`),o.assign($n.default.errors,(0,Ge._)`${$n.default.vErrors}.length`)}function m(p){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=vi.mergeEvaluated.props(o,g.props,s.props));else{let y=o.var("props",(0,Ge._)`${p}.evaluated.props`);s.props=vi.mergeEvaluated.props(o,y,s.props,Ge.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=vi.mergeEvaluated.items(o,g.items,s.items));else{let y=o.var("items",(0,Ge._)`${p}.evaluated.items`);s.items=vi.mergeEvaluated.items(o,y,s.items,Ge.Name)}}}Kr.callRef=bi;Kr.default=ET});var Zg=T(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var PT=Ng(),RT=Dg(),zT=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",PT.default,RT.default];Zl.default=zT});var Lg=T(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var ki=U(),lr=ki.operators,Si={maximum:{okStr:"<=",ok:lr.LTE,fail:lr.GT},minimum:{okStr:">=",ok:lr.GTE,fail:lr.LT},exclusiveMaximum:{okStr:"<",ok:lr.LT,fail:lr.GTE},exclusiveMinimum:{okStr:">",ok:lr.GT,fail:lr.LTE}},OT={message:({keyword:t,schemaCode:e})=>(0,ki.str)`must be ${Si[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,ki._)`{comparison: ${Si[t].okStr}, limit: ${e}}`},IT={keyword:Object.keys(Si),type:"number",schemaType:"number",$data:!0,error:OT,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,ki._)`${r} ${Si[e].fail} ${n} || isNaN(${r})`)}};Ll.default=IT});var qg=T(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var Io=U(),CT={message:({schemaCode:t})=>(0,Io.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Io._)`{multipleOf: ${t}}`},NT={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:CT,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,Io._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Io._)`${i} !== parseInt(${i})`;t.fail$data((0,Io._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};ql.default=NT});var Fg=T(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});function Ug(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}Ul.default=Ug;Ug.code='require("ajv/dist/runtime/ucs2length").default'});var Hg=T(Fl=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});var Jr=U(),AT=X(),jT=Fg(),MT={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Jr.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Jr._)`{limit: ${t}}`},DT={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:MT,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Jr.operators.GT:Jr.operators.LT,i=o.opts.unicode===!1?(0,Jr._)`${r}.length`:(0,Jr._)`${(0,AT.useFunc)(t.gen,jT.default)}(${r})`;t.fail$data((0,Jr._)`${i} ${s} ${n}`)}};Fl.default=DT});var Vg=T(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});var ZT=at(),LT=X(),Tn=U(),qT={message:({schemaCode:t})=>(0,Tn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Tn._)`{pattern: ${t}}`},UT={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:qT,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Tn._)`new RegExp`:(0,LT.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Tn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Tn._)`!${l}`)}else{let c=(0,ZT.usePattern)(t,o);t.fail$data((0,Tn._)`!${c}.test(${r})`)}}};Hl.default=UT});var Bg=T(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});var Co=U(),FT={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Co.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Co._)`{limit: ${t}}`},HT={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:FT,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Co.operators.GT:Co.operators.LT;t.fail$data((0,Co._)`Object.keys(${r}).length ${o} ${n}`)}};Vl.default=HT});var Kg=T(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var No=at(),Ao=U(),VT=X(),BT={message:({params:{missingProperty:t}})=>(0,Ao.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Ao._)`{missingProperty: ${t}}`},KT={keyword:"required",type:"object",schemaType:"array",$data:!0,error:BT,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let m=t.parentSchema.properties,{definedProperties:p}=t.it;for(let h of r)if(m?.[h]===void 0&&!p.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,y=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,VT.checkStrictMode)(i,y,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Ao.nil,d);else for(let m of r)(0,No.checkReportMissingProp)(t,m)}function l(){let m=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(m,p)),t.ok(p)}else e.if((0,No.checkMissingProp)(t,r,m)),(0,No.reportMissingProp)(t,m),e.else()}function d(){e.forOf("prop",n,m=>{t.setParams({missingProperty:m}),e.if((0,No.noPropertyInData)(e,o,m,a.ownProperties),()=>t.error())})}function f(m,p){t.setParams({missingProperty:m}),e.forOf(m,n,()=>{e.assign(p,(0,No.propertyInData)(e,o,m,a.ownProperties)),e.if((0,Ao.not)(p),()=>{t.error(),e.break()})},Ao.nil)}}};Bl.default=KT});var Jg=T(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var jo=U(),JT={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,jo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,jo._)`{limit: ${t}}`},GT={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:JT,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?jo.operators.GT:jo.operators.LT;t.fail$data((0,jo._)`${r}.length ${o} ${n}`)}};Kl.default=GT});var wi=T(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var Gg=yl();Gg.code='require("ajv/dist/runtime/equal").default';Jl.default=Gg});var Wg=T(Wl=>{"use strict";Object.defineProperty(Wl,"__esModule",{value:!0});var Gl=ko(),ze=U(),WT=X(),YT=wi(),XT={message:({params:{i:t,j:e}})=>(0,ze.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,ze._)`{i: ${t}, j: ${e}}`},QT={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:XT,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,Gl.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,ze._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,ze._)`${r}.length`),h=e.let("j");t.setParams({i:p,j:h}),e.assign(c,!0),e.if((0,ze._)`${p} > 1`,()=>(d()?f:m)(p,h))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,h){let g=e.name("item"),y=(0,Gl.checkDataTypes)(u,g,a.opts.strictNumbers,Gl.DataType.Wrong),v=e.const("indices",(0,ze._)`{}`);e.for((0,ze._)`;${p}--;`,()=>{e.let(g,(0,ze._)`${r}[${p}]`),e.if(y,(0,ze._)`continue`),u.length>1&&e.if((0,ze._)`typeof ${g} == "string"`,(0,ze._)`${g} += "_"`),e.if((0,ze._)`typeof ${v}[${g}] == "number"`,()=>{e.assign(h,(0,ze._)`${v}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,ze._)`${v}[${g}] = ${p}`)})}function m(p,h){let g=(0,WT.useFunc)(e,YT.default),y=e.name("outer");e.label(y).for((0,ze._)`;${p}--;`,()=>e.for((0,ze._)`${h} = ${p}; ${h}--;`,()=>e.if((0,ze._)`${g}(${r}[${p}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(y)})))}}};Wl.default=QT});var Yg=T(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var Yl=U(),eE=X(),tE=wi(),rE={message:"must be equal to constant",params:({schemaCode:t})=>(0,Yl._)`{allowedValue: ${t}}`},nE={keyword:"const",$data:!0,error:rE,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,Yl._)`!${(0,eE.useFunc)(e,tE.default)}(${r}, ${o})`):t.fail((0,Yl._)`${s} !== ${r}`)}};Xl.default=nE});var Xg=T(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var Mo=U(),oE=X(),sE=wi(),iE={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Mo._)`{allowedValues: ${t}}`},aE={keyword:"enum",schemaType:"array",$data:!0,error:iE,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,oE.useFunc)(e,sE.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let m=e.const("vSchema",s);l=(0,Mo.or)(...o.map((p,h)=>f(m,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,m=>e.if((0,Mo._)`${u()}(${r}, ${m})`,()=>e.assign(l,!0).break()))}function f(m,p){let h=o[p];return typeof h=="object"&&h!==null?(0,Mo._)`${u()}(${r}, ${m}[${p}])`:(0,Mo._)`${r} === ${h}`}}};Ql.default=aE});var Qg=T(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var cE=Lg(),uE=qg(),lE=Hg(),dE=Vg(),pE=Bg(),fE=Kg(),mE=Jg(),hE=Wg(),gE=Yg(),_E=Xg(),yE=[cE.default,uE.default,lE.default,dE.default,pE.default,fE.default,mE.default,hE.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},gE.default,_E.default];ed.default=yE});var rd=T(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.validateAdditionalItems=void 0;var Gr=U(),td=X(),xE={message:({params:{len:t}})=>(0,Gr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Gr._)`{limit: ${t}}`},vE={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:xE,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,td.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}e_(t,n)}};function e_(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Gr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Gr._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,td.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Gr._)`${a} <= ${e.length}`);r.if((0,Gr.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:td.Type.Num},u),i.allErrors||r.if((0,Gr.not)(u),()=>r.break())})}}Do.validateAdditionalItems=e_;Do.default=vE});var nd=T(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.validateTuple=void 0;var t_=U(),$i=X(),bE=at(),kE={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return r_(t,"additionalItems",e);r.items=!0,!(0,$i.alwaysValidSchema)(r,e)&&t.ok((0,bE.validateArray)(t))}};function r_(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=$i.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,t_._)`${s}.length`);r.forEach((d,f)=>{(0,$i.alwaysValidSchema)(a,d)||(n.if((0,t_._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:m}=a,p=r.length,h=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${m}"`;(0,$i.checkStrictMode)(a,g,f.strictTuples)}}}Zo.validateTuple=r_;Zo.default=kE});var n_=T(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var SE=nd(),wE={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,SE.validateTuple)(t,"items")};od.default=wE});var s_=T(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});var o_=U(),$E=X(),TE=at(),EE=rd(),PE={message:({params:{len:t}})=>(0,o_.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,o_._)`{limit: ${t}}`},RE={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:PE,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,$E.alwaysValidSchema)(n,e)&&(o?(0,EE.validateAdditionalItems)(t,o):t.ok((0,TE.validateArray)(t)))}};sd.default=RE});var i_=T(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});var ut=U(),Ti=X(),zE={message:({params:{min:t,max:e}})=>e===void 0?(0,ut.str)`must contain at least ${t} valid item(s)`:(0,ut.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ut._)`{minContains: ${t}}`:(0,ut._)`{minContains: ${t}, maxContains: ${e}}`},OE={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:zE,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,ut._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Ti.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Ti.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Ti.alwaysValidSchema)(s,r)){let h=(0,ut._)`${l} >= ${i}`;a!==void 0&&(h=(0,ut._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?m(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,ut._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),g=e.let("count",0);m(h,()=>e.if(h,()=>p(g)))}function m(h,g){e.forRange("i",0,l,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:Ti.Type.Num,compositeRule:!0},h),g()})}function p(h){e.code((0,ut._)`${h}++`),a===void 0?e.if((0,ut._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,ut._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,ut._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};id.default=OE});var u_=T(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.validateSchemaDeps=Rt.validatePropertyDeps=Rt.error=void 0;var ad=U(),IE=X(),Lo=at();Rt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,ad.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,ad._)`{property: ${t},
missingProperty: ${n},
depsCount: ${e},
deps: ${r}}`};var CE={keyword:"dependencies",type:"object",schemaType:"object",error:Rt.error,code(t){let[e,r]=NE(t);a_(t,e),c_(t,r)}};function NE({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function a_(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,Lo.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,Lo.checkReportMissingProp)(t,u)}):(r.if((0,ad._)`${c} && (${(0,Lo.checkMissingProp)(t,a,s)})`),(0,Lo.reportMissingProp)(t,s),r.else())}}Rt.validatePropertyDeps=a_;function c_(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,IE.alwaysValidSchema)(s,e[a])||(r.if((0,Lo.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Rt.validateSchemaDeps=c_;Rt.default=CE});var d_=T(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var l_=U(),AE=X(),jE={message:"property name must be valid",params:({params:t})=>(0,l_._)`{propertyName: ${t.propertyName}}`},ME={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:jE,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,AE.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,l_.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};cd.default=ME});var ld=T(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var Ei=at(),_t=U(),DE=Ht(),Pi=X(),ZE={message:"must NOT have additional properties",params:({params:t})=>(0,_t._)`{additionalProperty: ${t.additionalProperty}}`},LE={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:ZE,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Pi.alwaysValidSchema)(i,r))return;let u=(0,Ei.allSchemaProperties)(n.properties),l=(0,Ei.allSchemaProperties)(n.patternProperties);d(),t.ok((0,_t._)`${s} === ${DE.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let y;if(u.length>8){let v=(0,Pi.schemaRefOrVal)(i,n.properties,"properties");y=(0,Ei.isOwnProperty)(e,v,g)}else u.length?y=(0,_t.or)(...u.map(v=>(0,_t._)`${g} === ${v}`)):y=_t.nil;return l.length&&(y=(0,_t.or)(y,...l.map(v=>(0,_t._)`${(0,Ei.usePattern)(t,v)}.test(${g})`))),(0,_t.not)(y)}function m(g){e.code((0,_t._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Pi.alwaysValidSchema)(i,r)){let y=e.name("valid");c.removeAdditional==="failing"?(h(g,y,!1),e.if((0,_t.not)(y),()=>{t.reset(),m(g)})):(h(g,y),a||e.if((0,_t.not)(y),()=>e.break()))}}function h(g,y,v){let b={keyword:"additionalProperties",dataProp:g,dataPropType:Pi.Type.Str};v===!1&&Object.assign(b,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(b,y)}}};ud.default=LE});var m_=T(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var qE=To(),p_=at(),dd=X(),f_=ld(),UE={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&f_.default.code(new qE.KeywordCxt(s,f_.default,"additionalProperties"));let i=(0,p_.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=dd.mergeEvaluated.props(e,(0,dd.toHash)(i),s.props));let a=i.filter(d=>!(0,dd.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,p_.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};pd.default=UE});var y_=T(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var h_=at(),Ri=U(),g_=X(),__=X(),FE={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,h_.allSchemaProperties)(r),c=a.filter(h=>(0,g_.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Ri.Name)&&(s.props=(0,__.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)u&&m(h),s.allErrors?p(h):(e.var(l,!0),p(h),e.if(l))}function m(h){for(let g in u)new RegExp(h).test(g)&&(0,g_.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function p(h){e.forIn("key",n,g=>{e.if((0,Ri._)`${(0,h_.usePattern)(t,h)}.test(${g})`,()=>{let y=c.includes(h);y||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:__.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Ri._)`${d}[${g}]`,!0):!y&&!s.allErrors&&e.if((0,Ri.not)(l),()=>e.break())})})}}};fd.default=FE});var x_=T(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var HE=X(),VE={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,HE.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};md.default=VE});var v_=T(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var BE=at(),KE={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:BE.validateUnion,error:{message:"must match a schema in anyOf"}};hd.default=KE});var b_=T(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var zi=U(),JE=X(),GE={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,zi._)`{passingSchemas: ${t.passing}}`},WE={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:GE,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,JE.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,zi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,zi._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,zi.Name)})})}}};gd.default=WE});var k_=T(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var YE=X(),XE={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,YE.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};_d.default=XE});var $_=T(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var Oi=U(),w_=X(),QE={message:({params:t})=>(0,Oi.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Oi._)`{failingKeyword: ${t.ifClause}}`},eP={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:QE,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,w_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=S_(n,"then"),s=S_(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,Oi.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,Oi._)`${l}`):t.setParams({ifClause:l})}}}};function S_(t,e){let r=t.schema[e];return r!==void 0&&!(0,w_.alwaysValidSchema)(t,r)}yd.default=eP});var T_=T(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var tP=X(),rP={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,tP.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};xd.default=rP});var E_=T(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var nP=rd(),oP=n_(),sP=nd(),iP=s_(),aP=i_(),cP=u_(),uP=d_(),lP=ld(),dP=m_(),pP=y_(),fP=x_(),mP=v_(),hP=b_(),gP=k_(),_P=$_(),yP=T_();function xP(t=!1){let e=[fP.default,mP.default,hP.default,gP.default,_P.default,yP.default,uP.default,lP.default,cP.default,dP.default,pP.default];return t?e.push(oP.default,iP.default):e.push(nP.default,sP.default),e.push(aP.default),e}vd.default=xP});var P_=T(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ve=U(),vP={message:({schemaCode:t})=>(0,ve.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ve._)`{format: ${t}}`},bP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:vP,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():m();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ve._)`${p}[${i}]`),g=r.let("fType"),y=r.let("format");r.if((0,ve._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,ve._)`${h}.type || "string"`).assign(y,(0,ve._)`${h}.validate`),()=>r.assign(g,(0,ve._)`"string"`).assign(y,h)),t.fail$data((0,ve.or)(v(),b()));function v(){return c.strictSchema===!1?ve.nil:(0,ve._)`${i} && !${y}`}function b(){let w=l.$async?(0,ve._)`(${h}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,ve._)`${y}(${n})`,R=(0,ve._)`(typeof ${y} == "function" ? ${w} : ${y}.test(${n}))`;return(0,ve._)`${y} && ${y} !== true && ${g} === ${e} && !${R}`}}function m(){let p=d.formats[s];if(!p){v();return}if(p===!0)return;let[h,g,y]=b(p);h===e&&t.pass(w());function v(){if(c.strictSchema===!1){d.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function b(R){let ie=R instanceof RegExp?(0,ve.regexpCode)(R):c.code.formats?(0,ve._)`${c.code.formats}${(0,ve.getProperty)(s)}`:void 0,ae=r.scopeValue("formats",{key:s,ref:R,code:ie});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,ve._)`${ae}.validate`]:["string",R,ae]}function w(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ve._)`await ${y}(${n})`}return typeof g=="function"?(0,ve._)`${y}(${n})`:(0,ve._)`${y}.test(${n})`}}}};bd.default=bP});var R_=T(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var kP=P_(),SP=[kP.default];kd.default=SP});var z_=T(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.contentVocabulary=En.metadataVocabulary=void 0;En.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];En.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var I_=T(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var wP=Zg(),$P=Qg(),TP=E_(),EP=R_(),O_=z_(),PP=[wP.default,$P.default,(0,TP.default)(),EP.default,O_.metadataVocabulary,O_.contentVocabulary];Sd.default=PP});var N_=T(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.DiscrError=void 0;var C_;(function(t){t.Tag="tag",t.Mapping="mapping"})(C_||(Ii.DiscrError=C_={}))});var j_=T($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var Pn=U(),wd=N_(),A_=mi(),RP=Eo(),zP=X(),OP={message:({params:{discrError:t,tagName:e}})=>t===wd.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Pn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},IP={keyword:"discriminator",type:"object",schemaType:"object",error:OP,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Pn._)`${r}${(0,Pn.getProperty)(a)}`);e.if((0,Pn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:wd.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let m=f();e.if(!1);for(let p in m)e.elseIf((0,Pn._)`${u} === ${p}`),e.assign(c,d(m[p]));e.else(),t.error(!1,{discrError:wd.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(m){let p=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:m},p);return t.mergeEvaluated(h,Pn.Name),p}function f(){var m;let p={},h=y(o),g=!0;for(let w=0;w<i.length;w++){let R=i[w];if(R?.$ref&&!(0,zP.schemaHasRulesButRef)(R,s.self.RULES)){let ae=R.$ref;if(R=A_.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,ae),R instanceof A_.SchemaEnv&&(R=R.schema),R===void 0)throw new RP.default(s.opts.uriResolver,s.baseId,ae)}let ie=(m=R?.properties)===null||m===void 0?void 0:m[a];if(typeof ie!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(h||y(R)),v(ie,w)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function y({required:w}){return Array.isArray(w)&&w.includes(a)}function v(w,R){if(w.const)b(w.const,R);else if(w.enum)for(let ie of w.enum)b(ie,R);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function b(w,R){if(typeof w!="string"||w in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[w]=R}}}};$d.default=IP});var M_=T((Dj,CP)=>{CP.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 Ed=T((pe,Td)=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.MissingRefError=pe.ValidationError=pe.CodeGen=pe.Name=pe.nil=pe.stringify=pe.str=pe._=pe.KeywordCxt=pe.Ajv=void 0;var NP=Cg(),AP=I_(),jP=j_(),D_=M_(),MP=["/properties"],Ci="http://json-schema.org/draft-07/schema",Rn=class extends NP.default{_addVocabularies(){super._addVocabularies(),AP.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(jP.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(D_,MP):D_;this.addMetaSchema(e,Ci,!1),this.refs["http://json-schema.org/schema"]=Ci}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Ci)?Ci:void 0)}};pe.Ajv=Rn;Td.exports=pe=Rn;Td.exports.Ajv=Rn;Object.defineProperty(pe,"__esModule",{value:!0});pe.default=Rn;var DP=To();Object.defineProperty(pe,"KeywordCxt",{enumerable:!0,get:function(){return DP.KeywordCxt}});var zn=U();Object.defineProperty(pe,"_",{enumerable:!0,get:function(){return zn._}});Object.defineProperty(pe,"str",{enumerable:!0,get:function(){return zn.str}});Object.defineProperty(pe,"stringify",{enumerable:!0,get:function(){return zn.stringify}});Object.defineProperty(pe,"nil",{enumerable:!0,get:function(){return zn.nil}});Object.defineProperty(pe,"Name",{enumerable:!0,get:function(){return zn.Name}});Object.defineProperty(pe,"CodeGen",{enumerable:!0,get:function(){return zn.CodeGen}});var ZP=pi();Object.defineProperty(pe,"ValidationError",{enumerable:!0,get:function(){return ZP.default}});var LP=Eo();Object.defineProperty(pe,"MissingRefError",{enumerable:!0,get:function(){return LP.default}})});var B_=T(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.formatNames=Ot.fastFormats=Ot.fullFormats=void 0;function zt(t,e){return{validate:t,compare:e}}Ot.fullFormats={date:zt(U_,Od),time:zt(Rd(!0),Id),"date-time":zt(Z_(!0),H_),"iso-time":zt(Rd(),F_),"iso-date-time":zt(Z_(),V_),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:BP,"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:QP,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:KP,int32:{type:"number",validate:WP},int64:{type:"number",validate:YP},float:{type:"number",validate:q_},double:{type:"number",validate:q_},password:!0,binary:!0};Ot.fastFormats={...Ot.fullFormats,date:zt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Od),time:zt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Id),"date-time":zt(/^\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,H_),"iso-time":zt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,F_),"iso-date-time":zt(/^\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,V_),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};Ot.formatNames=Object.keys(Ot.fullFormats);function qP(t){return t%4===0&&(t%100!==0||t%400===0)}var UP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,FP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function U_(t){let e=UP.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&qP(r)?29:FP[n])}function Od(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Pd=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Rd(t){return function(r){let n=Pd.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function Id(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function F_(t,e){if(!(t&&e))return;let r=Pd.exec(t),n=Pd.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var zd=/t|\s/i;function Z_(t){let e=Rd(t);return function(n){let o=n.split(zd);return o.length===2&&U_(o[0])&&e(o[1])}}function H_(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function V_(t,e){if(!(t&&e))return;let[r,n]=t.split(zd),[o,s]=e.split(zd),i=Od(r,o);if(i!==void 0)return i||Id(n,s)}var HP=/\/|:/,VP=/^(?:[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 BP(t){return HP.test(t)&&VP.test(t)}var L_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function KP(t){return L_.lastIndex=0,L_.test(t)}var JP=-(2**31),GP=2**31-1;function WP(t){return Number.isInteger(t)&&t<=GP&&t>=JP}function YP(t){return Number.isInteger(t)}function q_(){return!0}var XP=/[^\\]\\Z/;function QP(t){if(XP.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var K_=T(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.formatLimitDefinition=void 0;var eR=Ed(),yt=U(),dr=yt.operators,Ni={formatMaximum:{okStr:"<=",ok:dr.LTE,fail:dr.GT},formatMinimum:{okStr:">=",ok:dr.GTE,fail:dr.LT},formatExclusiveMaximum:{okStr:"<",ok:dr.LT,fail:dr.GTE},formatExclusiveMinimum:{okStr:">",ok:dr.GT,fail:dr.LTE}},tR={message:({keyword:t,schemaCode:e})=>(0,yt.str)`should be ${Ni[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,yt._)`{comparison: ${Ni[t].okStr}, limit: ${e}}`};On.formatLimitDefinition={keyword:Object.keys(Ni),type:"string",schemaType:"string",$data:!0,error:tR,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new eR.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=e.const("fmt",(0,yt._)`${f}[${c.schemaCode}]`);t.fail$data((0,yt.or)((0,yt._)`typeof ${m} != "object"`,(0,yt._)`${m} instanceof RegExp`,(0,yt._)`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:m,code:i.code.formats?(0,yt._)`${i.code.formats}${(0,yt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,yt._)`${f}.compare(${r}, ${n}) ${Ni[o].fail} 0`}},dependencies:["format"]};var rR=t=>(t.addKeyword(On.formatLimitDefinition),t);On.default=rR});var Y_=T((qo,W_)=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});var In=B_(),nR=K_(),Cd=U(),J_=new Cd.Name("fullFormats"),oR=new Cd.Name("fastFormats"),Nd=(t,e={keywords:!0})=>{if(Array.isArray(e))return G_(t,e,In.fullFormats,J_),t;let[r,n]=e.mode==="fast"?[In.fastFormats,oR]:[In.fullFormats,J_],o=e.formats||In.formatNames;return G_(t,o,r,n),e.keywords&&(0,nR.default)(t),t};Nd.get=(t,e="full")=>{let n=(e==="fast"?In.fastFormats:In.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function G_(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,Cd._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}W_.exports=qo=Nd;Object.defineProperty(qo,"__esModule",{value:!0});qo.default=Nd});function Ho(t,e){let r=Bi[e],n=Bd(e);return t.hooks?.some(o=>o.command?.includes(r)||o.command?.includes(n))??!1}function Bd(t,e){if(e){let r=Bi[t];return`node "${e}/hooks/${r}"`}return`context-mode hook claude-code ${t.toLowerCase()}`}var vt,NR,Cy,Bi,F1,H1,Ny=bt(()=>{"use strict";vt={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",USER_PROMPT_SUBMIT:"UserPromptSubmit"},NR=["Bash","WebFetch","Read","Grep","Agent","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"],Cy=NR.join("|"),Bi={PreToolUse:"pretooluse.mjs",PostToolUse:"posttooluse.mjs",PreCompact:"precompact.mjs",SessionStart:"sessionstart.mjs",UserPromptSubmit:"userpromptsubmit.mjs"},F1=[vt.PRE_TOOL_USE,vt.SESSION_START],H1=[vt.POST_TOOL_USE,vt.PRE_COMPACT,vt.USER_PROMPT_SUBMIT]});var Gd={};jt(Gd,{ClaudeCodeAdapter:()=>Jd});import{createHash as Ay}from"node:crypto";import{readFileSync as Vo,writeFileSync as Ki,mkdirSync as AR,copyFileSync as jR,accessSync as jy,readdirSync as MR,chmodSync as DR,constants as My}from"node:fs";import{resolve as It,join as Kd}from"node:path";import{homedir as Wr}from"node:os";var Jd,Wd=bt(()=>{"use strict";Ny();Jd=class{name="Claude Code";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR,raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{updatedInput:e.updatedInput};if(e.decision==="context"&&e.additionalContext)return{additionalContext:e.additionalContext};if(e.decision==="ask")return{permissionDecision:"ask"}}formatPostToolUseResponse(e){let r={};return e.additionalContext&&(r.additionalContext=e.additionalContext),e.updatedOutput&&(r.updatedMCPToolOutput=e.updatedOutput),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return It(Wr(),".claude","settings.json")}getSessionDir(){let e=Kd(Wr(),".claude","context-mode","sessions");return AR(e,{recursive:!0}),e}getSessionDBPath(e){let r=Ay("sha256").update(e).digest("hex").slice(0,16);return Kd(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Ay("sha256").update(e).digest("hex").slice(0,16);return Kd(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){let r=`node ${e}/hooks/pretooluse.mjs`;return{PreToolUse:["Bash","WebFetch","Read","Grep","Task","mcp__plugin_context-mode_context-mode__ctx_execute","mcp__plugin_context-mode_context-mode__ctx_execute_file","mcp__plugin_context-mode_context-mode__ctx_batch_execute"].map(o=>({matcher:o,hooks:[{type:"command",command:r}]})),PostToolUse:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/posttooluse.mjs`}]}],PreCompact:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/precompact.mjs`}]}],UserPromptSubmit:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/userpromptsubmit.mjs`}]}],SessionStart:[{matcher:"",hooks:[{type:"command",command:`node ${e}/hooks/sessionstart.mjs`}]}]}}readSettings(){try{let e=Vo(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){Ki(this.getSettingsPath(),JSON.stringify(e,null,2)+`
`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"PreToolUse hook",status:"fail",message:"Could not read ~/.claude/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.PreToolUse;if(s&&s.length>0){let a=s.some(c=>Ho(c,vt.PRE_TOOL_USE));r.push({check:"PreToolUse hook",status:a?"pass":"fail",message:a?"PreToolUse hook configured":"PreToolUse exists but does not point to pretooluse.mjs",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"PreToolUse hook",status:"fail",message:"No PreToolUse hooks found",fix:"context-mode upgrade"});let i=o?.SessionStart;if(i&&i.length>0){let a=i.some(c=>Ho(c,vt.SESSION_START));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to sessionstart.mjs",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read settings.json"};let r=e.enabledPlugins;if(!r)return{check:"Plugin registration",status:"warn",message:"No enabledPlugins section found (might be using standalone MCP mode)"};let n=Object.keys(r).find(o=>o.startsWith("context-mode"));return n&&r[n]?{check:"Plugin registration",status:"pass",message:`Plugin enabled: ${n}`}:{check:"Plugin registration",status:"warn",message:"context-mode not in enabledPlugins (might be using standalone MCP mode)"}}getInstalledVersion(){try{let r=It(Wr(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Vo(r,"utf-8")).plugins??{};for(let[s,i]of Object.entries(o)){if(!s.toLowerCase().includes("context-mode"))continue;let a=i;if(a.length>0&&typeof a[0].version=="string")return a[0].version}}catch{}let e=[It(Wr(),".claude"),It(Wr(),".config","claude")];for(let r of e){let n=It(r,"plugins","cache","context-mode","context-mode");try{let s=MR(n).filter(i=>/^\d+\.\d+\.\d+/.test(i)).sort((i,a)=>{let c=i.split(".").map(Number),u=a.split(".").map(Number);for(let l=0;l<3;l++)if((c[l]??0)!==(u[l]??0))return(c[l]??0)-(u[l]??0);return 0});if(s.length>0)return s[s.length-1]}catch{}}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[vt.PRE_TOOL_USE,vt.SESSION_START];for(let i of s){let a=Bd(i,e);if(i===vt.PRE_TOOL_USE){let c={matcher:Cy,hooks:[{type:"command",command:a}]},u=n.PreToolUse;if(u&&Array.isArray(u)){let l=u.findIndex(d=>Ho(d,i));l>=0?(u[l]=c,o.push(`Updated existing ${i} hook entry`)):(u.push(c),o.push(`Added ${i} hook entry`)),n.PreToolUse=u}else n.PreToolUse=[c],o.push(`Created ${i} hooks section`)}else{let c={matcher:"",hooks:[{type:"command",command:a}]},u=n[i];if(u&&Array.isArray(u)){let l=u.findIndex(d=>Ho(d,i));l>=0?(u[l]=c,o.push(`Updated existing ${i} hook entry`)):(u.push(c),o.push(`Added ${i} hook entry`)),n[i]=u}else n[i]=[c],o.push(`Created ${i} hooks section`)}}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{jy(e,My.R_OK);let r=e+".bak";return jR(e,r),r}catch{return null}}setHookPermissions(e){let r=[];for(let[,n]of Object.entries(Bi)){let o=It(e,"hooks",n);try{jy(o,My.R_OK),DR(o,493),r.push(o)}catch{}}return r}updatePluginRegistry(e,r){try{let n=It(Wr(),".claude","plugins","installed_plugins.json"),o=JSON.parse(Vo(n,"utf-8"));for(let[s,i]of Object.entries(o.plugins||{}))if(s.toLowerCase().includes("context-mode"))for(let a of i)a.installPath=e,a.version=r,a.lastUpdated=new Date().toISOString();Ki(n,JSON.stringify(o,null,2)+`
`,"utf-8")}catch{}}getRoutingInstructionsConfig(){return{fileName:"CLAUDE.md",globalPath:It(Wr(),".claude","CLAUDE.md"),projectRelativePath:"CLAUDE.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=It(e,n.projectRelativePath),s=It(r,"configs","claude-code",n.fileName);try{let i=Vo(s,"utf-8");try{let a=Vo(o,"utf-8");return a.includes("context-mode")?null:(Ki(o,a.trimEnd()+`
`+i,"utf-8"),o)}catch{return Ki(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){if(e.transcript_path){let r=e.transcript_path.match(/([a-f0-9-]{36})\.jsonl$/);if(r)return r[1]}return e.session_id?e.session_id:process.env.CLAUDE_SESSION_ID?process.env.CLAUDE_SESSION_ID:`pid-${process.ppid}`}}});function Nn(t,e){let r=Yd[t];return e&&r?`node "${e}/hooks/${r}"`:`context-mode hook gemini-cli ${t.toLowerCase()}`}var be,Yd,Y1,X1,Dy=bt(()=>{"use strict";be={BEFORE_TOOL:"BeforeTool",AFTER_TOOL:"AfterTool",PRE_COMPRESS:"PreCompress",SESSION_START:"SessionStart"},Yd={[be.BEFORE_TOOL]:"beforetool.mjs",[be.AFTER_TOOL]:"aftertool.mjs",[be.PRE_COMPRESS]:"precompress.mjs",[be.SESSION_START]:"sessionstart.mjs"},Y1=[be.BEFORE_TOOL,be.SESSION_START],X1=[be.AFTER_TOOL,be.PRE_COMPRESS]});var Fy={};jt(Fy,{GeminiCLIAdapter:()=>Xd});import{createHash as Zy}from"node:crypto";import{readFileSync as Bo,writeFileSync as Ji,mkdirSync as Ly,copyFileSync as ZR,accessSync as qy,chmodSync as LR,constants as Uy}from"node:fs";import{resolve as mr,join as Gi}from"node:path";import{homedir as An}from"node:os";var Xd,Hy=bt(()=>{"use strict";Dy();Xd=class{name="Gemini CLI";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:this.getProjectDir(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:this.getProjectDir(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{decision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{tool_input:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}};if(e.decision==="ask")return{decision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{decision:"deny",reason:e.updatedOutput};if(e.additionalContext)return{hookSpecificOutput:{additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return mr(An(),".gemini","settings.json")}getSessionDir(){let e=Gi(An(),".gemini","context-mode","sessions");return Ly(e,{recursive:!0}),e}getSessionDBPath(e){let r=Zy("sha256").update(e).digest("hex").slice(0,16);return Gi(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Zy("sha256").update(e).digest("hex").slice(0,16);return Gi(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[be.BEFORE_TOOL]:[{matcher:"",hooks:[{type:"command",command:Nn(be.BEFORE_TOOL,e)}]}],[be.AFTER_TOOL]:[{matcher:"",hooks:[{type:"command",command:Nn(be.AFTER_TOOL,e)}]}],[be.PRE_COMPRESS]:[{matcher:"",hooks:[{type:"command",command:Nn(be.PRE_COMPRESS,e)}]}],[be.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:Nn(be.SESSION_START,e)}]}]}}readSettings(){try{let e=Bo(this.getSettingsPath(),"utf-8");return JSON.parse(e)}catch{return null}}writeSettings(e){let r=mr(An(),".gemini");Ly(r,{recursive:!0}),Ji(this.getSettingsPath(),JSON.stringify(e,null,2)+`
`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"BeforeTool hook",status:"fail",message:"Could not read ~/.gemini/settings.json",fix:"context-mode upgrade"}),r;let o=n.hooks,s=o?.[be.BEFORE_TOOL];if(s&&s.length>0){let a=s.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"BeforeTool hook",status:a?"pass":"fail",message:a?"BeforeTool hook configured":"BeforeTool exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"BeforeTool hook",status:"fail",message:"No BeforeTool hooks found",fix:"context-mode upgrade"});let i=o?.[be.SESSION_START];if(i&&i.length>0){let a=i.some(c=>c.hooks?.some(u=>u.command?.includes("context-mode")));r.push({check:"SessionStart hook",status:a?"pass":"fail",message:a?"SessionStart hook configured":"SessionStart exists but does not point to context-mode",fix:a?void 0:"context-mode upgrade"})}else r.push({check:"SessionStart hook",status:"fail",message:"No SessionStart hooks found",fix:"context-mode upgrade"});return r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read ~/.gemini/settings.json"};let r=e.extensions;return r&&(Array.isArray(r)?r.some(o=>typeof o=="string"&&o.includes("context-mode")):Object.keys(r).some(o=>o.includes("context-mode")))?{check:"Plugin registration",status:"pass",message:"context-mode found in extensions"}:{check:"Plugin registration",status:"warn",message:"context-mode not found in extensions (might be using standalone MCP mode)"}}getInstalledVersion(){try{let e=mr(An(),".gemini","extensions","context-mode","package.json"),r=JSON.parse(Bo(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=r.hooks??{},o=[],s=[{name:be.BEFORE_TOOL},{name:be.SESSION_START}];for(let i of s){let c={matcher:"",hooks:[{type:"command",command:Nn(i.name,e)}]},u=n[i.name];if(u&&Array.isArray(u)){let l=u.findIndex(d=>d.hooks?.some(m=>m.command?.includes("context-mode")));l>=0?(u[l]=c,o.push(`Updated existing ${i.name} hook entry`)):(u.push(c),o.push(`Added ${i.name} hook entry`)),n[i.name]=u}else n[i.name]=[c],o.push(`Created ${i.name} hooks section`)}return r.hooks=n,this.writeSettings(r),o}backupSettings(){let e=this.getSettingsPath();try{qy(e,Uy.R_OK);let r=e+".bak";return ZR(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=Gi(e,"hooks","gemini-cli");for(let o of Object.values(Yd)){let s=mr(n,o);try{qy(s,Uy.R_OK),LR(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){try{let n=mr(An(),".gemini","extensions","context-mode","package.json"),o=JSON.parse(Bo(n,"utf-8"));o.version=r,o.installPath=e,o.lastUpdated=new Date().toISOString(),Ji(n,JSON.stringify(o,null,2)+`
`,"utf-8")}catch{}}getRoutingInstructionsConfig(){return{fileName:"GEMINI.md",globalPath:mr(An(),".gemini","GEMINI.md"),projectRelativePath:"GEMINI.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=mr(e,n.projectRelativePath),s=mr(r,"configs","gemini-cli",n.fileName);try{let i=Bo(s,"utf-8");try{let a=Bo(o,"utf-8");return a.includes("context-mode")?null:(Ji(o,a.trimEnd()+`
`+i,"utf-8"),o)}catch{return Ji(o,i,"utf-8"),o}}catch{return null}}getProjectDir(){return process.env.GEMINI_PROJECT_DIR??process.env.CLAUDE_PROJECT_DIR}extractSessionId(e){return e.session_id?e.session_id:`pid-${process.ppid}`}}});var Yr,sM,iM,Vy=bt(()=>{"use strict";Yr={BEFORE:"tool.execute.before",AFTER:"tool.execute.after",COMPACTING:"experimental.session.compacting"},sM=[Yr.BEFORE,Yr.AFTER],iM=[Yr.COMPACTING]});var Ky={};jt(Ky,{OpenCodeAdapter:()=>rp});import{createHash as By}from"node:crypto";import{readFileSync as Wi,writeFileSync as Qd,mkdirSync as qR,copyFileSync as UR,accessSync as FR,constants as HR}from"node:fs";import{resolve as Ct,join as ep}from"node:path";import{homedir as tp}from"node:os";var rp,Jy=bt(()=>{"use strict";Vy();rp=class{name="OpenCode";paradigm="ts-plugin";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!1};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.OPENCODE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")throw new Error(e.reason??"Blocked by context-mode hook");if(e.decision==="modify"&&e.updatedInput)return{args:e.updatedInput};if(e.decision==="ask")throw new Error(e.reason??"Action requires user confirmation (security policy)")}formatPostToolUseResponse(e){let r={};return e.updatedOutput&&(r.output=e.updatedOutput),e.additionalContext&&(r.additionalContext=e.additionalContext),Object.keys(r).length>0?r:void 0}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return Ct("opencode.json")}getSessionDir(){let e=ep(tp(),".config","opencode","context-mode","sessions");return qR(e,{recursive:!0}),e}getSessionDBPath(e){let r=By("sha256").update(e).digest("hex").slice(0,16);return ep(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=By("sha256").update(e).digest("hex").slice(0,16);return ep(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[Yr.BEFORE]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[Yr.AFTER]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}],[Yr.COMPACTING]:[{matcher:"",hooks:[{type:"plugin",command:"context-mode"}]}]}}readSettings(){let e=[Ct("opencode.json"),Ct(".opencode","opencode.json")];for(let r of e)try{let n=Wi(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=Ct("opencode.json");Qd(r,JSON.stringify(e,null,2)+`
`,"utf-8")}validateHooks(e){let r=[],n=this.readSettings();if(!n)return r.push({check:"Plugin configuration",status:"fail",message:"Could not read opencode.json",fix:"context-mode upgrade"}),r;let o=n.plugin;if(o&&Array.isArray(o)){let s=o.some(i=>i.includes("context-mode"));r.push({check:"Plugin registration",status:s?"pass":"fail",message:s?"context-mode found in plugin array":"context-mode not found in plugin array",fix:s?void 0:"context-mode upgrade"})}else r.push({check:"Plugin registration",status:"fail",message:"No plugin array found in opencode.json",fix:"context-mode upgrade"});return r.push({check:"SessionStart hook",status:"warn",message:"SessionStart not supported in OpenCode (see issues #14808, #5409)"}),r}checkPluginRegistration(){let e=this.readSettings();if(!e)return{check:"Plugin registration",status:"warn",message:"Could not read opencode.json"};let r=e.plugin;return r&&Array.isArray(r)&&r.some(o=>o.includes("context-mode"))?{check:"Plugin registration",status:"pass",message:"context-mode found in plugin array"}:{check:"Plugin registration",status:"fail",message:"context-mode not found in opencode.json plugin array",fix:"context-mode upgrade"}}getInstalledVersion(){try{let e=Ct(tp(),".cache","opencode","node_modules","context-mode","package.json"),r=JSON.parse(Wi(e,"utf-8"));if(typeof r.version=="string")return r.version}catch{}return"not installed"}configureAllHooks(e){let r=this.readSettings()??{},n=[],o=r.plugin??[];return o.some(s=>s.includes("context-mode"))?n.push("context-mode already in plugin array"):(o.push("context-mode"),n.push("Added context-mode to plugin array")),r.plugin=o,this.writeSettings(r),n}backupSettings(){let e=[Ct("opencode.json"),Ct(".opencode","opencode.json")];for(let r of e)try{FR(r,HR.R_OK);let n=r+".bak";return UR(r,n),n}catch{continue}return null}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:Ct(tp(),".config","opencode","AGENTS.md"),projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=Ct(e,n.projectRelativePath),s=Ct(r,"configs","opencode",n.fileName);try{let i=Wi(s,"utf-8");try{let a=Wi(o,"utf-8");return a.includes("context-mode")?null:(Qd(o,a.trimEnd()+`
`+i,"utf-8"),o)}catch{return Qd(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){return e.sessionID?e.sessionID:`pid-${process.ppid}`}}});var Yy={};jt(Yy,{CodexAdapter:()=>sp});import{createHash as Gy}from"node:crypto";import{readFileSync as Ko,writeFileSync as Wy,mkdirSync as VR,copyFileSync as BR,accessSync as KR,constants as JR}from"node:fs";import{resolve as Jo,join as np,dirname as GR}from"node:path";import{fileURLToPath as WR}from"node:url";import{homedir as op}from"node:os";var sp,Xy=bt(()=>{"use strict";sp=class{name="Codex CLI";paradigm="mcp-only";capabilities={preToolUse:!1,postToolUse:!1,preCompact:!1,sessionStart:!1,canModifyArgs:!1,canModifyOutput:!1,canInjectSessionContext:!1};parsePreToolUseInput(e){throw new Error("Codex CLI does not support hooks")}parsePostToolUseInput(e){throw new Error("Codex CLI does not support hooks")}parsePreCompactInput(e){throw new Error("Codex CLI does not support hooks")}parseSessionStartInput(e){throw new Error("Codex CLI does not support hooks")}formatPreToolUseResponse(e){}formatPostToolUseResponse(e){}formatPreCompactResponse(e){}formatSessionStartResponse(e){}getSettingsPath(){return Jo(op(),".codex","config.toml")}getSessionDir(){let e=np(op(),".codex","context-mode","sessions");return VR(e,{recursive:!0}),e}getSessionDBPath(e){let r=Gy("sha256").update(e).digest("hex").slice(0,16);return np(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=Gy("sha256").update(e).digest("hex").slice(0,16);return np(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{}}readSettings(){try{return{_raw_toml:Ko(this.getSettingsPath(),"utf-8")}}catch{return null}}writeSettings(e){}validateHooks(e){return[{check:"Hook support",status:"warn",message:"Codex CLI does not support hooks (PRs #2904, #9796 closed without merge). Only MCP integration is available."}]}checkPluginRegistration(){try{let e=Ko(this.getSettingsPath(),"utf-8"),r=e.includes("context-mode"),n=e.includes("[mcp_servers]")||e.includes("[mcp_servers.");return r&&n?{check:"MCP registration",status:"pass",message:"context-mode found in [mcp_servers] config"}:n?{check:"MCP registration",status:"fail",message:"[mcp_servers] section exists but context-mode not found",fix:"Add context-mode to [mcp_servers] in ~/.codex/config.toml"}:{check:"MCP registration",status:"fail",message:"No [mcp_servers] section in config.toml",fix:"Add [mcp_servers.context-mode] to ~/.codex/config.toml"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read ~/.codex/config.toml"}}}getInstalledVersion(){return"not installed"}configureAllHooks(e){return[]}backupSettings(){let e=this.getSettingsPath();try{KR(e,JR.R_OK);let r=e+".bak";return BR(e,r),r}catch{return null}}setHookPermissions(e){return[]}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"AGENTS.md",globalPath:Jo(op(),".codex","AGENTS.md"),projectRelativePath:"AGENTS.md"}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=Jo(e,n.projectRelativePath),s=Jo(r,"configs","codex",n.fileName);try{let i=Ko(s,"utf-8");try{let a=Ko(o,"utf-8");return a.includes("context-mode")?null:(Wy(o,a.trimEnd()+`
`+i,"utf-8"),o)}catch{return Wy(o,i,"utf-8"),o}}catch{return null}}getRoutingInstructions(){let e=Jo(GR(WR(import.meta.url)),"..","..","..","configs","codex","AGENTS.md");try{return Ko(e,"utf-8")}catch{return`# context-mode
Use context-mode MCP tools (execute, execute_file, batch_execute, fetch_and_index, search) instead of bash/cat/curl for data-heavy operations.`}}}});function jn(t,e){let r=Yi[t];if(!r)throw new Error(`No script defined for hook type: ${t}`);return e?`node "${e}/hooks/${r}"`:`context-mode hook vscode-copilot ${t.toLowerCase()}`}var se,Yi,yM,xM,Qy=bt(()=>{"use strict";se={PRE_TOOL_USE:"PreToolUse",POST_TOOL_USE:"PostToolUse",PRE_COMPACT:"PreCompact",SESSION_START:"SessionStart",STOP:"Stop",SUBAGENT_START:"SubagentStart",SUBAGENT_STOP:"SubagentStop"},Yi={[se.PRE_TOOL_USE]:"pretooluse.mjs",[se.POST_TOOL_USE]:"posttooluse.mjs",[se.PRE_COMPACT]:"precompact.mjs",[se.SESSION_START]:"sessionstart.mjs"},yM=[se.PRE_TOOL_USE,se.SESSION_START],xM=[se.POST_TOOL_USE,se.PRE_COMPACT]});var tx={};jt(tx,{VSCodeCopilotAdapter:()=>up});import{createHash as ex}from"node:crypto";import{readFileSync as Mn,writeFileSync as Xi,mkdirSync as Qi,copyFileSync as YR,accessSync as ip,existsSync as XR,chmodSync as QR,constants as ap}from"node:fs";import{resolve as We,join as hr}from"node:path";import{homedir as cp}from"node:os";var up,rx=bt(()=>{"use strict";Qy();up=class{name="VS Code Copilot";paradigm="json-stdio";capabilities={preToolUse:!0,postToolUse:!0,preCompact:!0,sessionStart:!0,canModifyArgs:!0,canModifyOutput:!0,canInjectSessionContext:!0};parsePreToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePostToolUseInput(e){let r=e;return{toolName:r.tool_name??"",toolInput:r.tool_input??{},toolOutput:r.tool_output,isError:r.is_error,sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parsePreCompactInput(e){let r=e;return{sessionId:this.extractSessionId(r),projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}parseSessionStartInput(e){let r=e,n=r.source??"startup",o;switch(n){case"compact":o="compact";break;case"resume":o="resume";break;case"clear":o="clear";break;default:o="startup"}return{sessionId:this.extractSessionId(r),source:o,projectDir:process.env.CLAUDE_PROJECT_DIR||process.cwd(),raw:e}}formatPreToolUseResponse(e){if(e.decision==="deny")return{permissionDecision:"deny",reason:e.reason??"Blocked by context-mode hook"};if(e.decision==="modify"&&e.updatedInput)return{hookSpecificOutput:{hookEventName:se.PRE_TOOL_USE,updatedInput:e.updatedInput}};if(e.decision==="context"&&e.additionalContext)return{hookSpecificOutput:{hookEventName:se.PRE_TOOL_USE,additionalContext:e.additionalContext}};if(e.decision==="ask")return{permissionDecision:"deny",reason:e.reason??"Action requires user confirmation (security policy)"}}formatPostToolUseResponse(e){if(e.updatedOutput)return{hookSpecificOutput:{hookEventName:se.POST_TOOL_USE,decision:"block",reason:e.updatedOutput}};if(e.additionalContext)return{hookSpecificOutput:{hookEventName:se.POST_TOOL_USE,additionalContext:e.additionalContext}}}formatPreCompactResponse(e){return e.context??""}formatSessionStartResponse(e){return e.context??""}getSettingsPath(){return We(".github","hooks","context-mode.json")}getSessionDir(){let e=We(".github","context-mode","sessions"),r=hr(cp(),".vscode","context-mode","sessions"),n=XR(We(".github"))?e:r;return Qi(n,{recursive:!0}),n}getSessionDBPath(e){let r=ex("sha256").update(e).digest("hex").slice(0,16);return hr(this.getSessionDir(),`${r}.db`)}getSessionEventsPath(e){let r=ex("sha256").update(e).digest("hex").slice(0,16);return hr(this.getSessionDir(),`${r}-events.md`)}generateHookConfig(e){return{[se.PRE_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:jn(se.PRE_TOOL_USE,e)}]}],[se.POST_TOOL_USE]:[{matcher:"",hooks:[{type:"command",command:jn(se.POST_TOOL_USE,e)}]}],[se.PRE_COMPACT]:[{matcher:"",hooks:[{type:"command",command:jn(se.PRE_COMPACT,e)}]}],[se.SESSION_START]:[{matcher:"",hooks:[{type:"command",command:jn(se.SESSION_START,e)}]}]}}readSettings(){let e=[this.getSettingsPath(),We(".claude","settings.json")];for(let r of e)try{let n=Mn(r,"utf-8");return JSON.parse(n)}catch{continue}return null}writeSettings(e){let r=this.getSettingsPath(),n=We(".github","hooks");Qi(n,{recursive:!0}),Xi(r,JSON.stringify(e,null,2)+`
`,"utf-8")}validateHooks(e){let r=[],n=We(".github","hooks");try{ip(n,ap.R_OK)}catch{return r.push({check:"Hooks directory",status:"fail",message:".github/hooks/ directory not found",fix:"context-mode upgrade"}),r}let o=We(n,"context-mode.json");try{let s=Mn(o,"utf-8"),a=JSON.parse(s).hooks;a?.[se.PRE_TOOL_USE]?r.push({check:"PreToolUse hook",status:"pass",message:"PreToolUse hook configured in context-mode.json"}):r.push({check:"PreToolUse hook",status:"fail",message:"PreToolUse not found in context-mode.json",fix:"context-mode upgrade"}),a?.[se.SESSION_START]?r.push({check:"SessionStart hook",status:"pass",message:"SessionStart hook configured in context-mode.json"}):r.push({check:"SessionStart hook",status:"fail",message:"SessionStart not found in context-mode.json",fix:"context-mode upgrade"})}catch{r.push({check:"Hook configuration",status:"fail",message:"Could not read .github/hooks/context-mode.json",fix:"context-mode upgrade"})}return r.push({check:"API stability",status:"warn",message:"VS Code Copilot hooks are in preview \u2014 API may change without notice"}),r.push({check:"Matcher support",status:"warn",message:"Matchers are parsed but IGNORED \u2014 all hooks fire on all tools"}),r}checkPluginRegistration(){try{let e=We(".vscode","mcp.json"),r=Mn(e,"utf-8"),o=JSON.parse(r).servers;return o&&Object.keys(o).some(i=>i.includes("context-mode"))?{check:"MCP registration",status:"pass",message:"context-mode found in .vscode/mcp.json"}:{check:"MCP registration",status:"fail",message:"context-mode not found in .vscode/mcp.json",fix:"Add context-mode server to .vscode/mcp.json"}}catch{return{check:"MCP registration",status:"warn",message:"Could not read .vscode/mcp.json"}}}getInstalledVersion(){let e=[hr(cp(),".vscode","extensions"),hr(cp(),".vscode-insiders","extensions")];for(let r of e)try{let n=Mn(hr(r,"extensions.json"),"utf-8"),s=JSON.parse(n).find(i=>typeof i.identifier=="object"&&i.identifier!==null&&i.identifier.id?.toString().includes("context-mode"));if(s&&typeof s.version=="string")return s.version}catch{continue}return"not installed"}configureAllHooks(e){let r=[],n={hooks:{}},o=n.hooks,s=[se.PRE_TOOL_USE,se.POST_TOOL_USE,se.PRE_COMPACT,se.SESSION_START];for(let c of s)Yi[c]&&(o[c]=[{matcher:"",hooks:[{type:"command",command:jn(c,e)}]}],r.push(`Configured ${c} hook`));let i=We(".github","hooks");Qi(i,{recursive:!0});let a=We(i,"context-mode.json");return Xi(a,JSON.stringify(n,null,2)+`
`,"utf-8"),r.push(`Wrote hook config to ${a}`),r}backupSettings(){let e=this.getSettingsPath();try{ip(e,ap.R_OK);let r=e+".bak";return YR(e,r),r}catch{return null}}setHookPermissions(e){let r=[],n=hr(e,"hooks","vscode-copilot");for(let o of Object.values(Yi)){let s=We(n,o);try{ip(s,ap.R_OK),QR(s,493),r.push(s)}catch{}}return r}updatePluginRegistry(e,r){}getRoutingInstructionsConfig(){return{fileName:"copilot-instructions.md",globalPath:"",projectRelativePath:hr(".github","copilot-instructions.md")}}writeRoutingInstructions(e,r){let n=this.getRoutingInstructionsConfig(),o=We(e,n.projectRelativePath),s=We(r,"configs","vscode-copilot",n.fileName);try{let i=Mn(s,"utf-8");Qi(We(e,".github"),{recursive:!0});try{let a=Mn(o,"utf-8");return a.includes("context-mode")?null:(Xi(o,a.trimEnd()+`
`+i,"utf-8"),o)}catch{return Xi(o,i,"utf-8"),o}}catch{return null}}extractSessionId(e){return e.sessionId?e.sessionId:process.env.VSCODE_PID?`vscode-${process.env.VSCODE_PID}`:`pid-${process.ppid}`}}});var ox={};jt(ox,{detectPlatform:()=>nx,getAdapter:()=>tz});import{existsSync as ea}from"node:fs";import{resolve as ta}from"node:path";import{homedir as ez}from"node:os";function nx(){if(process.env.CLAUDE_PROJECT_DIR||process.env.CLAUDE_SESSION_ID)return{platform:"claude-code",confidence:"high",reason:"CLAUDE_PROJECT_DIR or CLAUDE_SESSION_ID env var set"};if(process.env.GEMINI_PROJECT_DIR||process.env.GEMINI_CLI)return{platform:"gemini-cli",confidence:"high",reason:"GEMINI_PROJECT_DIR or GEMINI_CLI env var set"};if(process.env.OPENCODE||process.env.OPENCODE_PID)return{platform:"opencode",confidence:"high",reason:"OPENCODE or OPENCODE_PID env var set"};if(process.env.CODEX_CI||process.env.CODEX_THREAD_ID)return{platform:"codex",confidence:"high",reason:"CODEX_CI or CODEX_THREAD_ID env var set"};if(process.env.VSCODE_PID||process.env.VSCODE_CWD)return{platform:"vscode-copilot",confidence:"high",reason:"VSCODE_PID or VSCODE_CWD env var set"};let t=ez();return ea(ta(t,".claude"))?{platform:"claude-code",confidence:"medium",reason:"~/.claude/ directory exists"}:ea(ta(t,".gemini"))?{platform:"gemini-cli",confidence:"medium",reason:"~/.gemini/ directory exists"}:ea(ta(t,".codex"))?{platform:"codex",confidence:"medium",reason:"~/.codex/ directory exists"}:ea(ta(t,".config","opencode"))?{platform:"opencode",confidence:"medium",reason:"~/.config/opencode/ directory exists"}:{platform:"claude-code",confidence:"low",reason:"No platform detected, defaulting to Claude Code"}}async function tz(t){switch(t??nx().platform){case"claude-code":{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Wd(),Gd));return new r}case"gemini-cli":{let{GeminiCLIAdapter:r}=await Promise.resolve().then(()=>(Hy(),Fy));return new r}case"opencode":{let{OpenCodeAdapter:r}=await Promise.resolve().then(()=>(Jy(),Ky));return new r}case"codex":{let{CodexAdapter:r}=await Promise.resolve().then(()=>(Xy(),Yy));return new r}case"vscode-copilot":{let{VSCodeCopilotAdapter:r}=await Promise.resolve().then(()=>(rx(),tx));return new r}default:{let{ClaudeCodeAdapter:r}=await Promise.resolve().then(()=>(Wd(),Gd));return new r}}}var sx=bt(()=>{"use strict"});var H={};jt(H,{BRAND:()=>Hx,DIRTY:()=>_r,EMPTY_PATH:()=>kx,INVALID:()=>A,NEVER:()=>Ev,OK:()=>Ie,ParseStatus:()=>we,Schema:()=>q,ZodAny:()=>Wt,ZodArray:()=>Lt,ZodBigInt:()=>xr,ZodBoolean:()=>vr,ZodBranded:()=>Ln,ZodCatch:()=>Or,ZodDate:()=>br,ZodDefault:()=>zr,ZodDiscriminatedUnion:()=>ts,ZodEffects:()=>rt,ZodEnum:()=>Pr,ZodError:()=>Ue,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>ns,ZodIntersection:()=>$r,ZodIssueCode:()=>k,ZodLazy:()=>Tr,ZodLiteral:()=>Er,ZodMap:()=>on,ZodNaN:()=>an,ZodNativeEnum:()=>Rr,ZodNever:()=>lt,ZodNull:()=>Sr,ZodNullable:()=>wt,ZodNumber:()=>yr,ZodObject:()=>He,ZodOptional:()=>Fe,ZodParsedType:()=>E,ZodPipeline:()=>qn,ZodPromise:()=>Yt,ZodReadonly:()=>Ir,ZodRecord:()=>rs,ZodSchema:()=>q,ZodSet:()=>sn,ZodString:()=>Gt,ZodSymbol:()=>rn,ZodTransformer:()=>rt,ZodTuple:()=>St,ZodType:()=>q,ZodUndefined:()=>kr,ZodUnion:()=>wr,ZodUnknown:()=>Zt,ZodVoid:()=>nn,addIssueToContext:()=>$,any:()=>Qx,array:()=>nv,bigint:()=>Jx,boolean:()=>Pp,coerce:()=>Tv,custom:()=>$p,date:()=>Gx,datetimeRegex:()=>Sp,defaultErrorMap:()=>Mt,discriminatedUnion:()=>iv,effect:()=>yv,enum:()=>hv,function:()=>pv,getErrorMap:()=>Qr,getParsedType:()=>kt,instanceof:()=>Bx,intersection:()=>av,isAborted:()=>Qo,isAsync:()=>en,isDirty:()=>es,isValid:()=>Jt,late:()=>Vx,lazy:()=>fv,literal:()=>mv,makeIssue:()=>Zn,map:()=>lv,nan:()=>Kx,nativeEnum:()=>gv,never:()=>tv,null:()=>Xx,nullable:()=>vv,number:()=>Ep,object:()=>la,objectUtil:()=>aa,oboolean:()=>$v,onumber:()=>wv,optional:()=>xv,ostring:()=>Sv,pipeline:()=>kv,preprocess:()=>bv,promise:()=>_v,quotelessJson:()=>xx,record:()=>uv,set:()=>dv,setErrorMap:()=>bx,strictObject:()=>ov,string:()=>Tp,symbol:()=>Wx,transformer:()=>yv,tuple:()=>cv,undefined:()=>Yx,union:()=>sv,unknown:()=>ev,util:()=>B,void:()=>rv});var B;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(B||(B={}));var aa;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(aa||(aa={}));var E=B.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),kt=t=>{switch(typeof t){case"undefined":return E.undefined;case"string":return E.string;case"number":return Number.isNaN(t)?E.nan:E.number;case"boolean":return E.boolean;case"function":return E.function;case"bigint":return E.bigint;case"symbol":return E.symbol;case"object":return Array.isArray(t)?E.array:t===null?E.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?E.promise:typeof Map<"u"&&t instanceof Map?E.map:typeof Set<"u"&&t instanceof Set?E.set:typeof Date<"u"&&t instanceof Date?E.date:E.object;default:return E.unknown}};var k=B.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),xx=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ue=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,B.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ue.create=t=>new Ue(t);var vx=(t,e)=>{let r;switch(t.code){case k.invalid_type:t.received===E.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case k.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,B.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:r=`Unrecognized key(s) in object: ${B.joinValues(t.keys,", ")}`;break;case k.invalid_union:r="Invalid input";break;case k.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${B.joinValues(t.options)}`;break;case k.invalid_enum_value:r=`Invalid enum value. Expected ${B.joinValues(t.options)}, received '${t.received}'`;break;case k.invalid_arguments:r="Invalid function arguments";break;case k.invalid_return_type:r="Invalid function return type";break;case k.invalid_date:r="Invalid date";break;case k.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:B.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case k.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case k.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case k.custom:r="Invalid input";break;case k.invalid_intersection_types:r="Intersection results could not be merged";break;case k.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case k.not_finite:r="Number must be finite";break;default:r=e.defaultError,B.assertNever(t)}return{message:r}},Mt=vx;var yp=Mt;function bx(t){yp=t}function Qr(){return yp}var Zn=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},kx=[];function $(t,e){let r=Qr(),n=Zn({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Mt?void 0:Mt].filter(o=>!!o)});t.common.issues.push(n)}var we=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return A;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return A;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},A=Object.freeze({status:"aborted"}),_r=t=>({status:"dirty",value:t}),Ie=t=>({status:"valid",value:t}),Qo=t=>t.status==="aborted",es=t=>t.status==="dirty",Jt=t=>t.status==="valid",en=t=>typeof Promise<"u"&&t instanceof Promise;var z;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(z||(z={}));var tt=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},xp=(t,e)=>{if(Jt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ue(t.common.issues);return this._error=r,this._error}}};function Z(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var q=class{get description(){return this._def.description}_getType(e){return kt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:kt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new we,ctx:{common:e.parent.common,data:e.data,parsedType:kt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(en(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:kt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return xp(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:kt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Jt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Jt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:kt(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(en(o)?o:Promise.resolve(o));return xp(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:k.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new rt({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Fe.create(this,this._def)}nullable(){return wt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Lt.create(this)}promise(){return Yt.create(this,this._def)}or(e){return wr.create([this,e],this._def)}and(e){return $r.create(this,e,this._def)}transform(e){return new rt({...Z(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new zr({...Z(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new Ln({typeName:S.ZodBranded,type:this,...Z(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Or({...Z(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return qn.create(this,e)}readonly(){return Ir.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Sx=/^c[^\s-]{8,}$/i,wx=/^[0-9a-z]+$/,$x=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Tx=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ex=/^[a-z0-9_-]{21}$/i,Px=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Rx=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,zx=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ox="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ca,Ix=/^(?:(?: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])$/,Cx=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Nx=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ax=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,jx=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Mx=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,bp="((\\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])))",Dx=new RegExp(`^${bp}$`);function kp(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Zx(t){return new RegExp(`^${kp(t)}$`)}function Sp(t){let e=`${bp}T${kp(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Lx(t,e){return!!((e==="v4"||!e)&&Ix.test(t)||(e==="v6"||!e)&&Nx.test(t))}function qx(t,e){if(!Px.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function Ux(t,e){return!!((e==="v4"||!e)&&Cx.test(t)||(e==="v6"||!e)&&Ax.test(t))}var Gt=class t extends q{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==E.string){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_type,expected:E.string,received:s.parsedType}),A}let n=new we,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?$(o,{code:k.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(o,{code:k.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")zx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"email",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")ca||(ca=new RegExp(Ox,"u")),ca.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"emoji",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Tx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"uuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Ex.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"nanoid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Sx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"cuid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")wx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"cuid2",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")$x.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"ulid",code:k.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),$(o,{validation:"url",code:k.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"regex",code:k.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Sp(s).test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Dx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Zx(s).test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{code:k.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Rx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"duration",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Lx(e.data,s.version)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"ip",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?qx(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"jwt",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Ux(e.data,s.version)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"cidr",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?jx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"base64",code:k.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?Mx.test(e.data)||(o=this._getOrReturnCtx(e,o),$(o,{validation:"base64url",code:k.invalid_string,message:s.message}),n.dirty()):B.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:k.invalid_string,...z.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...z.errToObj(e)})}url(e){return this._addCheck({kind:"url",...z.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...z.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...z.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...z.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...z.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...z.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...z.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...z.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...z.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...z.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...z.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...z.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...z.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...z.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...z.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...z.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...z.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...z.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...z.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...z.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...z.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...z.errToObj(r)})}nonempty(e){return this.min(1,z.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Gt.create=t=>new Gt({checks:[],typeName:S.ZodString,coerce:t?.coerce??!1,...Z(t)});function Fx(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var yr=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==E.number){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_type,expected:E.number,received:s.parsedType}),A}let n,o=new we;for(let s of this._def.checks)s.kind==="int"?B.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),$(n,{code:k.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Fx(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),$(n,{code:k.not_finite,message:s.message}),o.dirty()):B.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,z.toString(r))}gt(e,r){return this.setLimit("min",e,!1,z.toString(r))}lte(e,r){return this.setLimit("max",e,!0,z.toString(r))}lt(e,r){return this.setLimit("max",e,!1,z.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:z.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:z.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:z.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:z.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:z.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:z.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:z.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&B.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};yr.create=t=>new yr({checks:[],typeName:S.ZodNumber,coerce:t?.coerce||!1,...Z(t)});var xr=class t extends q{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==E.bigint)return this._getInvalidInput(e);let n,o=new we;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),$(n,{code:k.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):B.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return $(r,{code:k.invalid_type,expected:E.bigint,received:r.parsedType}),A}gte(e,r){return this.setLimit("min",e,!0,z.toString(r))}gt(e,r){return this.setLimit("min",e,!1,z.toString(r))}lte(e,r){return this.setLimit("max",e,!0,z.toString(r))}lt(e,r){return this.setLimit("max",e,!1,z.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:z.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:z.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:z.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:z.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:z.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:z.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};xr.create=t=>new xr({checks:[],typeName:S.ZodBigInt,coerce:t?.coerce??!1,...Z(t)});var vr=class extends q{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==E.boolean){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.boolean,received:n.parsedType}),A}return Ie(e.data)}};vr.create=t=>new vr({typeName:S.ZodBoolean,coerce:t?.coerce||!1,...Z(t)});var br=class t extends q{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==E.date){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_type,expected:E.date,received:s.parsedType}),A}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return $(s,{code:k.invalid_date}),A}let n=new we,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),$(o,{code:k.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):B.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:z.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:z.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};br.create=t=>new br({checks:[],coerce:t?.coerce||!1,typeName:S.ZodDate,...Z(t)});var rn=class extends q{_parse(e){if(this._getType(e)!==E.symbol){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.symbol,received:n.parsedType}),A}return Ie(e.data)}};rn.create=t=>new rn({typeName:S.ZodSymbol,...Z(t)});var kr=class extends q{_parse(e){if(this._getType(e)!==E.undefined){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.undefined,received:n.parsedType}),A}return Ie(e.data)}};kr.create=t=>new kr({typeName:S.ZodUndefined,...Z(t)});var Sr=class extends q{_parse(e){if(this._getType(e)!==E.null){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.null,received:n.parsedType}),A}return Ie(e.data)}};Sr.create=t=>new Sr({typeName:S.ZodNull,...Z(t)});var Wt=class extends q{constructor(){super(...arguments),this._any=!0}_parse(e){return Ie(e.data)}};Wt.create=t=>new Wt({typeName:S.ZodAny,...Z(t)});var Zt=class extends q{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ie(e.data)}};Zt.create=t=>new Zt({typeName:S.ZodUnknown,...Z(t)});var lt=class extends q{_parse(e){let r=this._getOrReturnCtx(e);return $(r,{code:k.invalid_type,expected:E.never,received:r.parsedType}),A}};lt.create=t=>new lt({typeName:S.ZodNever,...Z(t)});var nn=class extends q{_parse(e){if(this._getType(e)!==E.undefined){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.void,received:n.parsedType}),A}return Ie(e.data)}};nn.create=t=>new nn({typeName:S.ZodVoid,...Z(t)});var Lt=class t extends q{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==E.array)return $(r,{code:k.invalid_type,expected:E.array,received:r.parsedType}),A;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&($(r,{code:i?k.too_big:k.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&($(r,{code:k.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&($(r,{code:k.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new tt(r,i,r.path,a)))).then(i=>we.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new tt(r,i,r.path,a)));return we.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:z.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:z.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:z.toString(r)}})}nonempty(e){return this.min(1,e)}};Lt.create=(t,e)=>new Lt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...Z(e)});function tn(t){if(t instanceof He){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Fe.create(tn(n))}return new He({...t._def,shape:()=>e})}else return t instanceof Lt?new Lt({...t._def,type:tn(t.element)}):t instanceof Fe?Fe.create(tn(t.unwrap())):t instanceof wt?wt.create(tn(t.unwrap())):t instanceof St?St.create(t.items.map(e=>tn(e))):t}var He=class t extends q{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=B.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==E.object){let u=this._getOrReturnCtx(e);return $(u,{code:k.invalid_type,expected:E.object,received:u.parsedType}),A}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof lt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new tt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof lt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&($(o,{code:k.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new tt(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>we.mergeObjectSync(n,u)):we.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return z.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:z.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:S.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of B.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of B.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return tn(this)}partial(e){let r={};for(let n of B.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of B.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Fe;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return wp(B.objectKeys(this.shape))}};He.create=(t,e)=>new He({shape:()=>t,unknownKeys:"strip",catchall:lt.create(),typeName:S.ZodObject,...Z(e)});He.strictCreate=(t,e)=>new He({shape:()=>t,unknownKeys:"strict",catchall:lt.create(),typeName:S.ZodObject,...Z(e)});He.lazycreate=(t,e)=>new He({shape:t,unknownKeys:"strip",catchall:lt.create(),typeName:S.ZodObject,...Z(e)});var wr=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ue(a.ctx.common.issues));return $(r,{code:k.invalid_union,unionErrors:i}),A}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ue(c));return $(r,{code:k.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};wr.create=(t,e)=>new wr({options:t,typeName:S.ZodUnion,...Z(e)});var Dt=t=>t instanceof Tr?Dt(t.schema):t instanceof rt?Dt(t.innerType()):t instanceof Er?[t.value]:t instanceof Pr?t.options:t instanceof Rr?B.objectValues(t.enum):t instanceof zr?Dt(t._def.innerType):t instanceof kr?[void 0]:t instanceof Sr?[null]:t instanceof Fe?[void 0,...Dt(t.unwrap())]:t instanceof wt?[null,...Dt(t.unwrap())]:t instanceof Ln||t instanceof Ir?Dt(t.unwrap()):t instanceof Or?Dt(t._def.innerType):[],ts=class t extends q{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==E.object)return $(r,{code:k.invalid_type,expected:E.object,received:r.parsedType}),A;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):($(r,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Dt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:S.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...Z(n)})}};function ua(t,e){let r=kt(t),n=kt(e);if(t===e)return{valid:!0,data:t};if(r===E.object&&n===E.object){let o=B.objectKeys(e),s=B.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=ua(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===E.array&&n===E.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=ua(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===E.date&&n===E.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var $r=class extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(Qo(s)||Qo(i))return A;let a=ua(s.value,i.value);return a.valid?((es(s)||es(i))&&r.dirty(),{status:r.value,value:a.data}):($(n,{code:k.invalid_intersection_types}),A)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};$r.create=(t,e,r)=>new $r({left:t,right:e,typeName:S.ZodIntersection,...Z(r)});var St=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.array)return $(n,{code:k.invalid_type,expected:E.array,received:n.parsedType}),A;if(n.data.length<this._def.items.length)return $(n,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&n.data.length>this._def.items.length&&($(n,{code:k.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new tt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>we.mergeArray(r,i)):we.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};St.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new St({items:t,typeName:S.ZodTuple,rest:null,...Z(e)})};var rs=class t extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.object)return $(n,{code:k.invalid_type,expected:E.object,received:n.parsedType}),A;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new tt(n,a,n.path,a)),value:i._parse(new tt(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?we.mergeObjectAsync(r,o):we.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof q?new t({keyType:e,valueType:r,typeName:S.ZodRecord,...Z(n)}):new t({keyType:Gt.create(),valueType:e,typeName:S.ZodRecord,...Z(r)})}},on=class extends q{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.map)return $(n,{code:k.invalid_type,expected:E.map,received:n.parsedType}),A;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new tt(n,a,n.path,[u,"key"])),value:s._parse(new tt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return A;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};on.create=(t,e,r)=>new on({valueType:e,keyType:t,typeName:S.ZodMap,...Z(r)});var sn=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==E.set)return $(n,{code:k.invalid_type,expected:E.set,received:n.parsedType}),A;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&($(n,{code:k.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&($(n,{code:k.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return A;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new tt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:z.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:z.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};sn.create=(t,e)=>new sn({valueType:t,minSize:null,maxSize:null,typeName:S.ZodSet,...Z(e)});var ns=class t extends q{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==E.function)return $(r,{code:k.invalid_type,expected:E.function,received:r.parsedType}),A;function n(a,c){return Zn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Qr(),Mt].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:c}})}function o(a,c){return Zn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Qr(),Mt].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Yt){let a=this;return Ie(async function(...c){let u=new Ue([]),l=await a._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(n(c,m)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(o(d,m)),u})})}else{let a=this;return Ie(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Ue([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Ue([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:St.create(e).rest(Zt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||St.create([]).rest(Zt.create()),returns:r||Zt.create(),typeName:S.ZodFunction,...Z(n)})}},Tr=class extends q{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Tr.create=(t,e)=>new Tr({getter:t,typeName:S.ZodLazy,...Z(e)});var Er=class extends q{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return $(r,{received:r.data,code:k.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};Er.create=(t,e)=>new Er({value:t,typeName:S.ZodLiteral,...Z(e)});function wp(t,e){return new Pr({values:t,typeName:S.ZodEnum,...Z(e)})}var Pr=class t extends q{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return $(r,{expected:B.joinValues(n),received:r.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return $(r,{received:r.data,code:k.invalid_enum_value,options:n}),A}return Ie(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Pr.create=wp;var Rr=class extends q{_parse(e){let r=B.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==E.string&&n.parsedType!==E.number){let o=B.objectValues(r);return $(n,{expected:B.joinValues(o),received:n.parsedType,code:k.invalid_type}),A}if(this._cache||(this._cache=new Set(B.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=B.objectValues(r);return $(n,{received:n.data,code:k.invalid_enum_value,options:o}),A}return Ie(e.data)}get enum(){return this._def.values}};Rr.create=(t,e)=>new Rr({values:t,typeName:S.ZodNativeEnum,...Z(e)});var Yt=class extends q{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==E.promise&&r.common.async===!1)return $(r,{code:k.invalid_type,expected:E.promise,received:r.parsedType}),A;let n=r.parsedType===E.promise?r.data:Promise.resolve(r.data);return Ie(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Yt.create=(t,e)=>new Yt({type:t,typeName:S.ZodPromise,...Z(e)});var rt=class extends q{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{$(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return A;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?A:c.status==="dirty"?_r(c.value):r.value==="dirty"?_r(c.value):c});{if(r.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?A:a.status==="dirty"?_r(a.value):r.value==="dirty"?_r(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?A:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Jt(i))return A;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Jt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):A);B.assertNever(o)}};rt.create=(t,e,r)=>new rt({schema:t,typeName:S.ZodEffects,effect:e,...Z(r)});rt.createWithPreprocess=(t,e,r)=>new rt({schema:e,effect:{type:"preprocess",transform:t},typeName:S.ZodEffects,...Z(r)});var Fe=class extends q{_parse(e){return this._getType(e)===E.undefined?Ie(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Fe.create=(t,e)=>new Fe({innerType:t,typeName:S.ZodOptional,...Z(e)});var wt=class extends q{_parse(e){return this._getType(e)===E.null?Ie(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};wt.create=(t,e)=>new wt({innerType:t,typeName:S.ZodNullable,...Z(e)});var zr=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===E.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};zr.create=(t,e)=>new zr({innerType:t,typeName:S.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Z(e)});var Or=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return en(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ue(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ue(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Or.create=(t,e)=>new Or({innerType:t,typeName:S.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Z(e)});var an=class extends q{_parse(e){if(this._getType(e)!==E.nan){let n=this._getOrReturnCtx(e);return $(n,{code:k.invalid_type,expected:E.nan,received:n.parsedType}),A}return{status:"valid",value:e.data}}};an.create=t=>new an({typeName:S.ZodNaN,...Z(t)});var Hx=Symbol("zod_brand"),Ln=class extends q{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},qn=class t extends q{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?A:s.status==="dirty"?(r.dirty(),_r(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?A:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:S.ZodPipeline})}},Ir=class extends q{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Jt(o)&&(o.value=Object.freeze(o.value)),o);return en(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Ir.create=(t,e)=>new Ir({innerType:t,typeName:S.ZodReadonly,...Z(e)});function vp(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function $p(t,e={},r){return t?Wt.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=vp(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=vp(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Wt.create()}var Vx={object:He.lazycreate},S;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(S||(S={}));var Bx=(t,e={message:`Input not instance of ${t.name}`})=>$p(r=>r instanceof t,e),Tp=Gt.create,Ep=yr.create,Kx=an.create,Jx=xr.create,Pp=vr.create,Gx=br.create,Wx=rn.create,Yx=kr.create,Xx=Sr.create,Qx=Wt.create,ev=Zt.create,tv=lt.create,rv=nn.create,nv=Lt.create,la=He.create,ov=He.strictCreate,sv=wr.create,iv=ts.create,av=$r.create,cv=St.create,uv=rs.create,lv=on.create,dv=sn.create,pv=ns.create,fv=Tr.create,mv=Er.create,hv=Pr.create,gv=Rr.create,_v=Yt.create,yv=rt.create,xv=Fe.create,vv=wt.create,bv=rt.createWithPreprocess,kv=qn.create,Sv=()=>Tp().optional(),wv=()=>Ep().optional(),$v=()=>Pp().optional(),Tv={string:(t=>Gt.create({...t,coerce:!0})),number:(t=>yr.create({...t,coerce:!0})),boolean:(t=>vr.create({...t,coerce:!0})),bigint:(t=>xr.create({...t,coerce:!0})),date:(t=>br.create({...t,coerce:!0}))};var Ev=A;var Pv=Object.freeze({status:"aborted"});function x(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}var qt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},os={};function Xe(t){return t&&Object.assign(os,t),os}var K={};jt(K,{BIGINT_FORMAT_RANGES:()=>zp,Class:()=>pa,NUMBER_FORMAT_RANGES:()=>xa,aborted:()=>Nr,allowsEval:()=>ga,assert:()=>Cv,assertEqual:()=>Rv,assertIs:()=>Ov,assertNever:()=>Iv,assertNotEqual:()=>zv,assignProp:()=>ha,cached:()=>Hn,captureStackTrace:()=>is,cleanEnum:()=>Bv,cleanRegex:()=>Bn,clone:()=>Qe,createTransparentProxy:()=>Zv,defineLazy:()=>ce,esc:()=>Cr,escapeRegex:()=>Xt,extend:()=>Uv,finalizeIssue:()=>dt,floatSafeRemainder:()=>ma,getElementAtPath:()=>Nv,getEnumValues:()=>Fn,getLengthableOrigin:()=>Kn,getParsedType:()=>Dv,getSizableOrigin:()=>Op,isObject:()=>cn,isPlainObject:()=>un,issue:()=>va,joinValues:()=>ss,jsonStringifyReplacer:()=>fa,merge:()=>Fv,normalizeParams:()=>j,nullish:()=>Vn,numKeys:()=>Mv,omit:()=>qv,optionalKeys:()=>ya,partial:()=>Hv,pick:()=>Lv,prefixIssues:()=>$t,primitiveTypes:()=>Rp,promiseAllObject:()=>Av,propertyKeyTypes:()=>_a,randomString:()=>jv,required:()=>Vv,stringifyPrimitive:()=>as,unwrapMessage:()=>Un});function Rv(t){return t}function zv(t){return t}function Ov(t){}function Iv(t){throw new Error}function Cv(t){}function Fn(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function ss(t,e="|"){return t.map(r=>as(r)).join(e)}function fa(t,e){return typeof e=="bigint"?e.toString():e}function Hn(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Vn(t){return t==null}function Bn(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function ma(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function ce(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function ha(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Nv(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Av(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function jv(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Cr(t){return JSON.stringify(t)}var is=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function cn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var ga=Hn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function un(t){if(cn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(cn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Mv(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Dv=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},_a=new Set(["string","number","symbol"]),Rp=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Xt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Qe(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function j(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Zv(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function as(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function ya(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var xa={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},zp={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Lv(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return Qe(t,{...t._zod.def,shape:r,checks:[]})}function qv(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return Qe(t,{...t._zod.def,shape:r,checks:[]})}function Uv(t,e){if(!un(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return ha(this,"shape",n),n},checks:[]};return Qe(t,r)}function Fv(t,e){return Qe(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return ha(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Hv(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return Qe(e,{...e._zod.def,shape:o,checks:[]})}function Vv(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return Qe(e,{...e._zod.def,shape:o,checks:[]})}function Nr(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function $t(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function Un(t){return typeof t=="string"?t:t?.message}function dt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=Un(t.inst?._zod.def?.error?.(t))??Un(e?.error?.(t))??Un(r.customError?.(t))??Un(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Op(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Kn(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function va(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Bv(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var pa=class{constructor(...e){}};var Ip=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,fa,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},cs=x("$ZodError",Ip),Jn=x("$ZodError",Ip,{Parent:Error});function ba(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function ka(t,e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var Sa=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new qt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>dt(c,s,Xe())));throw is(a,o?.callee),a}return i.value},wa=Sa(Jn),$a=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>dt(c,s,Xe())));throw is(a,o?.callee),a}return i.value},Ta=$a(Jn),Ea=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new qt;return s.issues.length?{success:!1,error:new(t??cs)(s.issues.map(i=>dt(i,o,Xe())))}:{success:!0,data:s.value}},Ar=Ea(Jn),Pa=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>dt(i,o,Xe())))}:{success:!0,data:s.value}},jr=Pa(Jn);var Cp=/^[cC][^\s-]{8,}$/,Np=/^[0-9a-z]+$/,Ap=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,jp=/^[0-9a-vA-V]{20}$/,Mp=/^[A-Za-z0-9]{27}$/,Dp=/^[a-zA-Z0-9_-]{21}$/,Zp=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Lp=/^([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})$/,Ra=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var qp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Jv="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Up(){return new RegExp(Jv,"u")}var Fp=/^(?:(?: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])$/,Hp=/^(([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})$/,Vp=/^((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])$/,Bp=/^(([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])$/,Kp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,za=/^[A-Za-z0-9_-]*$/,Jp=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Gp=/^\+(?:[0-9]){6,14}[0-9]$/,Wp="(?:(?:\\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])))",Yp=new RegExp(`^${Wp}$`);function Xp(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Qp(t){return new RegExp(`^${Xp(t)}$`)}function ef(t){let e=Xp({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${Wp}T(?:${n})$`)}var tf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var rf=/^\d+$/,nf=/^-?\d+(?:\.\d+)?/i,of=/true|false/i,sf=/null/i;var af=/^[^A-Z]*$/,cf=/^[^a-z]*$/;var $e=x("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),uf={number:"number",bigint:"bigint",object:"date"},Oa=x("$ZodCheckLessThan",(t,e)=>{$e.init(t,e);let r=uf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ia=x("$ZodCheckGreaterThan",(t,e)=>{$e.init(t,e);let r=uf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),lf=x("$ZodCheckMultipleOf",(t,e)=>{$e.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):ma(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),df=x("$ZodCheckNumberFormat",(t,e)=>{$e.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=xa[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=rf)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var pf=x("$ZodCheckMaxLength",(t,e)=>{var r;$e.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vn(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=Kn(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),ff=x("$ZodCheckMinLength",(t,e)=>{var r;$e.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vn(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=Kn(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),mf=x("$ZodCheckLengthEquals",(t,e)=>{var r;$e.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!Vn(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=Kn(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Gn=x("$ZodCheckStringFormat",(t,e)=>{var r,n;$e.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),hf=x("$ZodCheckRegex",(t,e)=>{Gn.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),gf=x("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=af),Gn.init(t,e)}),_f=x("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=cf),Gn.init(t,e)}),yf=x("$ZodCheckIncludes",(t,e)=>{$e.init(t,e);let r=Xt(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),xf=x("$ZodCheckStartsWith",(t,e)=>{$e.init(t,e);let r=new RegExp(`^${Xt(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),vf=x("$ZodCheckEndsWith",(t,e)=>{$e.init(t,e);let r=new RegExp(`.*${Xt(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var bf=x("$ZodCheckOverwrite",(t,e)=>{$e.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var ls=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
`).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new e(...r,o.join(`
`))}};var Sf={major:4,minor:0,patch:0};var re=x("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Sf;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Nr(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new qt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=Nr(s,d)))});else{if(s.issues.length===d)continue;c||(c=Nr(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new qt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Ar(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return jr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Wn=x("$ZodString",(t,e)=>{re.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??tf(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),ue=x("$ZodStringFormat",(t,e)=>{Gn.init(t,e),Wn.init(t,e)}),Na=x("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=Lp),ue.init(t,e)}),Aa=x("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Ra(n))}else e.pattern??(e.pattern=Ra());ue.init(t,e)}),ja=x("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=qp),ue.init(t,e)}),Ma=x("$ZodURL",(t,e)=>{ue.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Jp.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),Da=x("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Up()),ue.init(t,e)}),Za=x("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=Dp),ue.init(t,e)}),La=x("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=Cp),ue.init(t,e)}),qa=x("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=Np),ue.init(t,e)}),Ua=x("$ZodULID",(t,e)=>{e.pattern??(e.pattern=Ap),ue.init(t,e)}),Fa=x("$ZodXID",(t,e)=>{e.pattern??(e.pattern=jp),ue.init(t,e)}),Ha=x("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=Mp),ue.init(t,e)}),Cf=x("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=ef(e)),ue.init(t,e)}),Nf=x("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=Yp),ue.init(t,e)}),Af=x("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Qp(e)),ue.init(t,e)}),jf=x("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Zp),ue.init(t,e)}),Va=x("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Fp),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Ba=x("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Hp),ue.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),Ka=x("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=Vp),ue.init(t,e)}),Ja=x("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=Bp),ue.init(t,e),t._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function Mf(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Ga=x("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Kp),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{Mf(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Gv(t){if(!za.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return Mf(r)}var Wa=x("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=za),ue.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Gv(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Ya=x("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Gp),ue.init(t,e)});function Wv(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var Xa=x("$ZodJWT",(t,e)=>{ue.init(t,e),t._zod.check=r=>{Wv(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var ps=x("$ZodNumber",(t,e)=>{re.init(t,e),t._zod.pattern=t._zod.bag.pattern??nf,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...s?{received:s}:{}}),r}}),Qa=x("$ZodNumber",(t,e)=>{df.init(t,e),ps.init(t,e)}),ec=x("$ZodBoolean",(t,e)=>{re.init(t,e),t._zod.pattern=of,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}});var tc=x("$ZodNull",(t,e)=>{re.init(t,e),t._zod.pattern=sf,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var rc=x("$ZodUnknown",(t,e)=>{re.init(t,e),t._zod.parse=r=>r}),nc=x("$ZodNever",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function wf(t,e,r){t.issues.length&&e.issues.push(...$t(r,t.issues)),e.value[r]=t.value}var oc=x("$ZodArray",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>wf(u,r,i))):wf(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function ds(t,e,r){t.issues.length&&e.issues.push(...$t(r,t.issues)),e.value[r]=t.value}function $f(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...$t(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var fs=x("$ZodObject",(t,e)=>{re.init(t,e);let r=Hn(()=>{let d=Object.keys(e.shape);for(let m of d)if(!(e.shape[m]instanceof re))throw new Error(`Invalid element at key "${m}": expected a Zod schema`);let f=ya(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});ce(t._zod,"propValues",()=>{let d=e.shape,f={};for(let m in d){let p=d[m]._zod;if(p.values){f[m]??(f[m]=new Set);for(let h of p.values)f[m].add(h)}}return f});let n=d=>{let f=new ls(["shape","payload","ctx"]),m=r.value,p=v=>{let b=Cr(v);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),g=0;for(let v of m.keys)h[v]=`key_${g++}`;f.write("const newResult = {}");for(let v of m.keys)if(m.optionalKeys.has(v)){let b=h[v];f.write(`const ${b} = ${p(v)};`);let w=Cr(v);f.write(`
if (${b}.issues.length) {
if (input[${w}] === undefined) {
if (${w} in input) {
newResult[${w}] = undefined;
}
} else {
payload.issues = payload.issues.concat(
${b}.issues.map((iss) => ({
...iss,
path: iss.path ? [${w}, ...iss.path] : [${w}],
}))
);
}
} else if (${b}.value === undefined) {
if (${w} in input) newResult[${w}] = undefined;
} else {
newResult[${w}] = ${b}.value;
}
`)}else{let b=h[v];f.write(`const ${b} = ${p(v)};`),f.write(`
if (${b}.issues.length) payload.issues = payload.issues.concat(${b}.issues.map(iss => ({
...iss,
path: iss.path ? [${Cr(v)}, ...iss.path] : [${Cr(v)}]
})));`),f.write(`newResult[${Cr(v)}] = ${b}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let y=f.compile();return(v,b)=>y(d,v,b)},o,s=cn,i=!os.jitless,c=i&&ga.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let b=l.shape;for(let w of l.keys){let R=b[w],ie=R._zod.run({value:m[w],issues:[]},f),ae=R._zod.optin==="optional"&&R._zod.optout==="optional";ie instanceof Promise?p.push(ie.then(Ye=>ae?$f(Ye,d,w,m):ds(Ye,d,w))):ae?$f(ie,d,w,m):ds(ie,d,w)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let h=[],g=l.keySet,y=u._zod,v=y.def.type;for(let b of Object.keys(m)){if(g.has(b))continue;if(v==="never"){h.push(b);continue}let w=y.run({value:m[b],issues:[]},f);w instanceof Promise?p.push(w.then(R=>ds(R,d,b))):ds(w,d,b)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:m,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function Tf(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>dt(s,n,Xe())))}),e}var ms=x("$ZodUnion",(t,e)=>{re.init(t,e),ce(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ce(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ce(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),ce(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Bn(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>Tf(i,r,t,n)):Tf(s,r,t,n)}}),sc=x("$ZodDiscriminatedUnion",(t,e)=>{ms.init(t,e);let r=t._zod.parse;ce(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=Hn(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(o,s)=>{let i=o.value;if(!cn(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),ic=x("$ZodIntersection",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Ef(r,c,u)):Ef(r,s,i)}});function Ca(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(un(t)&&un(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=Ca(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=Ca(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Ef(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Nr(t))return t;let n=Ca(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var ac=x("$ZodRecord",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!un(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...$t(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...$t(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>dt(u,n,Xe())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...$t(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...$t(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var cc=x("$ZodEnum",(t,e)=>{re.init(t,e);let r=Fn(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>_a.has(typeof n)).map(n=>typeof n=="string"?Xt(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),uc=x("$ZodLiteral",(t,e)=>{re.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?Xt(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var lc=x("$ZodTransform",(t,e)=>{re.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new qt;return r.value=o,r}}),dc=x("$ZodOptional",(t,e)=>{re.init(t,e),t._zod.optin="optional",t._zod.optout="optional",ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Bn(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),pc=x("$ZodNullable",(t,e)=>{re.init(t,e),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Bn(r.source)}|null)$`):void 0}),ce(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),fc=x("$ZodDefault",(t,e)=>{re.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Pf(s,e)):Pf(o,e)}});function Pf(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var mc=x("$ZodPrefault",(t,e)=>{re.init(t,e),t._zod.optin="optional",ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),hc=x("$ZodNonOptional",(t,e)=>{re.init(t,e),ce(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Rf(s,t)):Rf(o,t)}});function Rf(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var gc=x("$ZodCatch",(t,e)=>{re.init(t,e),t._zod.optin="optional",ce(t._zod,"optout",()=>e.innerType._zod.optout),ce(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>dt(i,n,Xe()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>dt(s,n,Xe()))},input:r.value}),r.issues=[]),r)}});var _c=x("$ZodPipe",(t,e)=>{re.init(t,e),ce(t._zod,"values",()=>e.in._zod.values),ce(t._zod,"optin",()=>e.in._zod.optin),ce(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>zf(s,e,n)):zf(o,e,n)}});function zf(t,e,r){return Nr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var yc=x("$ZodReadonly",(t,e)=>{re.init(t,e),ce(t._zod,"propValues",()=>e.innerType._zod.propValues),ce(t._zod,"values",()=>e.innerType._zod.values),ce(t._zod,"optin",()=>e.innerType._zod.optin),ce(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(Of):Of(o)}});function Of(t){return t.value=Object.freeze(t.value),t}var xc=x("$ZodCustom",(t,e)=>{$e.init(t,e),re.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>If(s,r,n,t));If(o,r,n,t)}});function If(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push(va(o))}}var Yv=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Xv=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Yv(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${as(n.values[0])}`:`Invalid option: expected one of ${ss(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=e(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${ss(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function Df(){return{localeError:Xv()}}var Yn=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function Zf(){return new Yn}var Qt=Zf();function vc(t,e){return new t({type:"string",...j(e)})}function bc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...j(e)})}function hs(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...j(e)})}function kc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...j(e)})}function Sc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...j(e)})}function wc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...j(e)})}function $c(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...j(e)})}function Tc(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...j(e)})}function Ec(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...j(e)})}function Pc(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...j(e)})}function Rc(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...j(e)})}function zc(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...j(e)})}function Oc(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...j(e)})}function Ic(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...j(e)})}function Cc(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...j(e)})}function Nc(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...j(e)})}function Ac(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...j(e)})}function jc(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...j(e)})}function Mc(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...j(e)})}function Dc(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...j(e)})}function Zc(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...j(e)})}function Lc(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...j(e)})}function qc(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...j(e)})}function Lf(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...j(e)})}function qf(t,e){return new t({type:"string",format:"date",check:"string_format",...j(e)})}function Uf(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...j(e)})}function Ff(t,e){return new t({type:"string",format:"duration",check:"string_format",...j(e)})}function Uc(t,e){return new t({type:"number",checks:[],...j(e)})}function Fc(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...j(e)})}function Hc(t,e){return new t({type:"boolean",...j(e)})}function Vc(t,e){return new t({type:"null",...j(e)})}function Bc(t){return new t({type:"unknown"})}function Kc(t,e){return new t({type:"never",...j(e)})}function gs(t,e){return new Oa({check:"less_than",...j(e),value:t,inclusive:!1})}function Xn(t,e){return new Oa({check:"less_than",...j(e),value:t,inclusive:!0})}function _s(t,e){return new Ia({check:"greater_than",...j(e),value:t,inclusive:!1})}function Qn(t,e){return new Ia({check:"greater_than",...j(e),value:t,inclusive:!0})}function ys(t,e){return new lf({check:"multiple_of",...j(e),value:t})}function xs(t,e){return new pf({check:"max_length",...j(e),maximum:t})}function ln(t,e){return new ff({check:"min_length",...j(e),minimum:t})}function vs(t,e){return new mf({check:"length_equals",...j(e),length:t})}function Jc(t,e){return new hf({check:"string_format",format:"regex",...j(e),pattern:t})}function Gc(t){return new gf({check:"string_format",format:"lowercase",...j(t)})}function Wc(t){return new _f({check:"string_format",format:"uppercase",...j(t)})}function Yc(t,e){return new yf({check:"string_format",format:"includes",...j(e),includes:t})}function Xc(t,e){return new xf({check:"string_format",format:"starts_with",...j(e),prefix:t})}function Qc(t,e){return new vf({check:"string_format",format:"ends_with",...j(e),suffix:t})}function Mr(t){return new bf({check:"overwrite",tx:t})}function eu(t){return Mr(e=>e.normalize(t))}function tu(){return Mr(t=>t.trim())}function ru(){return Mr(t=>t.toLowerCase())}function nu(){return Mr(t=>t.toUpperCase())}function Hf(t,e,r){return new t({type:"array",element:e,...j(r)})}function ou(t,e,r){let n=j(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function su(t,e,r){return new t({type:"custom",check:"custom",fn:e,...j(r)})}var bs=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??Qt,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let m=a.schema;switch(o.type){case"string":{let p=m;p.type="string";let{minimum:h,maximum:g,format:y,patterns:v,contentEncoding:b}=e._zod.bag;if(typeof h=="number"&&(p.minLength=h),typeof g=="number"&&(p.maxLength=g),y&&(p.format=s[y]??y,p.format===""&&delete p.format),b&&(p.contentEncoding=b),v&&v.size>0){let w=[...v];w.length===1?p.pattern=w[0].source:w.length>1&&(a.schema.allOf=[...w.map(R=>({...this.target==="draft-7"?{type:"string"}:{},pattern:R.source}))])}break}case"number":{let p=m,{minimum:h,maximum:g,format:y,multipleOf:v,exclusiveMaximum:b,exclusiveMinimum:w}=e._zod.bag;typeof y=="string"&&y.includes("int")?p.type="integer":p.type="number",typeof w=="number"&&(p.exclusiveMinimum=w),typeof h=="number"&&(p.minimum=h,typeof w=="number"&&(w>=h?delete p.minimum:delete p.exclusiveMinimum)),typeof b=="number"&&(p.exclusiveMaximum=b),typeof g=="number"&&(p.maximum=g,typeof b=="number"&&(b<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof v=="number"&&(p.multipleOf=v);break}case"boolean":{let p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{m.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=m,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(p.minItems=h),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=m;p.type="object",p.properties={};let h=o.shape;for(let v in h)p.properties[v]=this.process(h[v],{...d,path:[...d.path,"properties",v]});let g=new Set(Object.keys(h)),y=new Set([...g].filter(v=>{let b=o.shape[v]._zod;return this.io==="input"?b.optin===void 0:b.optout===void 0}));y.size>0&&(p.required=Array.from(y)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=m;p.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=m,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),y=b=>"allOf"in b&&Object.keys(b).length===1,v=[...y(h)?h.allOf:[h],...y(g)?g.allOf:[g]];p.allOf=v;break}case"tuple":{let p=m;p.type="array";let h=o.items.map((v,b)=>this.process(v,{...d,path:[...d.path,"prefixItems",b]}));if(this.target==="draft-2020-12"?p.prefixItems=h:p.items=h,o.rest){let v=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=v:p.additionalItems=v}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:y}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof y=="number"&&(p.maxItems=y);break}case"record":{let p=m;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=m,h=Fn(o.entries);h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),p.enum=h;break}case"literal":{let p=m,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];p.type=g===null?"null":typeof g,p.const=g}else h.every(g=>typeof g=="number")&&(p.type="number"),h.every(g=>typeof g=="string")&&(p.type="string"),h.every(g=>typeof g=="boolean")&&(p.type="string"),h.every(g=>g===null)&&(p.type="null"),p.enum=h;break}case"file":{let p=m,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:y,mime:v}=e._zod.bag;g!==void 0&&(h.minLength=g),y!==void 0&&(h.maxLength=y),v?v.length===1?(h.contentMediaType=v[0],Object.assign(p,h)):p.anyOf=v.map(b=>({...h,contentMediaType:b})):Object.assign(p,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=m;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,m.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=m,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=h.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,m.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&ke(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(v=>v);if(h)return{ref:g(h)};let y=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=y,{defId:y,ref:`${g("__shared")}#/${d}/${y}`}}if(l[1]===o)return{ref:"#"};let m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:m}=s(l);d.def={...d.schema},m&&(d.defId=m);let p=d.schema;for(let h in p)delete p[h];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let m=n.external.registry.get(l[0])?.id;if(e!==l[0]&&m){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),m=f.def??f.schema,p={...m};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(m.allOf=m.allOf??[],m.allOf.push(g)):(Object.assign(m,g),Object.assign(m,p))}f.isParent||this.override({zodSchema:l,jsonSchema:m,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function iu(t,e){if(t instanceof Yn){let n=new bs(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new bs(e);return r.process(t),r.emit(t,e)}function ke(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return ke(o.element,r);case"object":{for(let s in o.shape)if(ke(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(ke(s,r))return!0;return!1}case"intersection":return ke(o.left,r)||ke(o.right,r);case"tuple":{for(let s of o.items)if(ke(s,r))return!0;return!!(o.rest&&ke(o.rest,r))}case"record":return ke(o.keyType,r)||ke(o.valueType,r);case"map":return ke(o.keyType,r)||ke(o.valueType,r);case"set":return ke(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return ke(o.innerType,r);case"lazy":return ke(o.getter(),r);case"default":return ke(o.innerType,r);case"prefault":return ke(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return ke(o.in,r)||ke(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Cb=x("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");re.init(t,e),t.def=e,t.parse=(r,n)=>wa(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Ar(t,r,n),t.parseAsync=async(r,n)=>Ta(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>jr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>Qe(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t))});var Nb=x("ZodMiniObject",(t,e)=>{fs.init(t,e),Cb.init(t,e),K.defineLazy(t,"shape",()=>e.shape)});function au(t,e){let r={type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},...K.normalizeParams(e)};return new Nb(r)}function nt(t){return!!t._zod}function Zr(t){let e=Object.values(t);if(e.length===0)return au({});let r=e.every(nt),n=e.every(o=>!nt(o));if(r)return au(t);if(n)return la(t);throw new Error("Mixed Zod versions detected in object shape.")}function er(t,e){return nt(t)?Ar(t,e):t.safeParse(e)}async function ks(t,e){return nt(t)?await jr(t,e):await t.safeParseAsync(e)}function tr(t){if(!t)return;let e;if(nt(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function dn(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Zr(t)}}if(nt(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function Ss(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function Bf(t){return t.description}function Kf(t){if(nt(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function ws(t){if(nt(t)){let s=t._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=t._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=t.value;if(n!==void 0)return n}var eo={};jt(eo,{ZodISODate:()=>Gf,ZodISODateTime:()=>Jf,ZodISODuration:()=>Yf,ZodISOTime:()=>Wf,date:()=>uu,datetime:()=>cu,duration:()=>du,time:()=>lu});var Jf=x("ZodISODateTime",(t,e)=>{Cf.init(t,e),me.init(t,e)});function cu(t){return Lf(Jf,t)}var Gf=x("ZodISODate",(t,e)=>{Nf.init(t,e),me.init(t,e)});function uu(t){return qf(Gf,t)}var Wf=x("ZodISOTime",(t,e)=>{Af.init(t,e),me.init(t,e)});function lu(t){return Uf(Wf,t)}var Yf=x("ZodISODuration",(t,e)=>{jf.init(t,e),me.init(t,e)});function du(t){return Ff(Yf,t)}var Xf=(t,e)=>{cs.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>ka(t,r)},flatten:{value:r=>ba(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},eI=x("ZodError",Xf),to=x("ZodError",Xf,{Parent:Error});var Qf=Sa(to),em=$a(to),tm=Ea(to),rm=Pa(to);var xe=x("ZodType",(t,e)=>(re.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>Qe(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.parse=(r,n)=>Qf(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>tm(t,r,n),t.parseAsync=async(r,n)=>em(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>rm(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Ok(r,n)),t.superRefine=r=>t.check(Ik(r)),t.overwrite=r=>t.check(Mr(r)),t.optional=()=>ye(t),t.nullable=()=>sm(t),t.nullish=()=>ye(sm(t)),t.nonoptional=r=>wk(t,r),t.array=()=>G(t),t.or=r=>le([t,r]),t.and=r=>Ts(t,r),t.transform=r=>fu(t,lm(r)),t.default=r=>bk(t,r),t.prefault=r=>Sk(t,r),t.catch=r=>Tk(t,r),t.pipe=r=>fu(t,r),t.readonly=()=>Rk(t),t.describe=r=>{let n=t.clone();return Qt.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return Qt.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return Qt.get(t);let n=t.clone();return Qt.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),im=x("_ZodString",(t,e)=>{Wn.init(t,e),xe.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(Jc(...n)),t.includes=(...n)=>t.check(Yc(...n)),t.startsWith=(...n)=>t.check(Xc(...n)),t.endsWith=(...n)=>t.check(Qc(...n)),t.min=(...n)=>t.check(ln(...n)),t.max=(...n)=>t.check(xs(...n)),t.length=(...n)=>t.check(vs(...n)),t.nonempty=(...n)=>t.check(ln(1,...n)),t.lowercase=n=>t.check(Gc(n)),t.uppercase=n=>t.check(Wc(n)),t.trim=()=>t.check(tu()),t.normalize=(...n)=>t.check(eu(...n)),t.toLowerCase=()=>t.check(ru()),t.toUpperCase=()=>t.check(nu())}),Fb=x("ZodString",(t,e)=>{Wn.init(t,e),im.init(t,e),t.email=r=>t.check(bc(Hb,r)),t.url=r=>t.check(Tc(Vb,r)),t.jwt=r=>t.check(qc(ik,r)),t.emoji=r=>t.check(Ec(Bb,r)),t.guid=r=>t.check(hs(nm,r)),t.uuid=r=>t.check(kc($s,r)),t.uuidv4=r=>t.check(Sc($s,r)),t.uuidv6=r=>t.check(wc($s,r)),t.uuidv7=r=>t.check($c($s,r)),t.nanoid=r=>t.check(Pc(Kb,r)),t.guid=r=>t.check(hs(nm,r)),t.cuid=r=>t.check(Rc(Jb,r)),t.cuid2=r=>t.check(zc(Gb,r)),t.ulid=r=>t.check(Oc(Wb,r)),t.base64=r=>t.check(Dc(nk,r)),t.base64url=r=>t.check(Zc(ok,r)),t.xid=r=>t.check(Ic(Yb,r)),t.ksuid=r=>t.check(Cc(Xb,r)),t.ipv4=r=>t.check(Nc(Qb,r)),t.ipv6=r=>t.check(Ac(ek,r)),t.cidrv4=r=>t.check(jc(tk,r)),t.cidrv6=r=>t.check(Mc(rk,r)),t.e164=r=>t.check(Lc(sk,r)),t.datetime=r=>t.check(cu(r)),t.date=r=>t.check(uu(r)),t.time=r=>t.check(lu(r)),t.duration=r=>t.check(du(r))});function _(t){return vc(Fb,t)}var me=x("ZodStringFormat",(t,e)=>{ue.init(t,e),im.init(t,e)}),Hb=x("ZodEmail",(t,e)=>{ja.init(t,e),me.init(t,e)});var nm=x("ZodGUID",(t,e)=>{Na.init(t,e),me.init(t,e)});var $s=x("ZodUUID",(t,e)=>{Aa.init(t,e),me.init(t,e)});var Vb=x("ZodURL",(t,e)=>{Ma.init(t,e),me.init(t,e)});var Bb=x("ZodEmoji",(t,e)=>{Da.init(t,e),me.init(t,e)});var Kb=x("ZodNanoID",(t,e)=>{Za.init(t,e),me.init(t,e)});var Jb=x("ZodCUID",(t,e)=>{La.init(t,e),me.init(t,e)});var Gb=x("ZodCUID2",(t,e)=>{qa.init(t,e),me.init(t,e)});var Wb=x("ZodULID",(t,e)=>{Ua.init(t,e),me.init(t,e)});var Yb=x("ZodXID",(t,e)=>{Fa.init(t,e),me.init(t,e)});var Xb=x("ZodKSUID",(t,e)=>{Ha.init(t,e),me.init(t,e)});var Qb=x("ZodIPv4",(t,e)=>{Va.init(t,e),me.init(t,e)});var ek=x("ZodIPv6",(t,e)=>{Ba.init(t,e),me.init(t,e)});var tk=x("ZodCIDRv4",(t,e)=>{Ka.init(t,e),me.init(t,e)});var rk=x("ZodCIDRv6",(t,e)=>{Ja.init(t,e),me.init(t,e)});var nk=x("ZodBase64",(t,e)=>{Ga.init(t,e),me.init(t,e)});var ok=x("ZodBase64URL",(t,e)=>{Wa.init(t,e),me.init(t,e)});var sk=x("ZodE164",(t,e)=>{Ya.init(t,e),me.init(t,e)});var ik=x("ZodJWT",(t,e)=>{Xa.init(t,e),me.init(t,e)});var am=x("ZodNumber",(t,e)=>{ps.init(t,e),xe.init(t,e),t.gt=(n,o)=>t.check(_s(n,o)),t.gte=(n,o)=>t.check(Qn(n,o)),t.min=(n,o)=>t.check(Qn(n,o)),t.lt=(n,o)=>t.check(gs(n,o)),t.lte=(n,o)=>t.check(Xn(n,o)),t.max=(n,o)=>t.check(Xn(n,o)),t.int=n=>t.check(om(n)),t.safe=n=>t.check(om(n)),t.positive=n=>t.check(_s(0,n)),t.nonnegative=n=>t.check(Qn(0,n)),t.negative=n=>t.check(gs(0,n)),t.nonpositive=n=>t.check(Xn(0,n)),t.multipleOf=(n,o)=>t.check(ys(n,o)),t.step=(n,o)=>t.check(ys(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function te(t){return Uc(am,t)}var ak=x("ZodNumberFormat",(t,e)=>{Qa.init(t,e),am.init(t,e)});function om(t){return Fc(ak,t)}var ck=x("ZodBoolean",(t,e)=>{ec.init(t,e),xe.init(t,e)});function Se(t){return Hc(ck,t)}var uk=x("ZodNull",(t,e)=>{tc.init(t,e),xe.init(t,e)});function mu(t){return Vc(uk,t)}var lk=x("ZodUnknown",(t,e)=>{rc.init(t,e),xe.init(t,e)});function he(){return Bc(lk)}var dk=x("ZodNever",(t,e)=>{nc.init(t,e),xe.init(t,e)});function pk(t){return Kc(dk,t)}var fk=x("ZodArray",(t,e)=>{oc.init(t,e),xe.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(ln(r,n)),t.nonempty=r=>t.check(ln(1,r)),t.max=(r,n)=>t.check(xs(r,n)),t.length=(r,n)=>t.check(vs(r,n)),t.unwrap=()=>t.element});function G(t,e){return Hf(fk,t,e)}var cm=x("ZodObject",(t,e)=>{fs.init(t,e),xe.init(t,e),K.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Ve(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:he()}),t.loose=()=>t.clone({...t._zod.def,catchall:he()}),t.strict=()=>t.clone({...t._zod.def,catchall:pk()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>K.extend(t,r),t.merge=r=>K.merge(t,r),t.pick=r=>K.pick(t,r),t.omit=r=>K.omit(t,r),t.partial=(...r)=>K.partial(dm,t,r[0]),t.required=(...r)=>K.required(pm,t,r[0])});function P(t,e){let r={type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},...K.normalizeParams(e)};return new cm(r)}function Me(t,e){return new cm({type:"object",get shape(){return K.assignProp(this,"shape",{...t}),this.shape},catchall:he(),...K.normalizeParams(e)})}var um=x("ZodUnion",(t,e)=>{ms.init(t,e),xe.init(t,e),t.options=e.options});function le(t,e){return new um({type:"union",options:t,...K.normalizeParams(e)})}var mk=x("ZodDiscriminatedUnion",(t,e)=>{um.init(t,e),sc.init(t,e)});function hu(t,e,r){return new mk({type:"union",options:e,discriminator:t,...K.normalizeParams(r)})}var hk=x("ZodIntersection",(t,e)=>{ic.init(t,e),xe.init(t,e)});function Ts(t,e){return new hk({type:"intersection",left:t,right:e})}var gk=x("ZodRecord",(t,e)=>{ac.init(t,e),xe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function ge(t,e,r){return new gk({type:"record",keyType:t,valueType:e,...K.normalizeParams(r)})}var pu=x("ZodEnum",(t,e)=>{cc.init(t,e),xe.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new pu({...e,checks:[],...K.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new pu({...e,checks:[],...K.normalizeParams(o),entries:s})}});function Ve(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new pu({type:"enum",entries:r,...K.normalizeParams(e)})}var _k=x("ZodLiteral",(t,e)=>{uc.init(t,e),xe.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function I(t,e){return new _k({type:"literal",values:Array.isArray(t)?t:[t],...K.normalizeParams(e)})}var yk=x("ZodTransform",(t,e)=>{lc.init(t,e),xe.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(K.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!0),r.issues.push(K.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function lm(t){return new yk({type:"transform",transform:t})}var dm=x("ZodOptional",(t,e)=>{dc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ye(t){return new dm({type:"optional",innerType:t})}var xk=x("ZodNullable",(t,e)=>{pc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function sm(t){return new xk({type:"nullable",innerType:t})}var vk=x("ZodDefault",(t,e)=>{fc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function bk(t,e){return new vk({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var kk=x("ZodPrefault",(t,e)=>{mc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Sk(t,e){return new kk({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var pm=x("ZodNonOptional",(t,e)=>{hc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function wk(t,e){return new pm({type:"nonoptional",innerType:t,...K.normalizeParams(e)})}var $k=x("ZodCatch",(t,e)=>{gc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Tk(t,e){return new $k({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Ek=x("ZodPipe",(t,e)=>{_c.init(t,e),xe.init(t,e),t.in=e.in,t.out=e.out});function fu(t,e){return new Ek({type:"pipe",in:t,out:e})}var Pk=x("ZodReadonly",(t,e)=>{yc.init(t,e),xe.init(t,e)});function Rk(t){return new Pk({type:"readonly",innerType:t})}var fm=x("ZodCustom",(t,e)=>{xc.init(t,e),xe.init(t,e)});function zk(t){let e=new $e({check:"custom"});return e._zod.check=t,e}function mm(t,e){return ou(fm,t??(()=>!0),e)}function Ok(t,e={}){return su(fm,t,e)}function Ik(t){let e=zk(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(K.issue(n,r.value,e._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(K.issue(o))}},t(r.value,r)));return e}function gu(t,e){return fu(lm(t),e)}Xe(Df());var yu="2025-11-25";var hm=[yu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],rr="io.modelcontextprotocol/related-task",Ps="2.0",Te=mm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),gm=le([_(),te().int()]),_m=_(),mI=Me({ttl:le([te(),mu()]).optional(),pollInterval:te().optional()}),Ck=P({ttl:te().optional()}),Nk=P({taskId:_()}),xu=Me({progressToken:gm.optional(),[rr]:Nk.optional()}),et=P({_meta:xu.optional()}),ro=et.extend({task:Ck.optional()}),ym=t=>ro.safeParse(t).success,Ee=P({method:_(),params:et.loose().optional()}),ot=P({_meta:xu.optional()}),st=P({method:_(),params:ot.loose().optional()}),Pe=Me({_meta:xu.optional()}),Rs=le([_(),te().int()]),xm=P({jsonrpc:I(Ps),id:Rs,...Ee.shape}).strict(),vu=t=>xm.safeParse(t).success,vm=P({jsonrpc:I(Ps),...st.shape}).strict(),bm=t=>vm.safeParse(t).success,bu=P({jsonrpc:I(Ps),id:Rs,result:Pe}).strict(),no=t=>bu.safeParse(t).success;var N;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(N||(N={}));var ku=P({jsonrpc:I(Ps),id:Rs.optional(),error:P({code:te().int(),message:_(),data:he().optional()})}).strict();var km=t=>ku.safeParse(t).success;var Sm=le([xm,vm,bu,ku]),hI=le([bu,ku]),zs=Pe.strict(),Ak=ot.extend({requestId:Rs.optional(),reason:_().optional()}),Os=st.extend({method:I("notifications/cancelled"),params:Ak}),jk=P({src:_(),mimeType:_().optional(),sizes:G(_()).optional(),theme:Ve(["light","dark"]).optional()}),oo=P({icons:G(jk).optional()}),pn=P({name:_(),title:_().optional()}),wm=pn.extend({...pn.shape,...oo.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),Mk=Ts(P({applyDefaults:Se().optional()}),ge(_(),he())),Dk=gu(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Ts(P({form:Mk.optional(),url:Te.optional()}),ge(_(),he()).optional())),Zk=Me({list:Te.optional(),cancel:Te.optional(),requests:Me({sampling:Me({createMessage:Te.optional()}).optional(),elicitation:Me({create:Te.optional()}).optional()}).optional()}),Lk=Me({list:Te.optional(),cancel:Te.optional(),requests:Me({tools:Me({call:Te.optional()}).optional()}).optional()}),qk=P({experimental:ge(_(),Te).optional(),sampling:P({context:Te.optional(),tools:Te.optional()}).optional(),elicitation:Dk.optional(),roots:P({listChanged:Se().optional()}).optional(),tasks:Zk.optional()}),Uk=et.extend({protocolVersion:_(),capabilities:qk,clientInfo:wm}),Su=Ee.extend({method:I("initialize"),params:Uk});var Fk=P({experimental:ge(_(),Te).optional(),logging:Te.optional(),completions:Te.optional(),prompts:P({listChanged:Se().optional()}).optional(),resources:P({subscribe:Se().optional(),listChanged:Se().optional()}).optional(),tools:P({listChanged:Se().optional()}).optional(),tasks:Lk.optional()}),Hk=Pe.extend({protocolVersion:_(),capabilities:Fk,serverInfo:wm,instructions:_().optional()}),wu=st.extend({method:I("notifications/initialized"),params:ot.optional()});var Is=Ee.extend({method:I("ping"),params:et.optional()}),Vk=P({progress:te(),total:ye(te()),message:ye(_())}),Bk=P({...ot.shape,...Vk.shape,progressToken:gm}),Cs=st.extend({method:I("notifications/progress"),params:Bk}),Kk=et.extend({cursor:_m.optional()}),so=Ee.extend({params:Kk.optional()}),io=Pe.extend({nextCursor:_m.optional()}),Jk=Ve(["working","input_required","completed","failed","cancelled"]),ao=P({taskId:_(),status:Jk,ttl:le([te(),mu()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:ye(te()),statusMessage:ye(_())}),fn=Pe.extend({task:ao}),Gk=ot.merge(ao),co=st.extend({method:I("notifications/tasks/status"),params:Gk}),Ns=Ee.extend({method:I("tasks/get"),params:et.extend({taskId:_()})}),As=Pe.merge(ao),js=Ee.extend({method:I("tasks/result"),params:et.extend({taskId:_()})}),gI=Pe.loose(),Ms=so.extend({method:I("tasks/list")}),Ds=io.extend({tasks:G(ao)}),Zs=Ee.extend({method:I("tasks/cancel"),params:et.extend({taskId:_()})}),$m=Pe.merge(ao),Tm=P({uri:_(),mimeType:ye(_()),_meta:ge(_(),he()).optional()}),Em=Tm.extend({text:_()}),$u=_().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Pm=Tm.extend({blob:$u}),uo=Ve(["user","assistant"]),mn=P({audience:G(uo).optional(),priority:te().min(0).max(1).optional(),lastModified:eo.datetime({offset:!0}).optional()}),Rm=P({...pn.shape,...oo.shape,uri:_(),description:ye(_()),mimeType:ye(_()),annotations:mn.optional(),_meta:ye(Me({}))}),Wk=P({...pn.shape,...oo.shape,uriTemplate:_(),description:ye(_()),mimeType:ye(_()),annotations:mn.optional(),_meta:ye(Me({}))}),Ls=so.extend({method:I("resources/list")}),Yk=io.extend({resources:G(Rm)}),qs=so.extend({method:I("resources/templates/list")}),Xk=io.extend({resourceTemplates:G(Wk)}),Tu=et.extend({uri:_()}),Qk=Tu,Us=Ee.extend({method:I("resources/read"),params:Qk}),eS=Pe.extend({contents:G(le([Em,Pm]))}),tS=st.extend({method:I("notifications/resources/list_changed"),params:ot.optional()}),rS=Tu,nS=Ee.extend({method:I("resources/subscribe"),params:rS}),oS=Tu,sS=Ee.extend({method:I("resources/unsubscribe"),params:oS}),iS=ot.extend({uri:_()}),aS=st.extend({method:I("notifications/resources/updated"),params:iS}),cS=P({name:_(),description:ye(_()),required:ye(Se())}),uS=P({...pn.shape,...oo.shape,description:ye(_()),arguments:ye(G(cS)),_meta:ye(Me({}))}),Fs=so.extend({method:I("prompts/list")}),lS=io.extend({prompts:G(uS)}),dS=et.extend({name:_(),arguments:ge(_(),_()).optional()}),Hs=Ee.extend({method:I("prompts/get"),params:dS}),Eu=P({type:I("text"),text:_(),annotations:mn.optional(),_meta:ge(_(),he()).optional()}),Pu=P({type:I("image"),data:$u,mimeType:_(),annotations:mn.optional(),_meta:ge(_(),he()).optional()}),Ru=P({type:I("audio"),data:$u,mimeType:_(),annotations:mn.optional(),_meta:ge(_(),he()).optional()}),pS=P({type:I("tool_use"),name:_(),id:_(),input:ge(_(),he()),_meta:ge(_(),he()).optional()}),fS=P({type:I("resource"),resource:le([Em,Pm]),annotations:mn.optional(),_meta:ge(_(),he()).optional()}),mS=Rm.extend({type:I("resource_link")}),zu=le([Eu,Pu,Ru,mS,fS]),hS=P({role:uo,content:zu}),gS=Pe.extend({description:_().optional(),messages:G(hS)}),_S=st.extend({method:I("notifications/prompts/list_changed"),params:ot.optional()}),yS=P({title:_().optional(),readOnlyHint:Se().optional(),destructiveHint:Se().optional(),idempotentHint:Se().optional(),openWorldHint:Se().optional()}),xS=P({taskSupport:Ve(["required","optional","forbidden"]).optional()}),zm=P({...pn.shape,...oo.shape,description:_().optional(),inputSchema:P({type:I("object"),properties:ge(_(),Te).optional(),required:G(_()).optional()}).catchall(he()),outputSchema:P({type:I("object"),properties:ge(_(),Te).optional(),required:G(_()).optional()}).catchall(he()).optional(),annotations:yS.optional(),execution:xS.optional(),_meta:ge(_(),he()).optional()}),Vs=so.extend({method:I("tools/list")}),vS=io.extend({tools:G(zm)}),Bs=Pe.extend({content:G(zu).default([]),structuredContent:ge(_(),he()).optional(),isError:Se().optional()}),_I=Bs.or(Pe.extend({toolResult:he()})),bS=ro.extend({name:_(),arguments:ge(_(),he()).optional()}),hn=Ee.extend({method:I("tools/call"),params:bS}),kS=st.extend({method:I("notifications/tools/list_changed"),params:ot.optional()}),yI=P({autoRefresh:Se().default(!0),debounceMs:te().int().nonnegative().default(300)}),lo=Ve(["debug","info","notice","warning","error","critical","alert","emergency"]),SS=et.extend({level:lo}),Ou=Ee.extend({method:I("logging/setLevel"),params:SS}),wS=ot.extend({level:lo,logger:_().optional(),data:he()}),$S=st.extend({method:I("notifications/message"),params:wS}),TS=P({name:_().optional()}),ES=P({hints:G(TS).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),PS=P({mode:Ve(["auto","required","none"]).optional()}),RS=P({type:I("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:G(zu).default([]),structuredContent:P({}).loose().optional(),isError:Se().optional(),_meta:ge(_(),he()).optional()}),zS=hu("type",[Eu,Pu,Ru]),Es=hu("type",[Eu,Pu,Ru,pS,RS]),OS=P({role:uo,content:le([Es,G(Es)]),_meta:ge(_(),he()).optional()}),IS=ro.extend({messages:G(OS),modelPreferences:ES.optional(),systemPrompt:_().optional(),includeContext:Ve(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:G(_()).optional(),metadata:Te.optional(),tools:G(zm).optional(),toolChoice:PS.optional()}),CS=Ee.extend({method:I("sampling/createMessage"),params:IS}),Iu=Pe.extend({model:_(),stopReason:ye(Ve(["endTurn","stopSequence","maxTokens"]).or(_())),role:uo,content:zS}),Cu=Pe.extend({model:_(),stopReason:ye(Ve(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:uo,content:le([Es,G(Es)])}),NS=P({type:I("boolean"),title:_().optional(),description:_().optional(),default:Se().optional()}),AS=P({type:I("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ve(["email","uri","date","date-time"]).optional(),default:_().optional()}),jS=P({type:Ve(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),MS=P({type:I("string"),title:_().optional(),description:_().optional(),enum:G(_()),default:_().optional()}),DS=P({type:I("string"),title:_().optional(),description:_().optional(),oneOf:G(P({const:_(),title:_()})),default:_().optional()}),ZS=P({type:I("string"),title:_().optional(),description:_().optional(),enum:G(_()),enumNames:G(_()).optional(),default:_().optional()}),LS=le([MS,DS]),qS=P({type:I("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:P({type:I("string"),enum:G(_())}),default:G(_()).optional()}),US=P({type:I("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:P({anyOf:G(P({const:_(),title:_()}))}),default:G(_()).optional()}),FS=le([qS,US]),HS=le([ZS,LS,FS]),VS=le([HS,NS,AS,jS]),BS=ro.extend({mode:I("form").optional(),message:_(),requestedSchema:P({type:I("object"),properties:ge(_(),VS),required:G(_()).optional()})}),KS=ro.extend({mode:I("url"),message:_(),elicitationId:_(),url:_().url()}),JS=le([BS,KS]),GS=Ee.extend({method:I("elicitation/create"),params:JS}),WS=ot.extend({elicitationId:_()}),YS=st.extend({method:I("notifications/elicitation/complete"),params:WS}),Ks=Pe.extend({action:Ve(["accept","decline","cancel"]),content:gu(t=>t===null?void 0:t,ge(_(),le([_(),te(),Se(),G(_())])).optional())}),XS=P({type:I("ref/resource"),uri:_()});var QS=P({type:I("ref/prompt"),name:_()}),ew=et.extend({ref:le([QS,XS]),argument:P({name:_(),value:_()}),context:P({arguments:ge(_(),_()).optional()}).optional()}),Js=Ee.extend({method:I("completion/complete"),params:ew});function Om(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function Im(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var tw=Pe.extend({completion:Me({values:G(_()).max(100),total:ye(te().int()),hasMore:ye(Se())})}),rw=P({uri:_().startsWith("file://"),name:_().optional(),_meta:ge(_(),he()).optional()}),nw=Ee.extend({method:I("roots/list"),params:et.optional()}),Nu=Pe.extend({roots:G(rw)}),ow=st.extend({method:I("notifications/roots/list_changed"),params:ot.optional()}),xI=le([Is,Su,Js,Ou,Hs,Fs,Ls,qs,Us,nS,sS,hn,Vs,Ns,js,Ms,Zs]),vI=le([Os,Cs,wu,ow,co]),bI=le([zs,Iu,Cu,Ks,Nu,As,Ds,fn]),kI=le([Is,CS,GS,nw,Ns,js,Ms,Zs]),SI=le([Os,Cs,$S,aS,tS,kS,_S,co,YS]),wI=le([zs,Hk,tw,gS,lS,Yk,Xk,eS,Bs,vS,As,Ds,fn]),O=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===N.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new _u(o.elicitations,r)}return new t(e,r,n)}},_u=class extends O{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(N.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function nr(t){return t==="completed"||t==="failed"||t==="cancelled"}var Nm=Symbol("Let zodToJsonSchema decide on which parser to use");var Cm={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Am=t=>typeof t=="string"?{...Cm,name:t}:{...Cm,...t};var jm=t=>{let e=Am(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Au(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function W(t,e,r,n,o){t[e]=r,Au(t,e,n,o)}var Gs=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function _e(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?Gs(e,t.currentPath):e.join("/")}}function Mm(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==S.ZodAny&&(r.items=M(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&W(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&W(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(W(r,"minItems",t.exactLength.value,t.exactLength.message,e),W(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function Dm(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?W(r,"minimum",n.value,n.message,e):W(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),W(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?W(r,"maximum",n.value,n.message,e):W(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),W(r,"maximum",n.value,n.message,e));break;case"multipleOf":W(r,"multipleOf",n.value,n.message,e);break}return r}function Zm(){return{type:"boolean"}}function Ws(t,e){return M(t.type._def,e)}var Lm=(t,e)=>M(t.innerType._def,e);function ju(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>ju(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return sw(t,e)}}var sw=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":W(r,"minimum",n.value,n.message,e);break;case"max":W(r,"maximum",n.value,n.message,e);break}return r};function qm(t,e){return{...M(t.innerType._def,e),default:t.defaultValue()}}function Um(t,e){return e.effectStrategy==="input"?M(t.schema._def,e):_e(e)}function Fm(t){return{type:"string",enum:Array.from(t.values)}}var iw=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Hm(t,e){let r=[M(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),M(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(iw(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function Vm(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var Mu,pt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Mu===void 0&&(Mu=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Mu),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Ys(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":W(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":W(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":ft(r,"email",n.message,e);break;case"format:idn-email":ft(r,"idn-email",n.message,e);break;case"pattern:zod":De(r,pt.email,n.message,e);break}break;case"url":ft(r,"uri",n.message,e);break;case"uuid":ft(r,"uuid",n.message,e);break;case"regex":De(r,n.regex,n.message,e);break;case"cuid":De(r,pt.cuid,n.message,e);break;case"cuid2":De(r,pt.cuid2,n.message,e);break;case"startsWith":De(r,RegExp(`^${Du(n.value,e)}`),n.message,e);break;case"endsWith":De(r,RegExp(`${Du(n.value,e)}$`),n.message,e);break;case"datetime":ft(r,"date-time",n.message,e);break;case"date":ft(r,"date",n.message,e);break;case"time":ft(r,"time",n.message,e);break;case"duration":ft(r,"duration",n.message,e);break;case"length":W(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),W(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{De(r,RegExp(Du(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&ft(r,"ipv4",n.message,e),n.version!=="v4"&&ft(r,"ipv6",n.message,e);break}case"base64url":De(r,pt.base64url,n.message,e);break;case"jwt":De(r,pt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&De(r,pt.ipv4Cidr,n.message,e),n.version!=="v4"&&De(r,pt.ipv6Cidr,n.message,e);break}case"emoji":De(r,pt.emoji(),n.message,e);break;case"ulid":{De(r,pt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{ft(r,"binary",n.message,e);break}case"contentEncoding:base64":{W(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{De(r,pt.base64,n.message,e);break}}break}case"nanoid":De(r,pt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function Du(t,e){return e.patternStrategy==="escape"?cw(t):t}var aw=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function cw(t){let e="";for(let r=0;r<t.length;r++)aw.has(t[r])||(e+="\\"),e+=t[r];return e}function ft(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):W(t,"format",e,r,n)}function De(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:Bm(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):W(t,"pattern",Bm(e,n),r,n)}function Bm(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
`:`[${n[c]}\r
]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function Xs(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??_e(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===S.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=Ys(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===S.ZodBranded&&t.keyType._def.type._def.typeName===S.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Ws(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function Km(t,e){if(e.mapStrategy==="record")return Xs(t,e);let r=M(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||_e(e),n=M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||_e(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Jm(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Gm(t){return t.target==="openAi"?void 0:{not:_e({...t,currentPath:[...t.currentPath,"not"]})}}function Wm(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var po={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Xm(t,e){if(e.target==="openApi3")return Ym(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in po&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=po[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return Ym(t,e)}var Ym=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>M(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Qm(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:po[t.innerType._def.typeName],nullable:!0}:{type:[po[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=M(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function eh(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",Au(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?W(r,"minimum",n.value,n.message,e):W(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),W(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?W(r,"maximum",n.value,n.message,e):W(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),W(r,"maximum",n.value,n.message,e));break;case"multipleOf":W(r,"multipleOf",n.value,n.message,e);break}return r}function th(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=lw(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=M(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=uw(t,e);return i!==void 0&&(n.additionalProperties=i),n}function uw(t,e){if(t.catchall._def.typeName!=="ZodNever")return M(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function lw(t){try{return t.isOptional()}catch{return!0}}var rh=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return M(t.innerType._def,e);let r=M(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:_e(e)},r]}:_e(e)};var nh=(t,e)=>{if(e.pipeStrategy==="input")return M(t.in._def,e);if(e.pipeStrategy==="output")return M(t.out._def,e);let r=M(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=M(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function oh(t,e){return M(t.type._def,e)}function sh(t,e){let n={type:"array",uniqueItems:!0,items:M(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&W(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&W(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function ih(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:M(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>M(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ah(t){return{not:_e(t)}}function ch(t){return _e(t)}var uh=(t,e)=>M(t.innerType._def,e);var lh=(t,e,r)=>{switch(e){case S.ZodString:return Ys(t,r);case S.ZodNumber:return eh(t,r);case S.ZodObject:return th(t,r);case S.ZodBigInt:return Dm(t,r);case S.ZodBoolean:return Zm();case S.ZodDate:return ju(t,r);case S.ZodUndefined:return ah(r);case S.ZodNull:return Wm(r);case S.ZodArray:return Mm(t,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Xm(t,r);case S.ZodIntersection:return Hm(t,r);case S.ZodTuple:return ih(t,r);case S.ZodRecord:return Xs(t,r);case S.ZodLiteral:return Vm(t,r);case S.ZodEnum:return Fm(t);case S.ZodNativeEnum:return Jm(t);case S.ZodNullable:return Qm(t,r);case S.ZodOptional:return rh(t,r);case S.ZodMap:return Km(t,r);case S.ZodSet:return sh(t,r);case S.ZodLazy:return()=>t.getter()._def;case S.ZodPromise:return oh(t,r);case S.ZodNaN:case S.ZodNever:return Gm(r);case S.ZodEffects:return Um(t,r);case S.ZodAny:return _e(r);case S.ZodUnknown:return ch(r);case S.ZodDefault:return qm(t,r);case S.ZodBranded:return Ws(t,r);case S.ZodReadonly:return uh(t,r);case S.ZodCatch:return Lm(t,r);case S.ZodPipeline:return nh(t,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(e)}};function M(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==Nm)return a}if(n&&!r){let a=dw(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=lh(t,t.typeName,e),i=typeof s=="function"?M(s(),e):s;if(i&&pw(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var dw=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Gs(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),_e(e)):e.$refStrategy==="seen"?_e(e):void 0}},pw=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Zu=(t,e)=>{let r=jm(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:M(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??_e(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=M(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??_e(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function fw(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function Lu(t,e){return nt(t)?iu(t,{target:fw(e?.target),io:e?.pipeStrategy??"input"}):Zu(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function qu(t){let r=tr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=ws(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Uu(t,e){let r=er(t,e);if(!r.success)throw r.error;return r.data}var mw=6e4,Qs=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Os,r=>{this._oncancel(r)}),this.setNotificationHandler(Cs,r=>{this._onprogress(r)}),this.setRequestHandler(Is,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Ns,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(js,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new O(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new O(N.InvalidParams,`Task not found: ${s}`);if(!nr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(nr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[rr]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(Ms,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new O(N.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Zs,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(N.InvalidParams,`Task not found: ${r.params.taskId}`);if(nr(o.status))throw new O(N.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new O(N.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof O?o:new O(N.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),O.fromError(N.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),no(s)||km(s)?this._onresponse(s):vu(s)?this._onrequest(s,i):bm(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=O.fromError(N.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[rr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:N.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=ym(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new O(N.ConnectionClosed,"Request was cancelled");let m={...f,relatedRequestId:e.id};s&&!m.relatedTask&&(m.relatedTask={taskId:s});let p=m.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,m)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:N.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),no(e))n(e);else{let i=new O(e.error.code,e.error.message,e.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(no(e)&&e.result&&typeof e.result=="object"){let i=e.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),no(e))o(e);else{let i=O.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}return}let s;try{let i=await this.request(e,fn,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new O(N.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},nr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new O(N.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new O(N.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof O?i:new O(N.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=v=>{l(v)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(v){d(v);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,m={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),m.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(m.params={...m.params,task:a}),c&&(m.params={...m.params,_meta:{...m.params?._meta||{},[rr]:c}});let p=v=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(v)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>this._onerror(new Error(`Failed to send cancellation: ${w}`)));let b=v instanceof O?v:new O(N.RequestTimeout,String(v));l(b)};this._responseHandlers.set(f,v=>{if(!n?.signal?.aborted){if(v instanceof Error)return l(v);try{let b=er(r,v.result);b.success?u(b.data):l(b.error)}catch(b){l(b)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let h=n?.timeout??mw,g=()=>p(O.fromError(N.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let y=c?.taskId;if(y){let v=b=>{let w=this._responseHandlers.get(f);w?w(b):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,v),this._enqueueTaskMessage(y,{type:"request",message:m,timestamp:Date.now()}).catch(b=>{this._cleanupTimeout(f),l(b)})}else this._transport.send(m,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(v=>{this._cleanupTimeout(f),l(v)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},As,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},Ds,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},$m,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[rr]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[rr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[rr]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=qu(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=Uu(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=qu(e);this._notificationHandlers.set(n,o=>{let s=Uu(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&vu(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new O(N.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new O(N.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new O(N.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new O(N.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=co.parse({method:"notifications/tasks/status",params:a});await this.notification(c),nr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new O(N.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(nr(a.status))throw new O(N.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=co.parse({method:"notifications/tasks/status",params:c});await this.notification(u),nr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function dh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function ph(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];dh(i)&&dh(s)?r[o]={...i,...s}:r[o]=s}return r}var X_=_p(Ed(),1),Q_=_p(Y_(),1);function sR(){let t=new X_.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Q_.default)(t),t}var Ai=class{constructor(e){this._ajv=e??sR()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var ji=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function ey(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function ty(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var Mi=class extends Qs{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(lo.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Ai,this.setRequestHandler(Su,n=>this._oninitialize(n)),this.setNotificationHandler(wu,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Ou,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=lo.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new ji(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=ph(this._capabilities,e)}setRequestHandler(e,r){let o=tr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(nt(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let l=er(hn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new O(N.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=er(fn,f);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new O(N.InvalidParams,`Invalid task creation result: ${h}`)}return p.data}let m=er(Bs,f);if(!m.success){let p=m.error instanceof Error?m.error.message:String(m.error);throw new O(N.InvalidParams,`Invalid tools/call result: ${p}`)}return m.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){ty(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&ey(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:hm.includes(r)?r:yu,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"},zs)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},Cu,r):this.request({method:"sampling/createMessage",params:e},Iu,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},Ks,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},Ks,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new O(N.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof O?i:new O(N.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},Nu,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var ny=Symbol.for("mcp.completable");function Ad(t){return!!t&&typeof t=="object"&&ny in t}function oy(t){return t[ny]?.complete}var ry;(function(t){t.Completable="McpCompletable"})(ry||(ry={}));var iR=/^[A-Za-z0-9._-]{1,128}$/;function aR(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!iR.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function cR(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function jd(t){let e=aR(t);return cR(t,e.warnings),e.isValid}var Di=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var Zi=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Mi(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new Di(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(pr(Vs)),this.server.assertCanSetRequestHandler(pr(hn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Vs,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=dn(r.inputSchema);return o?Lu(o,{strictUnions:!0,pipeStrategy:"input"}):uR})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=dn(r.outputSchema);o&&(n.outputSchema=Lu(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(hn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new O(N.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new O(N.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new O(N.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof O&&n.code===N.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=dn(e.inputSchema)??e.inputSchema,i=await ks(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=Ss(a);throw new O(N.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new O(N.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=dn(e.outputSchema),s=await ks(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=Ss(i);throw new O(N.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new O(N.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(pr(Js)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Js,async e=>{switch(e.params.ref.type){case"ref/prompt":return Om(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return Im(e),this.handleResourceCompletion(e,e.params.ref);default:throw new O(N.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new O(N.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Uo;let s=tr(n.argsSchema)?.[e.params.argument.name];if(!Ad(s))return Uo;let i=oy(s);if(!i)return Uo;let a=await i(e.params.argument.value,e.params.context);return iy(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Uo;throw new O(N.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return Uo;let s=await o(e.params.argument.value,e.params.context);return iy(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(pr(Ls)),this.server.assertCanSetRequestHandler(pr(qs)),this.server.assertCanSetRequestHandler(pr(Us)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(Ls,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(qs,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(Us,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new O(N.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new O(N.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(pr(Fs)),this.server.assertCanSetRequestHandler(pr(Hs)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Fs,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?dR(r.argsSchema):void 0}))})),this.server.setRequestHandler(Hs,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new O(N.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new O(N.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=dn(n.argsSchema),s=await ks(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=Ss(c);throw new O(N.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Zr(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=Zr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Fe?c._def?.innerType:c;return Ad(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){jd(e);let l={title:r,description:n,inputSchema:sy(o),outputSchema:sy(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&jd(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Zr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Zr(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];Md(c)?(o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!Md(r[0])&&(i=r.shift())):typeof c=="object"&&c!==null&&(i=r.shift())}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var uR={type:"object",properties:{}};function ay(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function lR(t){return"_def"in t||"_zod"in t||ay(t)}function Md(t){return typeof t!="object"||t===null||lR(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(ay)}function sy(t){if(t)return Md(t)?Zr(t):t}function dR(t){let e=tr(t);return e?Object.entries(e).map(([r,n])=>{let o=Bf(n),s=Kf(n);return{name:r,description:o,required:!s}}):[]}function pr(t){let r=tr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=ws(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function iy(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var Uo={completion:{values:[],hasMore:!1}};import uy from"node:process";var Li=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),pR(r)}clear(){this._buffer=void 0}};function pR(t){return Sm.parse(JSON.parse(t))}function cy(t){return JSON.stringify(t)+`
`}var qi=class{constructor(e=uy.stdin,r=uy.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new Li,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=cy(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{createRequire as fp}from"node:module";import{createHash as rz}from"node:crypto";import{existsSync as cx,unlinkSync as nz,readdirSync as oz,readFileSync as sz,rmSync as iz}from"node:fs";import{join as ra,dirname as Go,resolve as az}from"node:path";import{fileURLToPath as mp}from"node:url";import{homedir as ux,tmpdir as cz}from"node:os";import{spawn as hR,execSync as _y}from"node:child_process";import{mkdtempSync as gR,writeFileSync as my,rmSync as hy,existsSync as gy}from"node:fs";import{join as Fi,resolve as _R}from"node:path";import{tmpdir as yR}from"node:os";import{execSync as Dd}from"node:child_process";import{existsSync as fR}from"node:fs";var ly=process.platform==="win32";function Oe(t){try{let e=ly?`where ${t}`:`command -v ${t}`;return Dd(e,{stdio:"pipe"}),!0}catch{return!1}}function mR(){let t=["C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe"];for(let e of t)if(fR(e))return e;try{let r=Dd("where bash",{encoding:"utf-8",stdio:"pipe"}).trim().split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n of r){let o=n.toLowerCase();if(!(o.includes("system32")||o.includes("windowsapps")))return n}return null}catch{return null}}function xt(t){try{return Dd(`${t} --version`,{encoding:"utf-8",stdio:["pipe","pipe","pipe"],timeout:5e3}).trim().split(/\r?\n/)[0]}catch{return"unknown"}}function Ui(){let t=Oe("bun");return{javascript:t?"bun":"node",typescript:t?"bun":Oe("tsx")?"tsx":Oe("ts-node")?"ts-node":null,python:Oe("python3")?"python3":Oe("python")?"python":null,shell:ly?mR()??(Oe("sh")?"sh":Oe("powershell")?"powershell":"cmd.exe"):Oe("bash")?"bash":"sh",ruby:Oe("ruby")?"ruby":null,go:Oe("go")?"go":null,rust:Oe("rustc")?"rustc":null,php:Oe("php")?"php":null,perl:Oe("perl")?"perl":null,r:Oe("Rscript")?"Rscript":Oe("r")?"r":null,elixir:Oe("elixir")?"elixir":null}}function Zd(){return Oe("bun")}function dy(t){let e=[],r=t.javascript==="bun";return e.push(` JavaScript: ${t.javascript} (${xt(t.javascript)})${r?" \u26A1":""}`),t.typescript?e.push(` TypeScript: ${t.typescript} (${xt(t.typescript)})`):e.push(" TypeScript: not available (install bun, tsx, or ts-node)"),t.python?e.push(` Python: ${t.python} (${xt(t.python)})`):e.push(" Python: not available"),e.push(` Shell: ${t.shell} (${xt(t.shell)})`),t.ruby&&e.push(` Ruby: ${t.ruby} (${xt(t.ruby)})`),t.go&&e.push(` Go: ${t.go} (${xt(t.go)})`),t.rust&&e.push(` Rust: ${t.rust} (${xt(t.rust)})`),t.php&&e.push(` PHP: ${t.php} (${xt(t.php)})`),t.perl&&e.push(` Perl: ${t.perl} (${xt(t.perl)})`),t.r&&e.push(` R: ${t.r} (${xt(t.r)})`),t.elixir&&e.push(` Elixir: ${t.elixir} (${xt(t.elixir)})`),r||(e.push(""),e.push(" Tip: Install Bun for 3-5x faster JS/TS execution \u2192 https://bun.sh")),e.join(`
`)}function py(t){let e=["javascript","shell"];return t.typescript&&e.push("typescript"),t.python&&e.push("python"),t.ruby&&e.push("ruby"),t.go&&e.push("go"),t.rust&&e.push("rust"),t.php&&e.push("php"),t.perl&&e.push("perl"),t.r&&e.push("r"),t.elixir&&e.push("elixir"),e}function fy(t,e,r){switch(e){case"javascript":return t.javascript==="bun"?["bun","run",r]:["node",r];case"typescript":if(!t.typescript)throw new Error("No TypeScript runtime available. Install one of: bun (recommended), tsx (npm i -g tsx), or ts-node.");return t.typescript==="bun"?["bun","run",r]:t.typescript==="tsx"?["tsx",r]:["ts-node",r];case"python":if(!t.python)throw new Error("No Python runtime available. Install python3 or python.");return[t.python,r];case"shell":return[t.shell,r];case"ruby":if(!t.ruby)throw new Error("Ruby not available. Install ruby.");return[t.ruby,r];case"go":if(!t.go)throw new Error("Go not available. Install go.");return["go","run",r];case"rust":{if(!t.rust)throw new Error("Rust not available. Install rustc via https://rustup.rs");return["__rust_compile_run__",r]}case"php":if(!t.php)throw new Error("PHP not available. Install php.");return["php",r];case"perl":if(!t.perl)throw new Error("Perl not available. Install perl.");return["perl",r];case"r":if(!t.r)throw new Error("R not available. Install R / Rscript.");return[t.r,r];case"elixir":if(!t.elixir)throw new Error("Elixir not available. Install elixir.");return["elixir",r]}}function Fo(t,e){if(Buffer.byteLength(t)<=e)return t;let r=t.split(`
`),n=Math.floor(e*.6),o=e-n,s=[],i=0;for(let f of r){let m=Buffer.byteLength(f)+1;if(i+m>n)break;s.push(f),i+=m}let a=[],c=0;for(let f=r.length-1;f>=s.length;f--){let m=Buffer.byteLength(r[f])+1;if(c+m>o)break;a.unshift(r[f]),c+=m}let u=r.length-s.length-a.length,l=Buffer.byteLength(t)-i-c,d=`
... [${u} lines / ${(l/1024).toFixed(1)}KB truncated \u2014 showing first ${s.length} + last ${a.length} lines] ...
`;return s.join(`
`)+d+a.join(`
`)}var fr=process.platform==="win32";function Ld(t){if(fr&&t.pid)try{_y(`taskkill /F /T /PID ${t.pid}`,{stdio:"pipe"})}catch{}else t.kill("SIGKILL")}var Hi=class{#e;#t;#r;#n;#o=new Set;constructor(e){this.#e=e?.maxOutputBytes??102400,this.#t=e?.hardCapBytes??100*1024*1024,this.#r=e?.projectRoot??process.cwd(),this.#n=e?.runtimes??Ui()}get runtimes(){return{...this.#n}}cleanupBackgrounded(){for(let e of this.#o)try{process.kill(e,"SIGTERM")}catch{}this.#o.clear()}async execute(e){let{language:r,code:n,timeout:o=3e4,background:s=!1}=e,i=gR(Fi(yR(),"ctx-mode-"));try{let a=this.#i(i,n,r),c=fy(this.#n,r,a);if(c[0]==="__rust_compile_run__")return await this.#a(a,i,o);let u=r==="shell"?this.#r:i,l=await this.#s(c,u,o,s);if(!l.backgrounded)try{hy(i,{recursive:!0,force:!0})}catch{}return l}catch(a){try{hy(i,{recursive:!0,force:!0})}catch{}throw a}}async executeFile(e){let{path:r,language:n,code:o,timeout:s=3e4}=e,i=_R(this.#r,r),a=this.#u(i,n,o);return this.execute({language:n,code:a,timeout:s})}#i(e,r,n){let o={javascript:"js",typescript:"ts",python:"py",shell:"sh",ruby:"rb",go:"go",rust:"rs",php:"php",perl:"pl",r:"R",elixir:"exs"};n==="go"&&!r.includes("package ")&&(r=`package main
import "fmt"
func main() {
${r}
}
`),n==="php"&&!r.trimStart().startsWith("<?")&&(r=`<?php
${r}`),n==="elixir"&&gy(Fi(this.#r,"mix.exs"))&&(r=`Path.wildcard(Path.join(${JSON.stringify(Fi(this.#r,"_build/dev/lib"))}, "*/ebin"))
|> Enum.each(&Code.prepend_path/1)
${r}`);let s=Fi(e,`script.${o[n]}`);return n==="shell"?my(s,r,{encoding:"utf-8",mode:448}):my(s,r,"utf-8"),s}async#a(e,r,n){let o=fr?".exe":"",s=e.replace(/\.rs$/,"")+o;try{_y(`rustc ${e} -o ${s}`,{cwd:r,timeout:Math.min(n,3e4),encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}catch(i){return{stdout:"",stderr:`Compilation failed:
${i instanceof Error?i.stderr||i.message:String(i)}`,exitCode:1,timedOut:!1}}return this.#s([s],r,n)}async#s(e,r,n,o=!1){return new Promise(s=>{let i=fr&&["tsx","ts-node","elixir"].includes(e[0]),a=e[0],c;fr&&e.length===2&&e[1]?c=[e[1].replace(/\\/g,"/")]:c=fr?e.slice(1).map(y=>y.replace(/\\/g,"/")):e.slice(1);let u=hR(a,c,{cwd:r,stdio:["ignore","pipe","pipe"],env:this.#c(r),shell:i}),l=!1,d=!1,f=setTimeout(()=>{if(l=!0,o){d=!0,u.pid&&this.#o.add(u.pid),u.unref(),u.stdout.destroy(),u.stderr.destroy();let y=Buffer.concat(m).toString("utf-8"),v=Buffer.concat(p).toString("utf-8"),b=this.#e;s({stdout:Fo(y,b),stderr:Fo(v,b),exitCode:0,timedOut:!0,backgrounded:!0})}else Ld(u)},n),m=[],p=[],h=0,g=!1;u.stdout.on("data",y=>{h+=y.length,h<=this.#t?m.push(y):g||(g=!0,Ld(u))}),u.stderr.on("data",y=>{h+=y.length,h<=this.#t?p.push(y):g||(g=!0,Ld(u))}),u.on("close",y=>{if(clearTimeout(f),d)return;let v=Buffer.concat(m).toString("utf-8"),b=Buffer.concat(p).toString("utf-8");g&&(b+=`
[output capped at ${(this.#t/1024/1024).toFixed(0)}MB \u2014 process killed]`);let w=this.#e,R=Fo(v,w),ie=Fo(b,w);s({stdout:R,stderr:ie,exitCode:l?1:y??1,timedOut:l})}),u.on("error",y=>{clearTimeout(f),!d&&s({stdout:"",stderr:y.message,exitCode:1,timedOut:!1})})})}#c(e){let r=process.env.HOME??process.env.USERPROFILE??e,n=["GH_TOKEN","GITHUB_TOKEN","GH_HOST","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","AWS_REGION","AWS_DEFAULT_REGION","AWS_PROFILE","GOOGLE_APPLICATION_CREDENTIALS","CLOUDSDK_CONFIG","DOCKER_HOST","KUBECONFIG","NPM_TOKEN","NODE_AUTH_TOKEN","npm_config_registry","HTTP_PROXY","HTTPS_PROXY","NO_PROXY","SSL_CERT_FILE","CURL_CA_BUNDLE","XDG_CONFIG_HOME","XDG_DATA_HOME","SSH_AUTH_SOCK","SSH_AGENT_PID","DIRENV_DIR","DIRENV_FILE","DIRENV_DIFF","DIRENV_WATCHES","DIRENV_LAYOUT_DIR","NIX_PATH","NIX_PROFILES","NIX_SSL_CERT_FILE","NIX_CC","NIX_STORE","NIX_BUILD_CORES","IN_NIX_SHELL","LOCALE_ARCHIVE","LD_LIBRARY_PATH","DYLD_LIBRARY_PATH","LIBRARY_PATH","C_INCLUDE_PATH","CPLUS_INCLUDE_PATH","PKG_CONFIG_PATH","CMAKE_PREFIX_PATH","GOPATH","GOROOT","CARGO_HOME","RUSTUP_HOME","ASDF_DIR","ASDF_DATA_DIR","MISE_DATA_DIR","VIRTUAL_ENV","CONDA_PREFIX","CONDA_DEFAULT_ENV","PYTHONPATH","GEM_HOME","GEM_PATH","BUNDLE_PATH","RBENV_ROOT","JAVA_HOME","SDKMAN_DIR"],o={PATH:process.env.PATH??(fr?"":"/usr/local/bin:/usr/bin:/bin"),HOME:r,TMPDIR:e,LANG:"en_US.UTF-8",PYTHONDONTWRITEBYTECODE:"1",PYTHONUNBUFFERED:"1",PYTHONUTF8:"1",NO_COLOR:"1"};if(fr){let s=["SYSTEMROOT","SystemRoot","COMSPEC","PATHEXT","USERPROFILE","APPDATA","LOCALAPPDATA","TEMP","TMP"];for(let c of s)process.env[c]&&(o[c]=process.env[c]);o.MSYS_NO_PATHCONV="1",o.MSYS2_ARG_CONV_EXCL="*";let i="C:\\Program Files\\Git\\usr\\bin",a="C:\\Program Files\\Git\\bin";o.PATH.includes(i)||(o.PATH=`${i};${a};${o.PATH}`)}for(let s of n)process.env[s]&&(o[s]=process.env[s]);if(!o.SSL_CERT_FILE){let s=fr?[]:["/etc/ssl/cert.pem","/etc/ssl/certs/ca-certificates.crt","/etc/pki/tls/certs/ca-bundle.crt","/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"];for(let i of s)if(gy(i)){o.SSL_CERT_FILE=i;break}}return o}#u(e,r,n){let o=JSON.stringify(e);switch(r){case"javascript":case"typescript":return`const FILE_CONTENT_PATH = ${o};
const FILE_CONTENT = require("fs").readFileSync(FILE_CONTENT_PATH, "utf-8");
${n}`;case"python":return`FILE_CONTENT_PATH = ${o}
with open(FILE_CONTENT_PATH, "r", encoding="utf-8") as _f:
FILE_CONTENT = _f.read()
${n}`;case"shell":{let s="'"+e.replace(/'/g,"'\\''")+"'";return`FILE_CONTENT_PATH=${s}
FILE_CONTENT=$(cat ${s})
${n}`}case"ruby":return`FILE_CONTENT_PATH = ${o}
FILE_CONTENT = File.read(FILE_CONTENT_PATH, encoding: "utf-8")
${n}`;case"go":return`package main
import (
"fmt"
"os"
)
var FILE_CONTENT_PATH = ${o}
func main() {
b, _ := os.ReadFile(FILE_CONTENT_PATH)
FILE_CONTENT := string(b)
_ = FILE_CONTENT
_ = fmt.Sprint()
${n}
}
`;case"rust":return`use std::fs;
fn main() {
let file_content_path = ${o};
let file_content = fs::read_to_string(file_content_path).unwrap();
${n}
}
`;case"php":return`<?php
$FILE_CONTENT_PATH = ${o};
$FILE_CONTENT = file_get_contents($FILE_CONTENT_PATH);
${n}`;case"perl":return`my $FILE_CONTENT_PATH = ${o};
open(my $fh, '<:encoding(UTF-8)', $FILE_CONTENT_PATH) or die "Cannot open: $!";
my $FILE_CONTENT = do { local $/; <$fh> };
close($fh);
${n}`;case"r":return`FILE_CONTENT_PATH <- ${o}
FILE_CONTENT <- readLines(FILE_CONTENT_PATH, warn=FALSE, encoding="UTF-8")
FILE_CONTENT <- paste(FILE_CONTENT, collapse="\\n")
${n}`;case"elixir":return`file_content_path = ${o}
file_content = File.read!(file_content_path)
${n}`}}};import{createRequire as xR}from"node:module";var qd=null;function yy(){return qd||(qd=xR(import.meta.url)("better-sqlite3")),qd}function xy(t){t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL")}import{readFileSync as vR,readdirSync as bR,unlinkSync as ky}from"node:fs";import{tmpdir as Sy}from"node:os";import{join as wy}from"node:path";var vy=new Set(["the","and","for","are","but","not","you","all","can","had","her","was","one","our","out","has","his","how","its","may","new","now","old","see","way","who","did","get","got","let","say","she","too","use","will","with","this","that","from","they","been","have","many","some","them","than","each","make","like","just","over","such","take","into","year","your","good","could","would","about","which","their","there","other","after","should","through","also","more","most","only","very","when","what","then","these","those","being","does","done","both","same","still","while","where","here","were","much","update","updates","updated","deps","dev","tests","test","add","added","fix","fixed","run","running","using"]);function kR(t,e="AND"){let r=t.replace(/['"(){}[\]*:^~]/g," ").split(/\s+/).filter(n=>n.length>0&&!["AND","OR","NOT","NEAR"].includes(n.toUpperCase()));return r.length===0?'""':r.map(n=>`"${n}"`).join(e==="OR"?" OR ":" ")}function SR(t,e="AND"){let r=t.replace(/["'(){}[\]*:^~]/g,"").trim();if(r.length<3)return"";let n=r.split(/\s+/).filter(o=>o.length>=3);return n.length===0?"":n.map(o=>`"${o}"`).join(e==="OR"?" OR ":" ")}function wR(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=Array.from({length:e.length+1},(n,o)=>o);for(let n=1;n<=t.length;n++){let o=[n];for(let s=1;s<=e.length;s++)o[s]=t[n-1]===e[s-1]?r[s-1]:1+Math.min(r[s],o[s-1],r[s-1]);r=o}return r[e.length]}function $R(t){return t<=4?1:t<=12?2:3}var by=4096;function $y(){let t=Sy(),e=0;try{let r=bR(t);for(let n of r){let o=n.match(/^context-mode-(\d+)\.db$/);if(!o)continue;let s=parseInt(o[1],10);if(s!==process.pid)try{process.kill(s,0)}catch{let i=wy(t,n);for(let a of["","-wal","-shm"])try{ky(i+a)}catch{}e++}}}catch{}return e}var Vi=class{#e;#t;#r;#n;#o;#i;#a;#s;#c;#u;#d;#p;#f;#m;#h;#g;#_;#y;#x;#v;constructor(e){let r=yy();this.#t=e??wy(Sy(),`context-mode-${process.pid}.db`),this.#e=new r(this.#t,{timeout:5e3}),xy(this.#e),this.#k(),this.#S()}cleanup(){try{this.#e.close()}catch{}for(let e of["","-wal","-shm"])try{ky(this.#t+e)}catch{}}#k(){this.#e.exec(`
CREATE TABLE IF NOT EXISTS sources (
id INTEGER PRIMARY KEY AUTOINCREMENT,
label TEXT NOT NULL,
chunk_count INTEGER NOT NULL DEFAULT 0,
code_chunk_count INTEGER NOT NULL DEFAULT 0,
indexed_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE VIRTUAL TABLE IF NOT EXISTS chunks USING fts5(
title,
content,
source_id UNINDEXED,
content_type UNINDEXED,
tokenize='porter unicode61'
);
CREATE VIRTUAL TABLE IF NOT EXISTS chunks_trigram USING fts5(
title,
content,
source_id UNINDEXED,
content_type UNINDEXED,
tokenize='trigram'
);
CREATE TABLE IF NOT EXISTS vocabulary (
word TEXT PRIMARY KEY
);
`)}#S(){this.#r=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count) VALUES (?, 0, 0)"),this.#n=this.#e.prepare("INSERT INTO sources (label, chunk_count, code_chunk_count) VALUES (?, ?, ?)"),this.#o=this.#e.prepare("INSERT INTO chunks (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#i=this.#e.prepare("INSERT INTO chunks_trigram (title, content, source_id, content_type) VALUES (?, ?, ?, ?)"),this.#a=this.#e.prepare("INSERT OR IGNORE INTO vocabulary (word) VALUES (?)"),this.#s=this.#e.prepare("DELETE FROM chunks WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#c=this.#e.prepare("DELETE FROM chunks_trigram WHERE source_id IN (SELECT id FROM sources WHERE label = ?)"),this.#u=this.#e.prepare("DELETE FROM sources WHERE label = ?"),this.#d=this.#e.prepare(`
SELECT
chunks.title,
chunks.content,
chunks.content_type,
sources.label,
bm25(chunks, 2.0, 1.0) AS rank,
highlight(chunks, 1, char(2), char(3)) AS highlighted
FROM chunks
JOIN sources ON sources.id = chunks.source_id
WHERE chunks MATCH ?
ORDER BY rank
LIMIT ?
`),this.#p=this.#e.prepare(`
SELECT
chunks.title,
chunks.content,
chunks.content_type,
sources.label,
bm25(chunks, 2.0, 1.0) AS rank,
highlight(chunks, 1, char(2), char(3)) AS highlighted
FROM chunks
JOIN sources ON sources.id = chunks.source_id
WHERE chunks MATCH ? AND sources.label LIKE ?
ORDER BY rank
LIMIT ?
`),this.#f=this.#e.prepare(`
SELECT
chunks_trigram.title,
chunks_trigram.content,
chunks_trigram.content_type,
sources.label,
bm25(chunks_trigram, 2.0, 1.0) AS rank,
highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
FROM chunks_trigram
JOIN sources ON sources.id = chunks_trigram.source_id
WHERE chunks_trigram MATCH ?
ORDER BY rank
LIMIT ?
`),this.#m=this.#e.prepare(`
SELECT
chunks_trigram.title,
chunks_trigram.content,
chunks_trigram.content_type,
sources.label,
bm25(chunks_trigram, 2.0, 1.0) AS rank,
highlight(chunks_trigram, 1, char(2), char(3)) AS highlighted
FROM chunks_trigram
JOIN sources ON sources.id = chunks_trigram.source_id
WHERE chunks_trigram MATCH ? AND sources.label LIKE ?
ORDER BY rank
LIMIT ?
`),this.#h=this.#e.prepare("SELECT word FROM vocabulary WHERE length(word) BETWEEN ? AND ?"),this.#g=this.#e.prepare("SELECT label, chunk_count as chunkCount FROM sources ORDER BY id DESC"),this.#_=this.#e.prepare(`SELECT c.title, c.content, c.content_type, s.label
FROM chunks c
JOIN sources s ON s.id = c.source_id
WHERE c.source_id = ?
ORDER BY c.rowid`),this.#y=this.#e.prepare("SELECT chunk_count FROM sources WHERE id = ?"),this.#x=this.#e.prepare("SELECT content FROM chunks WHERE source_id = ?"),this.#v=this.#e.prepare(`
SELECT
(SELECT COUNT(*) FROM sources) AS sources,
(SELECT COUNT(*) FROM chunks) AS chunks,
(SELECT COUNT(*) FROM chunks WHERE content_type = 'code') AS codeChunks
`)}index(e){let{content:r,path:n,source:o}=e;if(!r&&!n)throw new Error("Either content or path must be provided");let s=r??vR(n,"utf-8"),i=o??n??"untitled",a=this.#$(s);return this.#l(a,i,s)}indexPlainText(e,r,n=20){if(!e||e.trim().length===0)return this.#l([],r,"");let o=this.#T(e,n);return this.#l(o.map(s=>({...s,hasCode:!1})),r,e)}indexJSON(e,r,n=by){if(!e||e.trim().length===0)return this.indexPlainText("",r);let o;try{o=JSON.parse(e)}catch{return this.indexPlainText(e,r)}let s=[];return this.#b(o,[],s,n),s.length===0?this.indexPlainText(e,r):this.#l(s,r,e)}#l(e,r,n){let o=e.filter(a=>a.hasCode).length,i=this.#e.transaction(()=>{if(this.#s.run(r),this.#c.run(r),this.#u.run(r),e.length===0){let u=this.#r.run(r);return Number(u.lastInsertRowid)}let a=this.#n.run(r,e.length,o),c=Number(a.lastInsertRowid);for(let u of e){let l=u.hasCode?"code":"prose";this.#o.run(u.title,u.content,c,l),this.#i.run(u.title,u.content,c,l)}return c})();return n&&this.#w(n),{sourceId:i,label:r,totalChunks:e.length,codeChunks:o}}search(e,r=3,n,o="AND"){let s=kR(e,o),i=n?this.#p:this.#d,a=n?[s,`%${n}%`,r]:[s,r];return i.all(...a).map(u=>({title:u.title,content:u.content,source:u.label,rank:u.rank,contentType:u.content_type,highlighted:u.highlighted}))}searchTrigram(e,r=3,n,o="AND"){let s=SR(e,o);if(!s)return[];let i=n?this.#m:this.#f,a=n?[s,`%${n}%`,r]:[s,r];return i.all(...a).map(u=>({title:u.title,content:u.content,source:u.label,rank:u.rank,contentType:u.content_type,highlighted:u.highlighted}))}fuzzyCorrect(e){let r=e.toLowerCase().trim();if(r.length<3)return null;let n=$R(r.length),o=this.#h.all(r.length-n,r.length+n),s=null,i=n+1;for(let{word:a}of o){if(a===r)return null;let c=wR(r,a);c<i&&(i=c,s=a)}return i<=n?s:null}searchWithFallback(e,r=3,n){let o=this.search(e,r,n,"AND");if(o.length>0)return o.map(f=>({...f,matchLayer:"porter"}));let s=this.search(e,r,n,"OR");if(s.length>0)return s.map(f=>({...f,matchLayer:"porter"}));let i=this.searchTrigram(e,r,n,"AND");if(i.length>0)return i.map(f=>({...f,matchLayer:"trigram"}));let a=this.searchTrigram(e,r,n,"OR");if(a.length>0)return a.map(f=>({...f,matchLayer:"trigram"}));let c=e.toLowerCase().trim().split(/\s+/).filter(f=>f.length>=3),u=c.join(" "),d=c.map(f=>this.fuzzyCorrect(f)??f).join(" ");if(d!==u){let f=this.search(d,r,n,"AND");if(f.length>0)return f.map(g=>({...g,matchLayer:"fuzzy"}));let m=this.search(d,r,n,"OR");if(m.length>0)return m.map(g=>({...g,matchLayer:"fuzzy"}));let p=this.searchTrigram(d,r,n,"AND");if(p.length>0)return p.map(g=>({...g,matchLayer:"fuzzy"}));let h=this.searchTrigram(d,r,n,"OR");if(h.length>0)return h.map(g=>({...g,matchLayer:"fuzzy"}))}return[]}listSources(){return this.#g.all()}getChunksBySource(e){return this.#_.all(e).map(n=>({title:n.title,content:n.content,source:n.label,rank:0,contentType:n.content_type}))}getDistinctiveTerms(e,r=40){let n=this.#y.get(e);if(!n||n.chunk_count<3)return[];let o=n.chunk_count,s=2,i=Math.max(3,Math.ceil(o*.4)),a=new Map;for(let l of this.#x.iterate(e)){let d=new Set(l.content.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(f=>f.length>=3&&!vy.has(f)));for(let f of d)a.set(f,(a.get(f)??0)+1)}return Array.from(a.entries()).filter(([,l])=>l>=s&&l<=i).map(([l,d])=>{let f=Math.log(o/d),m=Math.min(l.length/20,.5),p=/[_]/.test(l),h=l.length>=12,g=p?1.5:h?.8:0;return{word:l,score:f+m+g}}).sort((l,d)=>d.score-l.score).slice(0,r).map(l=>l.word)}getStats(){let e=this.#v.get();return{sources:e?.sources??0,chunks:e?.chunks??0,codeChunks:e?.codeChunks??0}}close(){this.#e.close()}#w(e){let r=e.toLowerCase().split(/[^\p{L}\p{N}_-]+/u).filter(o=>o.length>=3&&!vy.has(o)),n=[...new Set(r)];this.#e.transaction(()=>{for(let o of n)this.#a.run(o)})()}#$(e,r=by){let n=[],o=e.split(`
`),s=[],i=[],a="",c=()=>{let l=i.join(`
`).trim();if(l.length===0)return;let d=this.#z(s,a),f=i.some(y=>/^`{3,}/.test(y));if(Buffer.byteLength(l)<=r){n.push({title:d,content:l,hasCode:f}),i=[];return}let m=l.split(/\n\n+/),p=[],h=1,g=()=>{if(p.length===0)return;let y=p.join(`
`).trim();if(y.length===0)return;let v=m.length>1?`${d} (${h})`:d;h++,n.push({title:v,content:y,hasCode:y.includes("```")}),p=[]};for(let y of m){p.push(y);let v=p.join(`
`);Buffer.byteLength(v)>r&&p.length>1&&(p.pop(),g(),p=[y])}g(),i=[]},u=0;for(;u<o.length;){let l=o[u];if(/^[-_*]{3,}\s*$/.test(l)){c(),u++;continue}let d=l.match(/^(#{1,4})\s+(.+)$/);if(d){c();let m=d[1].length,p=d[2].trim();for(;s.length>0&&s[s.length-1].level>=m;)s.pop();s.push({level:m,text:p}),a=p,i.push(l),u++;continue}let f=l.match(/^(`{3,})(.*)?$/);if(f){let m=f[1],p=[l];for(u++;u<o.length;){if(p.push(o[u]),o[u].startsWith(m)&&o[u].trim()===m){u++;break}u++}i.push(...p);continue}i.push(l),u++}return c(),n}#T(e,r){let n=e.split(/\n\s*\n/);if(n.length>=3&&n.length<=200&&n.every(c=>Buffer.byteLength(c)<5e3))return n.map((c,u)=>{let l=c.trim();return{title:l.split(`
`)[0].slice(0,80)||`Section ${u+1}`,content:l}}).filter(c=>c.content.length>0);let o=e.split(`
`);if(o.length<=r)return[{title:"Output",content:e}];let s=[],a=Math.max(r-2,1);for(let c=0;c<o.length;c+=a){let u=o.slice(c,c+r);if(u.length===0)break;let l=c+1,d=Math.min(c+u.length,o.length),f=u[0]?.trim().slice(0,80);s.push({title:f||`Lines ${l}-${d}`,content:u.join(`
`)})}return s}#b(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=JSON.stringify(e,null,2);if(Buffer.byteLength(i)<=o&&!(typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.values(e).some(c=>typeof c=="object"&&c!==null))){n.push({title:s,content:i,hasCode:!0});return}if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let a=Object.entries(e);if(a.length>0){for(let[c,u]of a)this.#b(u,[...r,c],n,o);return}n.push({title:s,content:i,hasCode:!0});return}if(Array.isArray(e)){this.#R(e,r,n,o);return}n.push({title:s,content:i,hasCode:!1})}#E(e){if(e.length===0)return null;let r=e[0];if(typeof r!="object"||r===null||Array.isArray(r))return null;let n=["id","name","title","path","slug","key","label"],o=r;for(let s of n)if(s in o&&(typeof o[s]=="string"||typeof o[s]=="number"))return s;return null}#P(e,r,n,o,s){let i=e?`${e} > `:"";if(!s)return r===n?`${i}[${r}]`:`${i}[${r}-${n}]`;let a=c=>String(c[s]);return o.length===1?`${i}${a(o[0])}`:o.length<=3?i+o.map(a).join(", "):`${i}${a(o[0])}\u2026${a(o[o.length-1])}`}#R(e,r,n,o){let s=r.length>0?r.join(" > "):"(root)",i=this.#E(e),a=[],c=0,u=l=>{if(a.length===0)return;let d=this.#P(s,c,l,a,i);n.push({title:d,content:JSON.stringify(a,null,2),hasCode:!0})};for(let l=0;l<e.length;l++){a.push(e[l]);let d=JSON.stringify(a,null,2);Buffer.byteLength(d)>o&&a.length>1&&(a.pop(),u(l-1),a=[e[l]],c=l)}u(c+a.length-1)}#z(e,r){return e.length===0?r||"Untitled":e.map(n=>n.text).join(" > ")}};import{readFileSync as Ey}from"node:fs";import{resolve as Cn}from"node:path";import{homedir as Py}from"node:os";function Ry(t){let e=t.match(/^Bash\((.+)\)$/);return e?e[1]:null}function TR(t){let e=t.match(/^(\w+)\((.+)\)$/);return e?{tool:e[1],glob:e[2]}:null}function ER(t){return t.replace(/[.*+?^${}()|[\]\\\/\-]/g,"\\$&")}function Ty(t){return t.replace(/[.+?^${}()|[\]\\\/\-]/g,"\\$&").replace(/\*/g,".*")}function PR(t,e=!1){let r,n=t.indexOf(":");if(n!==-1){let o=t.slice(0,n),s=t.slice(n+1),i=ER(o),a=Ty(s);r=`^${i}(\\s${a})?$`}else r=`^${Ty(t)}$`;return new RegExp(r,e?"i":"")}function RR(t,e=!1){let r="",n=0;for(;n<t.length;)t[n]==="*"&&t[n+1]==="*"?n+2<t.length&&t[n+2]==="/"?(r+="(.*/)?",n+=3):(r+=".*",n+=2):t[n]==="*"?(r+="[^/]*",n++):t[n]==="?"?(r+="[^/]",n++):(r+=t[n].replace(/[.+^${}()|[\]\\\/\-]/g,"\\$&"),n++);return new RegExp(`^${r}$`,e?"i":"")}function zR(t,e,r=!1){for(let n of e){let o=Ry(n);if(o&&PR(o,r).test(t))return n}return null}function OR(t){let e=[],r="",n=!1,o=!1,s=!1;for(let i=0;i<t.length;i++){let a=t[i],c=i>0?t[i-1]:"";a==="'"&&!o&&!s&&c!=="\\"?(n=!n,r+=a):a==='"'&&!n&&!s&&c!=="\\"?(o=!o,r+=a):a==="`"&&!n&&!o&&c!=="\\"?(s=!s,r+=a):!n&&!o&&!s?a===";"?(e.push(r.trim()),r=""):a==="|"&&t[i+1]==="|"||a==="&"&&t[i+1]==="&"?(e.push(r.trim()),r="",i++):a==="|"?(e.push(r.trim()),r=""):r+=a:r+=a}return r.trim()&&e.push(r.trim()),e.filter(i=>i.length>0)}function Ud(t){let e;try{e=Ey(t,"utf-8")}catch{return null}let r;try{r=JSON.parse(e)}catch{return null}let n=r?.permissions;if(!n||typeof n!="object")return null;let o=s=>Array.isArray(s)?s.filter(i=>typeof i=="string"&&Ry(i)!==null):[];return{allow:o(n.allow),deny:o(n.deny),ask:o(n.ask)}}function Fd(t,e){let r=[];if(t){let s=Cn(t,".claude","settings.local.json"),i=Ud(s);i&&r.push(i);let a=Cn(t,".claude","settings.json"),c=Ud(a);c&&r.push(c)}let n=e??Cn(Py(),".claude","settings.json"),o=Ud(n);return o&&r.push(o),r}function zy(t,e,r){let n=[],o=a=>{let c;try{c=Ey(a,"utf-8")}catch{return null}let u;try{u=JSON.parse(c)}catch{return null}let l=u?.permissions?.deny;if(!Array.isArray(l))return[];let d=[];for(let f of l){if(typeof f!="string")continue;let m=TR(f);m&&m.tool===t&&d.push(m.glob)}return d};if(e){let a=o(Cn(e,".claude","settings.local.json"));a!==null&&n.push(a);let c=o(Cn(e,".claude","settings.json"));c!==null&&n.push(c)}let s=r??Cn(Py(),".claude","settings.json"),i=o(s);return i!==null&&n.push(i),n}function Hd(t,e,r=process.platform==="win32"){let n=OR(t);for(let o of n)for(let s of e){let i=zR(o,s.deny,r);if(i)return{decision:"deny",matchedPattern:i}}return{decision:"allow"}}function Oy(t,e,r=process.platform==="win32"){let n=t.replace(/\\/g,"/");for(let o of e)for(let s of o)if(RR(s,r).test(n))return{denied:!0,matchedPattern:s};return{denied:!1}}var IR={python:[/os\.system\(\s*(['"])(.*?)\1\s*\)/g,/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*(['"])(.*?)\1/g],javascript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],typescript:[/exec(?:Sync|File|FileSync)?\(\s*(['"`])(.*?)\1/g,/spawn(?:Sync)?\(\s*(['"`])(.*?)\1/g],ruby:[/system\(\s*(['"])(.*?)\1/g,/`(.*?)`/g],go:[/exec\.Command\(\s*(['"`])(.*?)\1/g],php:[/shell_exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])exec\(\s*(['"`])(.*?)\1/g,/(?:^|[^.])system\(\s*(['"`])(.*?)\1/g,/passthru\(\s*(['"`])(.*?)\1/g,/proc_open\(\s*(['"`])(.*?)\1/g],rust:[/Command::new\(\s*(['"`])(.*?)\1/g]};function CR(t){let e=[],r=/subprocess\.(?:run|call|Popen|check_output|check_call)\(\s*\[([^\]]+)\]/g,n;for(;(n=r.exec(t))!==null;){let s=[...n[1].matchAll(/(['"])(.*?)\1/g)].map(i=>i[2]);s.length>0&&e.push(s.join(" "))}return e}function Iy(t,e){let r=IR[e];if(!r&&e!=="python")return[];let n=[];if(r)for(let o of r){o.lastIndex=0;let s;for(;(s=o.exec(t))!==null;){let i=s[s.length-1];i&&n.push(i)}}return e==="python"&&n.push(...CR(t)),n}function Vd(t){let{language:e,exitCode:r,stdout:n,stderr:o}=t,s=e==="shell"&&r===1&&n.trim().length>0;return{isError:!s,output:s?n:`Exit code: ${r}
stdout:
${n}
stderr:
${o}`}}var lx="1.0.9";process.on("unhandledRejection",t=>{process.stderr.write(`[context-mode] unhandledRejection: ${t}
`)});process.on("uncaughtException",t=>{process.stderr.write(`[context-mode] uncaughtException: ${t?.message??t}
`)});var hp=Ui(),uz=py(hp),Nt=new Zi({name:"context-mode",version:lx}),Wo=new Hi({runtimes:hp,projectRoot:process.env.CLAUDE_PROJECT_DIR}),Dn=null;function lz(t){try{let e=ra(ux(),".claude","context-mode","sessions");if(!cx(e))return;let r=oz(e).filter(n=>n.endsWith("-events.md"));for(let n of r){let o=ra(e,n);try{t.index({path:o,source:"session-events"}),nz(o)}catch{}}}catch{}}function Yo(){return Dn||(Dn=new Vi),lz(Dn),Dn}var qe={calls:{},bytesReturned:{},bytesIndexed:0,bytesSandboxed:0,sessionStart:Date.now()};function J(t,e){let r=e.content.reduce((n,o)=>n+Buffer.byteLength(o.text),0);return qe.calls[t]=(qe.calls[t]||0)+1,qe.bytesReturned[t]=(qe.bytesReturned[t]||0)+r,e}function gr(t){qe.bytesIndexed+=t}function gp(t,e){try{let r=Fd(process.env.CLAUDE_PROJECT_DIR),n=Hd(t,r);if(n.decision==="deny")return J(e,{content:[{type:"text",text:`Command blocked by security policy: matches deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}function dx(t,e,r){try{let n=Iy(t,e);if(n.length===0)return null;let o=Fd(process.env.CLAUDE_PROJECT_DIR);for(let s of n){let i=Hd(s,o);if(i.decision==="deny")return J(r,{content:[{type:"text",text:`Command blocked by security policy: embedded shell command "${s}" matches deny pattern ${i.matchedPattern}`}],isError:!0})}}catch{}return null}function dz(t,e){try{let r=zy("Read",process.env.CLAUDE_PROJECT_DIR),n=Oy(t,r);if(n.denied)return J(e,{content:[{type:"text",text:`File access blocked by security policy: path matches Read deny pattern ${n.matchedPattern}`}],isError:!0})}catch{}return null}var pz=uz.join(", "),fz=Zd()?" (Bun detected \u2014 JS/TS runs 3-5x faster)":"",mz="",hz="";function gz(t){let e=[],r=0,n=0;for(;n<t.length;)if(t[n]===mz){for(e.push(r),n++;n<t.length&&t[n]!==hz;)r++,n++;n<t.length&&n++}else r++,n++;return e}function px(t,e,r=1500,n){if(t.length<=r)return t;let o=[];if(n)for(let u of gz(n))o.push(u);if(o.length===0){let u=e.toLowerCase().split(/\s+/).filter(d=>d.length>2),l=t.toLowerCase();for(let d of u){let f=l.indexOf(d);for(;f!==-1;)o.push(f),f=l.indexOf(d,f+1)}}if(o.length===0)return t.slice(0,r)+`
\u2026`;o.sort((u,l)=>u-l);let s=300,i=[];for(let u of o){let l=Math.max(0,u-s),d=Math.min(t.length,u+s);i.length>0&&l<=i[i.length-1][1]?i[i.length-1][1]=d:i.push([l,d])}let a=[],c=0;for(let[u,l]of i){if(c>=r)break;let d=t.slice(u,Math.min(l,u+(r-c)));a.push((u>0?"\u2026":"")+d+(l<t.length?"\u2026":"")),c+=d.length}return a.join(`
`)}Nt.registerTool("ctx_execute",{title:"Execute Code",description:`MANDATORY: Use for any command where output exceeds 20 lines. Execute code in a sandboxed subprocess. Only stdout enters context \u2014 raw data stays in the subprocess.${fz} Available: ${pz}.
PREFER THIS OVER BASH for: API calls (gh, curl, aws), test runners (npm test, pytest), git queries (git log, git diff), data processing, and ANY CLI command that may produce large output. Bash should only be used for file mutations, git writes, and navigation.`,inputSchema:H.object({language:H.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:H.string().describe("Source code to execute. Use console.log (JS/TS), print (Python/Ruby/Perl/R), echo (Shell), echo (PHP), fmt.Println (Go), or IO.puts (Elixir) to output a summary to context."),timeout:H.number().optional().default(3e4).describe("Max execution time in ms"),background:H.boolean().optional().default(!1).describe("Keep process running after timeout (for servers/daemons). Returns partial output without killing the process. IMPORTANT: Do NOT add setTimeout/self-close timers in background scripts \u2014 the process must stay alive until the timeout detaches it. For server+fetch patterns, prefer putting both server and fetch in ONE ctx_execute call instead of using background."),intent:H.string().optional().describe(`What you're looking for in the output. When provided and output is large (>5KB), indexes output into knowledge base and returns section titles + previews \u2014 not full content. Use search(queries: [...]) to retrieve specific sections. Example: 'failing tests', 'HTTP 500 errors'.
TIP: Use specific technical terms, not just concepts. Check 'Searchable terms' in the response for available vocabulary.`)})},async({language:t,code:e,timeout:r,background:n,intent:o})=>{if(t==="shell"){let s=gp(e,"execute");if(s)return s}else{let s=dx(e,t,"execute");if(s)return s}try{let s=e;(t==="javascript"||t==="typescript")&&(s=`
let __cm_net=0;
// Report network bytes on process exit \u2014 works with both promise and callback patterns.
// process.on('exit') fires after all I/O completes, unlike .finally() which fires
// when __cm_main() resolves (immediately for callback-based http.get without await).
process.on('exit',()=>{if(__cm_net>0)try{process.stderr.write('__CM_NET__:'+__cm_net+'\\n')}catch{}});
;(function(__cm_req){
// Intercept globalThis.fetch
const __cm_f=globalThis.fetch;
globalThis.fetch=async(...a)=>{const r=await __cm_f(...a);
try{const cl=r.clone();const b=await cl.arrayBuffer();__cm_net+=b.byteLength}catch{}
return r};
// Shadow CJS require with http/https network tracking.
const __cm_hc=new Map();
const __cm_hm=new Set(['http','https','node:http','node:https']);
function __cm_wf(m,origFn){return function(...a){
const li=a.length-1;
if(li>=0&&typeof a[li]==='function'){const oc=a[li];a[li]=function(res){
res.on('data',function(c){__cm_net+=c.length});oc(res);};}
const req=origFn.apply(m,a);
const oOn=req.on.bind(req);
req.on=function(ev,cb,...r){
if(ev==='response'){return oOn(ev,function(res){
res.on('data',function(c){__cm_net+=c.length});cb(res);
},...r);}
return oOn(ev,cb,...r);
};
return req;
}}
var require=__cm_req?function(id){
const m=__cm_req(id);
if(!__cm_hm.has(id))return m;
const k=id.replace('node:','');
if(__cm_hc.has(k))return __cm_hc.get(k);
const w=Object.create(m);
if(typeof m.get==='function')w.get=__cm_wf(m,m.get);
if(typeof m.request==='function')w.request=__cm_wf(m,m.request);
__cm_hc.set(k,w);return w;
}:__cm_req;
if(__cm_req){if(__cm_req.resolve)require.resolve=__cm_req.resolve;
if(__cm_req.cache)require.cache=__cm_req.cache;}
async function __cm_main(){
${e}
}
__cm_main().catch(e=>{console.error(e);process.exitCode=1});${n?`
setInterval(()=>{},2147483647);`:""}
})(typeof require!=='undefined'?require:null);`);let i=await Wo.execute({language:t,code:s,timeout:r,background:n}),a=i.stderr?.match(/__CM_NET__:(\d+)/);if(a&&(qe.bytesSandboxed+=parseInt(a[1]),i.stderr=i.stderr.replace(/\n?__CM_NET__:\d+\n?/g,"")),i.timedOut){let u=i.stdout?.trim();return i.backgrounded&&u?J("ctx_execute",{content:[{type:"text",text:`${u}
_(process backgrounded after ${r}ms \u2014 still running)_`}]}):u?J("ctx_execute",{content:[{type:"text",text:`${u}
_(timed out after ${r}ms \u2014 partial output shown above)_`}]}):J("ctx_execute",{content:[{type:"text",text:`Execution timed out after ${r}ms
stderr:
${i.stderr}`}],isError:!0})}if(i.exitCode!==0){let{isError:u,output:l}=Vd({language:t,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(l)>na?(gr(Buffer.byteLength(l)),J("ctx_execute",{content:[{type:"text",text:oa(l,o,u?`execute:${t}:error`:`execute:${t}`)}],isError:u})):J("ctx_execute",{content:[{type:"text",text:l}],isError:u})}let c=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(c)>na?(gr(Buffer.byteLength(c)),J("ctx_execute",{content:[{type:"text",text:oa(c,o,`execute:${t}`)}]})):J("ctx_execute",{content:[{type:"text",text:c}]})}catch(s){let i=s instanceof Error?s.message:String(s);return J("ctx_execute",{content:[{type:"text",text:`Runtime error: ${i}`}],isError:!0})}});var na=5e3;function oa(t,e,r,n=5){let o=t.split(`
`).length,s=Buffer.byteLength(t),i=Yo(),a=i.indexPlainText(t,r),c=i.searchWithFallback(e,n,r),u=i.getDistinctiveTerms(a.sourceId);if(c.length===0){let d=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`No sections matched intent "${e}" in ${o}-line output (${(s/1024).toFixed(1)}KB).`];return u.length>0&&(d.push(""),d.push(`Searchable terms: ${u.join(", ")}`)),d.push(""),d.push("Use search() to explore the indexed content."),d.join(`
`)}let l=[`Indexed ${a.totalChunks} sections from "${r}" into knowledge base.`,`${c.length} sections matched "${e}" (${o} lines, ${(s/1024).toFixed(1)}KB):`,""];for(let d of c){let f=d.content.split(`
`)[0].slice(0,120);l.push(` - ${d.title}: ${f}`)}return u.length>0&&(l.push(""),l.push(`Searchable terms: ${u.join(", ")}`)),l.push(""),l.push("Use search(queries: [...]) to retrieve full content of any section."),l.join(`
`)}Nt.registerTool("ctx_execute_file",{title:"Execute File Processing",description:`Read a file and process it without loading contents into context. The file is read into a FILE_CONTENT variable inside the sandbox. Only your printed summary enters context.
PREFER THIS OVER Read/cat for: log files, data files (CSV, JSON, XML), large source files for analysis, and any file where you need to extract specific information rather than read the entire content.`,inputSchema:H.object({path:H.string().describe("Absolute file path or relative to project root"),language:H.enum(["javascript","typescript","python","shell","ruby","go","rust","php","perl","r","elixir"]).describe("Runtime language"),code:H.string().describe("Code to process FILE_CONTENT (file_content in Elixir). Print summary via console.log/print/echo/IO.puts."),timeout:H.number().optional().default(3e4).describe("Max execution time in ms"),intent:H.string().optional().describe("What you're looking for in the output. When provided and output is large (>5KB), returns only matching sections via BM25 search instead of truncated output.")})},async({path:t,language:e,code:r,timeout:n,intent:o})=>{let s=dz(t,"execute_file");if(s)return s;if(e==="shell"){let i=gp(r,"execute_file");if(i)return i}else{let i=dx(r,e,"execute_file");if(i)return i}try{let i=await Wo.executeFile({path:t,language:e,code:r,timeout:n});if(i.timedOut)return J("ctx_execute_file",{content:[{type:"text",text:`Timed out processing ${t} after ${n}ms`}],isError:!0});if(i.exitCode!==0){let{isError:c,output:u}=Vd({language:e,exitCode:i.exitCode,stdout:i.stdout,stderr:i.stderr});return o&&o.trim().length>0&&Buffer.byteLength(u)>na?(gr(Buffer.byteLength(u)),J("ctx_execute_file",{content:[{type:"text",text:oa(u,o,c?`file:${t}:error`:`file:${t}`)}],isError:c})):J("ctx_execute_file",{content:[{type:"text",text:u}],isError:c})}let a=i.stdout||"(no output)";return o&&o.trim().length>0&&Buffer.byteLength(a)>na?(gr(Buffer.byteLength(a)),J("ctx_execute_file",{content:[{type:"text",text:oa(a,o,`file:${t}`)}]})):J("ctx_execute_file",{content:[{type:"text",text:a}]})}catch(i){let a=i instanceof Error?i.message:String(i);return J("ctx_execute_file",{content:[{type:"text",text:`Runtime error: ${a}`}],isError:!0})}});Nt.registerTool("ctx_index",{title:"Index Content",description:`Index documentation or knowledge content into a searchable BM25 knowledge base. Chunks markdown by headings (keeping code blocks intact) and stores in ephemeral FTS5 database. The full content does NOT stay in context \u2014 only a brief summary is returned.
WHEN TO USE:
- Documentation from Context7, Skills, or MCP tools (API docs, framework guides, code examples)
- API references (endpoint details, parameter specs, response schemas)
- MCP tools/list output (exact tool signatures and descriptions)
- Skill prompts and instructions that are too large for context
- README files, migration guides, changelog entries
- Any content with code examples you may need to reference precisely
After indexing, use 'search' to retrieve specific sections on-demand.
Do NOT use for: log files, test output, CSV, build output \u2014 use 'execute_file' for those.`,inputSchema:H.object({content:H.string().optional().describe("Raw text/markdown to index. Provide this OR path, not both."),path:H.string().optional().describe("File path to read and index (content never enters context). Provide this OR content."),source:H.string().optional().describe("Label for the indexed content (e.g., 'Context7: React useEffect', 'Skill: frontend-design')")})},async({content:t,path:e,source:r})=>{if(!t&&!e)return J("ctx_index",{content:[{type:"text",text:"Error: Either content or path must be provided"}],isError:!0});try{if(t)gr(Buffer.byteLength(t));else if(e)try{let s=await import("fs");gr(s.readFileSync(e).byteLength)}catch{}let o=Yo().index({content:t,path:e,source:r});return J("ctx_index",{content:[{type:"text",text:`Indexed ${o.totalChunks} sections (${o.codeChunks} with code) from: ${o.label}
Use search(queries: ["..."]) to query this content. Use source: "${o.label}" to scope results.`}]})}catch(n){let o=n instanceof Error?n.message:String(n);return J("ctx_index",{content:[{type:"text",text:`Index error: ${o}`}],isError:!0})}});var Xr=0,lp=Date.now(),_z=6e4,ix=3,ax=8;Nt.registerTool("ctx_search",{title:"Search Indexed Content",description:`Search indexed content. Pass ALL search questions as queries array in ONE call.
TIPS: 2-4 specific terms per query. Use 'source' to scope results.`,inputSchema:H.object({queries:H.array(H.string()).optional().describe("Array of search queries. Batch ALL questions in one call."),limit:H.number().optional().default(3).describe("Results per query (default: 3)"),source:H.string().optional().describe("Filter to a specific indexed source (partial match).")})},async t=>{try{let e=Yo(),r=t,n=[];if(Array.isArray(r.queries)&&r.queries.length>0?n.push(...r.queries):typeof r.query=="string"&&r.query.length>0&&n.push(r.query),n.length===0)return J("ctx_search",{content:[{type:"text",text:"Error: provide query or queries."}],isError:!0});let{limit:o=3,source:s}=t,i=Date.now();if(i-lp>_z&&(Xr=0,lp=i),Xr++,Xr>ax)return J("ctx_search",{content:[{type:"text",text:`BLOCKED: ${Xr} search calls in ${Math.round((i-lp)/1e3)}s. You're flooding context. STOP making individual search calls. Use batch_execute(commands, queries) for your next research step.`}],isError:!0});let a=Xr>ix?1:Math.min(o,2),c=40*1024,u=0,l=[];for(let f of n){if(u>c){l.push(`## ${f}
(output cap reached)
`);continue}let m=e.searchWithFallback(f,a,s);if(m.length===0){l.push(`## ${f}
No results found.`);continue}let p=m.map((h,g)=>{let y=`--- [${h.source}] ---`,v=`### ${h.title}`,b=px(h.content,f,1500,h.highlighted);return`${y}
${v}
${b}`}).join(`
`);l.push(`## ${f}
${p}`),u+=p.length}let d=l.join(`
---
`);if(Xr>=ix&&(d+=`
\u26A0 search call #${Xr}/${ax} in this window. Results limited to ${a}/query. Batch queries: search(queries: ["q1","q2","q3"]) or use batch_execute.`),d.trim().length===0){let f=e.listSources(),m=f.length>0?`
Indexed sources: ${f.map(p=>`"${p.label}" (${p.chunkCount} sections)`).join(", ")}`:"";return J("ctx_search",{content:[{type:"text",text:`No results found.${m}`}]})}return J("ctx_search",{content:[{type:"text",text:d}]})}catch(e){let r=e instanceof Error?e.message:String(e);return J("ctx_search",{content:[{type:"text",text:`Search error: ${r}`}],isError:!0})}});var dp=null,pp=null;function yz(){return dp||(dp=fp(import.meta.url).resolve("turndown")),dp}function xz(){return pp||(pp=fp(import.meta.url).resolve("turndown-plugin-gfm")),pp}function vz(t,e){let r=JSON.stringify(yz()),n=JSON.stringify(xz()),o=JSON.stringify(e);return`
const TurndownService = require(${r});
const { gfm } = require(${n});
const fs = require('fs');
const url = ${JSON.stringify(t)};
const outputPath = ${o};
function emit(ct, content) {
// Write content to file to bypass executor stdout truncation (100KB limit).
// Only the content-type marker goes to stdout.
fs.writeFileSync(outputPath, content);
console.log('__CM_CT__:' + ct);
}
async function main() {
const resp = await fetch(url);
if (!resp.ok) { console.error("HTTP " + resp.status); process.exit(1); }
const contentType = resp.headers.get('content-type') || '';
// --- JSON responses ---
if (contentType.includes('application/json') || contentType.includes('+json')) {
const text = await resp.text();
try {
const pretty = JSON.stringify(JSON.parse(text), null, 2);
emit('json', pretty);
} catch {
emit('text', text);
}
return;
}
// --- HTML responses (default for text/html, application/xhtml+xml) ---
if (contentType.includes('text/html') || contentType.includes('application/xhtml')) {
const html = await resp.text();
const td = new TurndownService({ headingStyle: 'atx', codeBlockStyle: 'fenced' });
td.use(gfm);
td.remove(['script', 'style', 'nav', 'header', 'footer', 'noscript']);
emit('html', td.turndown(html));
return;
}
// --- Everything else: plain text, CSV, XML, etc. ---
const text = await resp.text();
emit('text', text);
}
main();
`}Nt.registerTool("ctx_fetch_and_index",{title:"Fetch & Index URL",description:`Fetches URL content, converts HTML to markdown, indexes into searchable knowledge base, and returns a ~3KB preview. Full content stays in sandbox \u2014 use search() for deeper lookups.
Better than WebFetch: preview is immediate, full content is searchable, raw HTML never enters context.
Content-type aware: HTML is converted to markdown, JSON is chunked by key paths, plain text is indexed directly.`,inputSchema:H.object({url:H.string().describe("The URL to fetch and index"),source:H.string().optional().describe("Label for the indexed content (e.g., 'React useEffect docs', 'Supabase Auth API')")})},async({url:t,source:e})=>{let r=ra(cz(),`ctx-fetch-${Date.now()}-${Math.random().toString(36).slice(2)}.dat`);try{let n=vz(t,r),o=await Wo.execute({language:"javascript",code:n,timeout:3e4});if(o.exitCode!==0)return J("ctx_fetch_and_index",{content:[{type:"text",text:`Failed to fetch ${t}: ${o.stderr||o.stdout}`}],isError:!0});let s=Yo(),i=(o.stdout||"").trim(),a;try{a=sz(r,"utf-8").trim()}catch{return J("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but could not read subprocess output`}],isError:!0})}if(a.length===0)return J("ctx_fetch_and_index",{content:[{type:"text",text:`Fetched ${t} but got empty content`}],isError:!0});gr(Buffer.byteLength(a));let c;i==="__CM_CT__:json"?c=s.indexJSON(a,e??t):i==="__CM_CT__:text"?c=s.indexPlainText(a,e??t):c=s.index({content:a,source:e??t});let u=3072,l=a.length>u?a.slice(0,u)+`
\u2026[truncated \u2014 use search() for full content]`:a,d=(Buffer.byteLength(a)/1024).toFixed(1),f=[`Fetched and indexed **${c.totalChunks} sections** (${d}KB) from: ${c.label}`,`Full content indexed in sandbox \u2014 use search(queries: [...], source: "${c.label}") for specific lookups.`,"","---","",l].join(`
`);return J("ctx_fetch_and_index",{content:[{type:"text",text:f}]})}catch(n){let o=n instanceof Error?n.message:String(n);return J("ctx_fetch_and_index",{content:[{type:"text",text:`Fetch error: ${o}`}],isError:!0})}finally{try{iz(r)}catch{}}});Nt.registerTool("ctx_batch_execute",{title:"Batch Execute & Search",description:`Execute multiple commands in ONE call, auto-index all output, and search with multiple queries. Returns search results directly \u2014 no follow-up calls needed.
THIS IS THE PRIMARY TOOL. Use this instead of multiple execute() calls.
One batch_execute call replaces 30+ execute calls + 10+ search calls.
Provide all commands to run and all queries to search \u2014 everything happens in one round trip.`,inputSchema:H.object({commands:H.array(H.object({label:H.string().describe("Section header for this command's output (e.g., 'README', 'Package.json', 'Source Tree')"),command:H.string().describe("Shell command to execute")})).min(1).describe("Commands to execute as a batch. Each runs sequentially, output is labeled with the section header."),queries:H.array(H.string()).min(1).describe("Search queries to extract information from indexed output. Use 5-8 comprehensive queries. Each returns top 5 matching sections with full content. This is your ONLY chance \u2014 put ALL your questions here. No follow-up calls needed."),timeout:H.number().optional().default(6e4).describe("Max execution time in ms (default: 60s)")})},async({commands:t,queries:e,timeout:r})=>{for(let n of t){let o=gp(n.command,"batch_execute");if(o)return o}try{let n=[],o=Date.now(),s=!1;for(let w of t){let R=Date.now()-o,ie=r-R;if(ie<=0){n.push(`# ${w.label}
(skipped \u2014 batch timeout exceeded)
`),s=!0;continue}let ae=await Wo.execute({language:"shell",code:`${w.command} 2>&1`,timeout:ie}),Ye=ae.stdout||"(no output)";if(n.push(`# ${w.label}
${Ye}
`),ae.timedOut){s=!0;let At=t.indexOf(w);for(let fe=At+1;fe<t.length;fe++)n.push(`# ${t[fe].label}
(skipped \u2014 batch timeout exceeded)
`);break}}let i=n.join(`
`),a=Buffer.byteLength(i),c=i.split(`
`).length;if(s&&n.length===0)return J("ctx_batch_execute",{content:[{type:"text",text:`Batch timed out after ${r}ms. No output captured.`}],isError:!0});gr(a);let u=Yo(),l=`batch:${t.map(w=>w.label).join(",").slice(0,80)}`,d=u.index({content:i,source:l}),f=u.getChunksBySource(d.sourceId),m=["## Indexed Sections",""],p=[];for(let w of f){let R=Buffer.byteLength(w.content);m.push(`- ${w.title} (${(R/1024).toFixed(1)}KB)`),p.push(w.title)}let h=80*1024,g=[],y=0;for(let w of e){if(y>h){g.push(`## ${w}
(output cap reached \u2014 use search(queries: ["${w}"]) for details)
`);continue}let R=u.searchWithFallback(w,3,l),ie=!1;if(R.length===0&&(R=u.searchWithFallback(w,3),ie=R.length>0),g.push(`## ${w}`),ie&&g.push("> **Note:** No results in current batch output. Showing results from previously indexed content."),g.push(""),R.length>0)for(let ae of R){let Ye=px(ae.content,w,3e3,ae.highlighted),At=ie?` _(source: ${ae.source})_`:"";g.push(`### ${ae.title}${At}`),g.push(Ye),g.push(""),y+=Ye.length+ae.title.length}else g.push("No matching sections found."),g.push("")}let v=u.getDistinctiveTerms?u.getDistinctiveTerms(d.sourceId):[],b=[`Executed ${t.length} commands (${c} lines, ${(a/1024).toFixed(1)}KB). Indexed ${d.totalChunks} sections. Searched ${e.length} queries.`,"",...m,"",...g,v.length>0?`
Searchable terms for follow-up: ${v.join(", ")}`:""].join(`
`);return J("ctx_batch_execute",{content:[{type:"text",text:b}]})}catch(n){let o=n instanceof Error?n.message:String(n);return J("ctx_batch_execute",{content:[{type:"text",text:`Batch execution error: ${o}`}],isError:!0})}});Nt.registerTool("ctx_stats",{title:"Session Statistics",description:"Returns context consumption statistics for the current session. Shows total bytes returned to context, breakdown by tool, call counts, estimated token usage, and context savings ratio.",inputSchema:H.object({})},async()=>{let t=Object.values(qe.bytesReturned).reduce((d,f)=>d+f,0),e=Object.values(qe.calls).reduce((d,f)=>d+f,0),n=((Date.now()-qe.sessionStart)/6e4).toFixed(1),o=qe.bytesIndexed+qe.bytesSandboxed,s=o+t,i=s/Math.max(t,1),a=s>0?((1-t/s)*100).toFixed(0):"0",c=d=>d>=1024*1024?`${(d/1024/1024).toFixed(1)}MB`:`${(d/1024).toFixed(1)}KB`,u=[`## context-mode \u2014 Session Report (${n} min)`];if(u.push("","### Context Window Protection",""),e===0)u.push("No context-mode tool calls yet. Use `batch_execute`, `execute`, or `fetch_and_index` to keep raw output out of your context window.");else{u.push("| Metric | Value |","|--------|------:|",`| Total data processed | **${c(s)}** |`,`| Kept in sandbox (never entered context) | **${c(o)}** |`,`| Entered context | ${c(t)} |`,`| Estimated tokens saved | ~${Math.round(o/4).toLocaleString()} |`,`| **Context savings** | **${i.toFixed(1)}x (${a}% reduction)** |`);let d=new Set([...Object.keys(qe.calls),...Object.keys(qe.bytesReturned)]);if(d.size>0){u.push("","| Tool | Calls | Context | Tokens |","|------|------:|--------:|-------:|");for(let f of Array.from(d).sort()){let m=qe.calls[f]||0,p=qe.bytesReturned[f]||0,h=Math.round(p/4);u.push(`| ${f} | ${m} | ${c(p)} | ~${h.toLocaleString()} |`)}u.push(`| **Total** | **${e}** | **${c(t)}** | **~${Math.round(t/4).toLocaleString()}** |`)}o>0&&u.push("",`Without context-mode, **${c(s)}** of raw output would flood your context window. Instead, **${a}%** stayed in sandbox.`)}try{let d=process.env.CLAUDE_PROJECT_DIR||process.cwd(),f=rz("sha256").update(d).digest("hex").slice(0,16),m=ra(ux(),".claude","context-mode","sessions",`${f}.db`);if(cx(m)){let h=fp(import.meta.url)("better-sqlite3"),g=new h(m,{readonly:!0}),y=g.prepare("SELECT COUNT(*) as cnt FROM session_events").get(),v=g.prepare("SELECT category, COUNT(*) as cnt FROM session_events GROUP BY category ORDER BY cnt DESC").all(),b=g.prepare("SELECT compact_count FROM session_meta ORDER BY started_at DESC LIMIT 1").get(),w=g.prepare("SELECT event_count, consumed FROM session_resume ORDER BY created_at DESC LIMIT 1").get();if(y.cnt>0){let R=b?.compact_count??0,ie=g.prepare("SELECT category, type, data FROM session_events ORDER BY id DESC").all(),ae=new Map;for(let fe of ie){ae.has(fe.category)||ae.set(fe.category,new Set);let Kt=ae.get(fe.category);if(Kt.size<5){let je=fe.data;fe.category==="file"?je=fe.data.split("/").pop()||fe.data:fe.category==="prompt"&&(je=je.length>50?je.slice(0,47)+"...":je),je.length>40&&(je=je.slice(0,37)+"..."),Kt.add(je)}}let Ye={file:"Files tracked",rule:"Project rules (CLAUDE.md)",prompt:"Your requests saved",mcp:"Plugin tools used",git:"Git operations",env:"Environment setup",error:"Errors caught",task:"Tasks in progress",decision:"Your decisions",cwd:"Working directory",skill:"Skills used",subagent:"Delegated work",intent:"Session mode",data:"Data references",role:"Behavioral directives"},At={file:"Restored after compact \u2014 no need to re-read",rule:"Your project instructions survive context resets",prompt:"Continues exactly where you left off",decision:"Applied automatically \u2014 won't ask again",task:"Picks up from where it stopped",error:"Tracked and monitored across compacts",git:"Branch, commit, and repo state preserved",env:"Runtime config carried forward",mcp:"Tool usage patterns remembered",subagent:"Delegation history preserved",skill:"Skill invocations tracked"};u.push("","### Session Continuity","","| What's preserved | Count | I remember... | Why it matters |","|------------------|------:|---------------|----------------|");for(let fe of v){let Kt=Ye[fe.category]||fe.category,je=ae.get(fe.category),Xo=je?Array.from(je).join(", "):"",sa=At[fe.category]||"Survives context resets";u.push(`| ${Kt} | ${fe.cnt} | ${Xo} | ${sa} |`)}u.push(`| **Total** | **${y.cnt}** | | **Zero knowledge lost on compact** |`),u.push(""),R>0?u.push(`Context has been compacted **${R} time(s)** \u2014 session knowledge was preserved each time.`):u.push("When your context compacts, all of this will restore Claude's awareness \u2014 no starting from scratch."),w&&!w.consumed&&u.push(`Resume snapshot ready (${w.event_count} events) for the next compaction.`),u.push(""),u.push("> **Note:** Previous session data is loaded when you start a new session. Without `--continue`, old session history is cleaned up to keep the database lean.")}g.close()}}catch{}u.push("","---","_Display this entire report as-is in your response. Do NOT summarize, collapse, or paraphrase any section._");let l=u.join(`
`);return J("ctx_stats",{content:[{type:"text",text:l}]})});Nt.registerTool("ctx_doctor",{title:"Run Diagnostics",description:"Diagnose context-mode installation. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a markdown checklist.",inputSchema:H.object({})},async()=>{let r=["## ctx-doctor","","Run this command using your shell execution tool:","","```",`node "${Go(Go(mp(import.meta.url)))}/build/cli.js" doctor`,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for PASS, `[ ]` for FAIL, `[-]` for WARN","- Example format:"," ```"," ## context-mode doctor"," - [x] Runtimes: 6/10 (javascript, typescript, python, shell, ruby, perl)"," - [x] Performance: FAST (Bun)"," - [x] Server test: PASS"," - [x] Hooks: PASS"," - [x] FTS5: PASS"," - [x] npm: v0.9.23"," ```"].join(`
`);return J("ctx_doctor",{content:[{type:"text",text:r}]})});Nt.registerTool("ctx_upgrade",{title:"Upgrade Plugin",description:"Upgrade context-mode to the latest version. Returns a shell command to execute. You MUST run the returned command using your shell tool (Bash, shell_execute, run_in_terminal, etc.) and display the output as a checklist. Tell the user to restart their session after upgrade.",inputSchema:H.object({})},async()=>{let r=["## ctx-upgrade","","Run this command using your shell execution tool:","","```",`node "${Go(Go(mp(import.meta.url)))}/build/cli.js" upgrade`,"```","","After the command completes, display results as a markdown checklist:","- `[x]` for success, `[ ]` for failure","- Example format:"," ```"," ## context-mode upgrade"," - [x] Pulled latest from GitHub"," - [x] Built and installed v0.9.24"," - [x] npm global updated"," - [x] Hooks configured"," - [x] Doctor: all checks PASS"," ```","- Tell the user to restart their session to pick up the new version."].join(`
`);return J("ctx_upgrade",{content:[{type:"text",text:r}]})});async function bz(){let t=$y();t>0&&console.error(`Cleaned up ${t} stale DB file(s) from previous sessions`);let e=()=>{Wo.cleanupBackgrounded(),Dn&&Dn.cleanup()};process.on("exit",e),process.on("SIGINT",()=>{e(),process.exit(0)}),process.on("SIGTERM",()=>{e(),process.exit(0)});let r=new qi;await Nt.connect(r);try{let{detectPlatform:n,getAdapter:o}=await Promise.resolve().then(()=>(sx(),ox)),s=n(),i=await o(s.platform);if(!i.capabilities.sessionStart){let a=az(Go(mp(import.meta.url)),".."),c=process.env.CLAUDE_PROJECT_DIR??process.env.CODEX_HOME??process.cwd(),u=i.writeRoutingInstructions(c,a);u&&console.error(`Wrote routing instructions: ${u}`)}}catch{}console.error(`Context Mode MCP server v${lx} running on stdio`),console.error(`Detected runtimes:
${dy(hp)}`),Zd()||(console.error(`
Performance tip: Install Bun for 3-5x faster JS/TS execution`),console.error(" curl -fsSL https://bun.sh/install | bash"))}bz().catch(t=>{console.error("Fatal:",t),process.exit(1)});export{px as extractSnippet,gz as positionsFromHighlight};