@mrxsys/mrx-core 2.3.5-canary-20250516-82ef1fb → 2.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,61 @@
1
1
 
2
+ ## v2.3.5
3
+
4
+ [compare changes](https://github.com/MRX-Systems/MRX-Core/compare/v2.3.5-canary-20250520-f78ef3f...v2.3.5)
5
+
6
+ ### 🦉 Chore
7
+
8
+ - **🦉:** V2.3.5-canary-20250520-f78ef3f ([9dcef466](https://github.com/MRX-Systems/MRX-Core/commit/9dcef466))
9
+ - **🦉:** V2.3.5-canary-20250520-f78ef3f ([84e1c9e5](https://github.com/MRX-Systems/MRX-Core/commit/84e1c9e5))
10
+
11
+ ### ❤️ Contributors
12
+
13
+ - Github-actions <maxime.meriaux@mrxsys.com>
14
+
15
+ ## v2.3.5-canary-20250520-f78ef3f
16
+
17
+ [compare changes](https://github.com/MRX-Systems/MRX-Core/compare/v2.3.5-canary-20250516-ec25fa6...v2.3.5-canary-20250520-f78ef3f)
18
+
19
+ ### 🔧 Fixes
20
+
21
+ - **🔧:** [Fix import] ([1f326f0b](https://github.com/MRX-Systems/MRX-Core/commit/1f326f0b))
22
+
23
+ ### 🧹 Refactors
24
+
25
+ - **🧹:** [refactor error handling and update package.json scripts] ([70532ad0](https://github.com/MRX-Systems/MRX-Core/commit/70532ad0))
26
+ - **🧹:** [update Table class to extend TypedEventEmitter] ([b4ea82c9](https://github.com/MRX-Systems/MRX-Core/commit/b4ea82c9))
27
+ - **🧹:** [refactor MSSQL class to use TypedEventEmitter] ([acaf2e8a](https://github.com/MRX-Systems/MRX-Core/commit/acaf2e8a))
28
+ - **🧹:** [update event names and variable for clarity] - Renamed 'query-response' to 'query:response' in MssqlEventMap for consistency. - Changed private variable '_pulse' to '_isEventEnabled' for better readability. - Updated constructor and event emission to reflect the new variable name. ([5775b626](https://github.com/MRX-Systems/MRX-Core/commit/5775b626))
29
+ - **🧹:** [Enhance _addRoutes function with operationsPermissions] ([d19118f1](https://github.com/MRX-Systems/MRX-Core/commit/d19118f1))
30
+ - **🧹:** [Remove unnecessary line in _addRoutes function] ([7c85d70a](https://github.com/MRX-Systems/MRX-Core/commit/7c85d70a))
31
+ - **🧹:** [Update permissions handling in _addRoutes function] ([da6bb6aa](https://github.com/MRX-Systems/MRX-Core/commit/da6bb6aa))
32
+
33
+ ### 📦 Build
34
+
35
+ - **📦:** [update devDependencies versions in package.json] ([55b4254f](https://github.com/MRX-Systems/MRX-Core/commit/55b4254f))
36
+ - **📦:** [Update peer dependencies for basalt-helper and basalt-logger] ([ac324212](https://github.com/MRX-Systems/MRX-Core/commit/ac324212))
37
+
38
+ ### 🌊 Types
39
+
40
+ - **🌊:** [add QueryContext interface for database queries] ([3b01ba7c](https://github.com/MRX-Systems/MRX-Core/commit/3b01ba7c))
41
+ - **🌊:** [remove debug option from MSSQLDatabaseOptions interface] ([558f8270](https://github.com/MRX-Systems/MRX-Core/commit/558f8270))
42
+ - **🌊:** [add event mapping interfaces for MSSQL and table events] ([cc3d3339](https://github.com/MRX-Systems/MRX-Core/commit/cc3d3339))
43
+ - **🌊:** [update MSSQLDatabaseOptions to replace pulse with isEventEnabled] ## Type Changes - Replaced the `pulse` property with `isEventEnabled` in the MSSQLDatabaseOptions interface. ([e672062e](https://github.com/MRX-Systems/MRX-Core/commit/e672062e))
44
+
45
+ ### 🦉 Chore
46
+
47
+ - **🦉:** V2.3.5-canary-20250516-82ef1fb ([c2553c50](https://github.com/MRX-Systems/MRX-Core/commit/c2553c50))
48
+
49
+ ### 🧪 Tests
50
+
51
+ - **🧪:** [reorganize MSSQL test structure and enhance event handling] ([0c446cf9](https://github.com/MRX-Systems/MRX-Core/commit/0c446cf9))
52
+ - **🧪:** [util to utils] ([b3cac0b6](https://github.com/MRX-Systems/MRX-Core/commit/b3cac0b6))
53
+
54
+ ### ❤️ Contributors
55
+
56
+ - Ruby <necrelox@proton.me>
57
+ - Github-actions <maxime.meriaux@mrxsys.com>
58
+
2
59
  ## v2.3.5-canary-20250516-82ef1fb
3
60
 
4
61
  [compare changes](https://github.com/MRX-Systems/MRX-Core/compare/v2.3.5-canary-20250516-ec25fa6...v2.3.5-canary-20250516-82ef1fb)
@@ -0,0 +1,2 @@
1
+ import{W as H}from"./chunk-ckg4jheb.js";import{Z as B}from"./chunk-5x3px0nq.js";import{_ as D}from"./chunk-2ysjvwgk.js";import{TypedEventEmitter as M}from"@basalt-lab/basalt-helper/typedEventEmitter";class G extends M{_databaseName;_fields=[];_name;_primaryKey;constructor(j,w,z,A){super();this._databaseName=j,this._name=w,this._fields=z,this._primaryKey=A}get databaseName(){return this._databaseName}get name(){return this._name}get fields(){return this._fields}get primaryKey(){return this._primaryKey}}import{TypedEventEmitter as O}from"@basalt-lab/basalt-helper/typedEventEmitter";import P from"knex";class Q extends O{_isConnected=!1;_databaseName;_tables=new Map;_repositories=new Map;_db;_isEventEnabled;constructor(j){super();this._databaseName=j.databaseName,this._isEventEnabled=j.isEventEnabled??!1,this._db=P({client:"mssql",acquireConnectionTimeout:j.connectionTimeout??20000,compileSqlOnError:!0,connection:{database:j.databaseName,host:j.host,port:j.port,user:j.user,password:j.password,options:{encrypt:j.encrypt??!0},bigNumberStrings:!1},pool:{min:j.poolMin??2,max:j.poolMax??10}})}async connect(){try{if(await this._introspectDatabase(),this._isConnected=!0,this._isEventEnabled)this._addEventKnex()}catch(j){throw new B({key:D.mssqlConnectionError,message:`Failed to connect to the database: "${this._databaseName}".`,cause:j})}}async disconnect(){if(!this._isConnected)throw new B({key:D.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});try{await this._db.destroy(),this._isConnected=!1}catch(j){throw new B({key:D.mssqlDisconnectError,message:`Failed to disconnect from the database: "${this._databaseName}".`,cause:j})}}getRepository(j,w){if(!this._isConnected)throw new B({key:D.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});if(!this._tables.has(j))throw new B({key:D.mssqlTableNotFound,message:`Table not found: "${j}".`,cause:{table:j}});let z=this._repositories.get(j);if(w){let A=this._tables.get(j);if(z&&z instanceof w)return z;return z=new w(this._db,A),this._repositories.set(j,z),z}return this._repositories.get(j)}getTable(j){if(!this._isConnected)throw new B({key:D.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});if(!this._tables.has(j))throw new B({key:D.mssqlTableNotFound,message:`Table not found: "${j}".`,cause:{table:j}});return this._tables.get(j)}get databaseName(){return this._databaseName}get tables(){return this._tables}get repositories(){return this._repositories}get isConnected(){return this._isConnected}get db(){if(!this._isConnected)throw new B({key:D.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});return this._db}async _introspectDatabase(){(await this._db.from({c:"information_schema.columns"}).select("c.table_name as tableName").select(this._db.raw("STRING_AGG(c.column_name, ',') AS fields")).select("pk.primaryKeyColumn as primaryKeyColumn").select("pk.primaryKeyType as primaryKeyType").leftJoin(this._db.from({tc:"information_schema.table_constraints"}).join({kcu:"information_schema.key_column_usage"},"tc.constraint_name","kcu.constraint_name").join({col:"information_schema.columns"},(z)=>{z.on("col.table_name","=","kcu.table_name").andOn("col.column_name","=","kcu.column_name")}).where("tc.constraint_type","PRIMARY KEY").groupBy("tc.table_name","kcu.column_name","col.data_type").select("tc.table_name as tableName").select("kcu.column_name as primaryKeyColumn").select("col.data_type as primaryKeyType").as("pk"),"c.table_name","pk.tableName").groupBy("c.table_name","pk.primaryKeyColumn","pk.primaryKeyType")).reduce((z,{tableName:A,fields:F,primaryKeyColumn:I,primaryKeyType:J})=>{let L=J==="int"?"NUMBER":"STRING";return z.set(A,{fields:F.split(","),primaryKey:[I,L]}),z},new Map).forEach((z,A)=>{let F=new G(this._databaseName,A,z.fields,z.primaryKey);this._tables.set(A,F),this._repositories.set(A,new H(this._db,F))})}_extractTablesFromSqlQuery(j){let w=/(?:update|insert\s+into|delete\s+from|from|join|with)\s+\[?([^\]\s]+)\]?/gi,z=[...j.matchAll(w)].map((A)=>A[1]);return Array.from(new Set(z))}_handleQueryResponse(j,w){let z=this._extractTablesFromSqlQuery(w.sql),A=this._tables.get(z[0]);switch(w.method){case"select":A?.emit("selected",j,w);break;case"insert":A?.emit("inserted",j,w);break;case"update":A?.emit("updated",j,w);break;case"del":A?.emit("deleted",j,w);break;default:break}}_addEventKnex(){this._db.on("query",(j)=>{this.emit("query",j)}),this._db.on("query-error",(j,w)=>{this.emit("query:error",j,w)}),this._db.on("query-response",(j,w)=>{this.emit("query:response",j,w),this._handleQueryResponse(j,w)})}}
2
+ export{G as U,Q as V};
@@ -1,2 +1,2 @@
1
1
  import{t as e}from"elysia";var o=e.Object({message:e.String({description:"Message",example:"Microservice Information"}),content:e.Object({author:e.String({description:"Author",example:"Ruby"}),name:e.String({description:"Name",example:"API"}),version:e.String({description:"Version",example:"1.0.0"}),description:e.String({description:"Description",example:"Is a microservice that provides a RESTful API for the application."})})});import{t as i}from"elysia";var s=i.Object({message:i.String({description:"Message",example:"pong"})});
2
- export{o as ea,s as fa};
2
+ export{o as ca,s as da};
@@ -1,2 +1,2 @@
1
1
  var e=Object.defineProperty;var f=(c,a)=>{for(var b in a)e(c,b,{get:a[b],enumerable:!0,configurable:!0,set:(d)=>a[b]=()=>d})};
2
- export{f as ga};
2
+ export{f as ea};
@@ -1,2 +1,2 @@
1
1
  var f={jwtSignError:"core.error.elysia.jwt_sign_error",jwtSecretNotFound:"core.error.elysia.jwt_secret_not_found",rateLimitExceeded:"core.error.elysia.rate_limit_exceeded",dynamicDatabaseKeyNotFound:"core.error.elysia.dynamic_database_key_not_found",needAdvancedSearch:"core.error.elysia.need_advanced_search"};var m={ok:200,created:201,accepted:202,nonAuthoritativeInformation:203,noContent:204,resetContent:205,partialContent:206,multiStatus:207,alreadyReported:208,imUsed:226,multipleChoices:300,movedPermanently:301,found:302,seeOther:303,notModified:304,useProxy:305,temporaryRedirect:307,permanentRedirect:308,badRequest:400,unauthorized:401,paymentRequired:402,forbidden:403,notFound:404,methodNotAllowed:405,notAcceptable:406,proxyAuthenticationRequired:407,requestTimeout:408,conflict:409,gone:410,lengthRequired:411,preconditionFailed:412,payloadTooLarge:413,uriTooLong:414,unsupportedMediaType:415,rangeNotSatisfiable:416,expectationFailed:417,imATeapot:418,misdirectedRequest:421,unprocessableEntity:422,locked:423,failedDependency:424,tooEarly:425,upgradeRequired:426,preconditionRequired:428,tooManyRequests:429,requestHeaderFieldsTooLarge:431,unavailableForLegalReasons:451,internalServerError:500,notImplemented:501,badGateway:502,serviceUnavailable:503,gatewayTimeout:504,httpVersionNotSupported:505,variantAlsoNegotiates:506,insufficientStorage:507,loopDetected:508,notExtended:510,networkAuthenticationRequired:511};
2
- export{f as ca,m as da};
2
+ export{f as aa,m as ba};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{$ as m,_ as f}from"../../chunk-2ysjvwgk.js";import"../../chunk-064f9752.js";export{m as mssqlErrorCode,f as databaseKeyError};
2
+ import{$ as m,_ as f}from"../../chunk-2ysjvwgk.js";import"../../chunk-mrzhtfav.js";export{m as mssqlErrorCode,f as databaseKeyError};
@@ -1,2 +1,2 @@
1
- export * from './mssqlEvent';
2
- export * from './tableEvent';
1
+ export type * from './mssqlEventMap';
2
+ export type * from './tableEventMap';
@@ -1,2 +1 @@
1
1
  // @bun
2
- import{aa as f,ba as m}from"../../chunk-gjfrh429.js";import"../../chunk-064f9752.js";export{m as tableEvent,f as mssqlEvent};
@@ -0,0 +1,6 @@
1
+ import type { QueryContext } from '../../database/types/queryContext';
2
+ export interface MssqlEventMap {
3
+ query: [QueryContext];
4
+ 'query:response': [unknown[], QueryContext];
5
+ 'query:error': [Error, QueryContext];
6
+ }
@@ -0,0 +1,7 @@
1
+ import type { QueryContext } from '../../database/types/queryContext';
2
+ export interface TableEventMap {
3
+ selected: [unknown, QueryContext];
4
+ inserted: [unknown, QueryContext];
5
+ updated: [unknown, QueryContext];
6
+ deleted: [unknown, QueryContext];
7
+ }
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{U as f,V as m}from"../chunk-khchjzas.js";import"../chunk-ckg4jheb.js";import"../chunk-46z9v7pz.js";import"../chunk-5x3px0nq.js";import"../chunk-2ysjvwgk.js";import"../chunk-gjfrh429.js";import"../chunk-064f9752.js";export{f as Table,m as MSSQL};
2
+ import{U as f,V as m}from"../chunk-fktnffnw.js";import"../chunk-ckg4jheb.js";import"../chunk-46z9v7pz.js";import"../chunk-5x3px0nq.js";import"../chunk-2ysjvwgk.js";import"../chunk-mrzhtfav.js";export{f as Table,m as MSSQL};
@@ -1,6 +1,7 @@
1
- import { EventEmitter } from 'events';
1
+ import { TypedEventEmitter } from '@basalt-lab/basalt-helper/typedEventEmitter';
2
2
  import { type Knex } from 'knex';
3
3
  import { Repository } from '../repository/repository';
4
+ import type { MssqlEventMap } from './events/mssqlEventMap';
4
5
  import { Table } from './table';
5
6
  import type { MSSQLDatabaseOptions } from './types/mssqlDatabaseOption';
6
7
  /**
@@ -18,7 +19,7 @@ import type { MSSQLDatabaseOptions } from './types/mssqlDatabaseOption';
18
19
  * const users = await mssql.getRepository('users').find();
19
20
  * ```
20
21
  */
21
- export declare class MSSQL extends EventEmitter {
22
+ export declare class MSSQL extends TypedEventEmitter<MssqlEventMap> {
22
23
  /**
23
24
  * Indicates whether the database is connected.
24
25
  */
@@ -47,7 +48,7 @@ export declare class MSSQL extends EventEmitter {
47
48
  * Indicates whether to add basic event listeners for all tables.
48
49
  * @default false
49
50
  */
50
- private readonly _pulse;
51
+ private readonly _isEventEnabled;
51
52
  /**
52
53
  * Create a new instance of `MSSQL` with the specified options.
53
54
  * @param options - The configuration options for the MSSQL database connection.
@@ -146,16 +147,9 @@ export declare class MSSQL extends EventEmitter {
146
147
  * Handles the response from a query and emits the appropriate event based on the method.
147
148
  *
148
149
  * @param response - The response from the query.
149
- * @param obj - The query object containing the method and SQL query string.
150
+ * @param queryContext - The query object containing the method and SQL query string.
150
151
  */
151
152
  private _handleQueryResponse;
152
- /**
153
- * Handles an error from a query and emits the `query:error` event.
154
- *
155
- * @param error - The error that occurred during the query.
156
- * @param query - The query object containing the method and SQL query string.
157
- */
158
- private _handleQueryError;
159
153
  /**
160
154
  * Adds event listeners to the Knex instance to handle query responses and errors.
161
155
  */
@@ -1,4 +1,5 @@
1
- import EventEmitter from 'events';
1
+ import { TypedEventEmitter } from '@basalt-lab/basalt-helper/typedEventEmitter';
2
+ import type { TableEventMap } from '../database/events/tableEventMap';
2
3
  /**
3
4
  * Represents a database table and provides access to its metadata (name, fields, primary key).
4
5
  *
@@ -11,7 +12,7 @@ import EventEmitter from 'events';
11
12
  * table.on('SELECTED', data => console.log(data));
12
13
  * ```
13
14
  */
14
- export declare class Table extends EventEmitter {
15
+ export declare class Table extends TypedEventEmitter<TableEventMap> {
15
16
  /**
16
17
  * The name of the database that this table belongs to.
17
18
  */
@@ -1,2 +1,3 @@
1
1
  export type * from './mssqlDatabaseOption';
2
2
  export type * from './mssqlEventLog';
3
+ export type * from './queryContext';
@@ -61,14 +61,6 @@ export interface MSSQLDatabaseOptions {
61
61
  * @defaultValue 20000
62
62
  */
63
63
  connectionTimeout?: number;
64
- /**
65
- * Enables debug mode for logging database operations.
66
- * When enabled, all SQL queries will be logged with their parameters,
67
- * which is valuable for development but may impact performance.
68
- *
69
- * @defaultValue false
70
- */
71
- debug?: boolean;
72
64
  /**
73
65
  * If set to true, adds basic event listeners for all tables.
74
66
  * This automatically sets up event listeners to track database operations
@@ -88,5 +80,5 @@ export interface MSSQLDatabaseOptions {
88
80
  * });
89
81
  * ```
90
82
  */
91
- pulse?: boolean;
83
+ isEventEnabled?: boolean;
92
84
  }
@@ -0,0 +1,11 @@
1
+ export interface QueryContext {
2
+ method: string;
3
+ options: Record<string, unknown>;
4
+ timeout: number;
5
+ cancelOnTimeout: boolean;
6
+ bindings: unknown[];
7
+ sql: string;
8
+ queryContext: Record<string, unknown>;
9
+ __knexUid: string;
10
+ __knexQueryUid: string;
11
+ }
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ca as f,da as m}from"../../chunk-4tva6npm.js";import"../../chunk-064f9752.js";export{m as httpStatusCode,f as elysiaKeyError};
2
+ import{aa as f,ba as m}from"../../chunk-qmdvezak.js";import"../../chunk-mrzhtfav.js";export{m as httpStatusCode,f as elysiaKeyError};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{A as L,B as c,C as o,D as v,E as n,F as g,G as P,q as y,r as q,s as m,t as x,v as C,w as D,y as j}from"../chunk-kn1300vm.js";import{V as bG}from"../chunk-khchjzas.js";import"../chunk-ckg4jheb.js";import"../chunk-46z9v7pz.js";import{Z as A}from"../chunk-5x3px0nq.js";import"../chunk-2ysjvwgk.js";import"../chunk-gjfrh429.js";import{ca as B,da as d}from"../chunk-4tva6npm.js";import{ea as pG,fa as dG}from"../chunk-wed4kkne.js";import{ga as vG}from"../chunk-064f9752.js";import{filterByKeyExclusion as YY}from"@basalt-lab/basalt-helper/data";var f={};vG(f,{TypeGuardUnknownTypeError:()=>i,IsVoid:()=>SG,IsUnsafe:()=>OG,IsUnknown:()=>fG,IsUnionLiteral:()=>GY,IsUnion:()=>h,IsUndefined:()=>xG,IsUint8Array:()=>NG,IsTuple:()=>wG,IsTransform:()=>KG,IsThis:()=>EG,IsTemplateLiteral:()=>RG,IsSymbol:()=>kG,IsString:()=>PG,IsSchema:()=>J,IsRegExp:()=>qG,IsRef:()=>CG,IsRecursive:()=>eG,IsRecord:()=>TG,IsReadonly:()=>uG,IsProperties:()=>N,IsPromise:()=>BG,IsOptional:()=>tG,IsObject:()=>LG,IsNumber:()=>AG,IsNull:()=>DG,IsNot:()=>MG,IsNever:()=>jG,IsMappedResult:()=>JG,IsMappedKey:()=>QG,IsLiteralValue:()=>WG,IsLiteralString:()=>FG,IsLiteralNumber:()=>UG,IsLiteralBoolean:()=>aG,IsLiteral:()=>E,IsKindOf:()=>$,IsKind:()=>yG,IsIterator:()=>_G,IsIntersect:()=>HG,IsInteger:()=>XG,IsImport:()=>lG,IsFunction:()=>$G,IsDate:()=>VG,IsConstructor:()=>zG,IsComputed:()=>ZG,IsBoolean:()=>YG,IsBigInt:()=>GG,IsAsyncIterator:()=>e,IsArray:()=>a,IsArgument:()=>l,IsAny:()=>t});class i extends c{}var iG=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function r(G){try{return new RegExp(G),!0}catch{return!1}}function I(G){if(!j(G))return!1;for(let Y=0;Y<G.length;Y++){let Z=G.charCodeAt(Y);if(Z>=7&&Z<=13||Z===27||Z===127)return!1}return!0}function s(G){return b(G)||J(G)}function R(G){return L(G)||m(G)}function F(G){return L(G)||C(G)}function b(G){return L(G)||x(G)}function _(G){return L(G)||j(G)}function rG(G){return L(G)||j(G)&&I(G)&&r(G)}function sG(G){return L(G)||j(G)&&I(G)}function u(G){return L(G)||J(G)}function uG(G){return D(G)&&G[v]==="Readonly"}function tG(G){return D(G)&&G[n]==="Optional"}function t(G){return $(G,"Any")&&_(G.$id)}function l(G){return $(G,"Argument")&&C(G.index)}function a(G){return $(G,"Array")&&G.type==="array"&&_(G.$id)&&J(G.items)&&F(G.minItems)&&F(G.maxItems)&&b(G.uniqueItems)&&u(G.contains)&&F(G.minContains)&&F(G.maxContains)}function e(G){return $(G,"AsyncIterator")&&G.type==="AsyncIterator"&&_(G.$id)&&J(G.items)}function GG(G){return $(G,"BigInt")&&G.type==="bigint"&&_(G.$id)&&R(G.exclusiveMaximum)&&R(G.exclusiveMinimum)&&R(G.maximum)&&R(G.minimum)&&R(G.multipleOf)}function YG(G){return $(G,"Boolean")&&G.type==="boolean"&&_(G.$id)}function ZG(G){return $(G,"Computed")&&j(G.target)&&q(G.parameters)&&G.parameters.every((Y)=>J(Y))}function zG(G){return $(G,"Constructor")&&G.type==="Constructor"&&_(G.$id)&&q(G.parameters)&&G.parameters.every((Y)=>J(Y))&&J(G.returns)}function VG(G){return $(G,"Date")&&G.type==="Date"&&_(G.$id)&&F(G.exclusiveMaximumTimestamp)&&F(G.exclusiveMinimumTimestamp)&&F(G.maximumTimestamp)&&F(G.minimumTimestamp)&&F(G.multipleOfTimestamp)}function $G(G){return $(G,"Function")&&G.type==="Function"&&_(G.$id)&&q(G.parameters)&&G.parameters.every((Y)=>J(Y))&&J(G.returns)}function lG(G){return $(G,"Import")&&y(G,"$defs")&&D(G.$defs)&&N(G.$defs)&&y(G,"$ref")&&j(G.$ref)&&G.$ref in G.$defs}function XG(G){return $(G,"Integer")&&G.type==="integer"&&_(G.$id)&&F(G.exclusiveMaximum)&&F(G.exclusiveMinimum)&&F(G.maximum)&&F(G.minimum)&&F(G.multipleOf)}function N(G){return D(G)&&Object.entries(G).every(([Y,Z])=>I(Y)&&J(Z))}function HG(G){return $(G,"Intersect")&&(j(G.type)&&G.type!=="object"?!1:!0)&&q(G.allOf)&&G.allOf.every((Y)=>J(Y)&&!KG(Y))&&_(G.type)&&(b(G.unevaluatedProperties)||u(G.unevaluatedProperties))&&_(G.$id)}function _G(G){return $(G,"Iterator")&&G.type==="Iterator"&&_(G.$id)&&J(G.items)}function $(G,Y){return D(G)&&P in G&&G[P]===Y}function FG(G){return E(G)&&j(G.const)}function UG(G){return E(G)&&C(G.const)}function aG(G){return E(G)&&x(G.const)}function E(G){return $(G,"Literal")&&_(G.$id)&&WG(G.const)}function WG(G){return x(G)||C(G)||j(G)}function QG(G){return $(G,"MappedKey")&&q(G.keys)&&G.keys.every((Y)=>C(Y)||j(Y))}function JG(G){return $(G,"MappedResult")&&N(G.properties)}function jG(G){return $(G,"Never")&&D(G.not)&&Object.getOwnPropertyNames(G.not).length===0}function MG(G){return $(G,"Not")&&J(G.not)}function DG(G){return $(G,"Null")&&G.type==="null"&&_(G.$id)}function AG(G){return $(G,"Number")&&G.type==="number"&&_(G.$id)&&F(G.exclusiveMaximum)&&F(G.exclusiveMinimum)&&F(G.maximum)&&F(G.minimum)&&F(G.multipleOf)}function LG(G){return $(G,"Object")&&G.type==="object"&&_(G.$id)&&N(G.properties)&&s(G.additionalProperties)&&F(G.minProperties)&&F(G.maxProperties)}function BG(G){return $(G,"Promise")&&G.type==="Promise"&&_(G.$id)&&J(G.item)}function TG(G){return $(G,"Record")&&G.type==="object"&&_(G.$id)&&s(G.additionalProperties)&&D(G.patternProperties)&&((Y)=>{let Z=Object.getOwnPropertyNames(Y.patternProperties);return Z.length===1&&r(Z[0])&&D(Y.patternProperties)&&J(Y.patternProperties[Z[0]])})(G)}function eG(G){return D(G)&&g in G&&G[g]==="Recursive"}function CG(G){return $(G,"Ref")&&_(G.$id)&&j(G.$ref)}function qG(G){return $(G,"RegExp")&&_(G.$id)&&j(G.source)&&j(G.flags)&&F(G.maxLength)&&F(G.minLength)}function PG(G){return $(G,"String")&&G.type==="string"&&_(G.$id)&&F(G.minLength)&&F(G.maxLength)&&rG(G.pattern)&&sG(G.format)}function kG(G){return $(G,"Symbol")&&G.type==="symbol"&&_(G.$id)}function RG(G){return $(G,"TemplateLiteral")&&G.type==="string"&&j(G.pattern)&&G.pattern[0]==="^"&&G.pattern[G.pattern.length-1]==="$"}function EG(G){return $(G,"This")&&_(G.$id)&&j(G.$ref)}function KG(G){return D(G)&&o in G}function wG(G){return $(G,"Tuple")&&G.type==="array"&&_(G.$id)&&C(G.minItems)&&C(G.maxItems)&&G.minItems===G.maxItems&&(L(G.items)&&L(G.additionalItems)&&G.minItems===0||q(G.items)&&G.items.every((Y)=>J(Y)))}function xG(G){return $(G,"Undefined")&&G.type==="undefined"&&_(G.$id)}function GY(G){return h(G)&&G.anyOf.every((Y)=>FG(Y)||UG(Y))}function h(G){return $(G,"Union")&&_(G.$id)&&D(G)&&q(G.anyOf)&&G.anyOf.every((Y)=>J(Y))}function NG(G){return $(G,"Uint8Array")&&G.type==="Uint8Array"&&_(G.$id)&&F(G.minByteLength)&&F(G.maxByteLength)}function fG(G){return $(G,"Unknown")&&_(G.$id)}function OG(G){return $(G,"Unsafe")}function SG(G){return $(G,"Void")&&G.type==="void"&&_(G.$id)}function yG(G){return D(G)&&P in G&&j(G[P])&&!iG.includes(G[P])}function J(G){return D(G)&&(t(G)||l(G)||a(G)||YG(G)||GG(G)||e(G)||ZG(G)||zG(G)||VG(G)||$G(G)||XG(G)||HG(G)||_G(G)||E(G)||QG(G)||JG(G)||jG(G)||MG(G)||DG(G)||AG(G)||LG(G)||BG(G)||TG(G)||CG(G)||qG(G)||PG(G)||kG(G)||RG(G)||EG(G)||wG(G)||xG(G)||h(G)||NG(G)||fG(G)||OG(G)||SG(G)||yG(G))}import{Elysia as ZY,t as X}from"elysia";var zY=(G)=>X.Object({$eq:G,$neq:G,...!f.IsBoolean(G)?{$lt:G,$lte:G,$gt:G,$gte:G,$in:X.Array(G),$nin:X.Array(G),$between:X.Tuple([G,G]),$nbetween:X.Tuple([G,G]),$like:X.String(),$nlike:X.String()}:{},$isNull:X.Boolean()}),VY=(G)=>{let{properties:Y}=G,Z={};for(let[z,V]of Object.entries(Y)){let H=zY(V);Z[z]=X.Array(X.Union([X.Partial(H),V]))}return Z},$Y=(G)=>X.Array(X.Union([X.Partial(X.Object({selectedFields:X.Union([X.Array(X.KeyOf(G)),X.KeyOf(G)]),value:X.String()})),X.String()])),XY=(G)=>X.Array(X.KeyOf(G)),K=(G)=>X.Composite([X.Object({$q:X.Optional($Y(G)),$selectedFields:X.Optional(XY(G))}),X.Partial(X.Object(VY(G)))]),HY=(G)=>X.Composite([K(G),X.Partial(X.Object({$limit:X.Number(),$offset:X.Number()}))]),gG=(G,Y,Z=[])=>new ZY({name:`advancedSearchPlugin-${G}`,seed:Y}).model({[`advancedSearch${G}Query`]:K(Y),[`advancedSearch${G}QueryWithPagination`]:HY(Y)}).macro({hasAdvancedSearch:{resolve:({query:z})=>{let V=z,H={advancedSearch:[],selectedFields:V.$selectedFields||["*"],pagination:{limit:V.$limit||100,offset:V.$offset||0}};if(z.$q){let M=Array.isArray(z.$q)?z.$q:[z.$q];H.advancedSearch.push(...M.map((W)=>({$q:W})))}V=YY(V,["$selectedFields","$q","$limit","$offset",...Z],!0);for(let[M,W]of Object.entries(V))(Array.isArray(W)?W:[W]).forEach((k,T)=>{if(!H.advancedSearch[T])H.advancedSearch[T]={};H.advancedSearch[T][M]=k});return H}}}).as("scoped");import{SingletonManager as FY}from"@basalt-lab/basalt-helper/util";import{Elysia as p,t as Q}from"elysia";import{SingletonManager as O}from"@basalt-lab/basalt-helper/util";import{Elysia as _Y,t as IG}from"elysia";var hG=(G)=>new _Y({name:"dynamicDatabaseSelectorPlugin"}).model({databaseUsingHeader:IG.Object({[G.headerKey||"database-using"]:IG.String()})}).macro({hasDynamicDatabaseSelector:{async resolve({headers:Y}){let Z=Y[G.headerKey||"database-using"];if(!Z)throw new A({key:B.dynamicDatabaseKeyNotFound,message:"Dynamic Database key not found in the request headers.",httpStatusCode:400});if(!O.has(`database:${Z}`))O.register(`database:${Z}`,bG,{...G.baseDatabaseConfig,databaseName:Z}),await O.get(`database:${Z}`).connect();return{dynamicDB:O.get(`database:${Z}`)}}}}).as("scoped");var UY=(G)=>{let{properties:Y}=G,Z={};for(let z in Y)Z[z]=Q.Union([Y[z],Q.Undefined(),Q.Null(),Q.Literal("")]);return Q.Object({message:Q.String(),content:Q.Array(Q.Partial(Q.Object(Z)))})},WY=(G,Y)=>{let{properties:Z}=G,z={};for(let V in Z)z[V]=Y?.includes(V)?Z[V]:Q.Optional(Z[V]);return Q.Object(z)},QY=(G,Y)=>{let{baseSchema:Z,tableName:z,insertPropertiesSchemaRequired:V}=Y,H=new p().model({[`crud${z}Response200`]:UY(Z)}),M={insert:()=>H.model({[`crud${z}InsertBody`]:WY(Z,V)}),update:()=>H.model({[`crud${z}UpdateBody`]:Q.Partial(Z)}),count:()=>H.model({[`crud${z}CountResponse200`]:Q.Object({message:Q.String(),content:Q.Number()})})};if(G.forEach((U)=>{if(U in M)M[U]?.()}),["findOne","deleteOne","updateOne"].some((U)=>G.includes(U)))H.model({[`crud${z}IdParam`]:Q.Object({id:Q.Union([Q.String(),Q.Number()])})});return H},JY=(G=[],Y=[])=>{let Z=["insert","find","findOne","update","updateOne","delete","deleteOne","count"],z=G.length>0?G:Z;return Y.length>0?z.filter((V)=>!Y.includes(V)):z},jY=(G)=>{let Y=new p;if(typeof G==="string")Y.resolve(()=>({dynamicDB:FY.get(`database:${G}`)}));else Y.use(hG({baseDatabaseConfig:G.baseDatabaseConfig,headerKey:G.headerKey||"database-using"}));return Y.as("scoped")},MY={insertHandler:async(G,Y)=>{let z=G.dynamicDB.getRepository(Y),{body:V}=G,H=await z.insert(V);return{message:`Inserted record for ${Y}`,content:H}},findHandler:async(G,Y)=>{let V=await G.dynamicDB.getRepository(Y).find({advancedSearch:G.advancedSearch,selectedFields:G.selectedFields,limit:G.pagination.limit,offset:G.pagination.offset});return{message:`Found ${V.length} records for ${Y}`,content:V}},findOneHandler:async(G,Y)=>{let Z=G.dynamicDB,z=Z.getRepository(Y),H=Z.getTable(Y).primaryKey,{id:M}=G.params,W=await z.findOne({advancedSearch:{[H[0]]:M}});return{message:`Found record for ${Y}`,content:W}},countHandler:async(G,Y)=>{let V=await G.dynamicDB.getRepository(Y).count({advancedSearch:G.advancedSearch});return{message:`${V} records found for ${Y}`,content:V}},updateHandler:async(G,Y)=>{let z=G.dynamicDB.getRepository(Y);if(!G.advancedSearch||G.advancedSearch.length===0||!G.advancedSearch[0])throw new A({key:B.needAdvancedSearch,message:"You need to provide advanced search to update records. It's dangerous to update all records.",httpStatusCode:400});let V=await z.update(G.body,{advancedSearch:G.advancedSearch,selectedFields:G.selectedField});return{message:`Updated ${V.length} records for ${Y}`,content:V}},updateOneHandler:async(G,Y)=>{let Z=G.dynamicDB,z=Z.getRepository(Y),H=Z.getTable(Y).primaryKey,{id:M}=G.params,W=await z.update(G.body,{advancedSearch:{[H[0]]:M}});return{message:`Updated record for ${Y}`,content:W}},deleteHandler:async(G,Y)=>{let z=G.dynamicDB.getRepository(Y);if(!G.advancedSearch||G.advancedSearch.length===0||!G.advancedSearch[0])throw new A({key:B.needAdvancedSearch,message:"You need to provide advanced search to delete records. It's dangerous to delete all records.",httpStatusCode:400});let V=await z.delete({advancedSearch:G.advancedSearch,selectedFields:G.selectedFields});return{message:`Deleted ${V.length} records for ${Y}`,content:V}},deleteOneHandler:async(G,Y)=>{let Z=G.dynamicDB,z=Z.getRepository(Y),H=Z.getTable(Y).primaryKey,{id:M}=G.params,W=await z.delete({advancedSearch:{[H[0]]:M}});return{message:`Deleted record for ${Y}`,content:W}}},DY=(G,Y,Z,z)=>(V)=>{let H={insert:"post",find:"get",findOne:"get",count:"get",update:"patch",updateOne:"patch",delete:"delete",deleteOne:"delete"},M={insert:"/",find:"/",findOne:"/:id",count:"/count",update:"/",updateOne:"/:id",delete:"/",deleteOne:"/:id"};if(G.includes("find")||G.includes("count")||G.includes("update")||G.includes("delete"))V.use(gG(Y,Z));for(let U of G){let k=H[U],T=M[U];if(k&&T){let w=MY[`${U}Handler`],cG={...U==="findOne"||U==="deleteOne"||U==="updateOne"?{params:`crud${Y}IdParam`}:{},...U==="count"||U==="update"||U==="delete"?{query:K(Z)}:U==="find"?{query:K(Z)}:{},...U==="insert"||U==="update"||U==="updateOne"?{body:`crud${Y}${U==="insert"?"Insert":"Update"}Body`}:{},response:`crud${Y}${U==="count"?"Count":""}Response200`,hasAdvancedSearch:!0,hasDynamicDatabaseSelector:z};V[k](T,(oG)=>w(oG,Y),cG)}}return V},rY=(G)=>{let Y=JY(G.includedRoutes,G.excludedRoutes),Z=new p({name:`crudPlugin[${G.tableName}]`,tags:[G.tableName]}).use(QY(Y,G)).use(G.permissionConfig.permissionsPlugin);return Z.use(jY(G.database)).use(DY(Y,G.tableName,G.baseSchema,typeof G.database!=="string")),Z};import{BasaltError as AY}from"@basalt-lab/basalt-helper/error";import{BasaltError as LY}from"@basalt-lab/basalt-logger/error";import{Elysia as BY}from"elysia";var eY=new BY({name:"errorPlugin"}).error({CoreError:A,BasaltHelperError:AY,BasaltLoggerError:LY}).onError(({code:G,error:Y,set:Z})=>{switch(Z.headers["content-type"]="application/json; charset=utf-8",G){case"CoreError":case"BasaltHelperError":case"BasaltLoggerError":return Z.status=Y.httpStatusCode,{key:Y.key,message:Y.message,cause:Y.cause};case"VALIDATION":return Z.status=400,{key:"core.error.validation",message:"Validation error",cause:{on:Y.type,found:Y.value,errors:Y.all}};case"NOT_FOUND":return Z.status=404,{key:"core.error.not_found",message:"Not found"};case"INTERNAL_SERVER_ERROR":case"UNKNOWN":default:return Z.status=500,{key:"core.error.internal_server_error",message:"Internal server error"}}}).as("global");import{Elysia as TY}from"elysia";import{SignJWT as CY,jwtVerify as qY}from"jose";var $Z=(G)=>{if(!G.secret)throw new A({key:B.jwtSecretNotFound,message:"Secret key is required for JWT signing and verification."});let Y=new TextEncoder().encode(G.secret),Z=G.name??"jwt";return new TY({name:"jwtPlugin",seed:G}).decorate(Z,{sign(z,V=G.exp??"15m"){let H={iss:"core",aud:"core client",jti:Bun.randomUUIDv7(),...G.payload,...z};try{return new CY(H).setProtectedHeader({alg:"HS256",b64:!0}).setIssuer(H.iss??"core").setAudience(H.aud??"client").setExpirationTime(V).sign(Y)}catch{throw new A({key:B.jwtSignError,message:"Error signing JWT."})}},async verify(z){if(!z)return!1;try{return(await qY(z,Y)).payload}catch{return!1}}}).as("scoped")};import{Elysia as PY}from"elysia";import{existsSync as kY}from"fs";import{platform as RY}from"os";var mG=(G)=>{let Y=RY()==="win32",Z=Y?"\\":"/";if(Y&&/^[A-Z]:\\$/i.test(G)||!Y&&G==="/")return"";let z=G+Z+"package.json";if(kY(z))return z;let V=G.split(Z);if(V.length<=1)return"";let H=V.slice(0,-1).join(Z);if(H==="")return"";return mG(H)},S=await import(mG(Bun.main)),QZ=new PY({name:"microservicePlugin",prefix:"/microservice",detail:{tags:["Microservice"],security:[]}}).model({infoResponse200:pG,pingResponse200:dG}).get("/ping",()=>({message:"pong"}),{detail:{summary:"Ping",description:"Ping the microservice to check if it is alive"},response:"pingResponse200"}).get("/info",()=>({message:"Microservice Information",content:{name:S.default.name,version:S.default.version,description:S.default.description,author:S.default.author}}),{detail:{summary:"Info",description:"Get information about the microservice"},response:"infoResponse200"}).as("scoped");import{Elysia as EY}from"elysia";var LZ=({redis:G,limit:Y,window:Z,message:z})=>new EY({name:"rateLimitPlugin",seed:{redis:G,limit:Y,window:Z,message:z}}).onRequest(async({set:V,request:H})=>{let W=`ratelimit:${H.headers.get("x-forwarded-for")||H.headers.get("x-real-ip")||"127.0.0.1"}`,U=await G.client.get(W);if((U?parseInt(U):0)===0)await G.client.setex(W,Z,"1");else await G.client.incr(W);let T=await G.client.get(W),w=T?parseInt(T):0;if(w>Y)throw V.status=d.tooManyRequests,new A({key:B.rateLimitExceeded,message:z||"Rate limit exceeded",httpStatusCode:d.tooManyRequests,cause:{limit:Y,window:Z,remaining:0,reset:await G.client.ttl(W)}});V.headers={"X-RateLimit-Limit":Y.toString(),"X-RateLimit-Remaining":Math.max(0,Y-w).toString(),"X-RateLimit-Reset":(await G.client.ttl(W)).toString()}}).as("scoped");export{LZ as rateLimitPlugin,QZ as microservicePlugin,$Z as jwtPlugin,eY as errorPlugin,hG as dynamicDatabaseSelectorPlugin,rY as crudPlugin,UY as createResponse200Schema,WY as createInsertBodySchema,HY as createBaseSearchSchemaWithPagination,K as createBaseSearchSchema,gG as advancedSearchPlugin};export{K as f,HY as g,gG as h,hG as i,UY as j,WY as k,rY as l,eY as m,$Z as n,QZ as o,LZ as p};
2
+ import{A as B,B as c,C as o,D as n,E as v,F as g,G as k,q as y,r as P,s as m,t as x,v as q,w as M,y as D}from"../chunk-kn1300vm.js";import{V as IG}from"../chunk-fktnffnw.js";import"../chunk-ckg4jheb.js";import"../chunk-46z9v7pz.js";import{Z as A}from"../chunk-5x3px0nq.js";import"../chunk-2ysjvwgk.js";import{aa as L,ba as d}from"../chunk-qmdvezak.js";import{ca as pG,da as dG}from"../chunk-khjde4tm.js";import{ea as vG}from"../chunk-mrzhtfav.js";import{filterByKeyExclusion as ZY}from"@basalt-lab/basalt-helper/data";var N={};vG(N,{TypeGuardUnknownTypeError:()=>i,IsVoid:()=>SG,IsUnsafe:()=>OG,IsUnknown:()=>NG,IsUnionLiteral:()=>YY,IsUnion:()=>h,IsUndefined:()=>xG,IsUint8Array:()=>fG,IsTuple:()=>KG,IsTransform:()=>RG,IsThis:()=>wG,IsTemplateLiteral:()=>EG,IsSymbol:()=>kG,IsString:()=>PG,IsSchema:()=>J,IsRegExp:()=>qG,IsRef:()=>CG,IsRecursive:()=>GY,IsRecord:()=>TG,IsReadonly:()=>uG,IsProperties:()=>f,IsPromise:()=>LG,IsOptional:()=>lG,IsObject:()=>BG,IsNumber:()=>AG,IsNull:()=>MG,IsNot:()=>jG,IsNever:()=>DG,IsMappedResult:()=>JG,IsMappedKey:()=>QG,IsLiteralValue:()=>FG,IsLiteralString:()=>WG,IsLiteralNumber:()=>_G,IsLiteralBoolean:()=>eG,IsLiteral:()=>R,IsKindOf:()=>$,IsKind:()=>yG,IsIterator:()=>UG,IsIntersect:()=>HG,IsInteger:()=>XG,IsImport:()=>aG,IsFunction:()=>$G,IsDate:()=>VG,IsConstructor:()=>zG,IsComputed:()=>ZG,IsBoolean:()=>YG,IsBigInt:()=>GG,IsAsyncIterator:()=>e,IsArray:()=>a,IsArgument:()=>l,IsAny:()=>u});class i extends c{}var rG=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function r(G){try{return new RegExp(G),!0}catch{return!1}}function b(G){if(!D(G))return!1;for(let Y=0;Y<G.length;Y++){let Z=G.charCodeAt(Y);if(Z>=7&&Z<=13||Z===27||Z===127)return!1}return!0}function s(G){return I(G)||J(G)}function w(G){return B(G)||m(G)}function W(G){return B(G)||q(G)}function I(G){return B(G)||x(G)}function U(G){return B(G)||D(G)}function sG(G){return B(G)||D(G)&&b(G)&&r(G)}function tG(G){return B(G)||D(G)&&b(G)}function t(G){return B(G)||J(G)}function uG(G){return M(G)&&G[n]==="Readonly"}function lG(G){return M(G)&&G[v]==="Optional"}function u(G){return $(G,"Any")&&U(G.$id)}function l(G){return $(G,"Argument")&&q(G.index)}function a(G){return $(G,"Array")&&G.type==="array"&&U(G.$id)&&J(G.items)&&W(G.minItems)&&W(G.maxItems)&&I(G.uniqueItems)&&t(G.contains)&&W(G.minContains)&&W(G.maxContains)}function e(G){return $(G,"AsyncIterator")&&G.type==="AsyncIterator"&&U(G.$id)&&J(G.items)}function GG(G){return $(G,"BigInt")&&G.type==="bigint"&&U(G.$id)&&w(G.exclusiveMaximum)&&w(G.exclusiveMinimum)&&w(G.maximum)&&w(G.minimum)&&w(G.multipleOf)}function YG(G){return $(G,"Boolean")&&G.type==="boolean"&&U(G.$id)}function ZG(G){return $(G,"Computed")&&D(G.target)&&P(G.parameters)&&G.parameters.every((Y)=>J(Y))}function zG(G){return $(G,"Constructor")&&G.type==="Constructor"&&U(G.$id)&&P(G.parameters)&&G.parameters.every((Y)=>J(Y))&&J(G.returns)}function VG(G){return $(G,"Date")&&G.type==="Date"&&U(G.$id)&&W(G.exclusiveMaximumTimestamp)&&W(G.exclusiveMinimumTimestamp)&&W(G.maximumTimestamp)&&W(G.minimumTimestamp)&&W(G.multipleOfTimestamp)}function $G(G){return $(G,"Function")&&G.type==="Function"&&U(G.$id)&&P(G.parameters)&&G.parameters.every((Y)=>J(Y))&&J(G.returns)}function aG(G){return $(G,"Import")&&y(G,"$defs")&&M(G.$defs)&&f(G.$defs)&&y(G,"$ref")&&D(G.$ref)&&G.$ref in G.$defs}function XG(G){return $(G,"Integer")&&G.type==="integer"&&U(G.$id)&&W(G.exclusiveMaximum)&&W(G.exclusiveMinimum)&&W(G.maximum)&&W(G.minimum)&&W(G.multipleOf)}function f(G){return M(G)&&Object.entries(G).every(([Y,Z])=>b(Y)&&J(Z))}function HG(G){return $(G,"Intersect")&&(D(G.type)&&G.type!=="object"?!1:!0)&&P(G.allOf)&&G.allOf.every((Y)=>J(Y)&&!RG(Y))&&U(G.type)&&(I(G.unevaluatedProperties)||t(G.unevaluatedProperties))&&U(G.$id)}function UG(G){return $(G,"Iterator")&&G.type==="Iterator"&&U(G.$id)&&J(G.items)}function $(G,Y){return M(G)&&k in G&&G[k]===Y}function WG(G){return R(G)&&D(G.const)}function _G(G){return R(G)&&q(G.const)}function eG(G){return R(G)&&x(G.const)}function R(G){return $(G,"Literal")&&U(G.$id)&&FG(G.const)}function FG(G){return x(G)||q(G)||D(G)}function QG(G){return $(G,"MappedKey")&&P(G.keys)&&G.keys.every((Y)=>q(Y)||D(Y))}function JG(G){return $(G,"MappedResult")&&f(G.properties)}function DG(G){return $(G,"Never")&&M(G.not)&&Object.getOwnPropertyNames(G.not).length===0}function jG(G){return $(G,"Not")&&J(G.not)}function MG(G){return $(G,"Null")&&G.type==="null"&&U(G.$id)}function AG(G){return $(G,"Number")&&G.type==="number"&&U(G.$id)&&W(G.exclusiveMaximum)&&W(G.exclusiveMinimum)&&W(G.maximum)&&W(G.minimum)&&W(G.multipleOf)}function BG(G){return $(G,"Object")&&G.type==="object"&&U(G.$id)&&f(G.properties)&&s(G.additionalProperties)&&W(G.minProperties)&&W(G.maxProperties)}function LG(G){return $(G,"Promise")&&G.type==="Promise"&&U(G.$id)&&J(G.item)}function TG(G){return $(G,"Record")&&G.type==="object"&&U(G.$id)&&s(G.additionalProperties)&&M(G.patternProperties)&&((Y)=>{let Z=Object.getOwnPropertyNames(Y.patternProperties);return Z.length===1&&r(Z[0])&&M(Y.patternProperties)&&J(Y.patternProperties[Z[0]])})(G)}function GY(G){return M(G)&&g in G&&G[g]==="Recursive"}function CG(G){return $(G,"Ref")&&U(G.$id)&&D(G.$ref)}function qG(G){return $(G,"RegExp")&&U(G.$id)&&D(G.source)&&D(G.flags)&&W(G.maxLength)&&W(G.minLength)}function PG(G){return $(G,"String")&&G.type==="string"&&U(G.$id)&&W(G.minLength)&&W(G.maxLength)&&sG(G.pattern)&&tG(G.format)}function kG(G){return $(G,"Symbol")&&G.type==="symbol"&&U(G.$id)}function EG(G){return $(G,"TemplateLiteral")&&G.type==="string"&&D(G.pattern)&&G.pattern[0]==="^"&&G.pattern[G.pattern.length-1]==="$"}function wG(G){return $(G,"This")&&U(G.$id)&&D(G.$ref)}function RG(G){return M(G)&&o in G}function KG(G){return $(G,"Tuple")&&G.type==="array"&&U(G.$id)&&q(G.minItems)&&q(G.maxItems)&&G.minItems===G.maxItems&&(B(G.items)&&B(G.additionalItems)&&G.minItems===0||P(G.items)&&G.items.every((Y)=>J(Y)))}function xG(G){return $(G,"Undefined")&&G.type==="undefined"&&U(G.$id)}function YY(G){return h(G)&&G.anyOf.every((Y)=>WG(Y)||_G(Y))}function h(G){return $(G,"Union")&&U(G.$id)&&M(G)&&P(G.anyOf)&&G.anyOf.every((Y)=>J(Y))}function fG(G){return $(G,"Uint8Array")&&G.type==="Uint8Array"&&U(G.$id)&&W(G.minByteLength)&&W(G.maxByteLength)}function NG(G){return $(G,"Unknown")&&U(G.$id)}function OG(G){return $(G,"Unsafe")}function SG(G){return $(G,"Void")&&G.type==="void"&&U(G.$id)}function yG(G){return M(G)&&k in G&&D(G[k])&&!rG.includes(G[k])}function J(G){return M(G)&&(u(G)||l(G)||a(G)||YG(G)||GG(G)||e(G)||ZG(G)||zG(G)||VG(G)||$G(G)||XG(G)||HG(G)||UG(G)||R(G)||QG(G)||JG(G)||DG(G)||jG(G)||MG(G)||AG(G)||BG(G)||LG(G)||TG(G)||CG(G)||qG(G)||PG(G)||kG(G)||EG(G)||wG(G)||KG(G)||xG(G)||h(G)||fG(G)||NG(G)||OG(G)||SG(G)||yG(G))}import{Elysia as zY,t as H}from"elysia";var VY=(G)=>H.Object({$eq:G,$neq:G,...!N.IsBoolean(G)?{$lt:G,$lte:G,$gt:G,$gte:G,$in:H.Array(G),$nin:H.Array(G),$between:H.Tuple([G,G]),$nbetween:H.Tuple([G,G]),$like:H.String(),$nlike:H.String()}:{},$isNull:H.Boolean()}),$Y=(G)=>{let{properties:Y}=G,Z={};for(let[z,V]of Object.entries(Y)){let X=VY(V);Z[z]=H.Array(H.Union([H.Partial(X),V]))}return Z},XY=(G)=>H.Array(H.Union([H.Partial(H.Object({selectedFields:H.Union([H.Array(H.KeyOf(G)),H.KeyOf(G)]),value:H.String()})),H.String()])),HY=(G)=>H.Array(H.KeyOf(G)),K=(G)=>H.Composite([H.Object({$q:H.Optional(XY(G)),$selectedFields:H.Optional(HY(G))}),H.Partial(H.Object($Y(G)))]),UY=(G)=>H.Composite([K(G),H.Partial(H.Object({$limit:H.Number(),$offset:H.Number()}))]),gG=(G,Y,Z=[])=>new zY({name:`advancedSearchPlugin-${G}`,seed:Y}).model({[`advancedSearch${G}Query`]:K(Y),[`advancedSearch${G}QueryWithPagination`]:UY(Y)}).macro({hasAdvancedSearch:{resolve:({query:z})=>{let V=z,X={advancedSearch:[],selectedFields:V.$selectedFields||["*"],pagination:{limit:V.$limit||100,offset:V.$offset||0}};if(z.$q){let j=Array.isArray(z.$q)?z.$q:[z.$q];X.advancedSearch.push(...j.map((_)=>({$q:_})))}V=ZY(V,["$selectedFields","$q","$limit","$offset",...Z],!0);for(let[j,_]of Object.entries(V))(Array.isArray(_)?_:[_]).forEach((F,C)=>{if(!X.advancedSearch[C])X.advancedSearch[C]={};X.advancedSearch[C][j]=F});return X}}}).as("scoped");import{SingletonManager as _Y}from"@basalt-lab/basalt-helper/singletonManager";import{Elysia as p,t as Q}from"elysia";import{SingletonManager as O}from"@basalt-lab/basalt-helper/singletonManager";import{Elysia as WY,t as bG}from"elysia";var hG=(G)=>new WY({name:"dynamicDatabaseSelectorPlugin"}).model({databaseUsingHeader:bG.Object({[G.headerKey||"database-using"]:bG.String()})}).macro({hasDynamicDatabaseSelector:{async resolve({headers:Y}){let Z=Y[G.headerKey||"database-using"];if(!Z)throw new A({key:L.dynamicDatabaseKeyNotFound,message:"Dynamic Database key not found in the request headers.",httpStatusCode:400});if(!O.has(`database:${Z}`))O.register(`database:${Z}`,IG,{...G.baseDatabaseConfig,databaseName:Z}),await O.get(`database:${Z}`).connect();return{dynamicDB:O.get(`database:${Z}`)}}}}).as("scoped");var FY=(G)=>{let{properties:Y}=G,Z={};for(let z in Y)Z[z]=Q.Union([Y[z],Q.Undefined(),Q.Null(),Q.Literal("")]);return Q.Object({message:Q.String(),content:Q.Array(Q.Partial(Q.Object(Z)))})},QY=(G,Y)=>{let{properties:Z}=G,z={};for(let V in Z)z[V]=Y?.includes(V)?Z[V]:Q.Optional(Z[V]);return Q.Object(z)},JY=(G,Y)=>{let{baseSchema:Z,tableName:z,insertPropertiesSchemaRequired:V}=Y,X=new p().model({[`crud${z}Response200`]:FY(Z)}),j={insert:()=>X.model({[`crud${z}InsertBody`]:QY(Z,V)}),update:()=>X.model({[`crud${z}UpdateBody`]:Q.Partial(Z)}),count:()=>X.model({[`crud${z}CountResponse200`]:Q.Object({message:Q.String(),content:Q.Number()})})};if(G.forEach((T)=>{if(T in j)j[T]?.()}),["findOne","deleteOne","updateOne"].some((T)=>G.includes(T)))X.model({[`crud${z}IdParam`]:Q.Object({id:Q.Union([Q.String(),Q.Number()])})});return X},DY=(G=[],Y=[])=>{let Z=["insert","find","findOne","update","updateOne","delete","deleteOne","count"],z=G.length>0?G:Z;return Y.length>0?z.filter((V)=>!Y.includes(V)):z},jY=(G)=>{let Y=new p;if(typeof G==="string")Y.resolve(()=>({dynamicDB:_Y.get(`database:${G}`)}));else Y.use(hG({baseDatabaseConfig:G.baseDatabaseConfig,headerKey:G.headerKey||"database-using"}));return Y.as("scoped")},MY={insertHandler:async(G,Y)=>{let z=G.dynamicDB.getRepository(Y),{body:V}=G,X=await z.insert(V);return{message:`Inserted record for ${Y}`,content:X}},findHandler:async(G,Y)=>{let V=await G.dynamicDB.getRepository(Y).find({advancedSearch:G.advancedSearch,selectedFields:G.selectedFields,limit:G.pagination.limit,offset:G.pagination.offset});return{message:`Found ${V.length} records for ${Y}`,content:V}},findOneHandler:async(G,Y)=>{let Z=G.dynamicDB,z=Z.getRepository(Y),X=Z.getTable(Y).primaryKey,{id:j}=G.params,_=await z.findOne({advancedSearch:{[X[0]]:j}});return{message:`Found record for ${Y}`,content:_}},countHandler:async(G,Y)=>{let V=await G.dynamicDB.getRepository(Y).count({advancedSearch:G.advancedSearch});return{message:`${V} records found for ${Y}`,content:V}},updateHandler:async(G,Y)=>{let z=G.dynamicDB.getRepository(Y);if(!G.advancedSearch||G.advancedSearch.length===0||!G.advancedSearch[0])throw new A({key:L.needAdvancedSearch,message:"You need to provide advanced search to update records. It's dangerous to update all records.",httpStatusCode:400});let V=await z.update(G.body,{advancedSearch:G.advancedSearch,selectedFields:G.selectedField});return{message:`Updated ${V.length} records for ${Y}`,content:V}},updateOneHandler:async(G,Y)=>{let Z=G.dynamicDB,z=Z.getRepository(Y),X=Z.getTable(Y).primaryKey,{id:j}=G.params,_=await z.update(G.body,{advancedSearch:{[X[0]]:j}});return{message:`Updated record for ${Y}`,content:_}},deleteHandler:async(G,Y)=>{let z=G.dynamicDB.getRepository(Y);if(!G.advancedSearch||G.advancedSearch.length===0||!G.advancedSearch[0])throw new A({key:L.needAdvancedSearch,message:"You need to provide advanced search to delete records. It's dangerous to delete all records.",httpStatusCode:400});let V=await z.delete({advancedSearch:G.advancedSearch,selectedFields:G.selectedFields});return{message:`Deleted ${V.length} records for ${Y}`,content:V}},deleteOneHandler:async(G,Y)=>{let Z=G.dynamicDB,z=Z.getRepository(Y),X=Z.getTable(Y).primaryKey,{id:j}=G.params,_=await z.delete({advancedSearch:{[X[0]]:j}});return{message:`Deleted record for ${Y}`,content:_}}},AY=(G,Y,Z,z,V)=>(X)=>{let j={insert:"post",find:"get",findOne:"get",count:"get",update:"patch",updateOne:"patch",delete:"delete",deleteOne:"delete"},_={insert:"/",find:"/",findOne:"/:id",count:"/count",update:"/",updateOne:"/:id",delete:"/",deleteOne:"/:id"};if(G.includes("find")||G.includes("count")||G.includes("update")||G.includes("delete"))X.use(gG(Y,Z));for(let F of G){let C=j[F],E=_[F];if(C&&E){let cG=MY[`${F}Handler`],oG={...F==="findOne"||F==="deleteOne"||F==="updateOne"?{params:`crud${Y}IdParam`}:{},...F==="count"||F==="update"||F==="delete"?{query:K(Z)}:F==="find"?{query:K(Z)}:{},...F==="insert"||F==="update"||F==="updateOne"?{body:`crud${Y}${F==="insert"?"Insert":"Update"}Body`}:{},response:`crud${Y}${F==="count"?"Count":""}Response200`,hasAdvancedSearch:!0,hasDynamicDatabaseSelector:z,needsOnePermission:V[F]||[]};X[C](E,(nG)=>cG(nG,Y),oG)}}return X},sY=(G)=>{let Y=DY(G.includedRoutes,G.excludedRoutes),Z=new p({name:`crudPlugin[${G.tableName}]`,tags:[G.tableName]}).use(JY(Y,G)).use(G.permissionConfig.permissionsPlugin);return Z.use(jY(G.database)).use(AY(Y,G.tableName,G.baseSchema,typeof G.database!=="string",G.permissionConfig.operationsPermissions)),Z};import{BasaltError as BY}from"@basalt-lab/basalt-helper/error";import{BasaltError as LY}from"@basalt-lab/basalt-logger/error";import{Elysia as TY}from"elysia";var GZ=new TY({name:"errorPlugin"}).error({CoreError:A,BasaltHelperError:BY,BasaltLoggerError:LY}).onError(({code:G,error:Y,set:Z})=>{switch(Z.headers["content-type"]="application/json; charset=utf-8",G){case"CoreError":case"BasaltHelperError":case"BasaltLoggerError":return Z.status=Y.httpStatusCode,{key:Y.key,message:Y.message,cause:Y.cause};case"VALIDATION":return Z.status=400,{key:"core.error.validation",message:"Validation error",cause:{on:Y.type,found:Y.value,errors:Y.all}};case"NOT_FOUND":return Z.status=404,{key:"core.error.not_found",message:"Not found"};case"INTERNAL_SERVER_ERROR":case"UNKNOWN":default:return Z.status=500,{key:"core.error.internal_server_error",message:"Internal server error"}}}).as("global");import{Elysia as CY}from"elysia";import{SignJWT as qY,jwtVerify as PY}from"jose";var XZ=(G)=>{if(!G.secret)throw new A({key:L.jwtSecretNotFound,message:"Secret key is required for JWT signing and verification."});let Y=new TextEncoder().encode(G.secret),Z=G.name??"jwt";return new CY({name:"jwtPlugin",seed:G}).decorate(Z,{sign(z,V=G.exp??"15m"){let X={iss:"core",aud:"core client",jti:Bun.randomUUIDv7(),...G.payload,...z};try{return new qY(X).setProtectedHeader({alg:"HS256",b64:!0}).setIssuer(X.iss??"core").setAudience(X.aud??"client").setExpirationTime(V).sign(Y)}catch{throw new A({key:L.jwtSignError,message:"Error signing JWT."})}},async verify(z){if(!z)return!1;try{return(await PY(z,Y)).payload}catch{return!1}}}).as("scoped")};import{Elysia as kY}from"elysia";import{existsSync as EY}from"fs";import{platform as wY}from"os";var mG=(G)=>{let Y=wY()==="win32",Z=Y?"\\":"/";if(Y&&/^[A-Z]:\\$/i.test(G)||!Y&&G==="/")return"";let z=G+Z+"package.json";if(EY(z))return z;let V=G.split(Z);if(V.length<=1)return"";let X=V.slice(0,-1).join(Z);if(X==="")return"";return mG(X)},S=await import(mG(Bun.main)),JZ=new kY({name:"microservicePlugin",prefix:"/microservice",detail:{tags:["Microservice"],security:[]}}).model({infoResponse200:pG,pingResponse200:dG}).get("/ping",()=>({message:"pong"}),{detail:{summary:"Ping",description:"Ping the microservice to check if it is alive"},response:"pingResponse200"}).get("/info",()=>({message:"Microservice Information",content:{name:S.default.name,version:S.default.version,description:S.default.description,author:S.default.author}}),{detail:{summary:"Info",description:"Get information about the microservice"},response:"infoResponse200"}).as("scoped");import{Elysia as RY}from"elysia";var LZ=({redis:G,limit:Y,window:Z,message:z})=>new RY({name:"rateLimitPlugin",seed:{redis:G,limit:Y,window:Z,message:z}}).onRequest(async({set:V,request:X})=>{let _=`ratelimit:${X.headers.get("x-forwarded-for")||X.headers.get("x-real-ip")||"127.0.0.1"}`,T=await G.client.get(_);if((T?parseInt(T):0)===0)await G.client.setex(_,Z,"1");else await G.client.incr(_);let C=await G.client.get(_),E=C?parseInt(C):0;if(E>Y)throw V.status=d.tooManyRequests,new A({key:L.rateLimitExceeded,message:z||"Rate limit exceeded",httpStatusCode:d.tooManyRequests,cause:{limit:Y,window:Z,remaining:0,reset:await G.client.ttl(_)}});V.headers={"X-RateLimit-Limit":Y.toString(),"X-RateLimit-Remaining":Math.max(0,Y-E).toString(),"X-RateLimit-Reset":(await G.client.ttl(_)).toString()}}).as("scoped");export{LZ as rateLimitPlugin,JZ as microservicePlugin,XZ as jwtPlugin,GZ as errorPlugin,hG as dynamicDatabaseSelectorPlugin,sY as crudPlugin,FY as createResponse200Schema,QY as createInsertBodySchema,UY as createBaseSearchSchemaWithPagination,K as createBaseSearchSchema,gG as advancedSearchPlugin};export{K as f,UY as g,gG as h,hG as i,FY as j,QY as k,sY as l,GZ as m,XZ as n,JZ as o,LZ as p};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ea as f,fa as m}from"../../chunk-wed4kkne.js";import"../../chunk-064f9752.js";export{m as pingResponse200Schema,f as infoResponse200Schema};
2
+ import{ca as f,da as m}from"../../chunk-khjde4tm.js";import"../../chunk-mrzhtfav.js";export{m as pingResponse200Schema,f as infoResponse200Schema};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Z as e}from"../chunk-5x3px0nq.js";import"../chunk-064f9752.js";export{e as CoreError};
2
+ import{Z as e}from"../chunk-5x3px0nq.js";import"../chunk-mrzhtfav.js";export{e as CoreError};
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './database';
2
2
  export * from './database/enums';
3
- export * from './database/events';
3
+ export type * from './database/events';
4
4
  export type * from './database/types';
5
5
  export * from './elysia';
6
6
  export * from './elysia/enums';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{a as R}from"./utils/index.js";import"./utils/enums/index.js";import{b as Q}from"./chunk-yfegpmwy.js";import"./error/index.js";import{c as O}from"./mailer/index.js";import"./mailer/enums/index.js";import{d as N}from"./chunk-n4jkqchx.js";import"./repository/index.js";import{e as P}from"./store/index.js";import"./database/index.js";import"./database/enums/index.js";import"./database/events/index.js";import{f as q,g as v,h as w,i as A,j as B,k as C,l as F,m as G,n as H,o as K,p as M}from"./elysia/index.js";import"./chunk-kn1300vm.js";import{U as k,V as n}from"./chunk-khchjzas.js";import{W as g}from"./chunk-ckg4jheb.js";import{X as E,Y as c}from"./chunk-46z9v7pz.js";import{Z as d}from"./chunk-5x3px0nq.js";import{$ as D,_ as u}from"./chunk-2ysjvwgk.js";import{aa as h,ba as j}from"./chunk-gjfrh429.js";import"./elysia/enums/index.js";import{ca as z,da as L}from"./chunk-4tva6npm.js";import"./elysia/schemas/index.js";import{ea as I,fa as J}from"./chunk-wed4kkne.js";import"./chunk-064f9752.js";export{R as validateEnv,Q as utilKeyError,j as tableEvent,M as rateLimitPlugin,J as pingResponse200Schema,h as mssqlEvent,D as mssqlErrorCode,K as microservicePlugin,c as makeStreamAsyncIterable,N as mailerKeyError,H as jwtPlugin,E as isIsoDateString,I as infoResponse200Schema,L as httpStatusCode,G as errorPlugin,z as elysiaKeyError,A as dynamicDatabaseSelectorPlugin,u as databaseKeyError,F as crudPlugin,B as createResponse200Schema,C as createInsertBodySchema,v as createBaseSearchSchemaWithPagination,q as createBaseSearchSchema,w as advancedSearchPlugin,k as Table,O as SMTP,g as Repository,P as Redis,n as MSSQL,d as CoreError};
2
+ import{a as O}from"./utils/index.js";import"./utils/enums/index.js";import{b as N}from"./chunk-yfegpmwy.js";import"./error/index.js";import{c as L}from"./mailer/index.js";import"./mailer/enums/index.js";import{d as K}from"./chunk-n4jkqchx.js";import"./repository/index.js";import{e as M}from"./store/index.js";import"./database/index.js";import"./database/enums/index.js";import{f as g,g as h,h as j,i as q,j as w,k as z,l as A,m as B,n as C,o as H,p as J}from"./elysia/index.js";import"./chunk-kn1300vm.js";import{U as E,V as c}from"./chunk-fktnffnw.js";import{W as D}from"./chunk-ckg4jheb.js";import{X as u,Y as v}from"./chunk-46z9v7pz.js";import{Z as l}from"./chunk-5x3px0nq.js";import{$ as n,_ as d}from"./chunk-2ysjvwgk.js";import"./elysia/enums/index.js";import{aa as k,ba as I}from"./chunk-qmdvezak.js";import"./elysia/schemas/index.js";import{ca as F,da as G}from"./chunk-khjde4tm.js";import"./chunk-mrzhtfav.js";export{O as validateEnv,N as utilKeyError,J as rateLimitPlugin,G as pingResponse200Schema,n as mssqlErrorCode,H as microservicePlugin,v as makeStreamAsyncIterable,K as mailerKeyError,C as jwtPlugin,u as isIsoDateString,F as infoResponse200Schema,I as httpStatusCode,B as errorPlugin,k as elysiaKeyError,q as dynamicDatabaseSelectorPlugin,d as databaseKeyError,A as crudPlugin,w as createResponse200Schema,z as createInsertBodySchema,h as createBaseSearchSchemaWithPagination,g as createBaseSearchSchema,j as advancedSearchPlugin,E as Table,L as SMTP,D as Repository,M as Redis,c as MSSQL,l as CoreError};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{d as e}from"../../chunk-n4jkqchx.js";import"../../chunk-064f9752.js";export{e as mailerKeyError};
2
+ import{d as e}from"../../chunk-n4jkqchx.js";import"../../chunk-mrzhtfav.js";export{e as mailerKeyError};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{d as z}from"../chunk-n4jkqchx.js";import{Z as q}from"../chunk-5x3px0nq.js";import"../chunk-064f9752.js";import{createTransport as B}from"nodemailer";class D{_config;_transporter=null;constructor(x){this._config={port:587,secure:!1,...x}}async connect(){if(this._transporter)throw new q({key:z.smtpAlreadyConnected,message:"SMTP transporter is already connected."});this._transporter=B({host:this._config.host,port:this._config.port,secure:this._config.secure,auth:{user:this._config.credentials.user,pass:this._config.credentials.pass},pool:!0,maxConnections:this._config.pool?.maxConnections??5});try{await this._transporter.verify()}catch(x){throw new q({key:z.smtpConnectionError,message:"An error occurred while connecting to the SMTP server",cause:x})}}disconnect(){if(this._transporter)this._transporter.close(),this._transporter=null}async sendMail(x){if(!this._transporter)throw new q({key:z.smtpNotConnected,message:"SMTP transporter is not connected."});return this._transporter.sendMail(x)}}export{D as SMTP};export{D as c};
2
+ import{d as z}from"../chunk-n4jkqchx.js";import{Z as q}from"../chunk-5x3px0nq.js";import"../chunk-mrzhtfav.js";import{createTransport as B}from"nodemailer";class D{_config;_transporter=null;constructor(x){this._config={port:587,secure:!1,...x}}async connect(){if(this._transporter)throw new q({key:z.smtpAlreadyConnected,message:"SMTP transporter is already connected."});this._transporter=B({host:this._config.host,port:this._config.port,secure:this._config.secure,auth:{user:this._config.credentials.user,pass:this._config.credentials.pass},pool:!0,maxConnections:this._config.pool?.maxConnections??5});try{await this._transporter.verify()}catch(x){throw new q({key:z.smtpConnectionError,message:"An error occurred while connecting to the SMTP server",cause:x})}}disconnect(){if(this._transporter)this._transporter.close(),this._transporter=null}async sendMail(x){if(!this._transporter)throw new q({key:z.smtpNotConnected,message:"SMTP transporter is not connected."});return this._transporter.sendMail(x)}}export{D as SMTP};export{D as c};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{W as e}from"../chunk-ckg4jheb.js";import"../chunk-46z9v7pz.js";import"../chunk-5x3px0nq.js";import"../chunk-2ysjvwgk.js";import"../chunk-064f9752.js";export{e as Repository};
2
+ import{W as e}from"../chunk-ckg4jheb.js";import"../chunk-46z9v7pz.js";import"../chunk-5x3px0nq.js";import"../chunk-2ysjvwgk.js";import"../chunk-mrzhtfav.js";export{e as Repository};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"../chunk-064f9752.js";import{Redis as i}from"ioredis";class t{_client;constructor(e){this._client=new i(e)}get client(){return this._client}}export{t as Redis};export{t as e};
2
+ import"../chunk-mrzhtfav.js";import{Redis as i}from"ioredis";class t{_client;constructor(e){this._client=new i(e)}get client(){return this._client}}export{t as Redis};export{t as e};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{b as e}from"../../chunk-yfegpmwy.js";import"../../chunk-064f9752.js";export{e as utilKeyError};
2
+ import{b as e}from"../../chunk-yfegpmwy.js";import"../../chunk-mrzhtfav.js";export{e as utilKeyError};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{b as m0}from"../chunk-yfegpmwy.js";import{B as S,C as H8,E as R$,G as H,H as L$,I as e$,J as $8,K as S8,L as K8,M as C$,N as H0,O as P,P as Q8,Q as L8,R as X8,S as B$,T as p,r as m$,u as n$,w as u$,x as l$,z as c$}from"../chunk-kn1300vm.js";import{X as GJ,Y as qJ}from"../chunk-46z9v7pz.js";import{Z as h0}from"../chunk-5x3px0nq.js";import{ga as h$}from"../chunk-064f9752.js";function i$($){return N($)&&globalThis.Symbol.asyncIterator in $}function p$($){return N($)&&globalThis.Symbol.iterator in $}function A8($){return N($)&&(globalThis.Object.getPrototypeOf($)===Object.prototype||globalThis.Object.getPrototypeOf($)===null)}function v$($){return $ instanceof globalThis.Promise}function y($){return $ instanceof Date&&globalThis.Number.isFinite($.getTime())}function o8($){return $ instanceof globalThis.Map}function h8($){return $ instanceof globalThis.Set}function u($){return globalThis.ArrayBuffer.isView($)}function A$($){return $ instanceof globalThis.Uint8Array}function R($,X){return X in $}function N($){return $!==null&&typeof $==="object"}function U($){return globalThis.Array.isArray($)&&!globalThis.ArrayBuffer.isView($)}function F($){return $===void 0}function z$($){return $===null}function X$($){return typeof $==="boolean"}function g($){return typeof $==="number"}function o$($){return globalThis.Number.isInteger($)}function s($){return typeof $==="bigint"}function C($){return typeof $==="string"}function H$($){return typeof $==="function"}function Z$($){return typeof $==="symbol"}function m($){return s($)||X$($)||z$($)||g($)||C($)||Z$($)||F($)}var I;(function($){$.InstanceMode="default",$.ExactOptionalPropertyTypes=!1,$.AllowArrayObject=!1,$.AllowNaN=!1,$.AllowNullVoid=!1;function X(W,G){return $.ExactOptionalPropertyTypes?G in W:W[G]!==void 0}$.IsExactOptionalProperty=X;function Q(W){let G=N(W);return $.AllowArrayObject?G:G&&!U(W)}$.IsObjectLike=Q;function Y(W){return Q(W)&&!(W instanceof Date)&&!(W instanceof Uint8Array)}$.IsRecordLike=Y;function z(W){return $.AllowNaN?g(W):Number.isFinite(W)}$.IsNumberLike=z;function Z(W){let G=F(W);return $.AllowNullVoid?G||W===null:G}$.IsVoidLike=Z})(I||(I={}));var W$={};h$(W$,{Set:()=>s0,Has:()=>t0,Get:()=>r0,Entries:()=>u0,Delete:()=>c0,Clear:()=>l0});var S$=new Map;function u0(){return new Map(S$)}function l0(){return S$.clear()}function c0($){return S$.delete($)}function t0($){return S$.has($)}function s0($,X){S$.set($,X)}function r0($){return S$.get($)}var l={};h$(l,{Set:()=>XQ,Has:()=>QQ,Get:()=>YQ,Entries:()=>a0,Delete:()=>$Q,Clear:()=>e0});var b$=new Map;function a0(){return new Map(b$)}function e0(){return b$.clear()}function $Q($){return b$.delete($)}function QQ($){return b$.has($)}function XQ($,X){b$.set($,X)}function YQ($){return b$.get($)}function ZQ($){return globalThis.Object.freeze($).map((X)=>I$(X))}function WQ($){return $}function JQ($){return $}function GQ($){return $}function qQ($){let X={};for(let Q of Object.getOwnPropertyNames($))X[Q]=I$($[Q]);for(let Q of Object.getOwnPropertySymbols($))X[Q]=I$($[Q]);return globalThis.Object.freeze(X)}function I$($){return m$($)?ZQ($):n$($)?WQ($):c$($)?JQ($):l$($)?GQ($):u$($)?qQ($):$}function HQ($){return $.map((X)=>t$(X))}function LQ($){return new Date($.getTime())}function MQ($){return new Uint8Array($)}function RQ($){return new RegExp($.source,$.flags)}function UQ($){let X={};for(let Q of Object.getOwnPropertyNames($))X[Q]=t$($[Q]);for(let Q of Object.getOwnPropertySymbols($))X[Q]=t$($[Q]);return X}function t$($){return m$($)?HQ($):n$($)?LQ($):c$($)?MQ($):l$($)?RQ($):u$($)?UQ($):$}function m8($){return t$($)}function _($,X){let Q=X!==void 0?{...X,...$}:$;switch(I.InstanceMode){case"freeze":return I$(Q);case"clone":return m8(Q);default:return Q}}function n8($){return _({[H]:"MappedResult",properties:$})}function NQ($,X){let{[X]:Q,...Y}=$;return Y}function D$($,X){return X.reduce((Q,Y)=>NQ(Q,Y),$)}function i($){return _({[H]:"Never",not:{}},$)}function BQ($){return _(D$($,[R$]))}function OQ($){return _({...$,[R$]:"Optional"})}function wQ($,X){return X===!1?BQ($):OQ($)}function j$($,X){let Q=X??!0;return S8($)?u8($,Q):wQ($,Q)}function AQ($,X){let Q={};for(let Y of globalThis.Object.getOwnPropertyNames($))Q[Y]=j$($[Y],X);return Q}function SQ($,X){return AQ($.properties,X)}function u8($,X){let Q=SQ($,X);return n8(Q)}function b8($,X={}){let Q=$.every((z)=>C$(z)),Y=p(X.unevaluatedProperties)?{unevaluatedProperties:X.unevaluatedProperties}:{};return _(X.unevaluatedProperties===!1||p(X.unevaluatedProperties)||Q?{...Y,[H]:"Intersect",type:"object",allOf:$}:{...Y,[H]:"Intersect",allOf:$},X)}function bQ($){return $.every((X)=>L$(X))}function DQ($){return D$($,[R$])}function l8($){return $.map((X)=>L$(X)?DQ(X):X)}function jQ($,X){return bQ($)?j$(b8(l8($),X)):b8(l8($),X)}function c8($,X={}){if($.length===1)return _($[0],X);if($.length===0)return i(X);if($.some((Q)=>P(Q)))throw new Error("Cannot intersect transform types");return jQ($,X)}function k$($,X){return _({[H]:"Union",anyOf:$},X)}function CQ($){return $.some((X)=>L$(X))}function t8($){return $.map((X)=>L$(X)?PQ(X):X)}function PQ($){return D$($,[R$])}function KQ($,X){return CQ($)?j$(k$(t8($),X)):k$(t8($),X)}function D8($,X){return $.length===1?_($[0],X):$.length===0?i(X):KQ($,X)}function s8($,X){return $.length===0?i(X):$.length===1?_($[0],X):k$($,X)}class j8 extends S{}function FQ($){return $.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function C8($,X,Q){return $[X]===Q&&$.charCodeAt(X-1)!==92}function J$($,X){return C8($,X,"(")}function E$($,X){return C8($,X,")")}function r8($,X){return C8($,X,"|")}function gQ($){if(!(J$($,0)&&E$($,$.length-1)))return!1;let X=0;for(let Q=0;Q<$.length;Q++){if(J$($,Q))X+=1;if(E$($,Q))X-=1;if(X===0&&Q!==$.length-1)return!1}return!0}function _Q($){return $.slice(1,$.length-1)}function xQ($){let X=0;for(let Q=0;Q<$.length;Q++){if(J$($,Q))X+=1;if(E$($,Q))X-=1;if(r8($,Q)&&X===0)return!0}return!1}function IQ($){for(let X=0;X<$.length;X++)if(J$($,X))return!0;return!1}function kQ($){let[X,Q]=[0,0],Y=[];for(let Z=0;Z<$.length;Z++){if(J$($,Z))X+=1;if(E$($,Z))X-=1;if(r8($,Z)&&X===0){let W=$.slice(Q,Z);if(W.length>0)Y.push(P$(W));Q=Z+1}}let z=$.slice(Q);if(z.length>0)Y.push(P$(z));if(Y.length===0)return{type:"const",const:""};if(Y.length===1)return Y[0];return{type:"or",expr:Y}}function EQ($){function X(z,Z){if(!J$(z,Z))throw new j8("TemplateLiteralParser: Index must point to open parens");let W=0;for(let G=Z;G<z.length;G++){if(J$(z,G))W+=1;if(E$(z,G))W-=1;if(W===0)return[Z,G]}throw new j8("TemplateLiteralParser: Unclosed group parens in expression")}function Q(z,Z){for(let W=Z;W<z.length;W++)if(J$(z,W))return[Z,W];return[Z,z.length]}let Y=[];for(let z=0;z<$.length;z++)if(J$($,z)){let[Z,W]=X($,z),G=$.slice(Z,W+1);Y.push(P$(G)),z=W}else{let[Z,W]=Q($,z),G=$.slice(Z,W);if(G.length>0)Y.push(P$(G));z=W-1}return Y.length===0?{type:"const",const:""}:Y.length===1?Y[0]:{type:"and",expr:Y}}function P$($){return gQ($)?P$(_Q($)):xQ($)?kQ($):IQ($)?EQ($):{type:"const",const:FQ($)}}function s$($){return P$($.slice(1,$.length-1))}class a8 extends S{}function VQ($){return $.type==="or"&&$.expr.length===2&&$.expr[0].type==="const"&&$.expr[0].const==="0"&&$.expr[1].type==="const"&&$.expr[1].const==="[1-9][0-9]*"}function TQ($){return $.type==="or"&&$.expr.length===2&&$.expr[0].type==="const"&&$.expr[0].const==="true"&&$.expr[1].type==="const"&&$.expr[1].const==="false"}function dQ($){return $.type==="const"&&$.const===".*"}function V$($){return VQ($)||dQ($)?!1:TQ($)?!0:$.type==="and"?$.expr.every((X)=>V$(X)):$.type==="or"?$.expr.every((X)=>V$(X)):$.type==="const"?!0:(()=>{throw new a8("Unknown expression type")})()}function e8($){let X=s$($.pattern);return V$(X)}class $0 extends S{}function*Q0($){if($.length===1)return yield*$[0];for(let X of $[0])for(let Q of Q0($.slice(1)))yield`${X}${Q}`}function*fQ($){return yield*Q0($.expr.map((X)=>[...P8(X)]))}function*yQ($){for(let X of $.expr)yield*P8(X)}function*iQ($){return yield $.const}function*P8($){return $.type==="and"?yield*fQ($):$.type==="or"?yield*yQ($):$.type==="const"?yield*iQ($):(()=>{throw new $0("Unknown expression")})()}function X0($){let X=s$($.pattern);return V$(X)?[...P8(X)]:[]}function r$($,X){return _({[H]:"Literal",const:$,type:typeof $},X)}function a$($){return _({[H]:"String",type:"string"},$)}var Y0="^(0|[1-9][0-9]*)$",z0="^(.*)$";function Z0($,X){return $.map((Q)=>W0(Q,X))}function pQ($){return $.filter((X)=>!K8(X))}function vQ($,X){return c8(pQ(Z0($,X)))}function oQ($){return $.some((X)=>K8(X))?[]:$}function hQ($,X){return D8(oQ(Z0($,X)))}function mQ($,X){return X in $?$[X]:X==="[number]"?D8($):i()}function nQ($,X){return X==="[number]"?$:i()}function uQ($,X){return X in $?$[X]:i()}function W0($,X){return $8($)?vQ($.allOf,X):X8($)?hQ($.anyOf,X):Q8($)?mQ($.items??[],X):e$($)?nQ($.items,X):C$($)?uQ($.properties,X):i()}function J0($,X){return X.map((Q)=>W0($,Q))}function lQ($){let X=[];for(let Q in $)if(!L$($[Q]))X.push(Q);return X}function cQ($,X){let Q=lQ($),Y=Q.length>0?{[H]:"Object",type:"object",properties:$,required:Q}:{[H]:"Object",type:"object",properties:$};return _(Y,X)}var Y8=cQ;function tQ($,X){return $.filter((Q)=>X.includes(Q))}function sQ($,X){return $.reduce((Q,Y)=>{return tQ(Q,Y)},X)}function G0($){return $.length===1?$[0]:$.length>1?sQ($.slice(1),$[0]):[]}function q0($){let X=[];for(let Q of $)X.push(...Q);return X}function L0($){let X=[];for(let Q of $)X.push(Y$(Q));return X}function rQ($){let X=L0($);return q0(X)}function aQ($){let X=L0($);return G0(X)}function eQ($){return $.map((X,Q)=>Q.toString())}function $X($){return["[number]"]}function QX($){return globalThis.Object.getOwnPropertyNames($)}function XX($){if(!F8)return[];return globalThis.Object.getOwnPropertyNames($).map((Q)=>{return Q[0]==="^"&&Q[Q.length-1]==="$"?Q.slice(1,Q.length-1):Q})}function Y$($){return $8($)?rQ($.allOf):X8($)?aQ($.anyOf):Q8($)?eQ($.items??[]):e$($)?$X($.items):C$($)?QX($.properties):H0($)?XX($.patternProperties):[]}var F8=!1;function K$($){F8=!0;let X=Y$($);return F8=!1,`^(${X.map((Y)=>`(${Y})`).join("|")})$`}function z8($){let X=Y$($),Q=J0($,X);return X.map((Y,z)=>[X[z],Q[z]])}function YX($){return $.allOf.every((X)=>U$(X))}function zX($){return $.anyOf.some((X)=>U$(X))}function ZX($){return!U$($.not)}function U$($){return $[H]==="Intersect"?YX($):$[H]==="Union"?zX($):$[H]==="Not"?ZX($):$[H]==="Undefined"?!0:!1}function WX($){switch($.errorType){case J.ArrayContains:return"Expected array to contain at least one matching value";case J.ArrayMaxContains:return`Expected array to contain no more than ${$.schema.maxContains} matching values`;case J.ArrayMinContains:return`Expected array to contain at least ${$.schema.minContains} matching values`;case J.ArrayMaxItems:return`Expected array length to be less or equal to ${$.schema.maxItems}`;case J.ArrayMinItems:return`Expected array length to be greater or equal to ${$.schema.minItems}`;case J.ArrayUniqueItems:return"Expected array elements to be unique";case J.Array:return"Expected array";case J.AsyncIterator:return"Expected AsyncIterator";case J.BigIntExclusiveMaximum:return`Expected bigint to be less than ${$.schema.exclusiveMaximum}`;case J.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${$.schema.exclusiveMinimum}`;case J.BigIntMaximum:return`Expected bigint to be less or equal to ${$.schema.maximum}`;case J.BigIntMinimum:return`Expected bigint to be greater or equal to ${$.schema.minimum}`;case J.BigIntMultipleOf:return`Expected bigint to be a multiple of ${$.schema.multipleOf}`;case J.BigInt:return"Expected bigint";case J.Boolean:return"Expected boolean";case J.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${$.schema.exclusiveMinimumTimestamp}`;case J.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${$.schema.exclusiveMaximumTimestamp}`;case J.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${$.schema.minimumTimestamp}`;case J.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${$.schema.maximumTimestamp}`;case J.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${$.schema.multipleOfTimestamp}`;case J.Date:return"Expected Date";case J.Function:return"Expected function";case J.IntegerExclusiveMaximum:return`Expected integer to be less than ${$.schema.exclusiveMaximum}`;case J.IntegerExclusiveMinimum:return`Expected integer to be greater than ${$.schema.exclusiveMinimum}`;case J.IntegerMaximum:return`Expected integer to be less or equal to ${$.schema.maximum}`;case J.IntegerMinimum:return`Expected integer to be greater or equal to ${$.schema.minimum}`;case J.IntegerMultipleOf:return`Expected integer to be a multiple of ${$.schema.multipleOf}`;case J.Integer:return"Expected integer";case J.IntersectUnevaluatedProperties:return"Unexpected property";case J.Intersect:return"Expected all values to match";case J.Iterator:return"Expected Iterator";case J.Literal:return`Expected ${typeof $.schema.const==="string"?`'${$.schema.const}'`:$.schema.const}`;case J.Never:return"Never";case J.Not:return"Value should not match";case J.Null:return"Expected null";case J.NumberExclusiveMaximum:return`Expected number to be less than ${$.schema.exclusiveMaximum}`;case J.NumberExclusiveMinimum:return`Expected number to be greater than ${$.schema.exclusiveMinimum}`;case J.NumberMaximum:return`Expected number to be less or equal to ${$.schema.maximum}`;case J.NumberMinimum:return`Expected number to be greater or equal to ${$.schema.minimum}`;case J.NumberMultipleOf:return`Expected number to be a multiple of ${$.schema.multipleOf}`;case J.Number:return"Expected number";case J.Object:return"Expected object";case J.ObjectAdditionalProperties:return"Unexpected property";case J.ObjectMaxProperties:return`Expected object to have no more than ${$.schema.maxProperties} properties`;case J.ObjectMinProperties:return`Expected object to have at least ${$.schema.minProperties} properties`;case J.ObjectRequiredProperty:return"Expected required property";case J.Promise:return"Expected Promise";case J.RegExp:return"Expected string to match regular expression";case J.StringFormatUnknown:return`Unknown format '${$.schema.format}'`;case J.StringFormat:return`Expected string to match '${$.schema.format}' format`;case J.StringMaxLength:return`Expected string length less or equal to ${$.schema.maxLength}`;case J.StringMinLength:return`Expected string length greater or equal to ${$.schema.minLength}`;case J.StringPattern:return`Expected string to match '${$.schema.pattern}'`;case J.String:return"Expected string";case J.Symbol:return"Expected symbol";case J.TupleLength:return`Expected tuple to have ${$.schema.maxItems||0} elements`;case J.Tuple:return"Expected tuple";case J.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${$.schema.maxByteLength}`;case J.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${$.schema.minByteLength}`;case J.Uint8Array:return"Expected Uint8Array";case J.Undefined:return"Expected undefined";case J.Union:return"Expected union value";case J.Void:return"Expected void";case J.Kind:return`Expected kind '${$.schema[H]}'`;default:return"Unknown error type"}}var JX=WX;function M0(){return JX}class R0 extends S{constructor($){super(`Unable to dereference schema with $id '${$.$ref}'`);this.schema=$}}function GX($,X){let Q=X.find((Y)=>Y.$id===$.$ref);if(Q===void 0)throw new R0($);return j(Q,X)}function E($,X){if(!C($.$id)||X.some((Q)=>Q.$id===$.$id))return X;return X.push($),X}function j($,X){return $[H]==="This"||$[H]==="Ref"?GX($,X):$}class U0 extends S{constructor($){super("Unable to hash value");this.value=$}}var n;(function($){$[$.Undefined=0]="Undefined",$[$.Null=1]="Null",$[$.Boolean=2]="Boolean",$[$.Number=3]="Number",$[$.String=4]="String",$[$.Object=5]="Object",$[$.Array=6]="Array",$[$.Date=7]="Date",$[$.Uint8Array=8]="Uint8Array",$[$.Symbol=9]="Symbol",$[$.BigInt=10]="BigInt"})(n||(n={}));var F$=BigInt("14695981039346656037"),[qX,HX]=[BigInt("1099511628211"),BigInt("18446744073709551616")],LX=Array.from({length:256}).map(($,X)=>BigInt(X)),N0=new Float64Array(1),B0=new DataView(N0.buffer),O0=new Uint8Array(N0.buffer);function*MX($){let X=$===0?1:Math.ceil(Math.floor(Math.log2($)+1)/8);for(let Q=0;Q<X;Q++)yield $>>8*(X-1-Q)&255}function RX($){f(n.Array);for(let X of $)g$(X)}function UX($){f(n.Boolean),f($?1:0)}function NX($){f(n.BigInt),B0.setBigInt64(0,$);for(let X of O0)f(X)}function BX($){f(n.Date),g$($.getTime())}function OX($){f(n.Null)}function wX($){f(n.Number),B0.setFloat64(0,$);for(let X of O0)f(X)}function AX($){f(n.Object);for(let X of globalThis.Object.getOwnPropertyNames($).sort())g$(X),g$($[X])}function SX($){f(n.String);for(let X=0;X<$.length;X++)for(let Q of MX($.charCodeAt(X)))f(Q)}function bX($){f(n.Symbol),g$($.description)}function DX($){f(n.Uint8Array);for(let X=0;X<$.length;X++)f($[X])}function jX($){return f(n.Undefined)}function g$($){if(U($))return RX($);if(X$($))return UX($);if(s($))return NX($);if(y($))return BX($);if(z$($))return OX($);if(g($))return wX($);if(N($))return AX($);if(C($))return SX($);if(Z$($))return bX($);if(A$($))return DX($);if(F($))return jX($);throw new U0($)}function f($){F$=F$^LX[$],F$=F$*qX%HX}function _$($){return F$=BigInt("14695981039346656037"),g$($),F$}function g8($){return _({[H]:"Unknown"},$)}class w0 extends S{constructor($){super("Unknown type");this.schema=$}}function CX($){return $[H]==="Any"||$[H]==="Unknown"}function w($){return $!==void 0}function PX($,X,Q){return!0}function KX($,X,Q){return!0}function FX($,X,Q){if(!U(Q))return!1;if(w($.minItems)&&!(Q.length>=$.minItems))return!1;if(w($.maxItems)&&!(Q.length<=$.maxItems))return!1;if(!Q.every((Z)=>V($.items,X,Z)))return!1;if($.uniqueItems===!0&&!function(){let Z=new Set;for(let W of Q){let G=_$(W);if(Z.has(G))return!1;else Z.add(G)}return!0}())return!1;if(!(w($.contains)||g($.minContains)||g($.maxContains)))return!0;let Y=w($.contains)?$.contains:i(),z=Q.reduce((Z,W)=>V(Y,X,W)?Z+1:Z,0);if(z===0)return!1;if(g($.minContains)&&z<$.minContains)return!1;if(g($.maxContains)&&z>$.maxContains)return!1;return!0}function gX($,X,Q){return i$(Q)}function _X($,X,Q){if(!s(Q))return!1;if(w($.exclusiveMaximum)&&!(Q<$.exclusiveMaximum))return!1;if(w($.exclusiveMinimum)&&!(Q>$.exclusiveMinimum))return!1;if(w($.maximum)&&!(Q<=$.maximum))return!1;if(w($.minimum)&&!(Q>=$.minimum))return!1;if(w($.multipleOf)&&Q%$.multipleOf!==BigInt(0))return!1;return!0}function xX($,X,Q){return X$(Q)}function IX($,X,Q){return V($.returns,X,Q.prototype)}function kX($,X,Q){if(!y(Q))return!1;if(w($.exclusiveMaximumTimestamp)&&!(Q.getTime()<$.exclusiveMaximumTimestamp))return!1;if(w($.exclusiveMinimumTimestamp)&&!(Q.getTime()>$.exclusiveMinimumTimestamp))return!1;if(w($.maximumTimestamp)&&!(Q.getTime()<=$.maximumTimestamp))return!1;if(w($.minimumTimestamp)&&!(Q.getTime()>=$.minimumTimestamp))return!1;if(w($.multipleOfTimestamp)&&Q.getTime()%$.multipleOfTimestamp!==0)return!1;return!0}function EX($,X,Q){return H$(Q)}function VX($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return V(z,[...X,...Y],Q)}function TX($,X,Q){if(!o$(Q))return!1;if(w($.exclusiveMaximum)&&!(Q<$.exclusiveMaximum))return!1;if(w($.exclusiveMinimum)&&!(Q>$.exclusiveMinimum))return!1;if(w($.maximum)&&!(Q<=$.maximum))return!1;if(w($.minimum)&&!(Q>=$.minimum))return!1;if(w($.multipleOf)&&Q%$.multipleOf!==0)return!1;return!0}function dX($,X,Q){let Y=$.allOf.every((z)=>V(z,X,Q));if($.unevaluatedProperties===!1){let z=new RegExp(K$($)),Z=Object.getOwnPropertyNames(Q).every((W)=>z.test(W));return Y&&Z}else if(p($.unevaluatedProperties)){let z=new RegExp(K$($)),Z=Object.getOwnPropertyNames(Q).every((W)=>z.test(W)||V($.unevaluatedProperties,X,Q[W]));return Y&&Z}else return Y}function fX($,X,Q){return p$(Q)}function yX($,X,Q){return Q===$.const}function iX($,X,Q){return!1}function pX($,X,Q){return!V($.not,X,Q)}function vX($,X,Q){return z$(Q)}function oX($,X,Q){if(!I.IsNumberLike(Q))return!1;if(w($.exclusiveMaximum)&&!(Q<$.exclusiveMaximum))return!1;if(w($.exclusiveMinimum)&&!(Q>$.exclusiveMinimum))return!1;if(w($.minimum)&&!(Q>=$.minimum))return!1;if(w($.maximum)&&!(Q<=$.maximum))return!1;if(w($.multipleOf)&&Q%$.multipleOf!==0)return!1;return!0}function hX($,X,Q){if(!I.IsObjectLike(Q))return!1;if(w($.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=$.minProperties))return!1;if(w($.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=$.maxProperties))return!1;let Y=Object.getOwnPropertyNames($.properties);for(let z of Y){let Z=$.properties[z];if($.required&&$.required.includes(z)){if(!V(Z,X,Q[z]))return!1;if((U$(Z)||CX(Z))&&!(z in Q))return!1}else if(I.IsExactOptionalProperty(Q,z)&&!V(Z,X,Q[z]))return!1}if($.additionalProperties===!1){let z=Object.getOwnPropertyNames(Q);if($.required&&$.required.length===Y.length&&z.length===Y.length)return!0;else return z.every((Z)=>Y.includes(Z))}else if(typeof $.additionalProperties==="object")return Object.getOwnPropertyNames(Q).every((Z)=>Y.includes(Z)||V($.additionalProperties,X,Q[Z]));else return!0}function mX($,X,Q){return v$(Q)}function nX($,X,Q){if(!I.IsRecordLike(Q))return!1;if(w($.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=$.minProperties))return!1;if(w($.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=$.maxProperties))return!1;let[Y,z]=Object.entries($.patternProperties)[0],Z=new RegExp(Y),W=Object.entries(Q).every(([B,M])=>{return Z.test(B)?V(z,X,M):!0}),G=typeof $.additionalProperties==="object"?Object.entries(Q).every(([B,M])=>{return!Z.test(B)?V($.additionalProperties,X,M):!0}):!0,L=$.additionalProperties===!1?Object.getOwnPropertyNames(Q).every((B)=>{return Z.test(B)}):!0;return W&&G&&L}function uX($,X,Q){return V(j($,X),X,Q)}function lX($,X,Q){let Y=new RegExp($.source,$.flags);if(w($.minLength)){if(!(Q.length>=$.minLength))return!1}if(w($.maxLength)){if(!(Q.length<=$.maxLength))return!1}return Y.test(Q)}function cX($,X,Q){if(!C(Q))return!1;if(w($.minLength)){if(!(Q.length>=$.minLength))return!1}if(w($.maxLength)){if(!(Q.length<=$.maxLength))return!1}if(w($.pattern)){if(!new RegExp($.pattern).test(Q))return!1}if(w($.format)){if(!W$.Has($.format))return!1;return W$.Get($.format)(Q)}return!0}function tX($,X,Q){return Z$(Q)}function sX($,X,Q){return C(Q)&&new RegExp($.pattern).test(Q)}function rX($,X,Q){return V(j($,X),X,Q)}function aX($,X,Q){if(!U(Q))return!1;if($.items===void 0&&Q.length!==0)return!1;if(Q.length!==$.maxItems)return!1;if(!$.items)return!0;for(let Y=0;Y<$.items.length;Y++)if(!V($.items[Y],X,Q[Y]))return!1;return!0}function eX($,X,Q){return F(Q)}function $1($,X,Q){return $.anyOf.some((Y)=>V(Y,X,Q))}function Q1($,X,Q){if(!A$(Q))return!1;if(w($.maxByteLength)&&!(Q.length<=$.maxByteLength))return!1;if(w($.minByteLength)&&!(Q.length>=$.minByteLength))return!1;return!0}function X1($,X,Q){return!0}function Y1($,X,Q){return I.IsVoidLike(Q)}function z1($,X,Q){if(!l.Has($[H]))return!1;return l.Get($[H])($,Q)}function V($,X,Q){let Y=w($.$id)?E($,X):X,z=$;switch(z[H]){case"Any":return PX(z,Y,Q);case"Argument":return KX(z,Y,Q);case"Array":return FX(z,Y,Q);case"AsyncIterator":return gX(z,Y,Q);case"BigInt":return _X(z,Y,Q);case"Boolean":return xX(z,Y,Q);case"Constructor":return IX(z,Y,Q);case"Date":return kX(z,Y,Q);case"Function":return EX(z,Y,Q);case"Import":return VX(z,Y,Q);case"Integer":return TX(z,Y,Q);case"Intersect":return dX(z,Y,Q);case"Iterator":return fX(z,Y,Q);case"Literal":return yX(z,Y,Q);case"Never":return iX(z,Y,Q);case"Not":return pX(z,Y,Q);case"Null":return vX(z,Y,Q);case"Number":return oX(z,Y,Q);case"Object":return hX(z,Y,Q);case"Promise":return mX(z,Y,Q);case"Record":return nX(z,Y,Q);case"Ref":return uX(z,Y,Q);case"RegExp":return lX(z,Y,Q);case"String":return cX(z,Y,Q);case"Symbol":return tX(z,Y,Q);case"TemplateLiteral":return sX(z,Y,Q);case"This":return rX(z,Y,Q);case"Tuple":return aX(z,Y,Q);case"Undefined":return eX(z,Y,Q);case"Union":return $1(z,Y,Q);case"Uint8Array":return Q1(z,Y,Q);case"Unknown":return X1(z,Y,Q);case"Void":return Y1(z,Y,Q);default:if(!l.Has(z[H]))throw new w0(z);return z1(z,Y,Q)}}function O(...$){return $.length===3?V($[0],$[1],$[2]):V($[0],[],$[1])}var J;(function($){$[$.ArrayContains=0]="ArrayContains",$[$.ArrayMaxContains=1]="ArrayMaxContains",$[$.ArrayMaxItems=2]="ArrayMaxItems",$[$.ArrayMinContains=3]="ArrayMinContains",$[$.ArrayMinItems=4]="ArrayMinItems",$[$.ArrayUniqueItems=5]="ArrayUniqueItems",$[$.Array=6]="Array",$[$.AsyncIterator=7]="AsyncIterator",$[$.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",$[$.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",$[$.BigIntMaximum=10]="BigIntMaximum",$[$.BigIntMinimum=11]="BigIntMinimum",$[$.BigIntMultipleOf=12]="BigIntMultipleOf",$[$.BigInt=13]="BigInt",$[$.Boolean=14]="Boolean",$[$.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",$[$.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",$[$.DateMaximumTimestamp=17]="DateMaximumTimestamp",$[$.DateMinimumTimestamp=18]="DateMinimumTimestamp",$[$.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",$[$.Date=20]="Date",$[$.Function=21]="Function",$[$.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",$[$.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",$[$.IntegerMaximum=24]="IntegerMaximum",$[$.IntegerMinimum=25]="IntegerMinimum",$[$.IntegerMultipleOf=26]="IntegerMultipleOf",$[$.Integer=27]="Integer",$[$.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",$[$.Intersect=29]="Intersect",$[$.Iterator=30]="Iterator",$[$.Kind=31]="Kind",$[$.Literal=32]="Literal",$[$.Never=33]="Never",$[$.Not=34]="Not",$[$.Null=35]="Null",$[$.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",$[$.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",$[$.NumberMaximum=38]="NumberMaximum",$[$.NumberMinimum=39]="NumberMinimum",$[$.NumberMultipleOf=40]="NumberMultipleOf",$[$.Number=41]="Number",$[$.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",$[$.ObjectMaxProperties=43]="ObjectMaxProperties",$[$.ObjectMinProperties=44]="ObjectMinProperties",$[$.ObjectRequiredProperty=45]="ObjectRequiredProperty",$[$.Object=46]="Object",$[$.Promise=47]="Promise",$[$.RegExp=48]="RegExp",$[$.StringFormatUnknown=49]="StringFormatUnknown",$[$.StringFormat=50]="StringFormat",$[$.StringMaxLength=51]="StringMaxLength",$[$.StringMinLength=52]="StringMinLength",$[$.StringPattern=53]="StringPattern",$[$.String=54]="String",$[$.Symbol=55]="Symbol",$[$.TupleLength=56]="TupleLength",$[$.Tuple=57]="Tuple",$[$.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",$[$.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",$[$.Uint8Array=60]="Uint8Array",$[$.Undefined=61]="Undefined",$[$.Union=62]="Union",$[$.Void=63]="Void"})(J||(J={}));class A0 extends S{constructor($){super("Unknown type");this.schema=$}}function G$($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}function A($){return $!==void 0}class N${constructor($){this.iterator=$}[Symbol.iterator](){return this.iterator}First(){let $=this.iterator.next();return $.done?void 0:$.value}}function q($,X,Q,Y,z=[]){return{type:$,schema:X,path:Q,value:Y,message:M0()({errorType:$,path:Q,schema:X,value:Y,errors:z}),errors:z}}function*Z1($,X,Q,Y){}function*W1($,X,Q,Y){}function*J1($,X,Q,Y){if(!U(Y))return yield q(J.Array,$,Q,Y);if(A($.minItems)&&!(Y.length>=$.minItems))yield q(J.ArrayMinItems,$,Q,Y);if(A($.maxItems)&&!(Y.length<=$.maxItems))yield q(J.ArrayMaxItems,$,Q,Y);for(let W=0;W<Y.length;W++)yield*T($.items,X,`${Q}/${W}`,Y[W]);if($.uniqueItems===!0&&!function(){let W=new Set;for(let G of Y){let L=_$(G);if(W.has(L))return!1;else W.add(L)}return!0}())yield q(J.ArrayUniqueItems,$,Q,Y);if(!(A($.contains)||A($.minContains)||A($.maxContains)))return;let z=A($.contains)?$.contains:i(),Z=Y.reduce((W,G,L)=>T(z,X,`${Q}${L}`,G).next().done===!0?W+1:W,0);if(Z===0)yield q(J.ArrayContains,$,Q,Y);if(g($.minContains)&&Z<$.minContains)yield q(J.ArrayMinContains,$,Q,Y);if(g($.maxContains)&&Z>$.maxContains)yield q(J.ArrayMaxContains,$,Q,Y)}function*G1($,X,Q,Y){if(!i$(Y))yield q(J.AsyncIterator,$,Q,Y)}function*q1($,X,Q,Y){if(!s(Y))return yield q(J.BigInt,$,Q,Y);if(A($.exclusiveMaximum)&&!(Y<$.exclusiveMaximum))yield q(J.BigIntExclusiveMaximum,$,Q,Y);if(A($.exclusiveMinimum)&&!(Y>$.exclusiveMinimum))yield q(J.BigIntExclusiveMinimum,$,Q,Y);if(A($.maximum)&&!(Y<=$.maximum))yield q(J.BigIntMaximum,$,Q,Y);if(A($.minimum)&&!(Y>=$.minimum))yield q(J.BigIntMinimum,$,Q,Y);if(A($.multipleOf)&&Y%$.multipleOf!==BigInt(0))yield q(J.BigIntMultipleOf,$,Q,Y)}function*H1($,X,Q,Y){if(!X$(Y))yield q(J.Boolean,$,Q,Y)}function*L1($,X,Q,Y){yield*T($.returns,X,Q,Y.prototype)}function*M1($,X,Q,Y){if(!y(Y))return yield q(J.Date,$,Q,Y);if(A($.exclusiveMaximumTimestamp)&&!(Y.getTime()<$.exclusiveMaximumTimestamp))yield q(J.DateExclusiveMaximumTimestamp,$,Q,Y);if(A($.exclusiveMinimumTimestamp)&&!(Y.getTime()>$.exclusiveMinimumTimestamp))yield q(J.DateExclusiveMinimumTimestamp,$,Q,Y);if(A($.maximumTimestamp)&&!(Y.getTime()<=$.maximumTimestamp))yield q(J.DateMaximumTimestamp,$,Q,Y);if(A($.minimumTimestamp)&&!(Y.getTime()>=$.minimumTimestamp))yield q(J.DateMinimumTimestamp,$,Q,Y);if(A($.multipleOfTimestamp)&&Y.getTime()%$.multipleOfTimestamp!==0)yield q(J.DateMultipleOfTimestamp,$,Q,Y)}function*R1($,X,Q,Y){if(!H$(Y))yield q(J.Function,$,Q,Y)}function*U1($,X,Q,Y){let z=globalThis.Object.values($.$defs),Z=$.$defs[$.$ref];yield*T(Z,[...X,...z],Q,Y)}function*N1($,X,Q,Y){if(!o$(Y))return yield q(J.Integer,$,Q,Y);if(A($.exclusiveMaximum)&&!(Y<$.exclusiveMaximum))yield q(J.IntegerExclusiveMaximum,$,Q,Y);if(A($.exclusiveMinimum)&&!(Y>$.exclusiveMinimum))yield q(J.IntegerExclusiveMinimum,$,Q,Y);if(A($.maximum)&&!(Y<=$.maximum))yield q(J.IntegerMaximum,$,Q,Y);if(A($.minimum)&&!(Y>=$.minimum))yield q(J.IntegerMinimum,$,Q,Y);if(A($.multipleOf)&&Y%$.multipleOf!==0)yield q(J.IntegerMultipleOf,$,Q,Y)}function*B1($,X,Q,Y){let z=!1;for(let Z of $.allOf)for(let W of T(Z,X,Q,Y))z=!0,yield W;if(z)return yield q(J.Intersect,$,Q,Y);if($.unevaluatedProperties===!1){let Z=new RegExp(K$($));for(let W of Object.getOwnPropertyNames(Y))if(!Z.test(W))yield q(J.IntersectUnevaluatedProperties,$,`${Q}/${W}`,Y)}if(typeof $.unevaluatedProperties==="object"){let Z=new RegExp(K$($));for(let W of Object.getOwnPropertyNames(Y))if(!Z.test(W)){let G=T($.unevaluatedProperties,X,`${Q}/${W}`,Y[W]).next();if(!G.done)yield G.value}}}function*O1($,X,Q,Y){if(!p$(Y))yield q(J.Iterator,$,Q,Y)}function*w1($,X,Q,Y){if(Y!==$.const)yield q(J.Literal,$,Q,Y)}function*A1($,X,Q,Y){yield q(J.Never,$,Q,Y)}function*S1($,X,Q,Y){if(T($.not,X,Q,Y).next().done===!0)yield q(J.Not,$,Q,Y)}function*b1($,X,Q,Y){if(!z$(Y))yield q(J.Null,$,Q,Y)}function*D1($,X,Q,Y){if(!I.IsNumberLike(Y))return yield q(J.Number,$,Q,Y);if(A($.exclusiveMaximum)&&!(Y<$.exclusiveMaximum))yield q(J.NumberExclusiveMaximum,$,Q,Y);if(A($.exclusiveMinimum)&&!(Y>$.exclusiveMinimum))yield q(J.NumberExclusiveMinimum,$,Q,Y);if(A($.maximum)&&!(Y<=$.maximum))yield q(J.NumberMaximum,$,Q,Y);if(A($.minimum)&&!(Y>=$.minimum))yield q(J.NumberMinimum,$,Q,Y);if(A($.multipleOf)&&Y%$.multipleOf!==0)yield q(J.NumberMultipleOf,$,Q,Y)}function*j1($,X,Q,Y){if(!I.IsObjectLike(Y))return yield q(J.Object,$,Q,Y);if(A($.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=$.minProperties))yield q(J.ObjectMinProperties,$,Q,Y);if(A($.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=$.maxProperties))yield q(J.ObjectMaxProperties,$,Q,Y);let z=Array.isArray($.required)?$.required:[],Z=Object.getOwnPropertyNames($.properties),W=Object.getOwnPropertyNames(Y);for(let G of z){if(W.includes(G))continue;yield q(J.ObjectRequiredProperty,$.properties[G],`${Q}/${G$(G)}`,void 0)}if($.additionalProperties===!1){for(let G of W)if(!Z.includes(G))yield q(J.ObjectAdditionalProperties,$,`${Q}/${G$(G)}`,Y[G])}if(typeof $.additionalProperties==="object")for(let G of W){if(Z.includes(G))continue;yield*T($.additionalProperties,X,`${Q}/${G$(G)}`,Y[G])}for(let G of Z){let L=$.properties[G];if($.required&&$.required.includes(G)){if(yield*T(L,X,`${Q}/${G$(G)}`,Y[G]),U$($)&&!(G in Y))yield q(J.ObjectRequiredProperty,L,`${Q}/${G$(G)}`,void 0)}else if(I.IsExactOptionalProperty(Y,G))yield*T(L,X,`${Q}/${G$(G)}`,Y[G])}}function*C1($,X,Q,Y){if(!v$(Y))yield q(J.Promise,$,Q,Y)}function*P1($,X,Q,Y){if(!I.IsRecordLike(Y))return yield q(J.Object,$,Q,Y);if(A($.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=$.minProperties))yield q(J.ObjectMinProperties,$,Q,Y);if(A($.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=$.maxProperties))yield q(J.ObjectMaxProperties,$,Q,Y);let[z,Z]=Object.entries($.patternProperties)[0],W=new RegExp(z);for(let[G,L]of Object.entries(Y))if(W.test(G))yield*T(Z,X,`${Q}/${G$(G)}`,L);if(typeof $.additionalProperties==="object"){for(let[G,L]of Object.entries(Y))if(!W.test(G))yield*T($.additionalProperties,X,`${Q}/${G$(G)}`,L)}if($.additionalProperties===!1)for(let[G,L]of Object.entries(Y)){if(W.test(G))continue;return yield q(J.ObjectAdditionalProperties,$,`${Q}/${G$(G)}`,L)}}function*K1($,X,Q,Y){yield*T(j($,X),X,Q,Y)}function*F1($,X,Q,Y){if(!C(Y))return yield q(J.String,$,Q,Y);if(A($.minLength)&&!(Y.length>=$.minLength))yield q(J.StringMinLength,$,Q,Y);if(A($.maxLength)&&!(Y.length<=$.maxLength))yield q(J.StringMaxLength,$,Q,Y);if(!new RegExp($.source,$.flags).test(Y))return yield q(J.RegExp,$,Q,Y)}function*g1($,X,Q,Y){if(!C(Y))return yield q(J.String,$,Q,Y);if(A($.minLength)&&!(Y.length>=$.minLength))yield q(J.StringMinLength,$,Q,Y);if(A($.maxLength)&&!(Y.length<=$.maxLength))yield q(J.StringMaxLength,$,Q,Y);if(C($.pattern)){if(!new RegExp($.pattern).test(Y))yield q(J.StringPattern,$,Q,Y)}if(C($.format)){if(!W$.Has($.format))yield q(J.StringFormatUnknown,$,Q,Y);else if(!W$.Get($.format)(Y))yield q(J.StringFormat,$,Q,Y)}}function*_1($,X,Q,Y){if(!Z$(Y))yield q(J.Symbol,$,Q,Y)}function*x1($,X,Q,Y){if(!C(Y))return yield q(J.String,$,Q,Y);if(!new RegExp($.pattern).test(Y))yield q(J.StringPattern,$,Q,Y)}function*I1($,X,Q,Y){yield*T(j($,X),X,Q,Y)}function*k1($,X,Q,Y){if(!U(Y))return yield q(J.Tuple,$,Q,Y);if($.items===void 0&&Y.length!==0)return yield q(J.TupleLength,$,Q,Y);if(Y.length!==$.maxItems)return yield q(J.TupleLength,$,Q,Y);if(!$.items)return;for(let z=0;z<$.items.length;z++)yield*T($.items[z],X,`${Q}/${z}`,Y[z])}function*E1($,X,Q,Y){if(!F(Y))yield q(J.Undefined,$,Q,Y)}function*V1($,X,Q,Y){if(O($,X,Y))return;let z=$.anyOf.map((Z)=>new N$(T(Z,X,Q,Y)));yield q(J.Union,$,Q,Y,z)}function*T1($,X,Q,Y){if(!A$(Y))return yield q(J.Uint8Array,$,Q,Y);if(A($.maxByteLength)&&!(Y.length<=$.maxByteLength))yield q(J.Uint8ArrayMaxByteLength,$,Q,Y);if(A($.minByteLength)&&!(Y.length>=$.minByteLength))yield q(J.Uint8ArrayMinByteLength,$,Q,Y)}function*d1($,X,Q,Y){}function*f1($,X,Q,Y){if(!I.IsVoidLike(Y))yield q(J.Void,$,Q,Y)}function*y1($,X,Q,Y){if(!l.Get($[H])($,Y))yield q(J.Kind,$,Q,Y)}function*T($,X,Q,Y){let z=A($.$id)?[...X,$]:X,Z=$;switch(Z[H]){case"Any":return yield*Z1(Z,z,Q,Y);case"Argument":return yield*W1(Z,z,Q,Y);case"Array":return yield*J1(Z,z,Q,Y);case"AsyncIterator":return yield*G1(Z,z,Q,Y);case"BigInt":return yield*q1(Z,z,Q,Y);case"Boolean":return yield*H1(Z,z,Q,Y);case"Constructor":return yield*L1(Z,z,Q,Y);case"Date":return yield*M1(Z,z,Q,Y);case"Function":return yield*R1(Z,z,Q,Y);case"Import":return yield*U1(Z,z,Q,Y);case"Integer":return yield*N1(Z,z,Q,Y);case"Intersect":return yield*B1(Z,z,Q,Y);case"Iterator":return yield*O1(Z,z,Q,Y);case"Literal":return yield*w1(Z,z,Q,Y);case"Never":return yield*A1(Z,z,Q,Y);case"Not":return yield*S1(Z,z,Q,Y);case"Null":return yield*b1(Z,z,Q,Y);case"Number":return yield*D1(Z,z,Q,Y);case"Object":return yield*j1(Z,z,Q,Y);case"Promise":return yield*C1(Z,z,Q,Y);case"Record":return yield*P1(Z,z,Q,Y);case"Ref":return yield*K1(Z,z,Q,Y);case"RegExp":return yield*F1(Z,z,Q,Y);case"String":return yield*g1(Z,z,Q,Y);case"Symbol":return yield*_1(Z,z,Q,Y);case"TemplateLiteral":return yield*x1(Z,z,Q,Y);case"This":return yield*I1(Z,z,Q,Y);case"Tuple":return yield*k1(Z,z,Q,Y);case"Undefined":return yield*E1(Z,z,Q,Y);case"Union":return yield*V1(Z,z,Q,Y);case"Uint8Array":return yield*T1(Z,z,Q,Y);case"Unknown":return yield*d1(Z,z,Q,Y);case"Void":return yield*f1(Z,z,Q,Y);default:if(!l.Has(Z[H]))throw new A0($);return yield*y1(Z,z,Q,Y)}}function M$(...$){let X=$.length===3?T($[0],$[1],"",$[2]):T($[0],[],"",$[1]);return new N$(X)}var i1=function($,X,Q,Y,z){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!z)throw new TypeError("Private accessor was defined without a setter");if(typeof X==="function"?$!==X||!z:!X.has($))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?z.call($,Q):z?z.value=Q:X.set($,Q),Q},b0=function($,X,Q,Y){if(Q==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof X==="function"?$!==X||!Y:!X.has($))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Q==="m"?Y:Q==="a"?Y.call($):Y?Y.value:X.get($)},_8,Z8,D0;class j0 extends S{constructor($){let X=$.First();super(X===void 0?"Invalid Value":X.message);_8.add(this),Z8.set(this,void 0),i1(this,Z8,$,"f"),this.error=X}Errors(){return new N$(b0(this,_8,"m",D0).call(this))}}Z8=new WeakMap,_8=new WeakSet,D0=function*$(){if(this.error)yield this.error;yield*b0(this,Z8,"f")};function S0($,X,Q){if(O($,X,Q))return;throw new j0(M$($,X,Q))}function W8(...$){return $.length===3?S0($[0],$[1],$[2]):S0($[0],[],$[1])}function p1($){let X={};for(let Q of Object.getOwnPropertyNames($))X[Q]=b($[Q]);for(let Q of Object.getOwnPropertySymbols($))X[Q]=b($[Q]);return X}function v1($){return $.map((X)=>b(X))}function o1($){return $.slice()}function h1($){return new Map(b([...$.entries()]))}function m1($){return new Set(b([...$.entries()]))}function n1($){return new Date($.toISOString())}function u1($){return $}function b($){if(U($))return v1($);if(y($))return n1($);if(u($))return o1($);if(o8($))return h1($);if(h8($))return m1($);if(N($))return p1($);if(m($))return u1($);throw new Error("ValueClone: Unable to clone value")}class c extends S{constructor($,X){super(X);this.schema=$}}function D($){return H$($)?$():b($)}function l1($,X){if(R($,"default"))return D($.default);else return{}}function c1($,X){return{}}function t1($,X){if($.uniqueItems===!0&&!R($,"default"))throw new c($,"Array with the uniqueItems constraint requires a default value");else if("contains"in $&&!R($,"default"))throw new c($,"Array with the contains constraint requires a default value");else if("default"in $)return D($.default);else if($.minItems!==void 0)return Array.from({length:$.minItems}).map((Q)=>{return o($.items,X)});else return[]}function s1($,X){if(R($,"default"))return D($.default);else return async function*(){}()}function r1($,X){if(R($,"default"))return D($.default);else return BigInt(0)}function a1($,X){if(R($,"default"))return D($.default);else return!1}function e1($,X){if(R($,"default"))return D($.default);else{let Q=o($.returns,X);if(typeof Q==="object"&&!Array.isArray(Q))return class{constructor(){for(let[Y,z]of Object.entries(Q)){let Z=this;Z[Y]=z}}};else return class{}}}function $6($,X){if(R($,"default"))return D($.default);else if($.minimumTimestamp!==void 0)return new Date($.minimumTimestamp);else return new Date}function Q6($,X){if(R($,"default"))return D($.default);else return()=>o($.returns,X)}function X6($,X){let Q=globalThis.Object.values($.$defs),Y=$.$defs[$.$ref];return o(Y,[...X,...Q])}function Y6($,X){if(R($,"default"))return D($.default);else if($.minimum!==void 0)return $.minimum;else return 0}function z6($,X){if(R($,"default"))return D($.default);else{let Q=$.allOf.reduce((Y,z)=>{let Z=o(z,X);return typeof Z==="object"?{...Y,...Z}:Z},{});if(!O($,X,Q))throw new c($,"Intersect produced invalid value. Consider using a default value.");return Q}}function Z6($,X){if(R($,"default"))return D($.default);else return function*(){}()}function W6($,X){if(R($,"default"))return D($.default);else return $.const}function J6($,X){if(R($,"default"))return D($.default);else throw new c($,"Never types cannot be created. Consider using a default value.")}function G6($,X){if(R($,"default"))return D($.default);else throw new c($,"Not types must have a default value")}function q6($,X){if(R($,"default"))return D($.default);else return null}function H6($,X){if(R($,"default"))return D($.default);else if($.minimum!==void 0)return $.minimum;else return 0}function L6($,X){if(R($,"default"))return D($.default);else{let Q=new Set($.required),Y={};for(let[z,Z]of Object.entries($.properties)){if(!Q.has(z))continue;Y[z]=o(Z,X)}return Y}}function M6($,X){if(R($,"default"))return D($.default);else return Promise.resolve(o($.item,X))}function R6($,X){let[Q,Y]=Object.entries($.patternProperties)[0];if(R($,"default"))return D($.default);else if(!(Q===z0||Q===Y0)){let z=Q.slice(1,Q.length-1).split("|"),Z={};for(let W of z)Z[W]=o(Y,X);return Z}else return{}}function U6($,X){if(R($,"default"))return D($.default);else return o(j($,X),X)}function N6($,X){if(R($,"default"))return D($.default);else throw new c($,"RegExp types cannot be created. Consider using a default value.")}function B6($,X){if($.pattern!==void 0)if(!R($,"default"))throw new c($,"String types with patterns must specify a default value");else return D($.default);else if($.format!==void 0)if(!R($,"default"))throw new c($,"String types with formats must specify a default value");else return D($.default);else if(R($,"default"))return D($.default);else if($.minLength!==void 0)return Array.from({length:$.minLength}).map(()=>" ").join("");else return""}function O6($,X){if(R($,"default"))return D($.default);else if("value"in $)return Symbol.for($.value);else return Symbol()}function w6($,X){if(R($,"default"))return D($.default);if(!e8($))throw new c($,"Can only create template literals that produce a finite variants. Consider using a default value.");return X0($)[0]}function A6($,X){if(C0++>F6)throw new c($,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");if(R($,"default"))return D($.default);else return o(j($,X),X)}function S6($,X){if(R($,"default"))return D($.default);if($.items===void 0)return[];else return Array.from({length:$.minItems}).map((Q,Y)=>o($.items[Y],X))}function b6($,X){if(R($,"default"))return D($.default);else return}function D6($,X){if(R($,"default"))return D($.default);else if($.anyOf.length===0)throw new Error("ValueCreate.Union: Cannot create Union with zero variants");else return o($.anyOf[0],X)}function j6($,X){if(R($,"default"))return D($.default);else if($.minByteLength!==void 0)return new Uint8Array($.minByteLength);else return new Uint8Array(0)}function C6($,X){if(R($,"default"))return D($.default);else return{}}function P6($,X){if(R($,"default"))return D($.default);else return}function K6($,X){if(R($,"default"))return D($.default);else throw new Error("User defined types must specify a default value")}function o($,X){let Q=E($,X),Y=$;switch(Y[H]){case"Any":return l1(Y,Q);case"Argument":return c1(Y,Q);case"Array":return t1(Y,Q);case"AsyncIterator":return s1(Y,Q);case"BigInt":return r1(Y,Q);case"Boolean":return a1(Y,Q);case"Constructor":return e1(Y,Q);case"Date":return $6(Y,Q);case"Function":return Q6(Y,Q);case"Import":return X6(Y,Q);case"Integer":return Y6(Y,Q);case"Intersect":return z6(Y,Q);case"Iterator":return Z6(Y,Q);case"Literal":return W6(Y,Q);case"Never":return J6(Y,Q);case"Not":return G6(Y,Q);case"Null":return q6(Y,Q);case"Number":return H6(Y,Q);case"Object":return L6(Y,Q);case"Promise":return M6(Y,Q);case"Record":return R6(Y,Q);case"Ref":return U6(Y,Q);case"RegExp":return N6(Y,Q);case"String":return B6(Y,Q);case"Symbol":return O6(Y,Q);case"TemplateLiteral":return w6(Y,Q);case"This":return A6(Y,Q);case"Tuple":return S6(Y,Q);case"Undefined":return b6(Y,Q);case"Union":return D6(Y,Q);case"Uint8Array":return j6(Y,Q);case"Unknown":return C6(Y,Q);case"Void":return P6(Y,Q);default:if(!l.Has(Y[H]))throw new c(Y,"Unknown type");return K6(Y,Q)}}var F6=512,C0=0;function t(...$){return C0=0,$.length===2?o($[0],$[1]):o($[0],[])}class x8 extends S{constructor($,X){super(X);this.schema=$}}function g6($,X,Q){if($[H]==="Object"&&typeof Q==="object"&&!z$(Q)){let Y=$,z=Object.getOwnPropertyNames(Q),Z=Object.entries(Y.properties),[W,G]=[1/Z.length,Z.length];return Z.reduce((L,[B,M])=>{let K=M[H]==="Literal"&&M.const===Q[B]?G:0,w8=O(M,X,Q[B])?W:0,n0=z.includes(B)?W:0;return L+(K+w8+n0)},0)}else return O($,X,Q)?1:0}function _6($,X,Q){let Y=$.anyOf.map((W)=>j(W,X)),[z,Z]=[Y[0],0];for(let W of Y){let G=g6(W,X,Q);if(G>Z)z=W,Z=G}return z}function x6($,X,Q){if("default"in $)return typeof Q==="function"?$.default:b($.default);else{let Y=_6($,X,Q);return T$(Y,X,Q)}}function I6($,X,Q){return O($,X,Q)?b(Q):t($,X)}function k6($,X,Q){return O($,X,Q)?Q:t($,X)}function E6($,X,Q){if(O($,X,Q))return b(Q);let Y=U(Q)?b(Q):t($,X),z=g($.minItems)&&Y.length<$.minItems?[...Y,...Array.from({length:$.minItems-Y.length},()=>null)]:Y,W=(g($.maxItems)&&z.length>$.maxItems?z.slice(0,$.maxItems):z).map((L)=>r($.items,X,L));if($.uniqueItems!==!0)return W;let G=[...new Set(W)];if(!O($,X,G))throw new x8($,"Array cast produced invalid data due to uniqueItems constraint");return G}function V6($,X,Q){if(O($,X,Q))return t($,X);let Y=new Set($.returns.required||[]),z=function(){};for(let[Z,W]of Object.entries($.returns.properties)){if(!Y.has(Z)&&Q.prototype[Z]===void 0)continue;z.prototype[Z]=r(W,X,Q.prototype[Z])}return z}function T6($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return r(z,[...X,...Y],Q)}function d6($,X,Q){let Y=t($,X),z=N(Y)&&N(Q)?{...Y,...Q}:Q;return O($,X,z)?z:t($,X)}function f6($,X,Q){throw new x8($,"Never types cannot be cast")}function y6($,X,Q){if(O($,X,Q))return Q;if(Q===null||typeof Q!=="object")return t($,X);let Y=new Set($.required||[]),z={};for(let[Z,W]of Object.entries($.properties)){if(!Y.has(Z)&&Q[Z]===void 0)continue;z[Z]=r(W,X,Q[Z])}if(typeof $.additionalProperties==="object"){let Z=Object.getOwnPropertyNames($.properties);for(let W of Object.getOwnPropertyNames(Q)){if(Z.includes(W))continue;z[W]=r($.additionalProperties,X,Q[W])}}return z}function i6($,X,Q){if(O($,X,Q))return b(Q);if(Q===null||typeof Q!=="object"||Array.isArray(Q)||Q instanceof Date)return t($,X);let Y=Object.getOwnPropertyNames($.patternProperties)[0],z=$.patternProperties[Y],Z={};for(let[W,G]of Object.entries(Q))Z[W]=r(z,X,G);return Z}function p6($,X,Q){return r(j($,X),X,Q)}function v6($,X,Q){return r(j($,X),X,Q)}function o6($,X,Q){if(O($,X,Q))return b(Q);if(!U(Q))return t($,X);if($.items===void 0)return[];return $.items.map((Y,z)=>r(Y,X,Q[z]))}function h6($,X,Q){return O($,X,Q)?b(Q):x6($,X,Q)}function r($,X,Q){let Y=C($.$id)?E($,X):X,z=$;switch($[H]){case"Array":return E6(z,Y,Q);case"Constructor":return V6(z,Y,Q);case"Import":return T6(z,Y,Q);case"Intersect":return d6(z,Y,Q);case"Never":return f6(z,Y,Q);case"Object":return y6(z,Y,Q);case"Record":return i6(z,Y,Q);case"Ref":return p6(z,Y,Q);case"This":return v6(z,Y,Q);case"Tuple":return o6(z,Y,Q);case"Union":return h6(z,Y,Q);case"Date":case"Symbol":case"Uint8Array":return I6($,X,Q);default:return k6(z,Y,Q)}}function T$(...$){return $.length===3?r($[0],$[1],$[2]):r($[0],[],$[1])}function m6($){return B$($)&&$[H]!=="Unsafe"}function n6($,X,Q){if(!U(Q))return Q;return Q.map((Y)=>h($.items,X,Y))}function u6($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return h(z,[...X,...Y],Q)}function l6($,X,Q){let Y=$.unevaluatedProperties,Z=$.allOf.map((G)=>h(G,X,b(Q))).reduce((G,L)=>N(L)?{...G,...L}:L,{});if(!N(Q)||!N(Z)||!B$(Y))return Z;let W=Y$($);for(let G of Object.getOwnPropertyNames(Q)){if(W.includes(G))continue;if(O(Y,X,Q[G]))Z[G]=h(Y,X,Q[G])}return Z}function c6($,X,Q){if(!N(Q)||U(Q))return Q;let Y=$.additionalProperties;for(let z of Object.getOwnPropertyNames(Q)){if(R($.properties,z)){Q[z]=h($.properties[z],X,Q[z]);continue}if(B$(Y)&&O(Y,X,Q[z])){Q[z]=h(Y,X,Q[z]);continue}delete Q[z]}return Q}function t6($,X,Q){if(!N(Q))return Q;let Y=$.additionalProperties,z=Object.getOwnPropertyNames(Q),[Z,W]=Object.entries($.patternProperties)[0],G=new RegExp(Z);for(let L of z){if(G.test(L)){Q[L]=h(W,X,Q[L]);continue}if(B$(Y)&&O(Y,X,Q[L])){Q[L]=h(Y,X,Q[L]);continue}delete Q[L]}return Q}function s6($,X,Q){return h(j($,X),X,Q)}function r6($,X,Q){return h(j($,X),X,Q)}function a6($,X,Q){if(!U(Q))return Q;if(F($.items))return[];let Y=Math.min(Q.length,$.items.length);for(let z=0;z<Y;z++)Q[z]=h($.items[z],X,Q[z]);return Q.length>Y?Q.slice(0,Y):Q}function e6($,X,Q){for(let Y of $.anyOf)if(m6(Y)&&O(Y,X,Q))return h(Y,X,Q);return Q}function h($,X,Q){let Y=C($.$id)?E($,X):X,z=$;switch(z[H]){case"Array":return n6(z,Y,Q);case"Import":return u6(z,Y,Q);case"Intersect":return l6(z,Y,Q);case"Object":return c6(z,Y,Q);case"Record":return t6(z,Y,Q);case"Ref":return s6(z,Y,Q);case"This":return r6(z,Y,Q);case"Tuple":return a6(z,Y,Q);case"Union":return e6(z,Y,Q);default:return Q}}function J8(...$){return $.length===3?h($[0],$[1],$[2]):h($[0],[],$[1])}function G8($){return C($)&&!isNaN($)&&!isNaN(parseFloat($))}function $Y($){return s($)||X$($)||g($)}function d$($){return $===!0||g($)&&$===1||s($)&&$===BigInt("1")||C($)&&($.toLowerCase()==="true"||$==="1")}function f$($){return $===!1||g($)&&($===0||Object.is($,-0))||s($)&&$===BigInt("0")||C($)&&($.toLowerCase()==="false"||$==="0"||$==="-0")}function QY($){return C($)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test($)}function XY($){return C($)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test($)}function YY($){return C($)&&/^\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.test($)}function zY($){return C($)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test($)}function ZY($){return C($)&&/^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test($)}function WY($,X){let Q=K0($);return Q===X?Q:$}function JY($,X){let Q=F0($);return Q===X?Q:$}function GY($,X){let Q=P0($);return Q===X?Q:$}function qY($,X){return C($.const)?WY(X,$.const):g($.const)?JY(X,$.const):X$($.const)?GY(X,$.const):X}function P0($){return d$($)?!0:f$($)?!1:$}function HY($){let X=(Q)=>Q.split(".")[0];return G8($)?BigInt(X($)):g($)?BigInt(Math.trunc($)):f$($)?BigInt(0):d$($)?BigInt(1):$}function K0($){return Z$($)&&$.description!==void 0?$.description.toString():$Y($)?$.toString():$}function F0($){return G8($)?parseFloat($):d$($)?1:f$($)?0:$}function LY($){return G8($)?parseInt($):g($)?Math.trunc($):d$($)?1:f$($)?0:$}function MY($){return C($)&&$.toLowerCase()==="null"?null:$}function RY($){return C($)&&$==="undefined"?void 0:$}function UY($){return y($)?$:g($)?new Date($):d$($)?new Date(1):f$($)?new Date(0):G8($)?new Date(parseInt($)):XY($)?new Date(`1970-01-01T${$}.000Z`):QY($)?new Date(`1970-01-01T${$}`):zY($)?new Date(`${$}.000Z`):YY($)?new Date($):ZY($)?new Date(`${$}T00:00:00.000Z`):$}function NY($){return $}function BY($,X,Q){return(U(Q)?Q:[Q]).map((z)=>a($.items,X,z))}function OY($,X,Q){return HY(Q)}function wY($,X,Q){return P0(Q)}function AY($,X,Q){return UY(Q)}function SY($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return a(z,[...X,...Y],Q)}function bY($,X,Q){return LY(Q)}function DY($,X,Q){return $.allOf.reduce((Y,z)=>a(z,X,Y),Q)}function jY($,X,Q){return qY($,Q)}function CY($,X,Q){return MY(Q)}function PY($,X,Q){return F0(Q)}function KY($,X,Q){if(!N(Q))return Q;for(let Y of Object.getOwnPropertyNames($.properties)){if(!R(Q,Y))continue;Q[Y]=a($.properties[Y],X,Q[Y])}return Q}function FY($,X,Q){if(!N(Q))return Q;let z=Object.getOwnPropertyNames($.patternProperties)[0],Z=$.patternProperties[z];for(let[W,G]of Object.entries(Q))Q[W]=a(Z,X,G);return Q}function gY($,X,Q){return a(j($,X),X,Q)}function _Y($,X,Q){return K0(Q)}function xY($,X,Q){return C(Q)||g(Q)?Symbol(Q):Q}function IY($,X,Q){return a(j($,X),X,Q)}function kY($,X,Q){if(!(U(Q)&&!F($.items)))return Q;return Q.map((z,Z)=>{return Z<$.items.length?a($.items[Z],X,z):z})}function EY($,X,Q){return RY(Q)}function VY($,X,Q){for(let Y of $.anyOf){let z=a(Y,X,b(Q));if(!O(Y,X,z))continue;return z}return Q}function a($,X,Q){let Y=E($,X),z=$;switch($[H]){case"Array":return BY(z,Y,Q);case"BigInt":return OY(z,Y,Q);case"Boolean":return wY(z,Y,Q);case"Date":return AY(z,Y,Q);case"Import":return SY(z,Y,Q);case"Integer":return bY(z,Y,Q);case"Intersect":return DY(z,Y,Q);case"Literal":return jY(z,Y,Q);case"Null":return CY(z,Y,Q);case"Number":return PY(z,Y,Q);case"Object":return KY(z,Y,Q);case"Record":return FY(z,Y,Q);case"Ref":return gY(z,Y,Q);case"String":return _Y(z,Y,Q);case"Symbol":return xY(z,Y,Q);case"This":return IY(z,Y,Q);case"Tuple":return kY(z,Y,Q);case"Undefined":return EY(z,Y,Q);case"Union":return VY(z,Y,Q);default:return NY(Q)}}function q8(...$){return $.length===3?a($[0],$[1],$[2]):a($[0],[],$[1])}class I8 extends S{constructor($,X,Q){super("Unable to decode value as it does not match the expected schema");this.schema=$,this.value=X,this.error=Q}}class g0 extends S{constructor($,X,Q,Y){super(Y instanceof Error?Y.message:"Unknown error");this.schema=$,this.path=X,this.value=Q,this.error=Y}}function x($,X,Q){try{return P($)?$[H8].Decode(Q):Q}catch(Y){throw new g0($,X,Q,Y)}}function TY($,X,Q,Y){return U(Y)?x($,Q,Y.map((z,Z)=>e($.items,X,`${Q}/${Z}`,z))):x($,Q,Y)}function dY($,X,Q,Y){if(!N(Y)||m(Y))return x($,Q,Y);let z=z8($),Z=z.map((M)=>M[0]),W={...Y};for(let[M,K]of z)if(M in W)W[M]=e(K,X,`${Q}/${M}`,W[M]);if(!P($.unevaluatedProperties))return x($,Q,W);let G=Object.getOwnPropertyNames(W),L=$.unevaluatedProperties,B={...W};for(let M of G)if(!Z.includes(M))B[M]=x(L,`${Q}/${M}`,B[M]);return x($,Q,B)}function fY($,X,Q,Y){let z=globalThis.Object.values($.$defs),Z=$.$defs[$.$ref],W=e(Z,[...X,...z],Q,Y);return x($,Q,W)}function yY($,X,Q,Y){return x($,Q,e($.not,X,Q,Y))}function iY($,X,Q,Y){if(!N(Y))return x($,Q,Y);let z=Y$($),Z={...Y};for(let B of z){if(!R(Z,B))continue;if(F(Z[B])&&(!L8($.properties[B])||I.IsExactOptionalProperty(Z,B)))continue;Z[B]=e($.properties[B],X,`${Q}/${B}`,Z[B])}if(!p($.additionalProperties))return x($,Q,Z);let W=Object.getOwnPropertyNames(Z),G=$.additionalProperties,L={...Z};for(let B of W)if(!z.includes(B))L[B]=x(G,`${Q}/${B}`,L[B]);return x($,Q,L)}function pY($,X,Q,Y){if(!N(Y))return x($,Q,Y);let z=Object.getOwnPropertyNames($.patternProperties)[0],Z=new RegExp(z),W={...Y};for(let M of Object.getOwnPropertyNames(Y))if(Z.test(M))W[M]=e($.patternProperties[z],X,`${Q}/${M}`,W[M]);if(!p($.additionalProperties))return x($,Q,W);let G=Object.getOwnPropertyNames(W),L=$.additionalProperties,B={...W};for(let M of G)if(!Z.test(M))B[M]=x(L,`${Q}/${M}`,B[M]);return x($,Q,B)}function vY($,X,Q,Y){let z=j($,X);return x($,Q,e(z,X,Q,Y))}function oY($,X,Q,Y){let z=j($,X);return x($,Q,e(z,X,Q,Y))}function hY($,X,Q,Y){return U(Y)&&U($.items)?x($,Q,$.items.map((z,Z)=>e(z,X,`${Q}/${Z}`,Y[Z]))):x($,Q,Y)}function mY($,X,Q,Y){for(let z of $.anyOf){if(!O(z,X,Y))continue;let Z=e(z,X,Q,Y);return x($,Q,Z)}return x($,Q,Y)}function e($,X,Q,Y){let z=E($,X),Z=$;switch($[H]){case"Array":return TY(Z,z,Q,Y);case"Import":return fY(Z,z,Q,Y);case"Intersect":return dY(Z,z,Q,Y);case"Not":return yY(Z,z,Q,Y);case"Object":return iY(Z,z,Q,Y);case"Record":return pY(Z,z,Q,Y);case"Ref":return vY(Z,z,Q,Y);case"Symbol":return x(Z,Q,Y);case"This":return oY(Z,z,Q,Y);case"Tuple":return hY(Z,z,Q,Y);case"Union":return mY(Z,z,Q,Y);default:return x(Z,Q,Y)}}function M8($,X,Q){return e($,X,"",Q)}class k8 extends S{constructor($,X,Q){super("The encoded value does not match the expected schema");this.schema=$,this.value=X,this.error=Q}}class _0 extends S{constructor($,X,Q,Y){super(`${Y instanceof Error?Y.message:"Unknown error"}`);this.schema=$,this.path=X,this.value=Q,this.error=Y}}function d($,X,Q){try{return P($)?$[H8].Encode(Q):Q}catch(Y){throw new _0($,X,Q,Y)}}function nY($,X,Q,Y){let z=d($,Q,Y);return U(z)?z.map((Z,W)=>$$($.items,X,`${Q}/${W}`,Z)):z}function uY($,X,Q,Y){let z=globalThis.Object.values($.$defs),Z=$.$defs[$.$ref],W=d($,Q,Y);return $$(Z,[...X,...z],Q,W)}function lY($,X,Q,Y){let z=d($,Q,Y);if(!N(Y)||m(Y))return z;let Z=z8($),W=Z.map((K)=>K[0]),G={...z};for(let[K,w8]of Z)if(K in G)G[K]=$$(w8,X,`${Q}/${K}`,G[K]);if(!P($.unevaluatedProperties))return G;let L=Object.getOwnPropertyNames(G),B=$.unevaluatedProperties,M={...G};for(let K of L)if(!W.includes(K))M[K]=d(B,`${Q}/${K}`,M[K]);return M}function cY($,X,Q,Y){return d($.not,Q,d($,Q,Y))}function tY($,X,Q,Y){let z=d($,Q,Y);if(!N(z))return z;let Z=Y$($),W={...z};for(let M of Z){if(!R(W,M))continue;if(F(W[M])&&(!L8($.properties[M])||I.IsExactOptionalProperty(W,M)))continue;W[M]=$$($.properties[M],X,`${Q}/${M}`,W[M])}if(!p($.additionalProperties))return W;let G=Object.getOwnPropertyNames(W),L=$.additionalProperties,B={...W};for(let M of G)if(!Z.includes(M))B[M]=d(L,`${Q}/${M}`,B[M]);return B}function sY($,X,Q,Y){let z=d($,Q,Y);if(!N(Y))return z;let Z=Object.getOwnPropertyNames($.patternProperties)[0],W=new RegExp(Z),G={...z};for(let K of Object.getOwnPropertyNames(Y))if(W.test(K))G[K]=$$($.patternProperties[Z],X,`${Q}/${K}`,G[K]);if(!p($.additionalProperties))return G;let L=Object.getOwnPropertyNames(G),B=$.additionalProperties,M={...G};for(let K of L)if(!W.test(K))M[K]=d(B,`${Q}/${K}`,M[K]);return M}function rY($,X,Q,Y){let z=j($,X),Z=$$(z,X,Q,Y);return d($,Q,Z)}function aY($,X,Q,Y){let z=j($,X),Z=$$(z,X,Q,Y);return d($,Q,Z)}function eY($,X,Q,Y){let z=d($,Q,Y);return U($.items)?$.items.map((Z,W)=>$$(Z,X,`${Q}/${W}`,z[W])):[]}function $4($,X,Q,Y){for(let z of $.anyOf){if(!O(z,X,Y))continue;let Z=$$(z,X,Q,Y);return d($,Q,Z)}for(let z of $.anyOf){let Z=$$(z,X,Q,Y);if(!O($,X,Z))continue;return d($,Q,Z)}return d($,Q,Y)}function $$($,X,Q,Y){let z=E($,X),Z=$;switch($[H]){case"Array":return nY(Z,z,Q,Y);case"Import":return uY(Z,z,Q,Y);case"Intersect":return lY(Z,z,Q,Y);case"Not":return cY(Z,z,Q,Y);case"Object":return tY(Z,z,Q,Y);case"Record":return sY(Z,z,Q,Y);case"Ref":return rY(Z,z,Q,Y);case"This":return aY(Z,z,Q,Y);case"Tuple":return eY(Z,z,Q,Y);case"Union":return $4(Z,z,Q,Y);default:return d(Z,Q,Y)}}function R8($,X,Q){return $$($,X,"",Q)}function Q4($,X){return P($)||k($.items,X)}function X4($,X){return P($)||k($.items,X)}function Y4($,X){return P($)||k($.returns,X)||$.parameters.some((Q)=>k(Q,X))}function z4($,X){return P($)||k($.returns,X)||$.parameters.some((Q)=>k(Q,X))}function Z4($,X){return P($)||P($.unevaluatedProperties)||$.allOf.some((Q)=>k(Q,X))}function W4($,X){let Q=globalThis.Object.getOwnPropertyNames($.$defs).reduce((z,Z)=>[...z,$.$defs[Z]],[]),Y=$.$defs[$.$ref];return P($)||k(Y,[...Q,...X])}function J4($,X){return P($)||k($.items,X)}function G4($,X){return P($)||k($.not,X)}function q4($,X){return P($)||Object.values($.properties).some((Q)=>k(Q,X))||p($.additionalProperties)&&k($.additionalProperties,X)}function H4($,X){return P($)||k($.item,X)}function L4($,X){let Q=Object.getOwnPropertyNames($.patternProperties)[0],Y=$.patternProperties[Q];return P($)||k(Y,X)||p($.additionalProperties)&&P($.additionalProperties)}function M4($,X){if(P($))return!0;return k(j($,X),X)}function R4($,X){if(P($))return!0;return k(j($,X),X)}function U4($,X){return P($)||!F($.items)&&$.items.some((Q)=>k(Q,X))}function N4($,X){return P($)||$.anyOf.some((Q)=>k(Q,X))}function k($,X){let Q=E($,X),Y=$;if($.$id&&E8.has($.$id))return!1;if($.$id)E8.add($.$id);switch($[H]){case"Array":return Q4(Y,Q);case"AsyncIterator":return X4(Y,Q);case"Constructor":return Y4(Y,Q);case"Function":return z4(Y,Q);case"Import":return W4(Y,Q);case"Intersect":return Z4(Y,Q);case"Iterator":return J4(Y,Q);case"Not":return G4(Y,Q);case"Object":return q4(Y,Q);case"Promise":return H4(Y,Q);case"Record":return L4(Y,Q);case"Ref":return M4(Y,Q);case"This":return R4(Y,Q);case"Tuple":return U4(Y,Q);case"Union":return N4(Y,Q);default:return P($)}}var E8=new Set;function O$($,X){return E8.clear(),k($,X)}function x0(...$){let[X,Q,Y]=$.length===3?[$[0],$[1],$[2]]:[$[0],[],$[1]];if(!O(X,Q,Y))throw new I8(X,Y,M$(X,Q,Y).First());return O$(X,Q)?M8(X,Q,Y):Y}function q$($,X){let Q=R($,"default")?$.default:void 0,Y=H$(Q)?Q():b(Q);return F(X)?Y:N(X)&&N(Y)?Object.assign(Y,X):X}function V8($){return B$($)&&"default"in $}function B4($,X,Q){if(U(Q)){for(let z=0;z<Q.length;z++)Q[z]=v($.items,X,Q[z]);return Q}let Y=q$($,Q);if(!U(Y))return Y;for(let z=0;z<Y.length;z++)Y[z]=v($.items,X,Y[z]);return Y}function O4($,X,Q){return y(Q)?Q:q$($,Q)}function w4($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return v(z,[...X,...Y],Q)}function A4($,X,Q){let Y=q$($,Q);return $.allOf.reduce((z,Z)=>{let W=v(Z,X,Y);return N(W)?{...z,...W}:W},{})}function S4($,X,Q){let Y=q$($,Q);if(!N(Y))return Y;let z=Object.getOwnPropertyNames($.properties);for(let Z of z){let W=v($.properties[Z],X,Y[Z]);if(F(W))continue;Y[Z]=v($.properties[Z],X,Y[Z])}if(!V8($.additionalProperties))return Y;for(let Z of Object.getOwnPropertyNames(Y)){if(z.includes(Z))continue;Y[Z]=v($.additionalProperties,X,Y[Z])}return Y}function b4($,X,Q){let Y=q$($,Q);if(!N(Y))return Y;let z=$.additionalProperties,[Z,W]=Object.entries($.patternProperties)[0],G=new RegExp(Z);for(let L of Object.getOwnPropertyNames(Y)){if(!(G.test(L)&&V8(W)))continue;Y[L]=v(W,X,Y[L])}if(!V8(z))return Y;for(let L of Object.getOwnPropertyNames(Y)){if(G.test(L))continue;Y[L]=v(z,X,Y[L])}return Y}function D4($,X,Q){return v(j($,X),X,q$($,Q))}function j4($,X,Q){return v(j($,X),X,Q)}function C4($,X,Q){let Y=q$($,Q);if(!U(Y)||F($.items))return Y;let[z,Z]=[$.items,Math.max($.items.length,Y.length)];for(let W=0;W<Z;W++)if(W<z.length)Y[W]=v(z[W],X,Y[W]);return Y}function P4($,X,Q){let Y=q$($,Q);for(let z of $.anyOf){let Z=v(z,X,b(Y));if(O(z,X,Z))return Z}return Y}function v($,X,Q){let Y=E($,X),z=$;switch(z[H]){case"Array":return B4(z,Y,Q);case"Date":return O4(z,Y,Q);case"Import":return w4(z,Y,Q);case"Intersect":return A4(z,Y,Q);case"Object":return S4(z,Y,Q);case"Record":return b4(z,Y,Q);case"Ref":return D4(z,Y,Q);case"This":return j4(z,Y,Q);case"Tuple":return C4(z,Y,Q);case"Union":return P4(z,Y,Q);default:return q$(z,Q)}}function U8(...$){return $.length===3?v($[0],$[1],$[2]):v($[0],[],$[1])}var Q$={};h$(Q$,{ValuePointerRootSetError:()=>T8,ValuePointerRootDeleteError:()=>d8,Set:()=>K4,Has:()=>g4,Get:()=>_4,Format:()=>y$,Delete:()=>F4});class T8 extends S{constructor($,X,Q){super("Cannot set root value");this.value=$,this.path=X,this.update=Q}}class d8 extends S{constructor($,X){super("Cannot delete root value");this.value=$,this.path=X}}function I0($){return $.indexOf("~")===-1?$:$.replace(/~1/g,"/").replace(/~0/g,"~")}function*y$($){if($==="")return;let[X,Q]=[0,0];for(let Y=0;Y<$.length;Y++)if($.charAt(Y)==="/")if(Y===0)X=Y+1;else Q=Y,yield I0($.slice(X,Q)),X=Y+1;else Q=Y;yield I0($.slice(X))}function K4($,X,Q){if(X==="")throw new T8($,X,Q);let[Y,z,Z]=[null,$,""];for(let W of y$(X)){if(z[W]===void 0)z[W]={};Y=z,z=z[W],Z=W}Y[Z]=Q}function F4($,X){if(X==="")throw new d8($,X);let[Q,Y,z]=[null,$,""];for(let Z of y$(X)){if(Y[Z]===void 0||Y[Z]===null)return;Q=Y,Y=Y[Z],z=Z}if(Array.isArray(Q)){let Z=parseInt(z);Q.splice(Z,1)}else delete Q[z]}function g4($,X){if(X==="")return!0;let[Q,Y,z]=[null,$,""];for(let Z of y$(X)){if(Y[Z]===void 0)return!1;Q=Y,Y=Y[Z],z=Z}return Object.getOwnPropertyNames(Q).includes(z)}function _4($,X){if(X==="")return $;let Q=$;for(let Y of y$(X)){if(Q[Y]===void 0)return;Q=Q[Y]}return Q}function x4($,X){if(!N(X))return!1;let Q=[...Object.keys($),...Object.getOwnPropertySymbols($)],Y=[...Object.keys(X),...Object.getOwnPropertySymbols(X)];if(Q.length!==Y.length)return!1;return Q.every((z)=>w$($[z],X[z]))}function I4($,X){return y(X)&&$.getTime()===X.getTime()}function k4($,X){if(!U(X)||$.length!==X.length)return!1;return $.every((Q,Y)=>w$(Q,X[Y]))}function E4($,X){if(!u(X)||$.length!==X.length||Object.getPrototypeOf($).constructor.name!==Object.getPrototypeOf(X).constructor.name)return!1;return $.every((Q,Y)=>w$(Q,X[Y]))}function V4($,X){return $===X}function w$($,X){if(y($))return I4($,X);if(u($))return E4($,X);if(U($))return k4($,X);if(N($))return x4($,X);if(m($))return V4($,X);throw new Error("ValueEquals: Unable to compare value")}var T4=Y8({type:r$("insert"),path:a$(),value:g8()}),d4=Y8({type:r$("update"),path:a$(),value:g8()}),f4=Y8({type:r$("delete"),path:a$()}),E0=s8([T4,d4,f4]);class f8 extends S{constructor($,X){super(X);this.value=$}}function N8($,X){return{type:"update",path:$,value:X}}function V0($,X){return{type:"insert",path:$,value:X}}function T0($){return{type:"delete",path:$}}function k0($){if(globalThis.Object.getOwnPropertySymbols($).length>0)throw new f8($,"Cannot diff objects with symbols")}function*y4($,X,Q){if(k0(X),k0(Q),!A8(Q))return yield N8($,Q);let Y=globalThis.Object.getOwnPropertyNames(X),z=globalThis.Object.getOwnPropertyNames(Q);for(let Z of z){if(R(X,Z))continue;yield V0(`${$}/${Z}`,Q[Z])}for(let Z of Y){if(!R(Q,Z))continue;if(w$(X,Q))continue;yield*B8(`${$}/${Z}`,X[Z],Q[Z])}for(let Z of Y){if(R(Q,Z))continue;yield T0(`${$}/${Z}`)}}function*i4($,X,Q){if(!U(Q))return yield N8($,Q);for(let Y=0;Y<Math.min(X.length,Q.length);Y++)yield*B8(`${$}/${Y}`,X[Y],Q[Y]);for(let Y=0;Y<Q.length;Y++){if(Y<X.length)continue;yield V0(`${$}/${Y}`,Q[Y])}for(let Y=X.length-1;Y>=0;Y--){if(Y<Q.length)continue;yield T0(`${$}/${Y}`)}}function*p4($,X,Q){if(!u(Q)||X.length!==Q.length||globalThis.Object.getPrototypeOf(X).constructor.name!==globalThis.Object.getPrototypeOf(Q).constructor.name)return yield N8($,Q);for(let Y=0;Y<Math.min(X.length,Q.length);Y++)yield*B8(`${$}/${Y}`,X[Y],Q[Y])}function*v4($,X,Q){if(X===Q)return;yield N8($,Q)}function*B8($,X,Q){if(A8(X))return yield*y4($,X,Q);if(U(X))return yield*i4($,X,Q);if(u(X))return yield*p4($,X,Q);if(m(X))return yield*v4($,X,Q);throw new f8(X,"Unable to diff value")}function d0($,X){return[...B8("",$,X)]}function o4($){return $.length>0&&$[0].path===""&&$[0].type==="update"}function h4($){return $.length===0}function f0($,X){if(o4(X))return b(X[0].value);if(h4(X))return b($);let Q=b($);for(let Y of X)switch(Y.type){case"insert":{Q$.Set(Q,Y.path,Y.value);break}case"update":{Q$.Set(Q,Y.path,Y.value);break}case"delete":{Q$.Delete(Q,Y.path);break}}return Q}function y0(...$){let[X,Q,Y]=$.length===3?[$[0],$[1],$[2]]:[$[0],[],$[1]],z=O$(X,Q)?R8(X,Q,Y):Y;if(!O(X,Q,z))throw new k8(X,z,M$(X,Q,z).First());return z}function O8($){return N($)&&!U($)}class y8 extends S{constructor($){super($)}}function m4($,X,Q,Y){if(!O8(Q))Q$.Set($,X,b(Y));else{let z=Object.getOwnPropertyNames(Q),Z=Object.getOwnPropertyNames(Y);for(let W of z)if(!Z.includes(W))delete Q[W];for(let W of Z)if(!z.includes(W))Q[W]=null;for(let W of Z)i8($,`${X}/${W}`,Q[W],Y[W])}}function n4($,X,Q,Y){if(!U(Q))Q$.Set($,X,b(Y));else{for(let z=0;z<Y.length;z++)i8($,`${X}/${z}`,Q[z],Y[z]);Q.splice(Y.length)}}function u4($,X,Q,Y){if(u(Q)&&Q.length===Y.length)for(let z=0;z<Q.length;z++)Q[z]=Y[z];else Q$.Set($,X,b(Y))}function l4($,X,Q,Y){if(Q===Y)return;Q$.Set($,X,Y)}function i8($,X,Q,Y){if(U(Y))return n4($,X,Q,Y);if(u(Y))return u4($,X,Q,Y);if(O8(Y))return m4($,X,Q,Y);if(m(Y))return l4($,X,Q,Y)}function i0($){return u($)||m($)}function c4($,X){return O8($)&&U(X)||U($)&&O8(X)}function p0($,X){if(i0($)||i0(X))throw new y8("Only object and array types can be mutated at the root level");if(c4($,X))throw new y8("Cannot assign due type mismatch of assignable values");i8($,"",$,X)}class v8 extends S{constructor($){super($)}}var p8;(function($){let X=new Map([["Assert",(Z,W,G)=>{return W8(Z,W,G),G}],["Cast",(Z,W,G)=>T$(Z,W,G)],["Clean",(Z,W,G)=>J8(Z,W,G)],["Clone",(Z,W,G)=>b(G)],["Convert",(Z,W,G)=>q8(Z,W,G)],["Decode",(Z,W,G)=>O$(Z,W)?M8(Z,W,G):G],["Default",(Z,W,G)=>U8(Z,W,G)],["Encode",(Z,W,G)=>O$(Z,W)?R8(Z,W,G):G]]);function Q(Z){X.delete(Z)}$.Delete=Q;function Y(Z,W){X.set(Z,W)}$.Set=Y;function z(Z){return X.get(Z)}$.Get=z})(p8||(p8={}));var v0=["Clone","Clean","Default","Convert","Assert","Decode"];function t4($,X,Q,Y){return $.reduce((z,Z)=>{let W=p8.Get(Z);if(F(W))throw new v8(`Unable to find Parse operation '${Z}'`);return W(X,Q,z)},Y)}function o0(...$){let[X,Q,Y,z]=$.length===4?[$[0],$[1],$[2],$[3]]:$.length===3?U($[0])?[$[0],$[1],[],$[2]]:[v0,$[0],$[1],$[2]]:$.length===2?[v0,$[0],[],$[1]]:(()=>{throw new v8("Invalid Arguments")})();return t4(X,Q,Y,z)}var x$={};h$(x$,{ValueErrorIterator:()=>N$,Patch:()=>f0,Parse:()=>o0,Mutate:()=>p0,Hash:()=>_$,Errors:()=>M$,Equal:()=>w$,Encode:()=>y0,Edit:()=>E0,Diff:()=>d0,Default:()=>U8,Decode:()=>x0,Create:()=>t,Convert:()=>q8,Clone:()=>b,Clean:()=>J8,Check:()=>O,Cast:()=>T$,Assert:()=>W8});var XJ=($,X=process.env)=>{try{x$.Assert($,x$.Parse($,X))}catch(Q){throw new h0({key:m0.invalidEnvironment,cause:Q})}};export{XJ as validateEnv,qJ as makeStreamAsyncIterable,GJ as isIsoDateString};export{XJ as a};
2
+ import{b as m0}from"../chunk-yfegpmwy.js";import{B as S,C as H8,E as R$,G as H,H as L$,I as e$,J as $8,K as S8,L as K8,M as C$,N as H0,O as P,P as Q8,Q as L8,R as X8,S as B$,T as p,r as m$,u as n$,w as u$,x as l$,z as c$}from"../chunk-kn1300vm.js";import{X as GJ,Y as qJ}from"../chunk-46z9v7pz.js";import{Z as h0}from"../chunk-5x3px0nq.js";import{ea as h$}from"../chunk-mrzhtfav.js";function i$($){return N($)&&globalThis.Symbol.asyncIterator in $}function p$($){return N($)&&globalThis.Symbol.iterator in $}function A8($){return N($)&&(globalThis.Object.getPrototypeOf($)===Object.prototype||globalThis.Object.getPrototypeOf($)===null)}function v$($){return $ instanceof globalThis.Promise}function y($){return $ instanceof Date&&globalThis.Number.isFinite($.getTime())}function o8($){return $ instanceof globalThis.Map}function h8($){return $ instanceof globalThis.Set}function u($){return globalThis.ArrayBuffer.isView($)}function A$($){return $ instanceof globalThis.Uint8Array}function R($,X){return X in $}function N($){return $!==null&&typeof $==="object"}function U($){return globalThis.Array.isArray($)&&!globalThis.ArrayBuffer.isView($)}function F($){return $===void 0}function z$($){return $===null}function X$($){return typeof $==="boolean"}function g($){return typeof $==="number"}function o$($){return globalThis.Number.isInteger($)}function s($){return typeof $==="bigint"}function C($){return typeof $==="string"}function H$($){return typeof $==="function"}function Z$($){return typeof $==="symbol"}function m($){return s($)||X$($)||z$($)||g($)||C($)||Z$($)||F($)}var I;(function($){$.InstanceMode="default",$.ExactOptionalPropertyTypes=!1,$.AllowArrayObject=!1,$.AllowNaN=!1,$.AllowNullVoid=!1;function X(W,G){return $.ExactOptionalPropertyTypes?G in W:W[G]!==void 0}$.IsExactOptionalProperty=X;function Q(W){let G=N(W);return $.AllowArrayObject?G:G&&!U(W)}$.IsObjectLike=Q;function Y(W){return Q(W)&&!(W instanceof Date)&&!(W instanceof Uint8Array)}$.IsRecordLike=Y;function z(W){return $.AllowNaN?g(W):Number.isFinite(W)}$.IsNumberLike=z;function Z(W){let G=F(W);return $.AllowNullVoid?G||W===null:G}$.IsVoidLike=Z})(I||(I={}));var W$={};h$(W$,{Set:()=>s0,Has:()=>t0,Get:()=>r0,Entries:()=>u0,Delete:()=>c0,Clear:()=>l0});var S$=new Map;function u0(){return new Map(S$)}function l0(){return S$.clear()}function c0($){return S$.delete($)}function t0($){return S$.has($)}function s0($,X){S$.set($,X)}function r0($){return S$.get($)}var l={};h$(l,{Set:()=>XQ,Has:()=>QQ,Get:()=>YQ,Entries:()=>a0,Delete:()=>$Q,Clear:()=>e0});var b$=new Map;function a0(){return new Map(b$)}function e0(){return b$.clear()}function $Q($){return b$.delete($)}function QQ($){return b$.has($)}function XQ($,X){b$.set($,X)}function YQ($){return b$.get($)}function ZQ($){return globalThis.Object.freeze($).map((X)=>I$(X))}function WQ($){return $}function JQ($){return $}function GQ($){return $}function qQ($){let X={};for(let Q of Object.getOwnPropertyNames($))X[Q]=I$($[Q]);for(let Q of Object.getOwnPropertySymbols($))X[Q]=I$($[Q]);return globalThis.Object.freeze(X)}function I$($){return m$($)?ZQ($):n$($)?WQ($):c$($)?JQ($):l$($)?GQ($):u$($)?qQ($):$}function HQ($){return $.map((X)=>t$(X))}function LQ($){return new Date($.getTime())}function MQ($){return new Uint8Array($)}function RQ($){return new RegExp($.source,$.flags)}function UQ($){let X={};for(let Q of Object.getOwnPropertyNames($))X[Q]=t$($[Q]);for(let Q of Object.getOwnPropertySymbols($))X[Q]=t$($[Q]);return X}function t$($){return m$($)?HQ($):n$($)?LQ($):c$($)?MQ($):l$($)?RQ($):u$($)?UQ($):$}function m8($){return t$($)}function _($,X){let Q=X!==void 0?{...X,...$}:$;switch(I.InstanceMode){case"freeze":return I$(Q);case"clone":return m8(Q);default:return Q}}function n8($){return _({[H]:"MappedResult",properties:$})}function NQ($,X){let{[X]:Q,...Y}=$;return Y}function D$($,X){return X.reduce((Q,Y)=>NQ(Q,Y),$)}function i($){return _({[H]:"Never",not:{}},$)}function BQ($){return _(D$($,[R$]))}function OQ($){return _({...$,[R$]:"Optional"})}function wQ($,X){return X===!1?BQ($):OQ($)}function j$($,X){let Q=X??!0;return S8($)?u8($,Q):wQ($,Q)}function AQ($,X){let Q={};for(let Y of globalThis.Object.getOwnPropertyNames($))Q[Y]=j$($[Y],X);return Q}function SQ($,X){return AQ($.properties,X)}function u8($,X){let Q=SQ($,X);return n8(Q)}function b8($,X={}){let Q=$.every((z)=>C$(z)),Y=p(X.unevaluatedProperties)?{unevaluatedProperties:X.unevaluatedProperties}:{};return _(X.unevaluatedProperties===!1||p(X.unevaluatedProperties)||Q?{...Y,[H]:"Intersect",type:"object",allOf:$}:{...Y,[H]:"Intersect",allOf:$},X)}function bQ($){return $.every((X)=>L$(X))}function DQ($){return D$($,[R$])}function l8($){return $.map((X)=>L$(X)?DQ(X):X)}function jQ($,X){return bQ($)?j$(b8(l8($),X)):b8(l8($),X)}function c8($,X={}){if($.length===1)return _($[0],X);if($.length===0)return i(X);if($.some((Q)=>P(Q)))throw new Error("Cannot intersect transform types");return jQ($,X)}function k$($,X){return _({[H]:"Union",anyOf:$},X)}function CQ($){return $.some((X)=>L$(X))}function t8($){return $.map((X)=>L$(X)?PQ(X):X)}function PQ($){return D$($,[R$])}function KQ($,X){return CQ($)?j$(k$(t8($),X)):k$(t8($),X)}function D8($,X){return $.length===1?_($[0],X):$.length===0?i(X):KQ($,X)}function s8($,X){return $.length===0?i(X):$.length===1?_($[0],X):k$($,X)}class j8 extends S{}function FQ($){return $.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function C8($,X,Q){return $[X]===Q&&$.charCodeAt(X-1)!==92}function J$($,X){return C8($,X,"(")}function E$($,X){return C8($,X,")")}function r8($,X){return C8($,X,"|")}function gQ($){if(!(J$($,0)&&E$($,$.length-1)))return!1;let X=0;for(let Q=0;Q<$.length;Q++){if(J$($,Q))X+=1;if(E$($,Q))X-=1;if(X===0&&Q!==$.length-1)return!1}return!0}function _Q($){return $.slice(1,$.length-1)}function xQ($){let X=0;for(let Q=0;Q<$.length;Q++){if(J$($,Q))X+=1;if(E$($,Q))X-=1;if(r8($,Q)&&X===0)return!0}return!1}function IQ($){for(let X=0;X<$.length;X++)if(J$($,X))return!0;return!1}function kQ($){let[X,Q]=[0,0],Y=[];for(let Z=0;Z<$.length;Z++){if(J$($,Z))X+=1;if(E$($,Z))X-=1;if(r8($,Z)&&X===0){let W=$.slice(Q,Z);if(W.length>0)Y.push(P$(W));Q=Z+1}}let z=$.slice(Q);if(z.length>0)Y.push(P$(z));if(Y.length===0)return{type:"const",const:""};if(Y.length===1)return Y[0];return{type:"or",expr:Y}}function EQ($){function X(z,Z){if(!J$(z,Z))throw new j8("TemplateLiteralParser: Index must point to open parens");let W=0;for(let G=Z;G<z.length;G++){if(J$(z,G))W+=1;if(E$(z,G))W-=1;if(W===0)return[Z,G]}throw new j8("TemplateLiteralParser: Unclosed group parens in expression")}function Q(z,Z){for(let W=Z;W<z.length;W++)if(J$(z,W))return[Z,W];return[Z,z.length]}let Y=[];for(let z=0;z<$.length;z++)if(J$($,z)){let[Z,W]=X($,z),G=$.slice(Z,W+1);Y.push(P$(G)),z=W}else{let[Z,W]=Q($,z),G=$.slice(Z,W);if(G.length>0)Y.push(P$(G));z=W-1}return Y.length===0?{type:"const",const:""}:Y.length===1?Y[0]:{type:"and",expr:Y}}function P$($){return gQ($)?P$(_Q($)):xQ($)?kQ($):IQ($)?EQ($):{type:"const",const:FQ($)}}function s$($){return P$($.slice(1,$.length-1))}class a8 extends S{}function VQ($){return $.type==="or"&&$.expr.length===2&&$.expr[0].type==="const"&&$.expr[0].const==="0"&&$.expr[1].type==="const"&&$.expr[1].const==="[1-9][0-9]*"}function TQ($){return $.type==="or"&&$.expr.length===2&&$.expr[0].type==="const"&&$.expr[0].const==="true"&&$.expr[1].type==="const"&&$.expr[1].const==="false"}function dQ($){return $.type==="const"&&$.const===".*"}function V$($){return VQ($)||dQ($)?!1:TQ($)?!0:$.type==="and"?$.expr.every((X)=>V$(X)):$.type==="or"?$.expr.every((X)=>V$(X)):$.type==="const"?!0:(()=>{throw new a8("Unknown expression type")})()}function e8($){let X=s$($.pattern);return V$(X)}class $0 extends S{}function*Q0($){if($.length===1)return yield*$[0];for(let X of $[0])for(let Q of Q0($.slice(1)))yield`${X}${Q}`}function*fQ($){return yield*Q0($.expr.map((X)=>[...P8(X)]))}function*yQ($){for(let X of $.expr)yield*P8(X)}function*iQ($){return yield $.const}function*P8($){return $.type==="and"?yield*fQ($):$.type==="or"?yield*yQ($):$.type==="const"?yield*iQ($):(()=>{throw new $0("Unknown expression")})()}function X0($){let X=s$($.pattern);return V$(X)?[...P8(X)]:[]}function r$($,X){return _({[H]:"Literal",const:$,type:typeof $},X)}function a$($){return _({[H]:"String",type:"string"},$)}var Y0="^(0|[1-9][0-9]*)$",z0="^(.*)$";function Z0($,X){return $.map((Q)=>W0(Q,X))}function pQ($){return $.filter((X)=>!K8(X))}function vQ($,X){return c8(pQ(Z0($,X)))}function oQ($){return $.some((X)=>K8(X))?[]:$}function hQ($,X){return D8(oQ(Z0($,X)))}function mQ($,X){return X in $?$[X]:X==="[number]"?D8($):i()}function nQ($,X){return X==="[number]"?$:i()}function uQ($,X){return X in $?$[X]:i()}function W0($,X){return $8($)?vQ($.allOf,X):X8($)?hQ($.anyOf,X):Q8($)?mQ($.items??[],X):e$($)?nQ($.items,X):C$($)?uQ($.properties,X):i()}function J0($,X){return X.map((Q)=>W0($,Q))}function lQ($){let X=[];for(let Q in $)if(!L$($[Q]))X.push(Q);return X}function cQ($,X){let Q=lQ($),Y=Q.length>0?{[H]:"Object",type:"object",properties:$,required:Q}:{[H]:"Object",type:"object",properties:$};return _(Y,X)}var Y8=cQ;function tQ($,X){return $.filter((Q)=>X.includes(Q))}function sQ($,X){return $.reduce((Q,Y)=>{return tQ(Q,Y)},X)}function G0($){return $.length===1?$[0]:$.length>1?sQ($.slice(1),$[0]):[]}function q0($){let X=[];for(let Q of $)X.push(...Q);return X}function L0($){let X=[];for(let Q of $)X.push(Y$(Q));return X}function rQ($){let X=L0($);return q0(X)}function aQ($){let X=L0($);return G0(X)}function eQ($){return $.map((X,Q)=>Q.toString())}function $X($){return["[number]"]}function QX($){return globalThis.Object.getOwnPropertyNames($)}function XX($){if(!F8)return[];return globalThis.Object.getOwnPropertyNames($).map((Q)=>{return Q[0]==="^"&&Q[Q.length-1]==="$"?Q.slice(1,Q.length-1):Q})}function Y$($){return $8($)?rQ($.allOf):X8($)?aQ($.anyOf):Q8($)?eQ($.items??[]):e$($)?$X($.items):C$($)?QX($.properties):H0($)?XX($.patternProperties):[]}var F8=!1;function K$($){F8=!0;let X=Y$($);return F8=!1,`^(${X.map((Y)=>`(${Y})`).join("|")})$`}function z8($){let X=Y$($),Q=J0($,X);return X.map((Y,z)=>[X[z],Q[z]])}function YX($){return $.allOf.every((X)=>U$(X))}function zX($){return $.anyOf.some((X)=>U$(X))}function ZX($){return!U$($.not)}function U$($){return $[H]==="Intersect"?YX($):$[H]==="Union"?zX($):$[H]==="Not"?ZX($):$[H]==="Undefined"?!0:!1}function WX($){switch($.errorType){case J.ArrayContains:return"Expected array to contain at least one matching value";case J.ArrayMaxContains:return`Expected array to contain no more than ${$.schema.maxContains} matching values`;case J.ArrayMinContains:return`Expected array to contain at least ${$.schema.minContains} matching values`;case J.ArrayMaxItems:return`Expected array length to be less or equal to ${$.schema.maxItems}`;case J.ArrayMinItems:return`Expected array length to be greater or equal to ${$.schema.minItems}`;case J.ArrayUniqueItems:return"Expected array elements to be unique";case J.Array:return"Expected array";case J.AsyncIterator:return"Expected AsyncIterator";case J.BigIntExclusiveMaximum:return`Expected bigint to be less than ${$.schema.exclusiveMaximum}`;case J.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${$.schema.exclusiveMinimum}`;case J.BigIntMaximum:return`Expected bigint to be less or equal to ${$.schema.maximum}`;case J.BigIntMinimum:return`Expected bigint to be greater or equal to ${$.schema.minimum}`;case J.BigIntMultipleOf:return`Expected bigint to be a multiple of ${$.schema.multipleOf}`;case J.BigInt:return"Expected bigint";case J.Boolean:return"Expected boolean";case J.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${$.schema.exclusiveMinimumTimestamp}`;case J.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${$.schema.exclusiveMaximumTimestamp}`;case J.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${$.schema.minimumTimestamp}`;case J.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${$.schema.maximumTimestamp}`;case J.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${$.schema.multipleOfTimestamp}`;case J.Date:return"Expected Date";case J.Function:return"Expected function";case J.IntegerExclusiveMaximum:return`Expected integer to be less than ${$.schema.exclusiveMaximum}`;case J.IntegerExclusiveMinimum:return`Expected integer to be greater than ${$.schema.exclusiveMinimum}`;case J.IntegerMaximum:return`Expected integer to be less or equal to ${$.schema.maximum}`;case J.IntegerMinimum:return`Expected integer to be greater or equal to ${$.schema.minimum}`;case J.IntegerMultipleOf:return`Expected integer to be a multiple of ${$.schema.multipleOf}`;case J.Integer:return"Expected integer";case J.IntersectUnevaluatedProperties:return"Unexpected property";case J.Intersect:return"Expected all values to match";case J.Iterator:return"Expected Iterator";case J.Literal:return`Expected ${typeof $.schema.const==="string"?`'${$.schema.const}'`:$.schema.const}`;case J.Never:return"Never";case J.Not:return"Value should not match";case J.Null:return"Expected null";case J.NumberExclusiveMaximum:return`Expected number to be less than ${$.schema.exclusiveMaximum}`;case J.NumberExclusiveMinimum:return`Expected number to be greater than ${$.schema.exclusiveMinimum}`;case J.NumberMaximum:return`Expected number to be less or equal to ${$.schema.maximum}`;case J.NumberMinimum:return`Expected number to be greater or equal to ${$.schema.minimum}`;case J.NumberMultipleOf:return`Expected number to be a multiple of ${$.schema.multipleOf}`;case J.Number:return"Expected number";case J.Object:return"Expected object";case J.ObjectAdditionalProperties:return"Unexpected property";case J.ObjectMaxProperties:return`Expected object to have no more than ${$.schema.maxProperties} properties`;case J.ObjectMinProperties:return`Expected object to have at least ${$.schema.minProperties} properties`;case J.ObjectRequiredProperty:return"Expected required property";case J.Promise:return"Expected Promise";case J.RegExp:return"Expected string to match regular expression";case J.StringFormatUnknown:return`Unknown format '${$.schema.format}'`;case J.StringFormat:return`Expected string to match '${$.schema.format}' format`;case J.StringMaxLength:return`Expected string length less or equal to ${$.schema.maxLength}`;case J.StringMinLength:return`Expected string length greater or equal to ${$.schema.minLength}`;case J.StringPattern:return`Expected string to match '${$.schema.pattern}'`;case J.String:return"Expected string";case J.Symbol:return"Expected symbol";case J.TupleLength:return`Expected tuple to have ${$.schema.maxItems||0} elements`;case J.Tuple:return"Expected tuple";case J.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${$.schema.maxByteLength}`;case J.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${$.schema.minByteLength}`;case J.Uint8Array:return"Expected Uint8Array";case J.Undefined:return"Expected undefined";case J.Union:return"Expected union value";case J.Void:return"Expected void";case J.Kind:return`Expected kind '${$.schema[H]}'`;default:return"Unknown error type"}}var JX=WX;function M0(){return JX}class R0 extends S{constructor($){super(`Unable to dereference schema with $id '${$.$ref}'`);this.schema=$}}function GX($,X){let Q=X.find((Y)=>Y.$id===$.$ref);if(Q===void 0)throw new R0($);return j(Q,X)}function E($,X){if(!C($.$id)||X.some((Q)=>Q.$id===$.$id))return X;return X.push($),X}function j($,X){return $[H]==="This"||$[H]==="Ref"?GX($,X):$}class U0 extends S{constructor($){super("Unable to hash value");this.value=$}}var n;(function($){$[$.Undefined=0]="Undefined",$[$.Null=1]="Null",$[$.Boolean=2]="Boolean",$[$.Number=3]="Number",$[$.String=4]="String",$[$.Object=5]="Object",$[$.Array=6]="Array",$[$.Date=7]="Date",$[$.Uint8Array=8]="Uint8Array",$[$.Symbol=9]="Symbol",$[$.BigInt=10]="BigInt"})(n||(n={}));var F$=BigInt("14695981039346656037"),[qX,HX]=[BigInt("1099511628211"),BigInt("18446744073709551616")],LX=Array.from({length:256}).map(($,X)=>BigInt(X)),N0=new Float64Array(1),B0=new DataView(N0.buffer),O0=new Uint8Array(N0.buffer);function*MX($){let X=$===0?1:Math.ceil(Math.floor(Math.log2($)+1)/8);for(let Q=0;Q<X;Q++)yield $>>8*(X-1-Q)&255}function RX($){f(n.Array);for(let X of $)g$(X)}function UX($){f(n.Boolean),f($?1:0)}function NX($){f(n.BigInt),B0.setBigInt64(0,$);for(let X of O0)f(X)}function BX($){f(n.Date),g$($.getTime())}function OX($){f(n.Null)}function wX($){f(n.Number),B0.setFloat64(0,$);for(let X of O0)f(X)}function AX($){f(n.Object);for(let X of globalThis.Object.getOwnPropertyNames($).sort())g$(X),g$($[X])}function SX($){f(n.String);for(let X=0;X<$.length;X++)for(let Q of MX($.charCodeAt(X)))f(Q)}function bX($){f(n.Symbol),g$($.description)}function DX($){f(n.Uint8Array);for(let X=0;X<$.length;X++)f($[X])}function jX($){return f(n.Undefined)}function g$($){if(U($))return RX($);if(X$($))return UX($);if(s($))return NX($);if(y($))return BX($);if(z$($))return OX($);if(g($))return wX($);if(N($))return AX($);if(C($))return SX($);if(Z$($))return bX($);if(A$($))return DX($);if(F($))return jX($);throw new U0($)}function f($){F$=F$^LX[$],F$=F$*qX%HX}function _$($){return F$=BigInt("14695981039346656037"),g$($),F$}function g8($){return _({[H]:"Unknown"},$)}class w0 extends S{constructor($){super("Unknown type");this.schema=$}}function CX($){return $[H]==="Any"||$[H]==="Unknown"}function w($){return $!==void 0}function PX($,X,Q){return!0}function KX($,X,Q){return!0}function FX($,X,Q){if(!U(Q))return!1;if(w($.minItems)&&!(Q.length>=$.minItems))return!1;if(w($.maxItems)&&!(Q.length<=$.maxItems))return!1;if(!Q.every((Z)=>V($.items,X,Z)))return!1;if($.uniqueItems===!0&&!function(){let Z=new Set;for(let W of Q){let G=_$(W);if(Z.has(G))return!1;else Z.add(G)}return!0}())return!1;if(!(w($.contains)||g($.minContains)||g($.maxContains)))return!0;let Y=w($.contains)?$.contains:i(),z=Q.reduce((Z,W)=>V(Y,X,W)?Z+1:Z,0);if(z===0)return!1;if(g($.minContains)&&z<$.minContains)return!1;if(g($.maxContains)&&z>$.maxContains)return!1;return!0}function gX($,X,Q){return i$(Q)}function _X($,X,Q){if(!s(Q))return!1;if(w($.exclusiveMaximum)&&!(Q<$.exclusiveMaximum))return!1;if(w($.exclusiveMinimum)&&!(Q>$.exclusiveMinimum))return!1;if(w($.maximum)&&!(Q<=$.maximum))return!1;if(w($.minimum)&&!(Q>=$.minimum))return!1;if(w($.multipleOf)&&Q%$.multipleOf!==BigInt(0))return!1;return!0}function xX($,X,Q){return X$(Q)}function IX($,X,Q){return V($.returns,X,Q.prototype)}function kX($,X,Q){if(!y(Q))return!1;if(w($.exclusiveMaximumTimestamp)&&!(Q.getTime()<$.exclusiveMaximumTimestamp))return!1;if(w($.exclusiveMinimumTimestamp)&&!(Q.getTime()>$.exclusiveMinimumTimestamp))return!1;if(w($.maximumTimestamp)&&!(Q.getTime()<=$.maximumTimestamp))return!1;if(w($.minimumTimestamp)&&!(Q.getTime()>=$.minimumTimestamp))return!1;if(w($.multipleOfTimestamp)&&Q.getTime()%$.multipleOfTimestamp!==0)return!1;return!0}function EX($,X,Q){return H$(Q)}function VX($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return V(z,[...X,...Y],Q)}function TX($,X,Q){if(!o$(Q))return!1;if(w($.exclusiveMaximum)&&!(Q<$.exclusiveMaximum))return!1;if(w($.exclusiveMinimum)&&!(Q>$.exclusiveMinimum))return!1;if(w($.maximum)&&!(Q<=$.maximum))return!1;if(w($.minimum)&&!(Q>=$.minimum))return!1;if(w($.multipleOf)&&Q%$.multipleOf!==0)return!1;return!0}function dX($,X,Q){let Y=$.allOf.every((z)=>V(z,X,Q));if($.unevaluatedProperties===!1){let z=new RegExp(K$($)),Z=Object.getOwnPropertyNames(Q).every((W)=>z.test(W));return Y&&Z}else if(p($.unevaluatedProperties)){let z=new RegExp(K$($)),Z=Object.getOwnPropertyNames(Q).every((W)=>z.test(W)||V($.unevaluatedProperties,X,Q[W]));return Y&&Z}else return Y}function fX($,X,Q){return p$(Q)}function yX($,X,Q){return Q===$.const}function iX($,X,Q){return!1}function pX($,X,Q){return!V($.not,X,Q)}function vX($,X,Q){return z$(Q)}function oX($,X,Q){if(!I.IsNumberLike(Q))return!1;if(w($.exclusiveMaximum)&&!(Q<$.exclusiveMaximum))return!1;if(w($.exclusiveMinimum)&&!(Q>$.exclusiveMinimum))return!1;if(w($.minimum)&&!(Q>=$.minimum))return!1;if(w($.maximum)&&!(Q<=$.maximum))return!1;if(w($.multipleOf)&&Q%$.multipleOf!==0)return!1;return!0}function hX($,X,Q){if(!I.IsObjectLike(Q))return!1;if(w($.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=$.minProperties))return!1;if(w($.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=$.maxProperties))return!1;let Y=Object.getOwnPropertyNames($.properties);for(let z of Y){let Z=$.properties[z];if($.required&&$.required.includes(z)){if(!V(Z,X,Q[z]))return!1;if((U$(Z)||CX(Z))&&!(z in Q))return!1}else if(I.IsExactOptionalProperty(Q,z)&&!V(Z,X,Q[z]))return!1}if($.additionalProperties===!1){let z=Object.getOwnPropertyNames(Q);if($.required&&$.required.length===Y.length&&z.length===Y.length)return!0;else return z.every((Z)=>Y.includes(Z))}else if(typeof $.additionalProperties==="object")return Object.getOwnPropertyNames(Q).every((Z)=>Y.includes(Z)||V($.additionalProperties,X,Q[Z]));else return!0}function mX($,X,Q){return v$(Q)}function nX($,X,Q){if(!I.IsRecordLike(Q))return!1;if(w($.minProperties)&&!(Object.getOwnPropertyNames(Q).length>=$.minProperties))return!1;if(w($.maxProperties)&&!(Object.getOwnPropertyNames(Q).length<=$.maxProperties))return!1;let[Y,z]=Object.entries($.patternProperties)[0],Z=new RegExp(Y),W=Object.entries(Q).every(([B,M])=>{return Z.test(B)?V(z,X,M):!0}),G=typeof $.additionalProperties==="object"?Object.entries(Q).every(([B,M])=>{return!Z.test(B)?V($.additionalProperties,X,M):!0}):!0,L=$.additionalProperties===!1?Object.getOwnPropertyNames(Q).every((B)=>{return Z.test(B)}):!0;return W&&G&&L}function uX($,X,Q){return V(j($,X),X,Q)}function lX($,X,Q){let Y=new RegExp($.source,$.flags);if(w($.minLength)){if(!(Q.length>=$.minLength))return!1}if(w($.maxLength)){if(!(Q.length<=$.maxLength))return!1}return Y.test(Q)}function cX($,X,Q){if(!C(Q))return!1;if(w($.minLength)){if(!(Q.length>=$.minLength))return!1}if(w($.maxLength)){if(!(Q.length<=$.maxLength))return!1}if(w($.pattern)){if(!new RegExp($.pattern).test(Q))return!1}if(w($.format)){if(!W$.Has($.format))return!1;return W$.Get($.format)(Q)}return!0}function tX($,X,Q){return Z$(Q)}function sX($,X,Q){return C(Q)&&new RegExp($.pattern).test(Q)}function rX($,X,Q){return V(j($,X),X,Q)}function aX($,X,Q){if(!U(Q))return!1;if($.items===void 0&&Q.length!==0)return!1;if(Q.length!==$.maxItems)return!1;if(!$.items)return!0;for(let Y=0;Y<$.items.length;Y++)if(!V($.items[Y],X,Q[Y]))return!1;return!0}function eX($,X,Q){return F(Q)}function $1($,X,Q){return $.anyOf.some((Y)=>V(Y,X,Q))}function Q1($,X,Q){if(!A$(Q))return!1;if(w($.maxByteLength)&&!(Q.length<=$.maxByteLength))return!1;if(w($.minByteLength)&&!(Q.length>=$.minByteLength))return!1;return!0}function X1($,X,Q){return!0}function Y1($,X,Q){return I.IsVoidLike(Q)}function z1($,X,Q){if(!l.Has($[H]))return!1;return l.Get($[H])($,Q)}function V($,X,Q){let Y=w($.$id)?E($,X):X,z=$;switch(z[H]){case"Any":return PX(z,Y,Q);case"Argument":return KX(z,Y,Q);case"Array":return FX(z,Y,Q);case"AsyncIterator":return gX(z,Y,Q);case"BigInt":return _X(z,Y,Q);case"Boolean":return xX(z,Y,Q);case"Constructor":return IX(z,Y,Q);case"Date":return kX(z,Y,Q);case"Function":return EX(z,Y,Q);case"Import":return VX(z,Y,Q);case"Integer":return TX(z,Y,Q);case"Intersect":return dX(z,Y,Q);case"Iterator":return fX(z,Y,Q);case"Literal":return yX(z,Y,Q);case"Never":return iX(z,Y,Q);case"Not":return pX(z,Y,Q);case"Null":return vX(z,Y,Q);case"Number":return oX(z,Y,Q);case"Object":return hX(z,Y,Q);case"Promise":return mX(z,Y,Q);case"Record":return nX(z,Y,Q);case"Ref":return uX(z,Y,Q);case"RegExp":return lX(z,Y,Q);case"String":return cX(z,Y,Q);case"Symbol":return tX(z,Y,Q);case"TemplateLiteral":return sX(z,Y,Q);case"This":return rX(z,Y,Q);case"Tuple":return aX(z,Y,Q);case"Undefined":return eX(z,Y,Q);case"Union":return $1(z,Y,Q);case"Uint8Array":return Q1(z,Y,Q);case"Unknown":return X1(z,Y,Q);case"Void":return Y1(z,Y,Q);default:if(!l.Has(z[H]))throw new w0(z);return z1(z,Y,Q)}}function O(...$){return $.length===3?V($[0],$[1],$[2]):V($[0],[],$[1])}var J;(function($){$[$.ArrayContains=0]="ArrayContains",$[$.ArrayMaxContains=1]="ArrayMaxContains",$[$.ArrayMaxItems=2]="ArrayMaxItems",$[$.ArrayMinContains=3]="ArrayMinContains",$[$.ArrayMinItems=4]="ArrayMinItems",$[$.ArrayUniqueItems=5]="ArrayUniqueItems",$[$.Array=6]="Array",$[$.AsyncIterator=7]="AsyncIterator",$[$.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",$[$.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",$[$.BigIntMaximum=10]="BigIntMaximum",$[$.BigIntMinimum=11]="BigIntMinimum",$[$.BigIntMultipleOf=12]="BigIntMultipleOf",$[$.BigInt=13]="BigInt",$[$.Boolean=14]="Boolean",$[$.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",$[$.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",$[$.DateMaximumTimestamp=17]="DateMaximumTimestamp",$[$.DateMinimumTimestamp=18]="DateMinimumTimestamp",$[$.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",$[$.Date=20]="Date",$[$.Function=21]="Function",$[$.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",$[$.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",$[$.IntegerMaximum=24]="IntegerMaximum",$[$.IntegerMinimum=25]="IntegerMinimum",$[$.IntegerMultipleOf=26]="IntegerMultipleOf",$[$.Integer=27]="Integer",$[$.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",$[$.Intersect=29]="Intersect",$[$.Iterator=30]="Iterator",$[$.Kind=31]="Kind",$[$.Literal=32]="Literal",$[$.Never=33]="Never",$[$.Not=34]="Not",$[$.Null=35]="Null",$[$.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",$[$.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",$[$.NumberMaximum=38]="NumberMaximum",$[$.NumberMinimum=39]="NumberMinimum",$[$.NumberMultipleOf=40]="NumberMultipleOf",$[$.Number=41]="Number",$[$.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",$[$.ObjectMaxProperties=43]="ObjectMaxProperties",$[$.ObjectMinProperties=44]="ObjectMinProperties",$[$.ObjectRequiredProperty=45]="ObjectRequiredProperty",$[$.Object=46]="Object",$[$.Promise=47]="Promise",$[$.RegExp=48]="RegExp",$[$.StringFormatUnknown=49]="StringFormatUnknown",$[$.StringFormat=50]="StringFormat",$[$.StringMaxLength=51]="StringMaxLength",$[$.StringMinLength=52]="StringMinLength",$[$.StringPattern=53]="StringPattern",$[$.String=54]="String",$[$.Symbol=55]="Symbol",$[$.TupleLength=56]="TupleLength",$[$.Tuple=57]="Tuple",$[$.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",$[$.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",$[$.Uint8Array=60]="Uint8Array",$[$.Undefined=61]="Undefined",$[$.Union=62]="Union",$[$.Void=63]="Void"})(J||(J={}));class A0 extends S{constructor($){super("Unknown type");this.schema=$}}function G$($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}function A($){return $!==void 0}class N${constructor($){this.iterator=$}[Symbol.iterator](){return this.iterator}First(){let $=this.iterator.next();return $.done?void 0:$.value}}function q($,X,Q,Y,z=[]){return{type:$,schema:X,path:Q,value:Y,message:M0()({errorType:$,path:Q,schema:X,value:Y,errors:z}),errors:z}}function*Z1($,X,Q,Y){}function*W1($,X,Q,Y){}function*J1($,X,Q,Y){if(!U(Y))return yield q(J.Array,$,Q,Y);if(A($.minItems)&&!(Y.length>=$.minItems))yield q(J.ArrayMinItems,$,Q,Y);if(A($.maxItems)&&!(Y.length<=$.maxItems))yield q(J.ArrayMaxItems,$,Q,Y);for(let W=0;W<Y.length;W++)yield*T($.items,X,`${Q}/${W}`,Y[W]);if($.uniqueItems===!0&&!function(){let W=new Set;for(let G of Y){let L=_$(G);if(W.has(L))return!1;else W.add(L)}return!0}())yield q(J.ArrayUniqueItems,$,Q,Y);if(!(A($.contains)||A($.minContains)||A($.maxContains)))return;let z=A($.contains)?$.contains:i(),Z=Y.reduce((W,G,L)=>T(z,X,`${Q}${L}`,G).next().done===!0?W+1:W,0);if(Z===0)yield q(J.ArrayContains,$,Q,Y);if(g($.minContains)&&Z<$.minContains)yield q(J.ArrayMinContains,$,Q,Y);if(g($.maxContains)&&Z>$.maxContains)yield q(J.ArrayMaxContains,$,Q,Y)}function*G1($,X,Q,Y){if(!i$(Y))yield q(J.AsyncIterator,$,Q,Y)}function*q1($,X,Q,Y){if(!s(Y))return yield q(J.BigInt,$,Q,Y);if(A($.exclusiveMaximum)&&!(Y<$.exclusiveMaximum))yield q(J.BigIntExclusiveMaximum,$,Q,Y);if(A($.exclusiveMinimum)&&!(Y>$.exclusiveMinimum))yield q(J.BigIntExclusiveMinimum,$,Q,Y);if(A($.maximum)&&!(Y<=$.maximum))yield q(J.BigIntMaximum,$,Q,Y);if(A($.minimum)&&!(Y>=$.minimum))yield q(J.BigIntMinimum,$,Q,Y);if(A($.multipleOf)&&Y%$.multipleOf!==BigInt(0))yield q(J.BigIntMultipleOf,$,Q,Y)}function*H1($,X,Q,Y){if(!X$(Y))yield q(J.Boolean,$,Q,Y)}function*L1($,X,Q,Y){yield*T($.returns,X,Q,Y.prototype)}function*M1($,X,Q,Y){if(!y(Y))return yield q(J.Date,$,Q,Y);if(A($.exclusiveMaximumTimestamp)&&!(Y.getTime()<$.exclusiveMaximumTimestamp))yield q(J.DateExclusiveMaximumTimestamp,$,Q,Y);if(A($.exclusiveMinimumTimestamp)&&!(Y.getTime()>$.exclusiveMinimumTimestamp))yield q(J.DateExclusiveMinimumTimestamp,$,Q,Y);if(A($.maximumTimestamp)&&!(Y.getTime()<=$.maximumTimestamp))yield q(J.DateMaximumTimestamp,$,Q,Y);if(A($.minimumTimestamp)&&!(Y.getTime()>=$.minimumTimestamp))yield q(J.DateMinimumTimestamp,$,Q,Y);if(A($.multipleOfTimestamp)&&Y.getTime()%$.multipleOfTimestamp!==0)yield q(J.DateMultipleOfTimestamp,$,Q,Y)}function*R1($,X,Q,Y){if(!H$(Y))yield q(J.Function,$,Q,Y)}function*U1($,X,Q,Y){let z=globalThis.Object.values($.$defs),Z=$.$defs[$.$ref];yield*T(Z,[...X,...z],Q,Y)}function*N1($,X,Q,Y){if(!o$(Y))return yield q(J.Integer,$,Q,Y);if(A($.exclusiveMaximum)&&!(Y<$.exclusiveMaximum))yield q(J.IntegerExclusiveMaximum,$,Q,Y);if(A($.exclusiveMinimum)&&!(Y>$.exclusiveMinimum))yield q(J.IntegerExclusiveMinimum,$,Q,Y);if(A($.maximum)&&!(Y<=$.maximum))yield q(J.IntegerMaximum,$,Q,Y);if(A($.minimum)&&!(Y>=$.minimum))yield q(J.IntegerMinimum,$,Q,Y);if(A($.multipleOf)&&Y%$.multipleOf!==0)yield q(J.IntegerMultipleOf,$,Q,Y)}function*B1($,X,Q,Y){let z=!1;for(let Z of $.allOf)for(let W of T(Z,X,Q,Y))z=!0,yield W;if(z)return yield q(J.Intersect,$,Q,Y);if($.unevaluatedProperties===!1){let Z=new RegExp(K$($));for(let W of Object.getOwnPropertyNames(Y))if(!Z.test(W))yield q(J.IntersectUnevaluatedProperties,$,`${Q}/${W}`,Y)}if(typeof $.unevaluatedProperties==="object"){let Z=new RegExp(K$($));for(let W of Object.getOwnPropertyNames(Y))if(!Z.test(W)){let G=T($.unevaluatedProperties,X,`${Q}/${W}`,Y[W]).next();if(!G.done)yield G.value}}}function*O1($,X,Q,Y){if(!p$(Y))yield q(J.Iterator,$,Q,Y)}function*w1($,X,Q,Y){if(Y!==$.const)yield q(J.Literal,$,Q,Y)}function*A1($,X,Q,Y){yield q(J.Never,$,Q,Y)}function*S1($,X,Q,Y){if(T($.not,X,Q,Y).next().done===!0)yield q(J.Not,$,Q,Y)}function*b1($,X,Q,Y){if(!z$(Y))yield q(J.Null,$,Q,Y)}function*D1($,X,Q,Y){if(!I.IsNumberLike(Y))return yield q(J.Number,$,Q,Y);if(A($.exclusiveMaximum)&&!(Y<$.exclusiveMaximum))yield q(J.NumberExclusiveMaximum,$,Q,Y);if(A($.exclusiveMinimum)&&!(Y>$.exclusiveMinimum))yield q(J.NumberExclusiveMinimum,$,Q,Y);if(A($.maximum)&&!(Y<=$.maximum))yield q(J.NumberMaximum,$,Q,Y);if(A($.minimum)&&!(Y>=$.minimum))yield q(J.NumberMinimum,$,Q,Y);if(A($.multipleOf)&&Y%$.multipleOf!==0)yield q(J.NumberMultipleOf,$,Q,Y)}function*j1($,X,Q,Y){if(!I.IsObjectLike(Y))return yield q(J.Object,$,Q,Y);if(A($.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=$.minProperties))yield q(J.ObjectMinProperties,$,Q,Y);if(A($.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=$.maxProperties))yield q(J.ObjectMaxProperties,$,Q,Y);let z=Array.isArray($.required)?$.required:[],Z=Object.getOwnPropertyNames($.properties),W=Object.getOwnPropertyNames(Y);for(let G of z){if(W.includes(G))continue;yield q(J.ObjectRequiredProperty,$.properties[G],`${Q}/${G$(G)}`,void 0)}if($.additionalProperties===!1){for(let G of W)if(!Z.includes(G))yield q(J.ObjectAdditionalProperties,$,`${Q}/${G$(G)}`,Y[G])}if(typeof $.additionalProperties==="object")for(let G of W){if(Z.includes(G))continue;yield*T($.additionalProperties,X,`${Q}/${G$(G)}`,Y[G])}for(let G of Z){let L=$.properties[G];if($.required&&$.required.includes(G)){if(yield*T(L,X,`${Q}/${G$(G)}`,Y[G]),U$($)&&!(G in Y))yield q(J.ObjectRequiredProperty,L,`${Q}/${G$(G)}`,void 0)}else if(I.IsExactOptionalProperty(Y,G))yield*T(L,X,`${Q}/${G$(G)}`,Y[G])}}function*C1($,X,Q,Y){if(!v$(Y))yield q(J.Promise,$,Q,Y)}function*P1($,X,Q,Y){if(!I.IsRecordLike(Y))return yield q(J.Object,$,Q,Y);if(A($.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=$.minProperties))yield q(J.ObjectMinProperties,$,Q,Y);if(A($.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=$.maxProperties))yield q(J.ObjectMaxProperties,$,Q,Y);let[z,Z]=Object.entries($.patternProperties)[0],W=new RegExp(z);for(let[G,L]of Object.entries(Y))if(W.test(G))yield*T(Z,X,`${Q}/${G$(G)}`,L);if(typeof $.additionalProperties==="object"){for(let[G,L]of Object.entries(Y))if(!W.test(G))yield*T($.additionalProperties,X,`${Q}/${G$(G)}`,L)}if($.additionalProperties===!1)for(let[G,L]of Object.entries(Y)){if(W.test(G))continue;return yield q(J.ObjectAdditionalProperties,$,`${Q}/${G$(G)}`,L)}}function*K1($,X,Q,Y){yield*T(j($,X),X,Q,Y)}function*F1($,X,Q,Y){if(!C(Y))return yield q(J.String,$,Q,Y);if(A($.minLength)&&!(Y.length>=$.minLength))yield q(J.StringMinLength,$,Q,Y);if(A($.maxLength)&&!(Y.length<=$.maxLength))yield q(J.StringMaxLength,$,Q,Y);if(!new RegExp($.source,$.flags).test(Y))return yield q(J.RegExp,$,Q,Y)}function*g1($,X,Q,Y){if(!C(Y))return yield q(J.String,$,Q,Y);if(A($.minLength)&&!(Y.length>=$.minLength))yield q(J.StringMinLength,$,Q,Y);if(A($.maxLength)&&!(Y.length<=$.maxLength))yield q(J.StringMaxLength,$,Q,Y);if(C($.pattern)){if(!new RegExp($.pattern).test(Y))yield q(J.StringPattern,$,Q,Y)}if(C($.format)){if(!W$.Has($.format))yield q(J.StringFormatUnknown,$,Q,Y);else if(!W$.Get($.format)(Y))yield q(J.StringFormat,$,Q,Y)}}function*_1($,X,Q,Y){if(!Z$(Y))yield q(J.Symbol,$,Q,Y)}function*x1($,X,Q,Y){if(!C(Y))return yield q(J.String,$,Q,Y);if(!new RegExp($.pattern).test(Y))yield q(J.StringPattern,$,Q,Y)}function*I1($,X,Q,Y){yield*T(j($,X),X,Q,Y)}function*k1($,X,Q,Y){if(!U(Y))return yield q(J.Tuple,$,Q,Y);if($.items===void 0&&Y.length!==0)return yield q(J.TupleLength,$,Q,Y);if(Y.length!==$.maxItems)return yield q(J.TupleLength,$,Q,Y);if(!$.items)return;for(let z=0;z<$.items.length;z++)yield*T($.items[z],X,`${Q}/${z}`,Y[z])}function*E1($,X,Q,Y){if(!F(Y))yield q(J.Undefined,$,Q,Y)}function*V1($,X,Q,Y){if(O($,X,Y))return;let z=$.anyOf.map((Z)=>new N$(T(Z,X,Q,Y)));yield q(J.Union,$,Q,Y,z)}function*T1($,X,Q,Y){if(!A$(Y))return yield q(J.Uint8Array,$,Q,Y);if(A($.maxByteLength)&&!(Y.length<=$.maxByteLength))yield q(J.Uint8ArrayMaxByteLength,$,Q,Y);if(A($.minByteLength)&&!(Y.length>=$.minByteLength))yield q(J.Uint8ArrayMinByteLength,$,Q,Y)}function*d1($,X,Q,Y){}function*f1($,X,Q,Y){if(!I.IsVoidLike(Y))yield q(J.Void,$,Q,Y)}function*y1($,X,Q,Y){if(!l.Get($[H])($,Y))yield q(J.Kind,$,Q,Y)}function*T($,X,Q,Y){let z=A($.$id)?[...X,$]:X,Z=$;switch(Z[H]){case"Any":return yield*Z1(Z,z,Q,Y);case"Argument":return yield*W1(Z,z,Q,Y);case"Array":return yield*J1(Z,z,Q,Y);case"AsyncIterator":return yield*G1(Z,z,Q,Y);case"BigInt":return yield*q1(Z,z,Q,Y);case"Boolean":return yield*H1(Z,z,Q,Y);case"Constructor":return yield*L1(Z,z,Q,Y);case"Date":return yield*M1(Z,z,Q,Y);case"Function":return yield*R1(Z,z,Q,Y);case"Import":return yield*U1(Z,z,Q,Y);case"Integer":return yield*N1(Z,z,Q,Y);case"Intersect":return yield*B1(Z,z,Q,Y);case"Iterator":return yield*O1(Z,z,Q,Y);case"Literal":return yield*w1(Z,z,Q,Y);case"Never":return yield*A1(Z,z,Q,Y);case"Not":return yield*S1(Z,z,Q,Y);case"Null":return yield*b1(Z,z,Q,Y);case"Number":return yield*D1(Z,z,Q,Y);case"Object":return yield*j1(Z,z,Q,Y);case"Promise":return yield*C1(Z,z,Q,Y);case"Record":return yield*P1(Z,z,Q,Y);case"Ref":return yield*K1(Z,z,Q,Y);case"RegExp":return yield*F1(Z,z,Q,Y);case"String":return yield*g1(Z,z,Q,Y);case"Symbol":return yield*_1(Z,z,Q,Y);case"TemplateLiteral":return yield*x1(Z,z,Q,Y);case"This":return yield*I1(Z,z,Q,Y);case"Tuple":return yield*k1(Z,z,Q,Y);case"Undefined":return yield*E1(Z,z,Q,Y);case"Union":return yield*V1(Z,z,Q,Y);case"Uint8Array":return yield*T1(Z,z,Q,Y);case"Unknown":return yield*d1(Z,z,Q,Y);case"Void":return yield*f1(Z,z,Q,Y);default:if(!l.Has(Z[H]))throw new A0($);return yield*y1(Z,z,Q,Y)}}function M$(...$){let X=$.length===3?T($[0],$[1],"",$[2]):T($[0],[],"",$[1]);return new N$(X)}var i1=function($,X,Q,Y,z){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!z)throw new TypeError("Private accessor was defined without a setter");if(typeof X==="function"?$!==X||!z:!X.has($))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?z.call($,Q):z?z.value=Q:X.set($,Q),Q},b0=function($,X,Q,Y){if(Q==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof X==="function"?$!==X||!Y:!X.has($))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Q==="m"?Y:Q==="a"?Y.call($):Y?Y.value:X.get($)},_8,Z8,D0;class j0 extends S{constructor($){let X=$.First();super(X===void 0?"Invalid Value":X.message);_8.add(this),Z8.set(this,void 0),i1(this,Z8,$,"f"),this.error=X}Errors(){return new N$(b0(this,_8,"m",D0).call(this))}}Z8=new WeakMap,_8=new WeakSet,D0=function*$(){if(this.error)yield this.error;yield*b0(this,Z8,"f")};function S0($,X,Q){if(O($,X,Q))return;throw new j0(M$($,X,Q))}function W8(...$){return $.length===3?S0($[0],$[1],$[2]):S0($[0],[],$[1])}function p1($){let X={};for(let Q of Object.getOwnPropertyNames($))X[Q]=b($[Q]);for(let Q of Object.getOwnPropertySymbols($))X[Q]=b($[Q]);return X}function v1($){return $.map((X)=>b(X))}function o1($){return $.slice()}function h1($){return new Map(b([...$.entries()]))}function m1($){return new Set(b([...$.entries()]))}function n1($){return new Date($.toISOString())}function u1($){return $}function b($){if(U($))return v1($);if(y($))return n1($);if(u($))return o1($);if(o8($))return h1($);if(h8($))return m1($);if(N($))return p1($);if(m($))return u1($);throw new Error("ValueClone: Unable to clone value")}class c extends S{constructor($,X){super(X);this.schema=$}}function D($){return H$($)?$():b($)}function l1($,X){if(R($,"default"))return D($.default);else return{}}function c1($,X){return{}}function t1($,X){if($.uniqueItems===!0&&!R($,"default"))throw new c($,"Array with the uniqueItems constraint requires a default value");else if("contains"in $&&!R($,"default"))throw new c($,"Array with the contains constraint requires a default value");else if("default"in $)return D($.default);else if($.minItems!==void 0)return Array.from({length:$.minItems}).map((Q)=>{return o($.items,X)});else return[]}function s1($,X){if(R($,"default"))return D($.default);else return async function*(){}()}function r1($,X){if(R($,"default"))return D($.default);else return BigInt(0)}function a1($,X){if(R($,"default"))return D($.default);else return!1}function e1($,X){if(R($,"default"))return D($.default);else{let Q=o($.returns,X);if(typeof Q==="object"&&!Array.isArray(Q))return class{constructor(){for(let[Y,z]of Object.entries(Q)){let Z=this;Z[Y]=z}}};else return class{}}}function $6($,X){if(R($,"default"))return D($.default);else if($.minimumTimestamp!==void 0)return new Date($.minimumTimestamp);else return new Date}function Q6($,X){if(R($,"default"))return D($.default);else return()=>o($.returns,X)}function X6($,X){let Q=globalThis.Object.values($.$defs),Y=$.$defs[$.$ref];return o(Y,[...X,...Q])}function Y6($,X){if(R($,"default"))return D($.default);else if($.minimum!==void 0)return $.minimum;else return 0}function z6($,X){if(R($,"default"))return D($.default);else{let Q=$.allOf.reduce((Y,z)=>{let Z=o(z,X);return typeof Z==="object"?{...Y,...Z}:Z},{});if(!O($,X,Q))throw new c($,"Intersect produced invalid value. Consider using a default value.");return Q}}function Z6($,X){if(R($,"default"))return D($.default);else return function*(){}()}function W6($,X){if(R($,"default"))return D($.default);else return $.const}function J6($,X){if(R($,"default"))return D($.default);else throw new c($,"Never types cannot be created. Consider using a default value.")}function G6($,X){if(R($,"default"))return D($.default);else throw new c($,"Not types must have a default value")}function q6($,X){if(R($,"default"))return D($.default);else return null}function H6($,X){if(R($,"default"))return D($.default);else if($.minimum!==void 0)return $.minimum;else return 0}function L6($,X){if(R($,"default"))return D($.default);else{let Q=new Set($.required),Y={};for(let[z,Z]of Object.entries($.properties)){if(!Q.has(z))continue;Y[z]=o(Z,X)}return Y}}function M6($,X){if(R($,"default"))return D($.default);else return Promise.resolve(o($.item,X))}function R6($,X){let[Q,Y]=Object.entries($.patternProperties)[0];if(R($,"default"))return D($.default);else if(!(Q===z0||Q===Y0)){let z=Q.slice(1,Q.length-1).split("|"),Z={};for(let W of z)Z[W]=o(Y,X);return Z}else return{}}function U6($,X){if(R($,"default"))return D($.default);else return o(j($,X),X)}function N6($,X){if(R($,"default"))return D($.default);else throw new c($,"RegExp types cannot be created. Consider using a default value.")}function B6($,X){if($.pattern!==void 0)if(!R($,"default"))throw new c($,"String types with patterns must specify a default value");else return D($.default);else if($.format!==void 0)if(!R($,"default"))throw new c($,"String types with formats must specify a default value");else return D($.default);else if(R($,"default"))return D($.default);else if($.minLength!==void 0)return Array.from({length:$.minLength}).map(()=>" ").join("");else return""}function O6($,X){if(R($,"default"))return D($.default);else if("value"in $)return Symbol.for($.value);else return Symbol()}function w6($,X){if(R($,"default"))return D($.default);if(!e8($))throw new c($,"Can only create template literals that produce a finite variants. Consider using a default value.");return X0($)[0]}function A6($,X){if(C0++>F6)throw new c($,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");if(R($,"default"))return D($.default);else return o(j($,X),X)}function S6($,X){if(R($,"default"))return D($.default);if($.items===void 0)return[];else return Array.from({length:$.minItems}).map((Q,Y)=>o($.items[Y],X))}function b6($,X){if(R($,"default"))return D($.default);else return}function D6($,X){if(R($,"default"))return D($.default);else if($.anyOf.length===0)throw new Error("ValueCreate.Union: Cannot create Union with zero variants");else return o($.anyOf[0],X)}function j6($,X){if(R($,"default"))return D($.default);else if($.minByteLength!==void 0)return new Uint8Array($.minByteLength);else return new Uint8Array(0)}function C6($,X){if(R($,"default"))return D($.default);else return{}}function P6($,X){if(R($,"default"))return D($.default);else return}function K6($,X){if(R($,"default"))return D($.default);else throw new Error("User defined types must specify a default value")}function o($,X){let Q=E($,X),Y=$;switch(Y[H]){case"Any":return l1(Y,Q);case"Argument":return c1(Y,Q);case"Array":return t1(Y,Q);case"AsyncIterator":return s1(Y,Q);case"BigInt":return r1(Y,Q);case"Boolean":return a1(Y,Q);case"Constructor":return e1(Y,Q);case"Date":return $6(Y,Q);case"Function":return Q6(Y,Q);case"Import":return X6(Y,Q);case"Integer":return Y6(Y,Q);case"Intersect":return z6(Y,Q);case"Iterator":return Z6(Y,Q);case"Literal":return W6(Y,Q);case"Never":return J6(Y,Q);case"Not":return G6(Y,Q);case"Null":return q6(Y,Q);case"Number":return H6(Y,Q);case"Object":return L6(Y,Q);case"Promise":return M6(Y,Q);case"Record":return R6(Y,Q);case"Ref":return U6(Y,Q);case"RegExp":return N6(Y,Q);case"String":return B6(Y,Q);case"Symbol":return O6(Y,Q);case"TemplateLiteral":return w6(Y,Q);case"This":return A6(Y,Q);case"Tuple":return S6(Y,Q);case"Undefined":return b6(Y,Q);case"Union":return D6(Y,Q);case"Uint8Array":return j6(Y,Q);case"Unknown":return C6(Y,Q);case"Void":return P6(Y,Q);default:if(!l.Has(Y[H]))throw new c(Y,"Unknown type");return K6(Y,Q)}}var F6=512,C0=0;function t(...$){return C0=0,$.length===2?o($[0],$[1]):o($[0],[])}class x8 extends S{constructor($,X){super(X);this.schema=$}}function g6($,X,Q){if($[H]==="Object"&&typeof Q==="object"&&!z$(Q)){let Y=$,z=Object.getOwnPropertyNames(Q),Z=Object.entries(Y.properties),[W,G]=[1/Z.length,Z.length];return Z.reduce((L,[B,M])=>{let K=M[H]==="Literal"&&M.const===Q[B]?G:0,w8=O(M,X,Q[B])?W:0,n0=z.includes(B)?W:0;return L+(K+w8+n0)},0)}else return O($,X,Q)?1:0}function _6($,X,Q){let Y=$.anyOf.map((W)=>j(W,X)),[z,Z]=[Y[0],0];for(let W of Y){let G=g6(W,X,Q);if(G>Z)z=W,Z=G}return z}function x6($,X,Q){if("default"in $)return typeof Q==="function"?$.default:b($.default);else{let Y=_6($,X,Q);return T$(Y,X,Q)}}function I6($,X,Q){return O($,X,Q)?b(Q):t($,X)}function k6($,X,Q){return O($,X,Q)?Q:t($,X)}function E6($,X,Q){if(O($,X,Q))return b(Q);let Y=U(Q)?b(Q):t($,X),z=g($.minItems)&&Y.length<$.minItems?[...Y,...Array.from({length:$.minItems-Y.length},()=>null)]:Y,W=(g($.maxItems)&&z.length>$.maxItems?z.slice(0,$.maxItems):z).map((L)=>r($.items,X,L));if($.uniqueItems!==!0)return W;let G=[...new Set(W)];if(!O($,X,G))throw new x8($,"Array cast produced invalid data due to uniqueItems constraint");return G}function V6($,X,Q){if(O($,X,Q))return t($,X);let Y=new Set($.returns.required||[]),z=function(){};for(let[Z,W]of Object.entries($.returns.properties)){if(!Y.has(Z)&&Q.prototype[Z]===void 0)continue;z.prototype[Z]=r(W,X,Q.prototype[Z])}return z}function T6($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return r(z,[...X,...Y],Q)}function d6($,X,Q){let Y=t($,X),z=N(Y)&&N(Q)?{...Y,...Q}:Q;return O($,X,z)?z:t($,X)}function f6($,X,Q){throw new x8($,"Never types cannot be cast")}function y6($,X,Q){if(O($,X,Q))return Q;if(Q===null||typeof Q!=="object")return t($,X);let Y=new Set($.required||[]),z={};for(let[Z,W]of Object.entries($.properties)){if(!Y.has(Z)&&Q[Z]===void 0)continue;z[Z]=r(W,X,Q[Z])}if(typeof $.additionalProperties==="object"){let Z=Object.getOwnPropertyNames($.properties);for(let W of Object.getOwnPropertyNames(Q)){if(Z.includes(W))continue;z[W]=r($.additionalProperties,X,Q[W])}}return z}function i6($,X,Q){if(O($,X,Q))return b(Q);if(Q===null||typeof Q!=="object"||Array.isArray(Q)||Q instanceof Date)return t($,X);let Y=Object.getOwnPropertyNames($.patternProperties)[0],z=$.patternProperties[Y],Z={};for(let[W,G]of Object.entries(Q))Z[W]=r(z,X,G);return Z}function p6($,X,Q){return r(j($,X),X,Q)}function v6($,X,Q){return r(j($,X),X,Q)}function o6($,X,Q){if(O($,X,Q))return b(Q);if(!U(Q))return t($,X);if($.items===void 0)return[];return $.items.map((Y,z)=>r(Y,X,Q[z]))}function h6($,X,Q){return O($,X,Q)?b(Q):x6($,X,Q)}function r($,X,Q){let Y=C($.$id)?E($,X):X,z=$;switch($[H]){case"Array":return E6(z,Y,Q);case"Constructor":return V6(z,Y,Q);case"Import":return T6(z,Y,Q);case"Intersect":return d6(z,Y,Q);case"Never":return f6(z,Y,Q);case"Object":return y6(z,Y,Q);case"Record":return i6(z,Y,Q);case"Ref":return p6(z,Y,Q);case"This":return v6(z,Y,Q);case"Tuple":return o6(z,Y,Q);case"Union":return h6(z,Y,Q);case"Date":case"Symbol":case"Uint8Array":return I6($,X,Q);default:return k6(z,Y,Q)}}function T$(...$){return $.length===3?r($[0],$[1],$[2]):r($[0],[],$[1])}function m6($){return B$($)&&$[H]!=="Unsafe"}function n6($,X,Q){if(!U(Q))return Q;return Q.map((Y)=>h($.items,X,Y))}function u6($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return h(z,[...X,...Y],Q)}function l6($,X,Q){let Y=$.unevaluatedProperties,Z=$.allOf.map((G)=>h(G,X,b(Q))).reduce((G,L)=>N(L)?{...G,...L}:L,{});if(!N(Q)||!N(Z)||!B$(Y))return Z;let W=Y$($);for(let G of Object.getOwnPropertyNames(Q)){if(W.includes(G))continue;if(O(Y,X,Q[G]))Z[G]=h(Y,X,Q[G])}return Z}function c6($,X,Q){if(!N(Q)||U(Q))return Q;let Y=$.additionalProperties;for(let z of Object.getOwnPropertyNames(Q)){if(R($.properties,z)){Q[z]=h($.properties[z],X,Q[z]);continue}if(B$(Y)&&O(Y,X,Q[z])){Q[z]=h(Y,X,Q[z]);continue}delete Q[z]}return Q}function t6($,X,Q){if(!N(Q))return Q;let Y=$.additionalProperties,z=Object.getOwnPropertyNames(Q),[Z,W]=Object.entries($.patternProperties)[0],G=new RegExp(Z);for(let L of z){if(G.test(L)){Q[L]=h(W,X,Q[L]);continue}if(B$(Y)&&O(Y,X,Q[L])){Q[L]=h(Y,X,Q[L]);continue}delete Q[L]}return Q}function s6($,X,Q){return h(j($,X),X,Q)}function r6($,X,Q){return h(j($,X),X,Q)}function a6($,X,Q){if(!U(Q))return Q;if(F($.items))return[];let Y=Math.min(Q.length,$.items.length);for(let z=0;z<Y;z++)Q[z]=h($.items[z],X,Q[z]);return Q.length>Y?Q.slice(0,Y):Q}function e6($,X,Q){for(let Y of $.anyOf)if(m6(Y)&&O(Y,X,Q))return h(Y,X,Q);return Q}function h($,X,Q){let Y=C($.$id)?E($,X):X,z=$;switch(z[H]){case"Array":return n6(z,Y,Q);case"Import":return u6(z,Y,Q);case"Intersect":return l6(z,Y,Q);case"Object":return c6(z,Y,Q);case"Record":return t6(z,Y,Q);case"Ref":return s6(z,Y,Q);case"This":return r6(z,Y,Q);case"Tuple":return a6(z,Y,Q);case"Union":return e6(z,Y,Q);default:return Q}}function J8(...$){return $.length===3?h($[0],$[1],$[2]):h($[0],[],$[1])}function G8($){return C($)&&!isNaN($)&&!isNaN(parseFloat($))}function $Y($){return s($)||X$($)||g($)}function d$($){return $===!0||g($)&&$===1||s($)&&$===BigInt("1")||C($)&&($.toLowerCase()==="true"||$==="1")}function f$($){return $===!1||g($)&&($===0||Object.is($,-0))||s($)&&$===BigInt("0")||C($)&&($.toLowerCase()==="false"||$==="0"||$==="-0")}function QY($){return C($)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test($)}function XY($){return C($)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test($)}function YY($){return C($)&&/^\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.test($)}function zY($){return C($)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test($)}function ZY($){return C($)&&/^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test($)}function WY($,X){let Q=K0($);return Q===X?Q:$}function JY($,X){let Q=F0($);return Q===X?Q:$}function GY($,X){let Q=P0($);return Q===X?Q:$}function qY($,X){return C($.const)?WY(X,$.const):g($.const)?JY(X,$.const):X$($.const)?GY(X,$.const):X}function P0($){return d$($)?!0:f$($)?!1:$}function HY($){let X=(Q)=>Q.split(".")[0];return G8($)?BigInt(X($)):g($)?BigInt(Math.trunc($)):f$($)?BigInt(0):d$($)?BigInt(1):$}function K0($){return Z$($)&&$.description!==void 0?$.description.toString():$Y($)?$.toString():$}function F0($){return G8($)?parseFloat($):d$($)?1:f$($)?0:$}function LY($){return G8($)?parseInt($):g($)?Math.trunc($):d$($)?1:f$($)?0:$}function MY($){return C($)&&$.toLowerCase()==="null"?null:$}function RY($){return C($)&&$==="undefined"?void 0:$}function UY($){return y($)?$:g($)?new Date($):d$($)?new Date(1):f$($)?new Date(0):G8($)?new Date(parseInt($)):XY($)?new Date(`1970-01-01T${$}.000Z`):QY($)?new Date(`1970-01-01T${$}`):zY($)?new Date(`${$}.000Z`):YY($)?new Date($):ZY($)?new Date(`${$}T00:00:00.000Z`):$}function NY($){return $}function BY($,X,Q){return(U(Q)?Q:[Q]).map((z)=>a($.items,X,z))}function OY($,X,Q){return HY(Q)}function wY($,X,Q){return P0(Q)}function AY($,X,Q){return UY(Q)}function SY($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return a(z,[...X,...Y],Q)}function bY($,X,Q){return LY(Q)}function DY($,X,Q){return $.allOf.reduce((Y,z)=>a(z,X,Y),Q)}function jY($,X,Q){return qY($,Q)}function CY($,X,Q){return MY(Q)}function PY($,X,Q){return F0(Q)}function KY($,X,Q){if(!N(Q))return Q;for(let Y of Object.getOwnPropertyNames($.properties)){if(!R(Q,Y))continue;Q[Y]=a($.properties[Y],X,Q[Y])}return Q}function FY($,X,Q){if(!N(Q))return Q;let z=Object.getOwnPropertyNames($.patternProperties)[0],Z=$.patternProperties[z];for(let[W,G]of Object.entries(Q))Q[W]=a(Z,X,G);return Q}function gY($,X,Q){return a(j($,X),X,Q)}function _Y($,X,Q){return K0(Q)}function xY($,X,Q){return C(Q)||g(Q)?Symbol(Q):Q}function IY($,X,Q){return a(j($,X),X,Q)}function kY($,X,Q){if(!(U(Q)&&!F($.items)))return Q;return Q.map((z,Z)=>{return Z<$.items.length?a($.items[Z],X,z):z})}function EY($,X,Q){return RY(Q)}function VY($,X,Q){for(let Y of $.anyOf){let z=a(Y,X,b(Q));if(!O(Y,X,z))continue;return z}return Q}function a($,X,Q){let Y=E($,X),z=$;switch($[H]){case"Array":return BY(z,Y,Q);case"BigInt":return OY(z,Y,Q);case"Boolean":return wY(z,Y,Q);case"Date":return AY(z,Y,Q);case"Import":return SY(z,Y,Q);case"Integer":return bY(z,Y,Q);case"Intersect":return DY(z,Y,Q);case"Literal":return jY(z,Y,Q);case"Null":return CY(z,Y,Q);case"Number":return PY(z,Y,Q);case"Object":return KY(z,Y,Q);case"Record":return FY(z,Y,Q);case"Ref":return gY(z,Y,Q);case"String":return _Y(z,Y,Q);case"Symbol":return xY(z,Y,Q);case"This":return IY(z,Y,Q);case"Tuple":return kY(z,Y,Q);case"Undefined":return EY(z,Y,Q);case"Union":return VY(z,Y,Q);default:return NY(Q)}}function q8(...$){return $.length===3?a($[0],$[1],$[2]):a($[0],[],$[1])}class I8 extends S{constructor($,X,Q){super("Unable to decode value as it does not match the expected schema");this.schema=$,this.value=X,this.error=Q}}class g0 extends S{constructor($,X,Q,Y){super(Y instanceof Error?Y.message:"Unknown error");this.schema=$,this.path=X,this.value=Q,this.error=Y}}function x($,X,Q){try{return P($)?$[H8].Decode(Q):Q}catch(Y){throw new g0($,X,Q,Y)}}function TY($,X,Q,Y){return U(Y)?x($,Q,Y.map((z,Z)=>e($.items,X,`${Q}/${Z}`,z))):x($,Q,Y)}function dY($,X,Q,Y){if(!N(Y)||m(Y))return x($,Q,Y);let z=z8($),Z=z.map((M)=>M[0]),W={...Y};for(let[M,K]of z)if(M in W)W[M]=e(K,X,`${Q}/${M}`,W[M]);if(!P($.unevaluatedProperties))return x($,Q,W);let G=Object.getOwnPropertyNames(W),L=$.unevaluatedProperties,B={...W};for(let M of G)if(!Z.includes(M))B[M]=x(L,`${Q}/${M}`,B[M]);return x($,Q,B)}function fY($,X,Q,Y){let z=globalThis.Object.values($.$defs),Z=$.$defs[$.$ref],W=e(Z,[...X,...z],Q,Y);return x($,Q,W)}function yY($,X,Q,Y){return x($,Q,e($.not,X,Q,Y))}function iY($,X,Q,Y){if(!N(Y))return x($,Q,Y);let z=Y$($),Z={...Y};for(let B of z){if(!R(Z,B))continue;if(F(Z[B])&&(!L8($.properties[B])||I.IsExactOptionalProperty(Z,B)))continue;Z[B]=e($.properties[B],X,`${Q}/${B}`,Z[B])}if(!p($.additionalProperties))return x($,Q,Z);let W=Object.getOwnPropertyNames(Z),G=$.additionalProperties,L={...Z};for(let B of W)if(!z.includes(B))L[B]=x(G,`${Q}/${B}`,L[B]);return x($,Q,L)}function pY($,X,Q,Y){if(!N(Y))return x($,Q,Y);let z=Object.getOwnPropertyNames($.patternProperties)[0],Z=new RegExp(z),W={...Y};for(let M of Object.getOwnPropertyNames(Y))if(Z.test(M))W[M]=e($.patternProperties[z],X,`${Q}/${M}`,W[M]);if(!p($.additionalProperties))return x($,Q,W);let G=Object.getOwnPropertyNames(W),L=$.additionalProperties,B={...W};for(let M of G)if(!Z.test(M))B[M]=x(L,`${Q}/${M}`,B[M]);return x($,Q,B)}function vY($,X,Q,Y){let z=j($,X);return x($,Q,e(z,X,Q,Y))}function oY($,X,Q,Y){let z=j($,X);return x($,Q,e(z,X,Q,Y))}function hY($,X,Q,Y){return U(Y)&&U($.items)?x($,Q,$.items.map((z,Z)=>e(z,X,`${Q}/${Z}`,Y[Z]))):x($,Q,Y)}function mY($,X,Q,Y){for(let z of $.anyOf){if(!O(z,X,Y))continue;let Z=e(z,X,Q,Y);return x($,Q,Z)}return x($,Q,Y)}function e($,X,Q,Y){let z=E($,X),Z=$;switch($[H]){case"Array":return TY(Z,z,Q,Y);case"Import":return fY(Z,z,Q,Y);case"Intersect":return dY(Z,z,Q,Y);case"Not":return yY(Z,z,Q,Y);case"Object":return iY(Z,z,Q,Y);case"Record":return pY(Z,z,Q,Y);case"Ref":return vY(Z,z,Q,Y);case"Symbol":return x(Z,Q,Y);case"This":return oY(Z,z,Q,Y);case"Tuple":return hY(Z,z,Q,Y);case"Union":return mY(Z,z,Q,Y);default:return x(Z,Q,Y)}}function M8($,X,Q){return e($,X,"",Q)}class k8 extends S{constructor($,X,Q){super("The encoded value does not match the expected schema");this.schema=$,this.value=X,this.error=Q}}class _0 extends S{constructor($,X,Q,Y){super(`${Y instanceof Error?Y.message:"Unknown error"}`);this.schema=$,this.path=X,this.value=Q,this.error=Y}}function d($,X,Q){try{return P($)?$[H8].Encode(Q):Q}catch(Y){throw new _0($,X,Q,Y)}}function nY($,X,Q,Y){let z=d($,Q,Y);return U(z)?z.map((Z,W)=>$$($.items,X,`${Q}/${W}`,Z)):z}function uY($,X,Q,Y){let z=globalThis.Object.values($.$defs),Z=$.$defs[$.$ref],W=d($,Q,Y);return $$(Z,[...X,...z],Q,W)}function lY($,X,Q,Y){let z=d($,Q,Y);if(!N(Y)||m(Y))return z;let Z=z8($),W=Z.map((K)=>K[0]),G={...z};for(let[K,w8]of Z)if(K in G)G[K]=$$(w8,X,`${Q}/${K}`,G[K]);if(!P($.unevaluatedProperties))return G;let L=Object.getOwnPropertyNames(G),B=$.unevaluatedProperties,M={...G};for(let K of L)if(!W.includes(K))M[K]=d(B,`${Q}/${K}`,M[K]);return M}function cY($,X,Q,Y){return d($.not,Q,d($,Q,Y))}function tY($,X,Q,Y){let z=d($,Q,Y);if(!N(z))return z;let Z=Y$($),W={...z};for(let M of Z){if(!R(W,M))continue;if(F(W[M])&&(!L8($.properties[M])||I.IsExactOptionalProperty(W,M)))continue;W[M]=$$($.properties[M],X,`${Q}/${M}`,W[M])}if(!p($.additionalProperties))return W;let G=Object.getOwnPropertyNames(W),L=$.additionalProperties,B={...W};for(let M of G)if(!Z.includes(M))B[M]=d(L,`${Q}/${M}`,B[M]);return B}function sY($,X,Q,Y){let z=d($,Q,Y);if(!N(Y))return z;let Z=Object.getOwnPropertyNames($.patternProperties)[0],W=new RegExp(Z),G={...z};for(let K of Object.getOwnPropertyNames(Y))if(W.test(K))G[K]=$$($.patternProperties[Z],X,`${Q}/${K}`,G[K]);if(!p($.additionalProperties))return G;let L=Object.getOwnPropertyNames(G),B=$.additionalProperties,M={...G};for(let K of L)if(!W.test(K))M[K]=d(B,`${Q}/${K}`,M[K]);return M}function rY($,X,Q,Y){let z=j($,X),Z=$$(z,X,Q,Y);return d($,Q,Z)}function aY($,X,Q,Y){let z=j($,X),Z=$$(z,X,Q,Y);return d($,Q,Z)}function eY($,X,Q,Y){let z=d($,Q,Y);return U($.items)?$.items.map((Z,W)=>$$(Z,X,`${Q}/${W}`,z[W])):[]}function $4($,X,Q,Y){for(let z of $.anyOf){if(!O(z,X,Y))continue;let Z=$$(z,X,Q,Y);return d($,Q,Z)}for(let z of $.anyOf){let Z=$$(z,X,Q,Y);if(!O($,X,Z))continue;return d($,Q,Z)}return d($,Q,Y)}function $$($,X,Q,Y){let z=E($,X),Z=$;switch($[H]){case"Array":return nY(Z,z,Q,Y);case"Import":return uY(Z,z,Q,Y);case"Intersect":return lY(Z,z,Q,Y);case"Not":return cY(Z,z,Q,Y);case"Object":return tY(Z,z,Q,Y);case"Record":return sY(Z,z,Q,Y);case"Ref":return rY(Z,z,Q,Y);case"This":return aY(Z,z,Q,Y);case"Tuple":return eY(Z,z,Q,Y);case"Union":return $4(Z,z,Q,Y);default:return d(Z,Q,Y)}}function R8($,X,Q){return $$($,X,"",Q)}function Q4($,X){return P($)||k($.items,X)}function X4($,X){return P($)||k($.items,X)}function Y4($,X){return P($)||k($.returns,X)||$.parameters.some((Q)=>k(Q,X))}function z4($,X){return P($)||k($.returns,X)||$.parameters.some((Q)=>k(Q,X))}function Z4($,X){return P($)||P($.unevaluatedProperties)||$.allOf.some((Q)=>k(Q,X))}function W4($,X){let Q=globalThis.Object.getOwnPropertyNames($.$defs).reduce((z,Z)=>[...z,$.$defs[Z]],[]),Y=$.$defs[$.$ref];return P($)||k(Y,[...Q,...X])}function J4($,X){return P($)||k($.items,X)}function G4($,X){return P($)||k($.not,X)}function q4($,X){return P($)||Object.values($.properties).some((Q)=>k(Q,X))||p($.additionalProperties)&&k($.additionalProperties,X)}function H4($,X){return P($)||k($.item,X)}function L4($,X){let Q=Object.getOwnPropertyNames($.patternProperties)[0],Y=$.patternProperties[Q];return P($)||k(Y,X)||p($.additionalProperties)&&P($.additionalProperties)}function M4($,X){if(P($))return!0;return k(j($,X),X)}function R4($,X){if(P($))return!0;return k(j($,X),X)}function U4($,X){return P($)||!F($.items)&&$.items.some((Q)=>k(Q,X))}function N4($,X){return P($)||$.anyOf.some((Q)=>k(Q,X))}function k($,X){let Q=E($,X),Y=$;if($.$id&&E8.has($.$id))return!1;if($.$id)E8.add($.$id);switch($[H]){case"Array":return Q4(Y,Q);case"AsyncIterator":return X4(Y,Q);case"Constructor":return Y4(Y,Q);case"Function":return z4(Y,Q);case"Import":return W4(Y,Q);case"Intersect":return Z4(Y,Q);case"Iterator":return J4(Y,Q);case"Not":return G4(Y,Q);case"Object":return q4(Y,Q);case"Promise":return H4(Y,Q);case"Record":return L4(Y,Q);case"Ref":return M4(Y,Q);case"This":return R4(Y,Q);case"Tuple":return U4(Y,Q);case"Union":return N4(Y,Q);default:return P($)}}var E8=new Set;function O$($,X){return E8.clear(),k($,X)}function x0(...$){let[X,Q,Y]=$.length===3?[$[0],$[1],$[2]]:[$[0],[],$[1]];if(!O(X,Q,Y))throw new I8(X,Y,M$(X,Q,Y).First());return O$(X,Q)?M8(X,Q,Y):Y}function q$($,X){let Q=R($,"default")?$.default:void 0,Y=H$(Q)?Q():b(Q);return F(X)?Y:N(X)&&N(Y)?Object.assign(Y,X):X}function V8($){return B$($)&&"default"in $}function B4($,X,Q){if(U(Q)){for(let z=0;z<Q.length;z++)Q[z]=v($.items,X,Q[z]);return Q}let Y=q$($,Q);if(!U(Y))return Y;for(let z=0;z<Y.length;z++)Y[z]=v($.items,X,Y[z]);return Y}function O4($,X,Q){return y(Q)?Q:q$($,Q)}function w4($,X,Q){let Y=globalThis.Object.values($.$defs),z=$.$defs[$.$ref];return v(z,[...X,...Y],Q)}function A4($,X,Q){let Y=q$($,Q);return $.allOf.reduce((z,Z)=>{let W=v(Z,X,Y);return N(W)?{...z,...W}:W},{})}function S4($,X,Q){let Y=q$($,Q);if(!N(Y))return Y;let z=Object.getOwnPropertyNames($.properties);for(let Z of z){let W=v($.properties[Z],X,Y[Z]);if(F(W))continue;Y[Z]=v($.properties[Z],X,Y[Z])}if(!V8($.additionalProperties))return Y;for(let Z of Object.getOwnPropertyNames(Y)){if(z.includes(Z))continue;Y[Z]=v($.additionalProperties,X,Y[Z])}return Y}function b4($,X,Q){let Y=q$($,Q);if(!N(Y))return Y;let z=$.additionalProperties,[Z,W]=Object.entries($.patternProperties)[0],G=new RegExp(Z);for(let L of Object.getOwnPropertyNames(Y)){if(!(G.test(L)&&V8(W)))continue;Y[L]=v(W,X,Y[L])}if(!V8(z))return Y;for(let L of Object.getOwnPropertyNames(Y)){if(G.test(L))continue;Y[L]=v(z,X,Y[L])}return Y}function D4($,X,Q){return v(j($,X),X,q$($,Q))}function j4($,X,Q){return v(j($,X),X,Q)}function C4($,X,Q){let Y=q$($,Q);if(!U(Y)||F($.items))return Y;let[z,Z]=[$.items,Math.max($.items.length,Y.length)];for(let W=0;W<Z;W++)if(W<z.length)Y[W]=v(z[W],X,Y[W]);return Y}function P4($,X,Q){let Y=q$($,Q);for(let z of $.anyOf){let Z=v(z,X,b(Y));if(O(z,X,Z))return Z}return Y}function v($,X,Q){let Y=E($,X),z=$;switch(z[H]){case"Array":return B4(z,Y,Q);case"Date":return O4(z,Y,Q);case"Import":return w4(z,Y,Q);case"Intersect":return A4(z,Y,Q);case"Object":return S4(z,Y,Q);case"Record":return b4(z,Y,Q);case"Ref":return D4(z,Y,Q);case"This":return j4(z,Y,Q);case"Tuple":return C4(z,Y,Q);case"Union":return P4(z,Y,Q);default:return q$(z,Q)}}function U8(...$){return $.length===3?v($[0],$[1],$[2]):v($[0],[],$[1])}var Q$={};h$(Q$,{ValuePointerRootSetError:()=>T8,ValuePointerRootDeleteError:()=>d8,Set:()=>K4,Has:()=>g4,Get:()=>_4,Format:()=>y$,Delete:()=>F4});class T8 extends S{constructor($,X,Q){super("Cannot set root value");this.value=$,this.path=X,this.update=Q}}class d8 extends S{constructor($,X){super("Cannot delete root value");this.value=$,this.path=X}}function I0($){return $.indexOf("~")===-1?$:$.replace(/~1/g,"/").replace(/~0/g,"~")}function*y$($){if($==="")return;let[X,Q]=[0,0];for(let Y=0;Y<$.length;Y++)if($.charAt(Y)==="/")if(Y===0)X=Y+1;else Q=Y,yield I0($.slice(X,Q)),X=Y+1;else Q=Y;yield I0($.slice(X))}function K4($,X,Q){if(X==="")throw new T8($,X,Q);let[Y,z,Z]=[null,$,""];for(let W of y$(X)){if(z[W]===void 0)z[W]={};Y=z,z=z[W],Z=W}Y[Z]=Q}function F4($,X){if(X==="")throw new d8($,X);let[Q,Y,z]=[null,$,""];for(let Z of y$(X)){if(Y[Z]===void 0||Y[Z]===null)return;Q=Y,Y=Y[Z],z=Z}if(Array.isArray(Q)){let Z=parseInt(z);Q.splice(Z,1)}else delete Q[z]}function g4($,X){if(X==="")return!0;let[Q,Y,z]=[null,$,""];for(let Z of y$(X)){if(Y[Z]===void 0)return!1;Q=Y,Y=Y[Z],z=Z}return Object.getOwnPropertyNames(Q).includes(z)}function _4($,X){if(X==="")return $;let Q=$;for(let Y of y$(X)){if(Q[Y]===void 0)return;Q=Q[Y]}return Q}function x4($,X){if(!N(X))return!1;let Q=[...Object.keys($),...Object.getOwnPropertySymbols($)],Y=[...Object.keys(X),...Object.getOwnPropertySymbols(X)];if(Q.length!==Y.length)return!1;return Q.every((z)=>w$($[z],X[z]))}function I4($,X){return y(X)&&$.getTime()===X.getTime()}function k4($,X){if(!U(X)||$.length!==X.length)return!1;return $.every((Q,Y)=>w$(Q,X[Y]))}function E4($,X){if(!u(X)||$.length!==X.length||Object.getPrototypeOf($).constructor.name!==Object.getPrototypeOf(X).constructor.name)return!1;return $.every((Q,Y)=>w$(Q,X[Y]))}function V4($,X){return $===X}function w$($,X){if(y($))return I4($,X);if(u($))return E4($,X);if(U($))return k4($,X);if(N($))return x4($,X);if(m($))return V4($,X);throw new Error("ValueEquals: Unable to compare value")}var T4=Y8({type:r$("insert"),path:a$(),value:g8()}),d4=Y8({type:r$("update"),path:a$(),value:g8()}),f4=Y8({type:r$("delete"),path:a$()}),E0=s8([T4,d4,f4]);class f8 extends S{constructor($,X){super(X);this.value=$}}function N8($,X){return{type:"update",path:$,value:X}}function V0($,X){return{type:"insert",path:$,value:X}}function T0($){return{type:"delete",path:$}}function k0($){if(globalThis.Object.getOwnPropertySymbols($).length>0)throw new f8($,"Cannot diff objects with symbols")}function*y4($,X,Q){if(k0(X),k0(Q),!A8(Q))return yield N8($,Q);let Y=globalThis.Object.getOwnPropertyNames(X),z=globalThis.Object.getOwnPropertyNames(Q);for(let Z of z){if(R(X,Z))continue;yield V0(`${$}/${Z}`,Q[Z])}for(let Z of Y){if(!R(Q,Z))continue;if(w$(X,Q))continue;yield*B8(`${$}/${Z}`,X[Z],Q[Z])}for(let Z of Y){if(R(Q,Z))continue;yield T0(`${$}/${Z}`)}}function*i4($,X,Q){if(!U(Q))return yield N8($,Q);for(let Y=0;Y<Math.min(X.length,Q.length);Y++)yield*B8(`${$}/${Y}`,X[Y],Q[Y]);for(let Y=0;Y<Q.length;Y++){if(Y<X.length)continue;yield V0(`${$}/${Y}`,Q[Y])}for(let Y=X.length-1;Y>=0;Y--){if(Y<Q.length)continue;yield T0(`${$}/${Y}`)}}function*p4($,X,Q){if(!u(Q)||X.length!==Q.length||globalThis.Object.getPrototypeOf(X).constructor.name!==globalThis.Object.getPrototypeOf(Q).constructor.name)return yield N8($,Q);for(let Y=0;Y<Math.min(X.length,Q.length);Y++)yield*B8(`${$}/${Y}`,X[Y],Q[Y])}function*v4($,X,Q){if(X===Q)return;yield N8($,Q)}function*B8($,X,Q){if(A8(X))return yield*y4($,X,Q);if(U(X))return yield*i4($,X,Q);if(u(X))return yield*p4($,X,Q);if(m(X))return yield*v4($,X,Q);throw new f8(X,"Unable to diff value")}function d0($,X){return[...B8("",$,X)]}function o4($){return $.length>0&&$[0].path===""&&$[0].type==="update"}function h4($){return $.length===0}function f0($,X){if(o4(X))return b(X[0].value);if(h4(X))return b($);let Q=b($);for(let Y of X)switch(Y.type){case"insert":{Q$.Set(Q,Y.path,Y.value);break}case"update":{Q$.Set(Q,Y.path,Y.value);break}case"delete":{Q$.Delete(Q,Y.path);break}}return Q}function y0(...$){let[X,Q,Y]=$.length===3?[$[0],$[1],$[2]]:[$[0],[],$[1]],z=O$(X,Q)?R8(X,Q,Y):Y;if(!O(X,Q,z))throw new k8(X,z,M$(X,Q,z).First());return z}function O8($){return N($)&&!U($)}class y8 extends S{constructor($){super($)}}function m4($,X,Q,Y){if(!O8(Q))Q$.Set($,X,b(Y));else{let z=Object.getOwnPropertyNames(Q),Z=Object.getOwnPropertyNames(Y);for(let W of z)if(!Z.includes(W))delete Q[W];for(let W of Z)if(!z.includes(W))Q[W]=null;for(let W of Z)i8($,`${X}/${W}`,Q[W],Y[W])}}function n4($,X,Q,Y){if(!U(Q))Q$.Set($,X,b(Y));else{for(let z=0;z<Y.length;z++)i8($,`${X}/${z}`,Q[z],Y[z]);Q.splice(Y.length)}}function u4($,X,Q,Y){if(u(Q)&&Q.length===Y.length)for(let z=0;z<Q.length;z++)Q[z]=Y[z];else Q$.Set($,X,b(Y))}function l4($,X,Q,Y){if(Q===Y)return;Q$.Set($,X,Y)}function i8($,X,Q,Y){if(U(Y))return n4($,X,Q,Y);if(u(Y))return u4($,X,Q,Y);if(O8(Y))return m4($,X,Q,Y);if(m(Y))return l4($,X,Q,Y)}function i0($){return u($)||m($)}function c4($,X){return O8($)&&U(X)||U($)&&O8(X)}function p0($,X){if(i0($)||i0(X))throw new y8("Only object and array types can be mutated at the root level");if(c4($,X))throw new y8("Cannot assign due type mismatch of assignable values");i8($,"",$,X)}class v8 extends S{constructor($){super($)}}var p8;(function($){let X=new Map([["Assert",(Z,W,G)=>{return W8(Z,W,G),G}],["Cast",(Z,W,G)=>T$(Z,W,G)],["Clean",(Z,W,G)=>J8(Z,W,G)],["Clone",(Z,W,G)=>b(G)],["Convert",(Z,W,G)=>q8(Z,W,G)],["Decode",(Z,W,G)=>O$(Z,W)?M8(Z,W,G):G],["Default",(Z,W,G)=>U8(Z,W,G)],["Encode",(Z,W,G)=>O$(Z,W)?R8(Z,W,G):G]]);function Q(Z){X.delete(Z)}$.Delete=Q;function Y(Z,W){X.set(Z,W)}$.Set=Y;function z(Z){return X.get(Z)}$.Get=z})(p8||(p8={}));var v0=["Clone","Clean","Default","Convert","Assert","Decode"];function t4($,X,Q,Y){return $.reduce((z,Z)=>{let W=p8.Get(Z);if(F(W))throw new v8(`Unable to find Parse operation '${Z}'`);return W(X,Q,z)},Y)}function o0(...$){let[X,Q,Y,z]=$.length===4?[$[0],$[1],$[2],$[3]]:$.length===3?U($[0])?[$[0],$[1],[],$[2]]:[v0,$[0],$[1],$[2]]:$.length===2?[v0,$[0],[],$[1]]:(()=>{throw new v8("Invalid Arguments")})();return t4(X,Q,Y,z)}var x$={};h$(x$,{ValueErrorIterator:()=>N$,Patch:()=>f0,Parse:()=>o0,Mutate:()=>p0,Hash:()=>_$,Errors:()=>M$,Equal:()=>w$,Encode:()=>y0,Edit:()=>E0,Diff:()=>d0,Default:()=>U8,Decode:()=>x0,Create:()=>t,Convert:()=>q8,Clone:()=>b,Clean:()=>J8,Check:()=>O,Cast:()=>T$,Assert:()=>W8});var XJ=($,X=process.env)=>{try{x$.Assert($,x$.Parse($,X))}catch(Q){throw new h0({key:m0.invalidEnvironment,cause:Q})}};export{XJ as validateEnv,qJ as makeStreamAsyncIterable,GJ as isIsoDateString};export{XJ as a};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrxsys/mrx-core",
3
- "version": "2.3.5-canary-20250516-82ef1fb",
3
+ "version": "2.3.5",
4
4
  "author": "Ruby",
5
5
  "description": " Core provides a set of tools to help you build a microservice",
6
6
  "type": "module",
@@ -43,19 +43,19 @@
43
43
  "test": "bun test --coverage --timeout 5500"
44
44
  },
45
45
  "devDependencies": {
46
- "@eslint/js": "^9.26.0",
46
+ "@eslint/js": "^9.27.0",
47
47
  "@stylistic/eslint-plugin": "^4.2.0",
48
48
  "@types/bun": "^1.2.13",
49
49
  "@types/nodemailer": "^6.4.17",
50
- "eslint": "^9.26.0",
50
+ "eslint": "^9.27.0",
51
51
  "globals": "^16.1.0",
52
52
  "tsc-alias": "^1.8.16",
53
53
  "typedoc": "^0.28.4",
54
54
  "typescript-eslint": "^8.32.1"
55
55
  },
56
56
  "peerDependencies": {
57
- "@basalt-lab/basalt-helper": "^1.13.3",
58
- "@basalt-lab/basalt-logger": "^1.12.2",
57
+ "@basalt-lab/basalt-helper": "^1.13.5",
58
+ "@basalt-lab/basalt-logger": "^1.13.2",
59
59
  "elysia": "^1.3.1",
60
60
  "ioredis": "^5.6.1",
61
61
  "jose": "^6.0.11",
@@ -0,0 +1,2 @@
1
+ import { Elysia } from 'elysia';
2
+
@@ -1,2 +0,0 @@
1
- var e={log:"log"};var d={selected:"selected",created:"created",updated:"updated",deleted:"deleted"};
2
- export{e as aa,d as ba};
@@ -1,2 +0,0 @@
1
- import{W}from"./chunk-ckg4jheb.js";import{Z as J}from"./chunk-5x3px0nq.js";import{_ as O}from"./chunk-2ysjvwgk.js";import{aa as X,ba as P}from"./chunk-gjfrh429.js";import $ from"events";class V extends ${_databaseName;_fields=[];_name;_primaryKey;constructor(w,F,z,H){super();this._databaseName=w,this._name=F,this._fields=z,this._primaryKey=H}get databaseName(){return this._databaseName}get name(){return this._name}get fields(){return this._fields}get primaryKey(){return this._primaryKey}}import{EventEmitter as A}from"events";import B from"knex";class D extends A{_isConnected=!1;_databaseName;_tables=new Map;_repositories=new Map;_db;_pulse;constructor(w){super();this._databaseName=w.databaseName,this._pulse=w.pulse??!1,this._db=B({client:"mssql",debug:w.debug??!0,acquireConnectionTimeout:w.connectionTimeout??20000,log:{debug:(F)=>{if(w.debug){let z=this._extractTablesFromSqlQuery(F.sql),H={database:w.databaseName,tables:z,queryUuid:F.__knexQueryUid,method:F.method,sql:F.sql,bindings:F.bindings};this.emit(X.log,H)}}},connection:{database:w.databaseName,host:w.host,port:w.port,user:w.user,password:w.password,options:{encrypt:w.encrypt??!0},bigNumberStrings:!1},pool:{min:w.poolMin??2,max:w.poolMax??10}})}async connect(){try{if(await this._introspectDatabase(),this._isConnected=!0,this._pulse)this._addEventKnex()}catch(w){throw new J({key:O.mssqlConnectionError,message:`Failed to connect to the database: "${this._databaseName}".`,cause:w})}}async disconnect(){if(!this._isConnected)throw new J({key:O.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});try{await this._db.destroy(),this._isConnected=!1}catch(w){throw new J({key:O.mssqlDisconnectError,message:`Failed to disconnect from the database: "${this._databaseName}".`,cause:w})}}getRepository(w,F){if(!this._isConnected)throw new J({key:O.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});if(!this._tables.has(w))throw new J({key:O.mssqlTableNotFound,message:`Table not found: "${w}".`,cause:{table:w}});let z=this._repositories.get(w);if(F){let H=this._tables.get(w);if(z&&z instanceof F)return z;return z=new F(this._db,H),this._repositories.set(w,z),z}return this._repositories.get(w)}getTable(w){if(!this._isConnected)throw new J({key:O.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});if(!this._tables.has(w))throw new J({key:O.mssqlTableNotFound,message:`Table not found: "${w}".`,cause:{table:w}});return this._tables.get(w)}get databaseName(){return this._databaseName}get tables(){return this._tables}get repositories(){return this._repositories}get isConnected(){return this._isConnected}get db(){if(!this._isConnected)throw new J({key:O.mssqlNotConnected,message:`Database "${this._databaseName}" is not connected.`});return this._db}async _introspectDatabase(){(await this._db.from({c:"information_schema.columns"}).select("c.table_name as tableName").select(this._db.raw("STRING_AGG(c.column_name, ',') AS fields")).select("pk.primaryKeyColumn as primaryKeyColumn").select("pk.primaryKeyType as primaryKeyType").leftJoin(this._db.from({tc:"information_schema.table_constraints"}).join({kcu:"information_schema.key_column_usage"},"tc.constraint_name","kcu.constraint_name").join({col:"information_schema.columns"},(z)=>{z.on("col.table_name","=","kcu.table_name").andOn("col.column_name","=","kcu.column_name")}).where("tc.constraint_type","PRIMARY KEY").groupBy("tc.table_name","kcu.column_name","col.data_type").select("tc.table_name as tableName").select("kcu.column_name as primaryKeyColumn").select("col.data_type as primaryKeyType").as("pk"),"c.table_name","pk.tableName").groupBy("c.table_name","pk.primaryKeyColumn","pk.primaryKeyType")).reduce((z,{tableName:H,fields:Q,primaryKeyColumn:Y,primaryKeyType:Z})=>{let _=Z==="int"?"NUMBER":"STRING";return z.set(H,{fields:Q.split(","),primaryKey:[Y,_]}),z},new Map).forEach((z,H)=>{let Q=new V(this._databaseName,H,z.fields,z.primaryKey);this._tables.set(H,Q),this._repositories.set(H,new W(this._db,Q))})}_extractTablesFromSqlQuery(w){let F=/(?:update|insert\s+into|delete\s+from|from|join|with)\s+\[?([^\]\s]+)\]?/gi,z=[...w.matchAll(F)].map((H)=>H[1]);return Array.from(new Set(z))}_handleQueryResponse(w,F){let z=this._extractTablesFromSqlQuery(F.sql),H=this._tables.get(z[0]);switch(F.method){case"select":H?.emit(P.selected,w);break;case"insert":H?.emit(P.created,w);break;case"update":H?.emit(P.updated,w);break;case"delete":H?.emit(P.deleted,w);break;default:break}}_handleQueryError(w,F){this.emit("query:error",w,F)}_addEventKnex(){this._db.on("query-error",this._handleQueryError.bind(this)),this._db.on("query-response",this._handleQueryResponse.bind(this))}}
2
- export{V as U,D as V};
@@ -1,3 +0,0 @@
1
- export declare const mssqlEvent: {
2
- readonly log: "log";
3
- };
@@ -1,6 +0,0 @@
1
- export declare const tableEvent: {
2
- readonly selected: "selected";
3
- readonly created: "created";
4
- readonly updated: "updated";
5
- readonly deleted: "deleted";
6
- };