tempest.games 0.1.46 → 0.2.0
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 +6 -0
- package/app/assets/index-C6lk2a-1.css +1 -0
- package/app/assets/index-DhXAmgc-.js +109 -0
- package/app/index.html +2 -2
- package/bin/backend.bun.js +339 -77
- package/bin/backend.worker.game.bun.js +2 -2
- package/bin/backend.worker.tribunal.bun.js +67 -67
- package/bin/frontend.bun.js +28 -28
- package/bin/setup-db.bun.js +72 -64
- package/drizzle/0011_slimy_onslaught.sql +17 -0
- package/drizzle/0012_brown_silvermane.sql +2 -0
- package/drizzle/0013_moaning_titanium_man.sql +1 -0
- package/drizzle/0014_ambiguous_blacklash.sql +2 -0
- package/drizzle/0015_careful_newton_destine.sql +7 -0
- package/drizzle/0016_whole_iceman.sql +4 -0
- package/drizzle/0017_sparkling_matthew_murdock.sql +9 -0
- package/drizzle/meta/0011_snapshot.json +479 -0
- package/drizzle/meta/0012_snapshot.json +486 -0
- package/drizzle/meta/0013_snapshot.json +486 -0
- package/drizzle/meta/0014_snapshot.json +487 -0
- package/drizzle/meta/0015_snapshot.json +487 -0
- package/drizzle/meta/0016_snapshot.json +487 -0
- package/drizzle/meta/0017_snapshot.json +487 -0
- package/drizzle/meta/_journal.json +49 -0
- package/package.json +19 -5
- package/app/assets/index-BAZ8dbVE.js +0 -106
- package/app/assets/index-k4NBGR4H.css +0 -1
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var rU=Object.create;var{getPrototypeOf:aU,defineProperty:$F,getOwnPropertyNames:sU}=Object;var eU=Object.prototype.hasOwnProperty;var T_=(T,$,J)=>{J=T!=null?rU(aU(T)):{};let W=$||!T||!T.__esModule?$F(J,"default",{value:T,enumerable:!0}):J;for(let X of sU(T))if(!eU.call(W,X))$F(W,X,{get:()=>T[X],enumerable:!0});return W};var $_=(T,$)=>()=>($||T(($={exports:{}}).exports,$),$.exports);var J_=(T,$)=>{for(var J in $)$F(T,J,{get:$[J],enumerable:!0,configurable:!0,set:(W)=>$[J]=()=>W})};var Y7=import.meta.require;var a3=$_((Vp,r3)=>{var B2=Y7("os"),f2=Y7("path");function t3(T){let $=process.env.XDG_CACHE_HOME||f2.join(B2.homedir(),".cache");return f2.join($,T)}function GK(T){return f2.join(B2.homedir(),"Library","Caches",T)}function HK(T){let $=process.env.LOCALAPPDATA||f2.join(B2.homedir(),"AppData","Local");return f2.join($,T,"Cache")}var MK=function(){switch(B2.platform()){case"darwin":return GK;case"win32":return HK;case"aix":case"android":case"freebsd":case"linux":case"netbsd":case"openbsd":case"sunos":return t3;default:return console.error(`(node:${process.pid}) [cachedir] Warning: the platform "${B2.platform()}" is not currently supported by node-cachedir, falling back to "posix". Please file an issue with your platform here: https://github.com/LinusU/node-cachedir/issues/new`),t3}}();r3.exports=function T($){if(typeof $!=="string")throw new TypeError("id is not a string");if($.length===0)throw new Error("id cannot be empty");if(/[^0-9a-zA-Z-]/.test($))throw new Error("id cannot contain special characters");return MK($)}});function B8(T=Math.random){return T().toString(36).slice(2)}class OX extends Promise{fate;resolve;reject;done=!1;constructor(T){let $,J;super((W,X)=>{$=W,J=X});this.resolve=$,this.reject=J,this.use(T instanceof Promise?T:new Promise(T))}pass(T,$){if(T===this.fate)this.resolve($),this.done=!0}fail(T,$){if(T===this.fate)this.reject($),this.done=!0}use(T){if(T instanceof Promise){let $=T;this.fate=$,$.then((J)=>{this.pass($,J)},(J)=>{this.fail($,J)})}else this.resolve(T),this.fate=void 0}}var G7=(T,$,J=KT.STORE)=>{return W1(J,{key:`${T.key}:JSON`,get:({get:W})=>$.toJson(W(T)),set:({set:W},X)=>{W(T,$.fromJson(X))}})};function g(T){while(T.child!==null)T=T.child;return T}class QT{Subscriber;subscribers=new Map;subscribe(T,$){return this.subscribers.set(T,$),()=>{this.unsubscribe(T)}}unsubscribe(T){this.subscribers.delete(T)}next(T){let $=this.subscribers.values();for(let J of $)J(T)}}class JF extends QT{state;constructor(T){super();this.state=T}next(T){this.state=T,super.next(T)}}function X1(T,$,J){let W={key:$.key,type:"atom_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","atom_family",$.key,`Overwriting an existing ${cJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let F=new QT,G=Object.assign((H)=>{let M=_T(H),z={key:$.key,subKey:M},A=`${$.key}(${M})`,w=g(T),_=$.default,D={key:A,default:_ instanceof Function?_(H):_};if($.effects)D.effects=$.effects(H);let S=XJ(w,D,z);return F.next({type:"state_creation",token:S}),S},W,{subject:F,install:(H)=>X1(H,$),internalRoles:J});return T.families.set($.key,G),T.defaults.set($.key,$.default),W}function H7(T,$){if("mutable"in $)return UX(T,$);return X1(T,$)}function F1(T,$,J){let W={key:$.key,type:"readonly_selector_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","readonly_selector_family",$.key,`Overwriting an existing ${cJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let F=new QT,G=Object.assign((H)=>{let M=_T(H),z={key:$.key,subKey:M},A=`${$.key}(${M})`,w=g(T),_=_X(w,{key:A,get:$.get(H)},z);return F.next({type:"state_creation",token:_}),_},W,{internalRoles:J,subject:F,install:(H)=>F1(H,$),default:(H)=>{return $.get(H)({get:(...z)=>ZT(T,...z),find:(...z)=>JT(T,...z),json:(z)=>A$(T,z)})}});return T.families.set($.key,G),W}function f8(T,$){if("set"in $)return DX(T,$);return F1(T,$)}class N8{_buffer;_index=0;constructor(T){let $;if(typeof T==="number")$=T;else $=T.length;this._buffer=Array.from({length:$})}get buffer(){return this._buffer}get index(){return this._index}add(T){this._buffer[this._index]=T,this._index=(this._index+1)%this._buffer.length}copy(){let T=new N8([...this._buffer]);return T._index=this._index,T}}var W_={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function M7(T,$){let J=_T($),W=`${T.key}(${J})`,X=W_[T.type],F={key:W,type:X};return Object.assign(F,{family:{key:T.key,subKey:J}}),Object.assign(F,{counterfeit:!0}),F}function n$(T){let $={key:T.key,type:T.type};if("family"in T)$.family=T.family;return $}function e0(T){return z7(KT.STORE,T)}function H0(T){return H7(KT.STORE,T)}function WF(...T){if(T.length===2)return ZT(KT.STORE,...T);return ZT(KT.STORE,...T)}function C8(T,$,J=KT.STORE){return J.joins.set(T.key,new KX(T,$,J)),{key:T.key,type:"join",a:T.between[0],b:T.between[1],cardinality:T.cardinality}}function w7(T){return Q7(T,KT.STORE)}var XF=(T)=>($,J,W,X,...F)=>{console[T](`${$} ${J} "${W}" ${X}`,...F)},X_={error:XF("error"),info:XF("info"),warn:XF("warn")};class FF{logLevel;filter;logger;constructor(T,$,J=X_){this.logLevel=T,this.filter=$,this.logger=J}error=(...T)=>{if((this.filter?.(...T)??!0)&&this.logLevel!==null)this.logger.error(...T)};info=(...T)=>{if((this.filter?.(...T)??!0)&&this.logLevel==="info")this.logger.info(...T)};warn=(...T)=>{if((this.filter?.(...T)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...T)}}var wB=Symbol("claim");class O7{store;constructor(T=KT.STORE){this.store=T,U7("root",T)}allocate(T,$,J){return M0(this.store,T,$,J)}fuse(T,$,J){return _7(this.store,T,$,J)}deallocate(T){z0(this.store,T)}claim(T,$,J){return TW(this.store,T,$,J)}}class YF{store;realm;constructor(T=KT.STORE){this.store=T,this.realm=new O7(T)}allocate(T,$,J){M0(this.store,T,$,J)}deallocate(T){z0(this.store,T)}claim(T,$,J){TW(this.store,T,$,J)}}function q8(T){return f8(KT.STORE,T)}function N$(T){return"epoch"in T.transactionMeta}function yT(T){return"phase"in T.transactionMeta}var D7=(T)=>{let $=g(T);if(!yT($)){T.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}T.logger.info("\uD83E\uDE82","transaction",$.transactionMeta.update.key,"Aborting transaction"),$.parent.child=null};function IT(T){return T[0].toUpperCase()+T.slice(1)}function cJ(T){return T.type.split("_").map(IT).join(" ")}class A0 extends Error{constructor(T,$){super(`${cJ(T)} ${_T(T.key)} not found in store "${$.config.name}".`)}}function $W(T,$,J){return(...W)=>{let X=fT(T,$);if(X)return X.run(W,J);throw new A0($,T)}}var k8=(T)=>($)=>T instanceof Function?T($):T;var b1=(T,$)=>{if(T.valueMap.has($.key))return T.logger.info("\uD83D\uDCD6",$.type,$.key,"reading cached value"),K7($,T);switch($.type){case"selector":case"readonly_selector":return T.logger.info("\uD83E\uDDEE",$.type,$.key,"computing value"),$.get();case"atom":case"mutable_atom":{let J=$.default,W;if(J instanceof Function)W=J();else W=J;return T.logger.info("\uD83D\uDC81","atom",$.key,"could not find cached value; using default",W),W}}};var S7=(T,$)=>{if(T.operation.open){let J=performance.now();return T.logger.info("\u2757",$.type,$.key,`deferring setState at T-${J} until setState for "${T.operation.token.key}" is done`),J}T.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:$},T.logger.info("\u2B55",$.type,$.key,`operation start in store "${T.config.name}"${!yT(T)?"":` ${T.transactionMeta.phase} "${T.transactionMeta.update.key}"`}`)},V7=(T)=>{if(T.operation.open)T.logger.info("\uD83D\uDD34",T.operation.token.type,T.operation.token.key,`operation done in store "${T.config.name}"`);T.operation={open:!1},T.on.operationClose.next(T.operation)},E7=(T,$)=>{if(!T.operation.open)return T.logger.error("\uD83D\uDC1E","unknown",$,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return T.operation.done.has($)},JW=(T,$)=>{if(!T.operation.open){T.logger.error("\uD83D\uDC1E","unknown",$,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}T.operation.done.add($)};var R7=(T,$,J)=>{switch($.type){case"mutable_atom":T.logger.info("\uD83D\uDCE2",$.type,$.key,"is now (",J.newValue,") subscribers:",$.subject.subscribers);break;case"atom":case"selector":case"readonly_selector":T.logger.info("\uD83D\uDCE2",$.type,$.key,"went (",J.oldValue,"->",J.newValue,") subscribers:",$.subject.subscribers)}$.subject.next(J)};var GF=(T,$)=>{let J=g(T),W=J.selectorAtoms.getRelatedKeys($.key);if(J.logger.info("\uD83E\uDDF9",$.type,$.key,W?`evicting ${W.size} states downstream:`:"no downstream states",W??"to evict"),W){if(J.operation.open)J.logger.info("\uD83E\uDDF9",$.type,$.key,`[ ${[...J.operation.done].join(", ")} ] already done`);for(let X of W){if(E7(J,X))continue;L7(X,J),JW(J,X)}}};var B7=(T,$,J)=>{let W=b1(T,$),X=W;if($.type==="mutable_atom"&&yT(T)){let{parent:Y}=T;X=VX(T,$,Y)}if(X=k8(J)(X),T.logger.info("\uD83D\uDCDD","atom",$.key,"set to",X),X=UJ(T,$.key,X,$.subject),N7(T,$.key))C7(T,$.key);JW(T,$.key),GF(T,$);let F={oldValue:W,newValue:X};if(!yT(T)){R7(T,$,F);return}if(T.on.transactionApplying.state===null){let{key:Y}=$;if(f7(F.newValue))return;let G={type:"atom_update",key:Y,...F};if($.family)G.family=$.family;T.transactionMeta.update.updates.push(G),T.logger.info("\uD83D\uDCC1","atom",Y,"stowed (",F.oldValue,"->",F.newValue,")")}else if($.key.startsWith("*")){let Y=$.key.slice(1),G=T.atoms.get(Y),H=T.valueMap.get(Y);if(G.type==="mutable_atom"&&yT(T)){let{parent:z}=T;H=VX(T,G,z)}if(H.do(F.newValue)===null)GF(T,G)}};var y8=(T,$,J)=>{switch($.type){case"atom":case"mutable_atom":B7(T,$,J);break;case"selector":$.set(J);break}};function Z7(T,$){if($.family){let J=T.families.get($.family.key);if(J)return J}}function W$(T,...$){let J,W,X,F;if($.length===2){if(J=$[0],F=$[1],W=Z7(T,J)??null,W)X=J.family?R$(J.family.subKey):null,J=JT(T,W,X)}else W=$[0],X=$[1],F=$[2],J=JT(T,W,X);if("counterfeit"in J&&"family"in J){let H=J.family.subKey,M=T.disposalTraces.buffer.find((z)=>z?.key===H);T.logger.error("\u274C",J.type,J.key,`could not be set because it was not found in the store "${T.config.name}".`,M?`This state was previously disposed:
|
|
4
|
-
${M.trace}`:"No previous disposal trace was found.");return}let
|
|
3
|
+
var rU=Object.create;var{getPrototypeOf:aU,defineProperty:$Y,getOwnPropertyNames:sU}=Object;var eU=Object.prototype.hasOwnProperty;var T_=(T,$,J)=>{J=T!=null?rU(aU(T)):{};let W=$||!T||!T.__esModule?$Y(J,"default",{value:T,enumerable:!0}):J;for(let X of sU(T))if(!eU.call(W,X))$Y(W,X,{get:()=>T[X],enumerable:!0});return W};var $_=(T,$)=>()=>($||T(($={exports:{}}).exports,$),$.exports);var J_=(T,$)=>{for(var J in $)$Y(T,J,{get:$[J],enumerable:!0,configurable:!0,set:(W)=>$[J]=()=>W})};var kL=(T,$)=>()=>(T&&($=T(T=0)),$);var Y7=import.meta.require;var r3=$_((Ep,t3)=>{var L2=Y7("os"),B2=Y7("path");function i3(T){let $=process.env.XDG_CACHE_HOME||B2.join(L2.homedir(),".cache");return B2.join($,T)}function GD(T){return B2.join(L2.homedir(),"Library","Caches",T)}function HD(T){let $=process.env.LOCALAPPDATA||B2.join(L2.homedir(),"AppData","Local");return B2.join($,T,"Cache")}var MD=function(){switch(L2.platform()){case"darwin":return GD;case"win32":return HD;case"aix":case"android":case"freebsd":case"linux":case"netbsd":case"openbsd":case"sunos":return i3;default:return console.error(`(node:${process.pid}) [cachedir] Warning: the platform "${L2.platform()}" is not currently supported by node-cachedir, falling back to "posix". Please file an issue with your platform here: https://github.com/LinusU/node-cachedir/issues/new`),i3}}();t3.exports=function T($){if(typeof $!=="string")throw new TypeError("id is not a string");if($.length===0)throw new Error("id cannot be empty");if(/[^0-9a-zA-Z-]/.test($))throw new Error("id cannot contain special characters");return MD($)}});function N8(T=Math.random){return T().toString(36).slice(2)}class QX extends Promise{fate;resolve;reject;done=!1;constructor(T){let $,J;super((W,X)=>{$=W,J=X});this.resolve=$,this.reject=J,this.use(T instanceof Promise?T:new Promise(T))}pass(T,$){if(T===this.fate)this.resolve($),this.done=!0}fail(T,$){if(T===this.fate)this.reject($),this.done=!0}use(T){if(T instanceof Promise){let $=T;this.fate=$,$.then((J)=>{this.pass($,J)},(J)=>{this.fail($,J)})}else this.resolve(T),this.fate=void 0}}var F7=(T,$,J=DT.STORE)=>{return X1(J,{key:`${T.key}:JSON`,get:({get:W})=>$.toJson(W(T)),set:({set:W},X)=>{W(T,$.fromJson(X))}})};function m(T){while(T.child!==null)T=T.child;return T}class QT{Subscriber;subscribers=new Map;subscribe(T,$){return this.subscribers.set(T,$),()=>{this.unsubscribe(T)}}unsubscribe(T){this.subscribers.delete(T)}next(T){let $=this.subscribers.values();for(let J of $)J(T)}}class JY extends QT{state;constructor(T){super();this.state=T}next(T){this.state=T,super.next(T)}}function Y1(T,$,J){let W={key:$.key,type:"atom_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","atom_family",$.key,`Overwriting an existing ${oJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Y=new QT,G=Object.assign((H)=>{let M=_T(H),A={key:$.key,subKey:M},z=`${$.key}(${M})`,w=m(T),_=$.default,K={key:z,default:_ instanceof Function?_(H):_};if($.effects)K.effects=$.effects(H);let V=XJ(w,K,A);return Y.next({type:"state_creation",token:V}),V},W,{subject:Y,install:(H)=>Y1(H,$),internalRoles:J});return T.families.set($.key,G),T.defaults.set($.key,$.default),W}function G7(T,$){if("mutable"in $)return OX(T,$);return Y1(T,$)}function F1(T,$,J){let W={key:$.key,type:"readonly_selector_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","readonly_selector_family",$.key,`Overwriting an existing ${oJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Y=new QT,G=Object.assign((H)=>{let M=_T(H),A={key:$.key,subKey:M},z=`${$.key}(${M})`,w=m(T),_=UX(w,{key:z,get:$.get(H)},A);return Y.next({type:"state_creation",token:_}),_},W,{internalRoles:J,subject:Y,install:(H)=>F1(H,$),default:(H)=>{return $.get(H)({get:(...A)=>ZT(T,...A),find:(...A)=>JT(T,...A),json:(A)=>A$(T,A)})}});return T.families.set($.key,G),W}function C8(T,$){if("set"in $)return _X(T,$);return F1(T,$)}class Z8{_buffer;_index=0;constructor(T){let $;if(typeof T==="number")$=T;else $=T.length;this._buffer=Array.from({length:$})}get buffer(){return this._buffer}get index(){return this._index}add(T){this._buffer[this._index]=T,this._index=(this._index+1)%this._buffer.length}copy(){let T=new Z8([...this._buffer]);return T._index=this._index,T}}var W_={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function H7(T,$){let J=_T($),W=`${T.key}(${J})`,X=W_[T.type],Y={key:W,type:X};return Object.assign(Y,{family:{key:T.key,subKey:J}}),Object.assign(Y,{counterfeit:!0}),Y}function n$(T){let $={key:T.key,type:T.type};if("family"in T)$.family=T.family;return $}function e0(T){return M7(DT.STORE,T)}function H0(T){return G7(DT.STORE,T)}function WY(...T){if(T.length===2)return ZT(DT.STORE,...T);return ZT(DT.STORE,...T)}function q8(T,$,J=DT.STORE){return J.joins.set(T.key,new KX(T,$,J)),{key:T.key,type:"join",a:T.between[0],b:T.between[1],cardinality:T.cardinality}}function z7(T){return w7(T,DT.STORE)}var XY=(T)=>($,J,W,X,...Y)=>{console[T](`${$} ${J} "${W}" ${X}`,...Y)},X_={error:XY("error"),info:XY("info"),warn:XY("warn")};class YY{logLevel;filter;logger;constructor(T,$,J=X_){this.logLevel=T,this.filter=$,this.logger=J}error=(...T)=>{if((this.filter?.(...T)??!0)&&this.logLevel!==null)this.logger.error(...T)};info=(...T)=>{if((this.filter?.(...T)??!0)&&this.logLevel==="info")this.logger.info(...T)};warn=(...T)=>{if((this.filter?.(...T)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...T)}}var OB=Symbol("claim");class Q7{store;constructor(T=DT.STORE){this.store=T,O7("root",T)}allocate(T,$,J){return M0(this.store,T,$,J)}fuse(T,$,J){return U7(this.store,T,$,J)}deallocate(T){A0(this.store,T)}claim(T,$,J){return TW(this.store,T,$,J)}}class FY{store;realm;constructor(T=DT.STORE){this.store=T,this.realm=new Q7(T)}allocate(T,$,J){M0(this.store,T,$,J)}deallocate(T){A0(this.store,T)}claim(T,$,J){TW(this.store,T,$,J)}}function y8(T){return C8(DT.STORE,T)}function N$(T){return"epoch"in T.transactionMeta}function yT(T){return"phase"in T.transactionMeta}var _7=(T)=>{let $=m(T);if(!yT($)){T.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}T.logger.info("\uD83E\uDE82","transaction",$.transactionMeta.update.key,"Aborting transaction"),$.parent.child=null};function IT(T){return T[0].toUpperCase()+T.slice(1)}function oJ(T){return T.type.split("_").map(IT).join(" ")}class z0 extends Error{constructor(T,$){super(`${oJ(T)} ${_T(T.key)} not found in store "${$.config.name}".`)}}function $W(T,$,J){return(...W)=>{let X=fT(T,$);if(X)return X.run(W,J);throw new z0($,T)}}var I8=(T)=>($)=>T instanceof Function?T($):T;var b1=(T,$)=>{if(T.valueMap.has($.key))return T.logger.info("\uD83D\uDCD6",$.type,$.key,"reading cached value"),K7($,T);switch($.type){case"selector":case"readonly_selector":return T.logger.info("\uD83E\uDDEE",$.type,$.key,"computing value"),$.get();case"atom":case"mutable_atom":{let J=$.default,W;if(J instanceof Function)W=J();else W=J;return T.logger.info("\uD83D\uDC81","atom",$.key,"could not find cached value; using default",W),W}}};var D7=(T,$)=>{if(T.operation.open){let J=performance.now();return T.logger.info("\u2757",$.type,$.key,`deferring setState at T-${J} until setState for "${T.operation.token.key}" is done`),J}T.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:$},T.logger.info("\u2B55",$.type,$.key,`operation start in store "${T.config.name}"${!yT(T)?"":` ${T.transactionMeta.phase} "${T.transactionMeta.update.key}"`}`)},V7=(T)=>{if(T.operation.open)T.logger.info("\uD83D\uDD34",T.operation.token.type,T.operation.token.key,`operation done in store "${T.config.name}"`);T.operation={open:!1},T.on.operationClose.next(T.operation)},S7=(T,$)=>{if(!T.operation.open)return T.logger.error("\uD83D\uDC1E","unknown",$,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return T.operation.done.has($)},JW=(T,$)=>{if(!T.operation.open){T.logger.error("\uD83D\uDC1E","unknown",$,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}T.operation.done.add($)};var R7=(T,$,J)=>{switch($.type){case"mutable_atom":T.logger.info("\uD83D\uDCE2",$.type,$.key,"is now (",J.newValue,") subscribers:",$.subject.subscribers);break;case"atom":case"selector":case"readonly_selector":T.logger.info("\uD83D\uDCE2",$.type,$.key,"went (",J.oldValue,"->",J.newValue,") subscribers:",$.subject.subscribers)}$.subject.next(J)};var GY=(T,$)=>{let J=m(T),W=J.selectorAtoms.getRelatedKeys($.key);if(J.logger.info("\uD83E\uDDF9",$.type,$.key,W?`evicting ${W.size} states downstream:`:"no downstream states",W??"to evict"),W){if(J.operation.open)J.logger.info("\uD83E\uDDF9",$.type,$.key,`[ ${[...J.operation.done].join(", ")} ] already done`);for(let X of W){if(S7(J,X))continue;E7(X,J),JW(J,X)}}};var L7=(T,$,J)=>{let W=b1(T,$),X=W;if($.type==="mutable_atom"&&yT(T)){let{parent:F}=T;X=VX(T,$,F)}if(X=I8(J)(X),T.logger.info("\uD83D\uDCDD","atom",$.key,"set to",X),X=OJ(T,$.key,X,$.subject),f7(T,$.key))N7(T,$.key);JW(T,$.key),GY(T,$);let Y={oldValue:W,newValue:X};if(!yT(T)){R7(T,$,Y);return}if(T.on.transactionApplying.state===null){let{key:F}=$;if(B7(Y.newValue))return;let G={type:"atom_update",key:F,...Y};if($.family)G.family=$.family;T.transactionMeta.update.updates.push(G),T.logger.info("\uD83D\uDCC1","atom",F,"stowed (",Y.oldValue,"->",Y.newValue,")")}else if($.key.startsWith("*")){let F=$.key.slice(1),G=T.atoms.get(F),H=T.valueMap.get(F);if(G.type==="mutable_atom"&&yT(T)){let{parent:A}=T;H=VX(T,G,A)}if(H.do(Y.newValue)===null)GY(T,G)}};var j8=(T,$,J)=>{switch($.type){case"atom":case"mutable_atom":L7(T,$,J);break;case"selector":$.set(J);break}};function C7(T,$){if($.family){let J=T.families.get($.family.key);if(J)return J}}function W$(T,...$){let J,W,X,Y;if($.length===2){if(J=$[0],Y=$[1],W=C7(T,J)??null,W)X=J.family?E$(J.family.subKey):null,J=JT(T,W,X)}else W=$[0],X=$[1],Y=$[2],J=JT(T,W,X);if("counterfeit"in J&&"family"in J){let H=J.family.subKey,M=T.disposalTraces.buffer.find((A)=>A?.key===H);T.logger.error("\u274C",J.type,J.key,`could not be set because it was not found in the store "${T.config.name}".`,M?`This state was previously disposed:
|
|
4
|
+
${M.trace}`:"No previous disposal trace was found.");return}let F=D7(T,J);if(F){let H=T.on.operationClose.subscribe(`waiting to set "${J.key}" at T-${F}`,()=>{H(),T.logger.info("\uD83D\uDFE2",J.type,J.key,`resuming deferred setState from T-${F}`),W$(T,J,Y)});return}let G=fT(T,J);j8(T,G,Y),V7(T)}function x8(T,$,J){let{key:W,newValue:X,oldValue:Y}=$,F=T==="newValue"?X:Y,G={key:W,type:"atom"};if($.family)Object.assign(G,{family:$.family});W$(J,G,F)}function Z7(T){let{stack:$}=T;if($)return`
|
|
5
5
|
`+$.split(`
|
|
6
6
|
`)?.slice(1)?.join(`
|
|
7
|
-
`);return""}function
|
|
8
|
-
${
|
|
9
|
-
${
|
|
7
|
+
`);return""}function O7(T,$=DT.STORE){let J={key:T,stringKey:_T(T),dependsOn:"any"};return $.molecules.set(_T(T),J),T}function M0(T,$,J,W="any"){let X=$,Y=_T(J),F=[],G=m(T);if(Array.isArray(X))for(let A of X){let z=_T(A);if(G.molecules.get(z))T.moleculeGraph.set(z,Y,{source:z});else F.push(z)}else{let A=_T(X);if(G.molecules.get(A))T.moleculeGraph.set(A,Y,{source:A});else F.push(A)}if(F.length===0)G.molecules.set(Y,{key:J,stringKey:Y,dependsOn:W});let H={type:"molecule_creation",key:J,provenance:X};if(yT(G)&&G.transactionMeta.phase==="building")G.transactionMeta.update.updates.push(H);else G.on.moleculeCreation.next(H);for(let A of F){let z=T.disposalTraces.buffer.find((w)=>w?.key===A);T.logger.error("\u274C","molecule",J,"allocation failed:",`Could not allocate to ${A} in store "${T.config.name}".`,z?`
|
|
8
|
+
${A} was most recently disposed
|
|
9
|
+
${z.trace}`:`No previous disposal trace for ${A} was found.`)}return J}function U7(T,$,J,W){let X=`T$--${$}==${J}++${W}`;return M0(T,[J,W],X,"all"),X}function A0(T,$){let J=_T($),W=T.molecules.get(J);if(!W){let _=T.disposalTraces.buffer.find((K)=>K?.key===J);T.logger.error("\u274C","molecule",$,"deallocation failed:",`Could not find allocation for ${J} in store "${T.config.name}".`,_?`
|
|
10
10
|
This state was most recently deallocated
|
|
11
|
-
${_.trace}`:`No previous disposal trace for ${J} was found.`);return}let X=T.moleculeJoins.getRelatedKeys(W.key);if(X)for(let _ of X){let
|
|
11
|
+
${_.trace}`:`No previous disposal trace for ${J} was found.`);return}let X=T.moleculeJoins.getRelatedKeys(W.key);if(X)for(let _ of X){let K=T.joins.get(_);if(K)K.relations.delete(W.key),K.molecules.delete(W.stringKey)}T.moleculeJoins.delete(W.stringKey);let Y=[],F=[],G={type:"molecule_disposal",key:W.key,values:F,provenance:Y},H=m(T);H.molecules.delete(J);let M=yT(H)&&H.transactionMeta.phase==="building";if(M)H.transactionMeta.update.updates.push(G);let A=T.moleculeGraph.getRelationEntries({downstreamMoleculeKey:W.stringKey});if(A)for(let[_,{source:K}]of A)if(K===W.stringKey){let V=E$(_);A0(T,V)}else Y.push(K);let z=H.moleculeData.getRelatedKeys(W.stringKey);if(z)for(let _ of z){let K=H.families.get(_),V=JT(T,K,W.key);F.push([K.key,V]),w0(T,V)}if(H.moleculeGraph.delete(W.stringKey),H.moleculeJoins.delete(W.stringKey),H.moleculeData.delete(W.stringKey),!M)H.on.moleculeDisposal.next(G);H.molecules.delete(W.stringKey);let w=Z7(new Error);T.disposalTraces.add({key:J,trace:w})}function TW(T,$,J,W){let X=_T(J),Y=m(T),F=Y.molecules.get(X);if(!F){let w=T.disposalTraces.buffer.find((_)=>_?.key===X);return T.logger.error("\u274C","molecule",J,"claim failed:",`Could not allocate to ${X} in store "${T.config.name}".`,w?`
|
|
12
12
|
${X} was most recently disposed
|
|
13
|
-
${w.trace}`:`No previous disposal trace for ${X} was found.`),J}let G=_T($),H=
|
|
13
|
+
${w.trace}`:`No previous disposal trace for ${X} was found.`),J}let G=_T($),H=Y.molecules.get(G);if(!H){let w=T.disposalTraces.buffer.find((_)=>_?.key===G);return T.logger.error("\u274C","molecule",J,"claim failed:",`Could not allocate to ${G} in store "${T.config.name}".`,w?`
|
|
14
14
|
${G} was most recently disposed
|
|
15
|
-
${w.trace}`:`No previous disposal trace for ${G} was found.`),J}let M=T.moleculeGraph.getRelationEntries({downstreamMoleculeKey:
|
|
16
|
-
${Y.trace}`:"No previous disposal trace was found."),W.type){case"atom_family":case"mutable_atom_family":return T.defaults.get(W.key);case"selector_family":case"readonly_selector_family":{if(T.defaults.has(W.key))return T.defaults.get(J.family.key);let G=fT(T,W).default(F);return T.defaults.set(W.key,G),G}}}return b1(T,fT(T,J))}class w${a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(T,$)=>`${T}:${$}`;warn;getRelatedKeys(T){return this.relations.get(T)}addRelation(T,$){let J=this.relations.get(T),W=this.relations.get($);if(J)J.add($);else J=new Set([$]),this.relations.set(T,J);if(W)W.add(T);else W=new Set([T]),this.relations.set($,W)}deleteRelation(T,$){let J=this.relations.get(T);if(J){if(J.delete($),J.size===0)this.relations.delete(T);let W=this.relations.get($);if(W){if(W.delete(T),W.size===0)this.relations.delete($)}}}replaceRelationsUnsafely(T,$){this.relations.set(T,new Set($));for(let J of $){let W=new Set().add(T);this.relations.set(J,W)}}replaceRelationsSafely(T,$){let J=this.relations.get(T),W=this.isAType?.(T)?T:void 0,X=W===void 0?T:void 0;if(J)for(let F of J){W??=F,X??=F;let Y=this.relations.get(F);if(Y){if(Y.size===1)this.relations.delete(F);else Y.delete(T);this.contents.delete(this.makeContentKey(W,X))}}this.relations.set(T,new Set($));for(let F of $){let Y=this.relations.get(F);if(Y)Y.add(T);else Y=new Set().add(T),this.relations.set(F,Y)}}getContentInternal(T){return this.contents.get(T)}setContent(T,$){this.contents.set(T,$)}deleteContent(T){this.contents.delete(T)}constructor(T,$){if(this.a=T.between[0],this.b=T.between[1],this.cardinality=T.cardinality,!$?.externalStore)this.relations=new Map(T.relations?.map(([J,W])=>[J,new Set(W)])),this.contents=new Map(T.contents);if(this.isAType=$?.isAType??null,this.isBType=$?.isBType??null,this.isContent=$?.isContent??null,$?.makeContentKey)this.makeContentKey=$.makeContentKey;if($?.externalStore){let J=$.externalStore;if(this.has=(W,X)=>J.has(W,X),this.addRelation=(W,X)=>{J.addRelation(W,X)},this.deleteRelation=(W,X)=>{J.deleteRelation(W,X)},this.replaceRelationsSafely=(W,X)=>{J.replaceRelationsSafely(W,X)},this.replaceRelationsUnsafely=(W,X)=>{J.replaceRelationsUnsafely(W,X)},this.getRelatedKeys=(W)=>J.getRelatedKeys(W),J.getContent)this.getContentInternal=(W)=>{return J.getContent(W)},this.setContent=(W,X)=>{J.setContent(W,X)},this.deleteContent=(W)=>{J.deleteContent(W)};for(let[W,X]of T.relations??[]){let F=this.isAType?.(W)?W:void 0,Y=F===void 0?W:void 0;for(let G of X)F??=G,Y??=G,this.addRelation(F,Y)}for(let[W,X]of T.contents??[])this.setContent(W,X)}if($?.warn)this.warn=$.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([T,$])=>[T,[...$]]),contents:[...this.contents.entries()]}}set(...T){let $,J,W;switch(T.length){case 1:{let X=T[0];$=X[this.a],J=X[this.b],W=void 0;break}case 2:{let X=T[0];if(typeof X==="string")[$,J]=T;else $=X[this.a],J=X[this.b],W=T[1];break}default:{$=T[0],J=T[1],W=T[2];break}}switch(this.cardinality){case"1:1":{let X=this.getRelatedKey($);if(X&&X!==J)this.delete($,X)}case"1:n":{let X=this.getRelatedKey(J);if(X&&X!==$)this.delete(X,J)}break;case"n:n":}if(W){let X=this.makeContentKey($,J);this.setContent(X,W)}return this.addRelation($,J),this}delete(T,$){$=typeof $==="string"?$:T[this.b];let J=typeof T==="string"?T:T[this.a];if(J===void 0&&typeof $==="string"){let W=this.getRelatedKeys($);if(W)for(let X of W)this.delete(X,$)}if(typeof J==="string"&&$===void 0){let W=this.getRelatedKeys(J);if(W)for(let X of W)this.delete(J,X)}if(typeof J==="string"&&typeof $==="string"){this.deleteRelation(J,$);let W=this.makeContentKey(J,$);this.deleteContent(W)}return this}getRelatedKey(T){let $=this.getRelatedKeys(T);if($){if($.size>1)this.warn?.(`${$.size} related keys were found for key "${T}": (${[...$].map((W)=>`"${W}"`).join(", ")}). Only one related key was expected.`);let J;for(let W of $){J=W;break}return J}}replaceRelations(T,$,J){let W=!Array.isArray($),X=W?Object.keys($):$;if(J?.reckless)this.replaceRelationsUnsafely(T,X);else this.replaceRelationsSafely(T,X);if(W)for(let F of X){let Y=this.makeContentKey(T,F),G=$[F];this.setContent(Y,G)}return this}getContent(T,$){let J=this.makeContentKey(T,$);return this.getContentInternal(J)}getRelationEntries(T){let $=T[this.a],J=T[this.b];if($!==void 0&&J===void 0){let W=this.getRelatedKeys($);if(W)return[...W].map((X)=>{return[X,this.getContent($,X)]})}if($===void 0&&J!==void 0){let W=this.getRelatedKeys(J);if(W)return[...W].map((X)=>{return[X,this.getContent(X,J)]})}return[]}has(T,$){if($)return this.getRelatedKeys(T)?.has($)??!1;return this.relations.has(T)}}class _J extends Map{deleted=new Set;source;constructor(T){super();this.source=T}get(T){if(super.has(T))return super.get(T);if(!this.deleted.has(T)&&this.source.has(T))return this.source.get(T);return}set(T,$){return this.deleted.delete(T),super.set(T,$)}hasOwn(T){return super.has(T)}has(T){return!this.deleted.has(T)&&(super.has(T)||this.source.has(T))}delete(T){return this.deleted.add(T),super.delete(T)}}var g7=(T,$,J,W)=>{let X=g(T),F={parent:X,child:null,on:X.on,loggers:X.loggers,logger:X.logger,config:X.config,atoms:new _J(X.atoms),atomsThatAreDefault:new Set(X.atomsThatAreDefault),families:new _J(X.families),joins:new _J(X.joins),operation:{open:!1},readonlySelectors:new _J(X.readonlySelectors),timelines:new _J(X.timelines),timelineTopics:new w$(X.timelineTopics.toJSON()),trackers:new Map,transactions:new _J(X.transactions),selectorAtoms:new w$(X.selectorAtoms.toJSON()),selectorGraph:new w$(X.selectorGraph.toJSON(),{makeContentKey:(...M)=>M.sort().join(":")}),selectors:new _J(X.selectors),valueMap:new _J(X.valueMap),defaults:X.defaults,disposalTraces:T.disposalTraces.copy(),molecules:new _J(X.molecules),moleculeGraph:new w$(X.moleculeGraph.toJSON(),{makeContentKey:X.moleculeGraph.makeContentKey}),moleculeData:new w$(X.moleculeData.toJSON(),{makeContentKey:X.moleculeData.makeContentKey}),moleculeJoins:new w$(X.moleculeJoins.toJSON(),{makeContentKey:X.moleculeJoins.makeContentKey}),miscResources:new _J(X.miscResources)},Y=x7(T,$),G={phase:"building",update:{type:"transaction_update",key:$,id:W,epoch:Y===void 0?Number.NaN:Y+1,updates:[],params:J,output:void 0},toolkit:{get:(...M)=>ZT(H,...M),set:(...M)=>{W$(H,...M)},run:(M,z=B8())=>$W(H,M,z),find:(...M)=>JT(T,...M),json:(M)=>A$(H,M),dispose:(...M)=>{w0(H,...M)},env:()=>m7(H)}},H=Object.assign(F,{transactionMeta:G});return X.child=H,T.logger.info("\uD83D\uDEEB","transaction",$,"Building transaction with params:",J),H};function AF(T,$){let J={key:$.key,type:"transaction",run:(F,Y)=>{let G=g7(T,$.key,F,Y);try{let H=g(T),{toolkit:M}=G.transactionMeta,z=$.do(M,...F);return v7(z,H),z}catch(H){throw D7(W),T.logger.warn("\uD83D\uDCA5","transaction",$.key,"caught:",H),H}},install:(F)=>AF(F,$),subject:new QT},W=g(T);W.transactions.set(J.key,J);let X=n$(J);return T.on.transactionCreation.next(X),X}function EX(T){return AF(KT.STORE,T)}class p7{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new w$({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new w$({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new w$({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new w$({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new N8(100);molecules=new Map;moleculeJoins=new w$({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeGraph=new w$({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeData=new w$({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});miscResources=new Map;on={atomCreation:new QT,atomDisposal:new QT,selectorCreation:new QT,selectorDisposal:new QT,timelineCreation:new QT,transactionCreation:new QT,transactionApplying:new JF(null),operationClose:new QT,moleculeCreation:new QT,moleculeDisposal:new QT};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new FF("warn",(T,$,J)=>!v1(J))];logger={error:(...T)=>{for(let $ of this.loggers)$.error(...T)},info:(...T)=>{for(let $ of this.loggers)$.info(...T)},warn:(...T)=>{for(let $ of this.loggers)$.warn(...T)}};constructor(T,$=null){if(this.config={...$?.config,...T},$!==null){if(this.valueMap=new Map($?.valueMap),this.operation={...$?.operation},N$($))this.transactionMeta={epoch:new Map($?.transactionMeta.epoch),actionContinuities:new w$($?.transactionMeta.actionContinuities.toJSON())};for(let[,W]of $.families){if(W.internalRoles?.includes("mutable")||W.internalRoles?.includes("join"))continue;W.install(this)}let J=new Set;for(let[,W]of $.atoms){if(J.has(W.key))continue;if(W.install(this),W.type==="mutable_atom"){let X=A$($,W),F=Y1(W);J.add(X.key),J.add(F.key)}}for(let[,W]of $.readonlySelectors)W.install(this);for(let[,W]of $.selectors){if(J.has(W.key))continue;W.install(this)}for(let[,W]of $.transactions)W.install(this);for(let[,W]of $.timelines)W.install(this)}}}var KT={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new p7({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function fT(T,$){let J,W=T;while(W!==null){switch($.type){case"atom":case"mutable_atom":J=W.atoms.get($.key);break;case"selector":J=W.selectors.get($.key);break;case"readonly_selector":J=W.readonlySelectors.get($.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":J=W.families.get($.key);break;case"timeline":J=W.timelines.get($.key);break;case"transaction":J=W.transactions.get($.key);break}if(J)return J;W=W.child}throw new A0($,T)}function u7(T,$,J){let W=T.families.get($.key);if(W===void 0)throw new A0($,T);let X=W(J),F=g(T);if(X.family){if(N$(F))switch(X.type){case"atom":case"mutable_atom":T.on.atomCreation.next(X);break;case"selector":case"readonly_selector":T.on.selectorCreation.next(X);break}else if(yT(F)&&F.on.transactionApplying.state===null)F.transactionMeta.update.updates.push({type:"state_creation",token:X})}return X}function c7(T,$,J){let W=_T(J),X=`${$.key}(${W})`,F=g(T),Y;switch($.type){case"atom_family":case"mutable_atom_family":Y=F.atoms.get(X);break;case"selector_family":Y=F.selectors.get(X);break;case"readonly_selector_family":Y=F.readonlySelectors.get(X);break}if(Y)return n$(Y);return Y}function JT(T,$,J){let W=c7(T,$,J);if(W)return W;let X=_T(J),F=T.molecules.get(X);if(!F&&T.config.lifespan==="immortal"){let Y=M7($,J);return T.logger.error("\u274C",Y.type,Y.key,`was not found in store "${T.config.name}"; returned a counterfeit token.`),Y}if(W=u7(T,$,J),F)g(T).moleculeData.set(X,$.key);return W}function w0(T,...$){let J;if($.length===1)J=$[0];else{let W=$[0],X=$[1];J=JT(T,W,X)}try{fT(T,J)}catch(W){T.logger.error("\u274C",J.type,J.key,`could not be disposed because it was not found in the store "${T.config.name}".`);return}switch(J.type){case"atom":case"mutable_atom":wF(T,J);break;case"selector":case"readonly_selector":o7(T,J);break}}var x8=(T,$)=>g(T).atoms.has($),Y_=(T,$)=>g(T).selectors.has($),G_=(T,$)=>g(T).readonlySelectors.has($),d7=(T,$)=>x8(T,$)||Y_(T,$)||G_(T,$);var P8=(T,$)=>{return g($).selectorGraph.getRelationEntries({downstreamSelectorKey:T}).filter(([W,{source:X}])=>X!==T).map(([W,{source:X}])=>X).filter((W)=>d7($,W))};var QF=(T,$,J)=>{let W=[],X=P8(T,J);while(X.length>0){let F=X.shift();if($.has(F))continue;if($.add(F),!x8(J,F))X.push(...P8(F,J));else if(!W.includes(F))W.push(F)}return W},l7=(T,$)=>{let J=T.key,W=P8(J,$),X=new Set;return W.flatMap((F)=>x8($,F)?F:QF(F,X,$))};var n7=(T,$,J,W)=>{let X=g(W);if($.type==="atom"||$.type==="mutable_atom")X.selectorAtoms.set({selectorKey:T,atomKey:$.key}),W.logger.info("\uD83D\uDD0D","selector",T,`discovers root atom "${$.key}"`);else{let F=QF($.key,J,W);W.logger.info("\uD83D\uDD0D","selector",T,`discovers root atoms: [ ${F.map((Y)=>`"${Y}"`).join(", ")} ]`);for(let Y of F)X.selectorAtoms=X.selectorAtoms.set({selectorKey:T,atomKey:Y})}J.add($.key)};var b8=(T,$,J)=>({get:(...W)=>{let X=g(J),F;if(W.length===2){let[H,M]=W;F=JT(J,H,M)}else[F]=W;let Y=fT(J,F),G=b1(J,Y);return J.logger.info("\uD83D\uDD0C","selector",T,`registers dependency ( "${F.key}" =`,G,")"),X.selectorGraph.set({upstreamSelectorKey:F.key,downstreamSelectorKey:T},{source:F.key}),n7(T,F,$,J),G},set:(...W)=>{let X,F;if(W.length===2)X=W[0],F=W[1];else{let H=W[0],M=W[1];F=W[2],X=JT(J,H,M)}let Y=g(J),G=fT(Y,X);y8(Y,G,F)},find:(...W)=>JT(J,...W),json:(W)=>A$(J,W)});var _X=(T,$,J)=>{let W=g(T),X=new QT,F=new Set,{get:Y,find:G,json:H}=b8($.key,F,W),M=()=>{let _=$.get({get:Y,find:G,json:H});return UJ(g(T),$.key,_,X),F.clear(),_},z={...$,subject:X,install:(_)=>_X(_,$,J),get:M,type:"readonly_selector",...J&&{family:J}};W.readonlySelectors.set($.key,z);let A=M();T.logger.info("\u2728",z.type,z.key,"=",A);let w={key:$.key,type:"readonly_selector"};if(J)w.family=J;return w};var RX=(T,$,J)=>{let W=g(T),X=new QT,F=new Set,Y=b8($.key,F,W),{find:G,get:H,json:M}=Y,z={find:G,get:H,json:M},A=(Z=$.get,q=g(T))=>{let N=Z(z);return UJ(q,$.key,N,X),F.clear(),N},_={...$,subject:X,install:(Z)=>RX(Z,$,J),get:A,set:(Z)=>{let q=g(T),N=A($.get,q),y=k8(Z)(N);if(T.logger.info("\uD83D\uDCDD","selector",$.key,"set (",N,"->",y,")"),UJ(q,$.key,y,X),JW(q,$.key),N$(q))X.next({newValue:y,oldValue:N});$.set(Y,y)},type:"selector",...J&&{family:J}};W.selectors.set($.key,_);let D=A();T.logger.info("\u2728",_.type,_.key,"=",D);let S={key:$.key,type:"selector"};if(J)S.family=J;return S};function W1(T,$){if("set"in $){let X=RX(T,$,void 0);return T.on.selectorCreation.next(X),X}let W=_X(T,$,void 0);return T.on.selectorCreation.next(W),W}function o7(T,$){let J=g(T),{key:W}=$,X=fT(J,$);if(!X.family)T.logger.error("\u274C","selector",W,"Standalone selectors cannot be disposed.");else{if(J.molecules.get(X.family.subKey))J.moleculeData.delete(X.family.subKey,X.family.key);let Y;switch($.type){case"selector":J.selectors.delete(W),Y={key:X.family.key,type:"selector_family"},fT(T,Y).subject.next({type:"state_disposal",subType:"selector",token:$});break;case"readonly_selector":J.readonlySelectors.delete(W),Y={key:X.family.key,type:"readonly_selector_family"},fT(T,Y).subject.next({type:"state_disposal",subType:"selector",token:$});break}if(J.valueMap.delete(W),J.selectorAtoms.delete(W),J.selectorGraph.delete(W),T.logger.info("\uD83D\uDD25",$.type,W,"deleted"),yT(J)&&J.transactionMeta.phase==="building")J.transactionMeta.update.updates.push({type:"state_disposal",subType:"selector",token:$});else T.on.selectorDisposal.next($)}}function DX(T,$,J){let W={key:$.key,type:"selector_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","selector_family",$.key,`Overwriting an existing ${cJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let F=new QT,G=Object.assign((H)=>{let M=_T(H),z={key:$.key,subKey:M},A=`${$.key}(${M})`,w=g(T),_=RX(w,{key:A,get:$.get(H),set:$.set(H)},z);return F.next({type:"state_creation",token:_}),_},W,{internalRoles:J,subject:F,install:(H)=>DX(H,$),default:(H)=>{return $.get(H)({get:(...z)=>ZT(T,...z),find:(...z)=>JT(T,...z),json:(z)=>A$(T,z)})}});return T.families.set($.key,G),W}function i7(T,$,J){return DX(T,{key:`${$.key}:JSON`,get:(X)=>({get:F})=>{let Y=F($,X);return J.toJson(Y)},set:(X)=>({set:F},Y)=>{F($,X,J.fromJson(Y))}},["mutable","json"])}var R$=(T)=>JSON.parse(T),_T=(T)=>JSON.stringify(T),fZ=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var t7=(T,$)=>{let J=g(T);if(J.operation.open)return J.operation.prev.get($.key);return J.valueMap.get($.key)};var _F=(T,$)=>{let J=g(T);return l7($,T).map((X)=>{let F=J.atoms.get(X);if(F===void 0)throw new Error(`Atom "${X}", a dependency of selector "${$.key}", not found in store "${T.config.name}".`);return F.subject.subscribe(`${$.type}:${$.key}`,(Y)=>{T.logger.info("\uD83D\uDCE2",$.type,$.key,"root",X,"went",Y.oldValue,"->",Y.newValue);let G=t7(J,$),H=b1(J,$);T.logger.info("\u2728",$.type,$.key,"went",G,"->",H),$.subject.next({newValue:H,oldValue:G})})})};function j$(T,$,J,W){function X(A){if(T.operation.open){let w=T.on.operationClose.subscribe(`state subscription ${J}`,()=>{w(),W(A)})}else W(A)}let F=fT(T,$);T.logger.info("\uD83D\uDC40",F.type,F.key,`Adding subscription "${J}"`);let Y=F.type==="selector"||F.type==="readonly_selector",G=null,H=X;if(Y)G=_F(T,F),H=(A)=>{if(G)G.length=0,G.push(..._F(T,F));X(A)};let M=F.subject.subscribe(J,H);return()=>{if(T.logger.info("\uD83D\uDE48",F.type,F.key,`Removing subscription "${J}"`),M(),G)for(let A of G)A()}}var OF=(T,$,J,W)=>{let X=fT(T,$);T.logger.info("\uD83D\uDC40","timeline",$.key,`Adding subscription "${J}"`);let F=X.subject.subscribe(J,W);return()=>{T.logger.info("\uD83D\uDE48","timeline",$.key,`Removing subscription "${J}" from timeline`),F()}};var UF=(T,$,J,W)=>{let X=fT(T,$);T.logger.info("\uD83D\uDC40","transaction",$.key,`Adding subscription "${J}"`);let F=X.subject.subscribe(J,W);return()=>{T.logger.info("\uD83D\uDE48","transaction",$.key,`Removing subscription "${J}"`),F()}};class Q0{Update;initializeState(T,$){let J=`*${T.key}`;$.atoms.delete(J),$.valueMap.delete(J);let W=T.family?{key:`*${T.family.key}`,subKey:T.family.subKey}:void 0,X=XJ($,{key:J,default:null},W);if($.parent?.valueMap.has(J)){let F=$.parent.valueMap.get(J);$.valueMap.set(J,F)}return X}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(T,$,J){let W=`tracker:${J.config.name}:${yT(J)?J.transactionMeta.update.key:"main"}:${T.key}`,X=ZT(J,T);this.unsubscribeFromInnerValue=X.subscribe(W,(F)=>{W$(J,$,F)}),this.unsubscribeFromState=j$(J,T,W,(F)=>{if(F.newValue!==F.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=F.newValue.subscribe(W,(Y)=>{W$(J,$,Y)})})}updateCore(T,$,J){let W=`tracker:${J.config.name}:${yT(J)?J.transactionMeta.update.key:"main"}:${T.key}`;j$(J,$,W,({newValue:X,oldValue:F})=>{let Y=J.timelineTopics.getRelatedKey($.key);if(Y){if(J.timelines.get(Y)?.timeTraveling){let M=OF(J,{key:Y,type:"timeline"},W,(z)=>{M(),W$(J,T,(A)=>{if(z==="redo"&&X)A.do(X);else if(z==="undo"&&F)A.undo(F);return A})});return}}let G=J.on.operationClose.subscribe(W,()=>{G();let H=ZT(J,T),M=X===null?-1:H.getUpdateNumber(X),z=M-H.cacheUpdateNumber;if(X&&z===1)W$(J,T,(A)=>(A.do(X),A));else J.logger.info("\u274C","mutable_atom",T.key,`could not be updated. Expected update number ${H.cacheUpdateNumber+1}, but got ${M}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(T,$){this.mutableState=T;let J=g($);this.latestUpdateState=this.initializeState(T,J),this.observeCore(T,this.latestUpdateState,J),this.updateCore(T,this.latestUpdateState,J),J.trackers.set(T.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),J.trackers.delete(T.key)}}}function LX(T,$,J){T.logger.info("\uD83D\uDD28","atom",$.key,`creating in store "${T.config.name}"`);let W=g(T),X=W.atoms.get($.key);if(X&&X.type==="mutable_atom")return T.logger.error("\u274C","atom",$.key,"Tried to create atom, but it already exists in the store."),n$(X);let F=new QT,Y={...$,type:"mutable_atom",install:(M)=>{return M.logger.info("\uD83D\uDEE0\uFE0F","atom",$.key,`installing in store "${M.config.name}"`),LX(M,$,J)},subject:F};if(J)Y.family=J;let G=$.default();W.atoms.set(Y.key,Y),v8(T,$.key),UJ(W,$.key,G,F);let H=n$(Y);if($.effects){let M=0,z=[];for(let A of $.effects){let w=A({setSelf:(_)=>{W$(T,H,_)},onSet:(_)=>j$(T,H,`effect[${M}]`,_)});if(w)z.push(w);++M}Y.cleanup=()=>{for(let A of z)A()}}if(new Q0(H,T),!J)G7(H,$,T);return H}class DF{trackers=new Map;Update;latestUpdateAtoms;mutableAtoms;constructor(T,$){let J=X1($,{key:`*${T.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=fT($,J),this.mutableAtoms=T,this.mutableAtoms.subject.subscribe(`store=${$.config.name}::tracker-atom-family`,(W)=>{let{type:X,token:F}=W;if(F.family){let Y=R$(F.family.subKey);switch(X){case"state_creation":this.trackers.set(Y,new Q0(F,$));break;case"state_disposal":{let G=this.trackers.get(Y);if(G)G[Symbol.dispose](),this.trackers.delete(Y)}break}}})}}function UX(T,$,J){let W={key:$.key,type:"mutable_atom_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","mutable_atom_family",$.key,`Overwriting an existing ${cJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let F=new QT,G=Object.assign((H)=>{let M=_T(H),z={key:$.key,subKey:M},A=`${$.key}(${M})`,w=g(T),_={key:A,default:()=>$.default(H),toJson:$.toJson,fromJson:$.fromJson,mutable:!0};if($.effects)_.effects=$.effects(H);let D=LX(w,_,z);return F.next({type:"state_creation",token:D}),D},W,{subject:F,install:(H)=>UX(H,$),toJson:$.toJson,fromJson:$.fromJson,internalRoles:J});return T.families.set($.key,G),i7(T,G,$),new DF(G,T),W}var KF=(T,$)=>{let J=g($),W=`${T.key}:JSON`;return J.families.get(W)};var A$=(T,$)=>{if($.family){let W=g(T),F={key:`${$.family.key}:JSON`,type:"selector_family"},Y=fT(W,F),G=JSON.parse($.family.subKey);return JT(T,Y,G)}return{type:"selector",key:`${$.key}:JSON`}};var Y1=(T)=>{let J={type:"atom",key:`*${T.key}`};if(T.family)J.family={key:`*${T.family.key}`,subKey:T.family.subKey};return J};function f7(T){return typeof T==="object"&&T!==null&&"do"in T&&"undo"in T&&"subscribe"in T}function VX(T,$,J){let W=J.valueMap.get($.key),X=T.valueMap.get($.key);if(W!==X)return X;if(W===void 0)return $.default();J.logger.info("\uD83D\uDCC3","atom",$.key,"copying");let F=$.toJson(W),Y=$.fromJson(F);return T.valueMap.set($.key,Y),new Q0($,J),Y}function UJ(T,$,J,W){let X=T.valueMap.get($);if(X instanceof OX)X.use(J);if(J instanceof Promise){let F=new OX(J);return T.valueMap.set($,F),F.then((Y)=>{UJ(T,$,Y,W),W.next({newValue:Y,oldValue:F})}).catch((Y)=>{T.logger.error("\uD83D\uDCA5","state",$,"rejected:",Y)}),F}return T.valueMap.set($,J),J}var K7=(T,$)=>{let J=$.valueMap.get(T.key);if(T.type==="mutable_atom"&&yT($)){let{parent:W}=$;J=VX($,T,W)}return J},L7=(T,$)=>{let J=$.valueMap.get(T);if(J instanceof OX){let W=J,X=$.selectors.get(T)??$.readonlySelectors.get(T);if(X)W.use(X.get());return}if($.operation.open)$.operation.prev.set(T,J);$.valueMap.delete(T),$.logger.info("\uD83D\uDDD1","state",T,"evicted")};var N7=(T,$)=>{return g(T).atomsThatAreDefault.has($)},v8=(T,$)=>{let J=g(T);J.atomsThatAreDefault=new Set(J.atomsThatAreDefault).add($)},C7=(T,$)=>{let J=g(T);J.atomsThatAreDefault=new Set(g(T).atomsThatAreDefault),J.atomsThatAreDefault.delete($)};function XJ(T,$,J){T.logger.info("\uD83D\uDD28","atom",$.key,`creating in store "${T.config.name}"`);let W=g(T),X=W.atoms.get($.key);if(X&&X.type==="atom")return T.logger.error("\u274C","atom",$.key,"Tried to create atom, but it already exists in the store."),n$(X);let F=new QT,Y={...$,type:"atom",install:(M)=>{return M.logger.info("\uD83D\uDEE0\uFE0F","atom",$.key,`installing in store "${M.config.name}"`),XJ(M,$,J)},subject:F};if(J)Y.family=J;let G=$.default;if($.default instanceof Function)G=$.default();W.atoms.set(Y.key,Y),v8(T,$.key),UJ(W,$.key,G,F);let H=n$(Y);if($.effects){let M=0,z=[];for(let A of $.effects){let w=A({setSelf:(_)=>{W$(T,H,_)},onSet:(_)=>j$(T,H,`effect[${M}]`,_)});if(w)z.push(w);++M}Y.cleanup=()=>{for(let A of z)A()}}return H}function z7(T,$){if("mutable"in $){let X=LX(T,$,void 0);return T.on.atomCreation.next(X),X}let W=XJ(T,$,void 0);return T.on.atomCreation.next(W),W}function wF(T,$){let J=g(T),{key:W,family:X}=$,F=fT(J,$);if(!X)T.logger.error("\u274C","atom",W,"Standalone atoms cannot be disposed.");else{F.cleanup?.();let Y=T.valueMap.get(F.key),G=fT(T,{key:X.key,type:"atom_family"}),H={type:"state_disposal",subType:"atom",token:$,value:Y};G.subject.next(H);let M=yT(J);if(J.atoms.delete(W),J.valueMap.delete(W),J.selectorAtoms.delete(W),J.atomsThatAreDefault.delete(W),T.timelineTopics.delete(W),$.type==="mutable_atom"){let z=Y1($);wF(T,z),T.trackers.delete(W)}if(T.logger.info("\uD83D\uDD25","atom",W,"deleted"),M&&J.transactionMeta.phase==="building"){let z=J.transactionMeta.update.updates.at(-1);if(!(z?.type==="molecule_disposal"&&z.values.some(([_])=>_===F.family?.key)))J.transactionMeta.update.updates.push(H)}else T.on.atomDisposal.next($)}}class Q$ extends Set{mode="record";subject=new QT;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(T,$=0){super(T);if(T instanceof Q$)this.parent=T,this.cacheUpdateNumber=T.cacheUpdateNumber;if($)this.cacheLimit=$,this.cache=new Array($),this.subscribe("auto cache",(J)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=J})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(T){let $=new Q$(T.members,T.cacheLimit);return $.cache=T.cache,$.cacheIdx=T.cacheIdx,$.cacheUpdateNumber=T.cacheUpdateNumber,$}add(T){let $=super.add(T);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${_T(T)}`);return $}clear(){let T=this.mode==="record"?[...this]:null;if(super.clear(),T)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(T)}`)}delete(T){let $=super.delete(T);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${_T(T)}`);return $}parent;child=null;transactionUpdates=null;transaction(T){this.mode="transaction",this.transactionUpdates=[],this.child=new Q$(this);let $=this.child._subscribe("transaction",(J)=>{this.transactionUpdates?.push(J)});try{if(T(this.child)){for(let W of this.transactionUpdates)this.doStep(W);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(J){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",J),J}finally{$(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(T,$){return this.subject.subscribe(T,$)}subscribe(T,$){return this.subject.subscribe(T,(J)=>{$(`${this.cacheUpdateNumber}=${J}`)})}emit(T){this.subject.next(T)}doStep(T){let $=T.indexOf(":"),J=T.substring(0,$),W=T.substring($+1);switch(J){case"add":this.add(JSON.parse(W));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(W));break;case"tx":for(let X of W.split(";"))this.doStep(X)}}getUpdateNumber(T){let $=T.indexOf("=");return Number(T.substring(0,$))}do(T){let $=T.indexOf("="),J=Number(T.substring(0,$)),W=J-this.cacheUpdateNumber;if(W>0){if(W===1){this.mode="playback";let F=T.substring($+1);return this.doStep(F),this.mode="record",this.cacheUpdateNumber=J,null}return this.cacheUpdateNumber+1}if(Math.abs(W)<this.cacheLimit){let F=this.cacheIdx+W;if(this.cache[F]===T)return null;this.mode="playback";let G=!1;while(!G){this.cacheIdx%=this.cacheLimit;let M=this.cache[this.cacheIdx];if(this.cacheIdx--,!M)return"OUT_OF_RANGE";this.undo(M),G=this.cacheIdx===F-1}let H=T.substring($+1);return this.doStep(H),this.mode="record",this.cacheUpdateNumber=J,null}return"OUT_OF_RANGE"}undoStep(T){let $=T.indexOf(":"),J=T.substring(0,$),W=T.substring($+1);switch(J){case"add":this.delete(JSON.parse(W));break;case"del":this.add(JSON.parse(W));break;case"clear":{let X=JSON.parse(W);for(let F of X)this.add(F);break}case"tx":{let X=W.split(";");for(let F=X.length-1;F>=0;F--)this.undoStep(X[F])}}}undo(T){let $=T.indexOf("=");if(Number(T.substring(0,$))===this.cacheUpdateNumber){this.mode="playback";let W=T.substring($+1);return this.undoStep(W),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}class KX{toolkit;options;defaultContent;molecules=new Map;relations;states;core;transact(T,$){let J=this.toolkit;this.toolkit=T,$(this),this.toolkit=J}store;realm;[Symbol.dispose](){}constructor(T,$,J=KT.STORE){this.store=J,this.realm=new YF(J),this.options=T,this.defaultContent=$,this.store.miscResources.set(`join:${T.key}`,this),this.realm.allocate("root",T.key),this.toolkit={get:(...V)=>ZT(J,...V),set:(...V)=>{W$(J,...V)},find:(...V)=>JT(J,...V),json:(V)=>A$(J,V)};let W=T.between[0],X=T.between[1],F=UX(J,{key:`${T.key}/relatedKeys`,default:()=>new Q$,mutable:!0,fromJson:(V)=>Q$.fromJSON(V),toJson:(V)=>V.toJSON()},["join","relations"]);this.core={relatedKeysAtoms:F};let Y=({get:V},f)=>V(F,f),G=({set:V},f,C)=>{if(!this.store.molecules.has(_T(f)))this.realm.allocate(T.key,f);V(F,f,(B)=>B.add(C)),V(F,C,(B)=>B.add(f))},H=({set:V},f,C)=>{V(F,f,(B)=>{return B.delete(C),B}),V(F,C,(B)=>{return B.delete(f),B})},M=(V,f,C)=>{let{find:B,get:m,set:$T}=V,E=B(F,f),XT=m(E);for(let n of XT){if(C.includes(n))continue;$T(F,n,(kT)=>{return kT.delete(f),kT})}$T(E,(n)=>{return n.transaction((MT)=>{MT.clear();for(let kT of C){let eT=Y(V,kT),l$=eT.has(f);if(this.relations.cardinality==="1:n"){let J1=[];for(let I of eT){if(I===f)continue;let a=Y(V,I);if(a.delete(kT),a.size===0)J1.push(I)}if(!l$&&eT.size>0)eT.clear();for(let I of J1){let a=[kT,I].sort(),NT=`"${a[0]}:${a[1]}"`;this.molecules.delete(NT)}}if(!l$)eT.add(f);MT.add(kT)}return!0}),n})},z=(V,f,C)=>{let{set:B}=V;B(F,f,(m)=>{return m.transaction(($T)=>{for(let E of C)$T.add(E);return!0}),m});for(let m of C)B(F,m,($T)=>{return $T.add(f),$T});return!0},A=(V,f,C)=>{let B=Y(V,f);return C?B.has(C):B.size>0},w={getRelatedKeys:(V)=>Y(this.toolkit,V),addRelation:(V,f)=>{this.store.moleculeJoins.set(V,T.key),this.store.moleculeJoins.set(f,T.key),G(this.toolkit,V,f)},deleteRelation:(V,f)=>{H(this.toolkit,V,f)},replaceRelationsSafely:(V,f)=>{M(this.toolkit,V,f)},replaceRelationsUnsafely:(V,f)=>{z(this.toolkit,V,f)},has:(V,f)=>A(this.toolkit,V,f)},_,D;if($){D=X1(J,{key:`${T.key}/content`,default:$},["join","content"]);let V=({get:B},m)=>B(D,m),f=({set:B},m,$T)=>{B(D,m,$T)};_=Object.assign(w,{getContent:(B)=>{return V(this.toolkit,B)},setContent:(B,m)=>{f(this.toolkit,B,m)},deleteContent:(B)=>{this.realm.deallocate(B)}})}else _=w;let S=new w$(T,{externalStore:_,isAType:T.isAType,isBType:T.isBType,makeContentKey:(...V)=>{let[f,C]=V,B=V.sort(),m=`${B[0]}:${B[1]}`,$T=J.molecules.get(_T(f)),E=J.molecules.get(_T(C));if(!$T)this.realm.allocate(T.key,f);if(!E)this.realm.allocate(T.key,C);return this.realm.allocate(f,m,"all"),this.realm.claim(C,m),this.store.moleculeJoins.set(m,T.key),m}}),Z=()=>F1(J,{key:`${T.key}/singleRelatedKey`,get:(V)=>({get:f})=>{let C=f(F,V);for(let B of C)return B;return null}},["join","keys"]),q=()=>{return F1(J,{key:`${T.key}/multipleRelatedKeys`,get:(V)=>({get:f})=>{let C=KF(F,J);return f(C,V).members}},["join","keys"])},N=()=>F1(J,{key:`${T.key}/singleRelatedEntry`,get:(V)=>({get:f})=>{let C=f(F,V);for(let B of C){let m=S.isAType?.(V)?V:void 0,$T=m===void 0?V:void 0;m??=B,$T??=B;let E=S.makeContentKey(m,$T),XT=f(D,E);return[B,XT]}return null}},["join","entries"]),y=()=>F1(J,{key:`${T.key}/multipleRelatedEntries`,get:(V)=>({get:f})=>{let C=KF(F,J);return f(C,V).members.map((m)=>{let $T=S.isAType?.(V)?V:void 0,E=$T===void 0?V:void 0;$T??=m,E??=m;let XT=S.makeContentKey($T,E),n=f(D,XT);return[m,n]})}},["join","entries"]);switch(T.cardinality){case"1:1":{let V=Z(),f=`${W}KeyOf${IT(X)}`,C=`${X}KeyOf${IT(W)}`,B={[f]:V,[C]:V},m;if($){let $T=N(),E=`${W}EntryOf${IT(X)}`,XT=`${X}EntryOf${IT(W)}`,n={[E]:$T,[XT]:$T};m=Object.assign(B,n)}else m=B;this.relations=S,this.states=m;break}case"1:n":{let V=Z(),f=q(),C=`${W}KeyOf${IT(X)}`,B=`${X}KeysOf${IT(W)}`,m={[C]:V,[B]:f},$T;if($){let E=N(),XT=y(),n=`${W}EntryOf${IT(X)}`,MT=`${X}EntriesOf${IT(W)}`,kT={[n]:E,[MT]:XT};$T=Object.assign(m,kT)}else $T=m;this.relations=S,this.states=$T;break}case"n:n":{let V=q(),f=`${W}KeysOf${IT(X)}`,C=`${X}KeysOf${IT(W)}`,B={[f]:V,[C]:V},m;if($){let $T=y(),E=`${W}EntriesOf${IT(X)}`,XT=`${X}EntriesOf${IT(W)}`,n={[E]:$T,[XT]:$T};m=Object.assign(B,n)}else m=B;this.relations=S,this.states=m}}}}function WW(T,$){let J=$.joins.get(T.key);if(J===void 0){let X=KT.STORE.joins.get(T.key);if(X===void 0)throw new Error(`Join "${T.key}" not found in store "${$.config.name}"`);J=new KX(X.options,X.defaultContent,$),$.joins.set(T.key,J)}return J}function SX(T,$,J){let W=WW(T,J),X=g(J);if(yT(X)){let{toolkit:F}=X.transactionMeta;W.transact(F,({relations:Y})=>{$(Y)})}else $(W.relations)}function Z8(T,$,J){let W=WW(T,J),X;switch(T.cardinality){case"1:1":{let F=`${T.a}KeyOf${IT(T.b)}`,Y=`${T.b}KeyOf${IT(T.a)}`;X={get[F](){let H=W.states[F];return JT(J,H,$)},get[Y](){let H=W.states[Y];return JT(J,H,$)}};let G=`${T.a}EntryOf${IT(T.b)}`;if(G in W.states){let H=`${T.b}EntryOf${IT(T.a)}`;Object.assign(X,{get[G](){let M=W.states[G];return JT(J,M,$)},get[H](){let M=W.states[H];return JT(J,M,$)}})}break}case"1:n":{let F=`${T.a}KeyOf${IT(T.b)}`,Y=`${T.b}KeysOf${IT(T.a)}`;X={get[F](){let H=W.states[F];return JT(J,H,$)},get[Y](){let H=W.states[Y];return JT(J,H,$)}};let G=`${T.a}EntryOf${IT(T.b)}`;if(G in W.states){let H=`${T.b}EntriesOf${IT(T.a)}`;Object.assign(X,{get[G](){let M=W.states[G];return JT(J,M,$)},get[H](){let M=W.states[H];return JT(J,M,$)}})}break}case"n:n":{let F=`${T.a}KeysOf${IT(T.b)}`,Y=`${T.b}KeysOf${IT(T.a)}`;X={get[F](){let H=W.states[F];return JT(J,H,$)},get[Y](){let H=W.states[Y];return JT(J,H,$)}};let G=`${T.a}EntriesOf${IT(T.b)}`;if(G in W.states){let H=`${T.b}EntriesOf${IT(T.a)}`;Object.assign(X,{get[G](){let M=W.states[G];return JT(J,M,$)},get[H](){let M=W.states[H];return JT(J,M,$)}})}}}return X}function Q7(T,$){return WW(T,$).core.relatedKeysAtoms}function v1(T){return T.startsWith("\uD83D\uDD0D ")}class r7 extends Map{set(T,$){if(this.has(T))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:T,value:$}),this;return super.set(T,$)}clear(){throw new Error("Cannot clear an InvariantMap")}}class h8{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(T){this.key=T}static existing=new r7;static create(T,$){let J=new h8(T),{type:W,globals:X,actions:F,perspectives:Y}=$(J),G={type:W,key:T,globals:X,actions:F,perspectives:Y};return h8.existing.set(T,G),G}add(...T){switch(T[0].type){case"atom":case"mutable_atom":this.globals.push(...T);break;case"transaction":this.actions.push(...T);break;case"atom_family":case"mutable_atom_family":{let[J,W]=T;this.perspectives.push({type:"realtime_perspective",resourceAtoms:J,viewAtoms:W})}break}return this}}function py(T){let{key:$,config:J}=T,W=h8.create($,J),{actions:X}=W;for(let F of X)h7(KT.STORE,$,F.key);return P7(KT.STORE,$,-1),W}var dy=e0({key:"usersInRoomIndex",mutable:!0,default:()=>new Q$,toJson:(T)=>T.toJSON(),fromJson:(T)=>Q$.fromJSON(T)}),SF=e0({key:"roomIndex",default:()=>new Q$,mutable:!0,toJson:(T)=>T.toJSON(),fromJson:(T)=>Q$.fromJSON(T)}),H_={enteredAtEpoch:0},BX=C8({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(T)=>typeof T==="string",isBType:(T)=>typeof T==="string"},H_),ly=q8({key:"usersInMyRoomView",get:(T)=>({find:$})=>{let J=w7(BX);return[$(J,T)]}});import{spawn as M_}from"child_process";class XW{listeners;globalListeners;handleEvent(T,...$){for(let W of this.globalListeners)W(T,...$);let J=this.listeners.get(T);if(J)for(let W of J)W(...$)}id="no_id_retrieved";emit;constructor(T){this.emit=T,this.listeners=new Map,this.globalListeners=new Set}on(T,$){let J=this.listeners.get(T);if(J)J.add($);else this.listeners.set(T,new Set([$]));return this}onAny(T){return this.globalListeners.add(T),this}off(T,$){let J=this.listeners.get(T);if(J)if($)J.delete($);else this.listeners.delete(T);return this}offAny(T){return this.globalListeners.delete(T),this}}class VF extends XW{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;key;logger;handleLog(T){if(Array.isArray(T)){let[$,...J]=T;switch($){case"i":this.logger.info(...J);break;case"w":this.logger.warn(...J);break;case"e":this.logger.error(...J);break;default:return}}}constructor(T,$,J){super((W,...X)=>{let F=JSON.stringify([W,...X])+"\x03",Y=(G)=>{if(G.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",Y)};return this.process.stdin.once("error",Y),this.process.stdin.write(F),this});if(this.process=T,this.key=$,this.logger=J??{info:(...W)=>{console.info(this.id,this.key,...W)},warn:(...W)=>{console.warn(this.id,this.key,...W)},error:(...W)=>{console.error(this.id,this.key,...W)}},this.process.stdout.on("data",(W)=>{let X=W.toString();if(X==="ALIVE")return;this.unprocessedEvents.push(...X.split("\x03"));let F=this.unprocessedEvents.shift();this.incompleteData+=F??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let Y=R$(this.incompleteData);this.handleEvent(...Y);while(this.unprocessedEvents.length>0){let G=this.unprocessedEvents.shift();if(G){if(this.unprocessedEvents.length===0)this.incompleteData=G;Y=R$(G),this.handleEvent(...Y)}}this.incompleteData=""}catch(Y){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(Y)}}),this.process.stderr.on("data",(W)=>{let X=W.toString();this.unprocessedLogs.push(...X.split("\x03"));let F=this.unprocessedLogs.shift();this.incompleteLog+=F??"";try{let Y=R$(this.incompleteLog);this.handleLog(Y);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)Y=R$(this.incompleteLog),this.handleLog(Y)}catch(Y){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(Y),console.error("\u274C\u274C\u274C\uFE0F")}}),T.pid)this.id=T.pid.toString()}}class a7 extends XW{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(T){super((...$)=>{return this.out.next($),this});this.id=T,this.in=new QT,this.out=new QT,this.in.subscribe("socket",($)=>{this.handleEvent(...$)})}dispose(){for(let T of this.disposalFunctions)T()}}class EF extends XW{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...T){this.process.stderr.write(_T(T.map(($)=>$ instanceof Q$?`{ ${$.toJSON().members.join(" | ")} }`:$))+"\x03")}logger={info:(...T)=>{this.log("i",...T)},warn:(...T)=>{this.log("w",...T)},error:(...T)=>{this.log("e",...T)}};constructor(){super((T,...$)=>{let J=JSON.stringify([T,...$]);return this.process.stdout.write(J+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(T)=>{let $=T.toString();this.unprocessedEvents.push(...$.split("\x03"));let J=this.unprocessedEvents.shift();this.incompleteData+=J??"";try{let W=R$(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",W),this.handleEvent(...W);while(this.unprocessedEvents.length>0){let X=this.unprocessedEvents.shift();if(X){if(this.unprocessedEvents.length===0)this.incompleteData=X;let F=R$(X);this.handleEvent(...F)}}this.incompleteData=""}catch(W){if(W instanceof Error)this.logger.error("\u2757",W.message,W.cause,W.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(T)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${T}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(T)=>{this.logger.info("\uD83D\uDC64","user",T,"joined");let $=new a7(`user:${T}`);this.relays.set(T,$),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let J of this.relayServices){let W=J($);if(W)$.disposalFunctions.push(W)}this.on(`user:${T}`,(...J)=>{$.in.next(J)}),$.out.subscribe("socket",(J)=>{this.emit(...J)})}),this.on("user-leaves",(T)=>{let $=this.relays.get(T);if(this.off(`relay:${T}`),$)$.dispose(),this.relays.delete(T)}),process.stdout.write("ALIVE")}relay(T){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(T)}}var RF=H0({key:"roomArguments",default:["echo",["Hello World!"]]}),s7=q8({key:"room",get:(T)=>async({get:$,find:J})=>{let W=J(RF,T),X=$(W),[F,Y]=X,G=await new Promise((H)=>{let M=M_(F,Y,{env:process.env}),z=(A)=>{if(A.toString()==="ALIVE")M.stdout.off("data",z),H(M)};M.stdout.on("data",z)});return new VF(G,T)}});var SI=EX({key:"createRoom",do:({get:T,set:$,find:J},W,X,F)=>{let Y=F?[X,F]:[X],G=J(RF,W);$(G,Y),$(SF,(z)=>z.add(W));let H=J(s7,W);return T(H)}}),VI=EX({key:"joinRoom",do:(T,$,J,W)=>{let X={enteredAtEpoch:W};return SX(BX,(F)=>{F.set({room:$,user:J},X)},T.env().store),X}}),EI=EX({key:"leaveRoom",do:(T,$,J)=>{SX(BX,(W)=>{W.delete({room:$,user:J})},T.env().store)}}),RI=EX({key:"destroyRoom",do:(T,$)=>{SX(BX,(J)=>{J.delete({room:$})},T.env().store),T.set(SF,(J)=>(J.delete($),J))}});function LF(T,$){return $.map((J)=>{switch(J.type){case"transaction_update":{let W=LF(T,J.updates);return{...J,updates:W}}case"atom_update":case"selector_update":case"molecule_creation":case"molecule_disposal":case"molecule_transfer":case"state_creation":case"state_disposal":return J}}).filter((J)=>{switch(J.type){case"atom_update":case"selector_update":return T.includes(J.key);case"state_creation":case"state_disposal":return T.includes(J.token.key);case"molecule_creation":case"transaction_update":case"molecule_disposal":case"molecule_transfer":return!0}})}var fI=H0({key:"redactor",default:{occlude:(T)=>T}}),FW=H0({key:"unacknowledgedUpdates",default:()=>[]});var e7=H0({key:"sockets",default:null}),qI=e0({key:"socketsIndex",mutable:!0,default:()=>new Q$,toJson:(T)=>T.toJSON(),fromJson:(T)=>Q$.fromJSON(T)}),kI=e0({key:"usersIndex",mutable:!0,default:()=>new Q$,toJson:(T)=>T.toJSON(),fromJson:(T)=>Q$.fromJSON(T)}),BF=C8({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:(T)=>T.startsWith("user::"),isBType:(T)=>T.startsWith("socket::")});function TG(T,$,J,W){let X=$.key;return function F(){let Y=[];for(let H of $.globals){let M=H.type==="mutable_atom"?A$(T,H):H,z=ZT(T,M);Y.push(M,z)}for(let H of $.perspectives){let{viewAtoms:M,resourceAtoms:z}=H,A=JT(T,M,J),w=ZT(T,A);T.logger.info("\uD83D\uDC41","atom",z.key,`${J} can see`,{viewAtoms:M,resourceAtoms:z,userView:w});for(let _ of w){let D=_.type==="mutable_atom"?A$(T,_):_,S=ZT(T,D);Y.push(D,S)}}let G=N$(T)?T.transactionMeta.epoch.get(X)??null:null;W?.emit(`continuity-init:${X}`,G,Y)}}function $G(T,$,J){let W=$.key;return function X(F){T.logger.info("\uD83D\uDECE\uFE0F","continuity",W,"received",F);let{key:Y,id:G}=F,H=`tx-run:${Y}:${G}`,M=`${H}:start`,z=`${H}:end`;performance.mark(M);try{$W(T,{type:"transaction",key:Y},G)(...F.params)}catch(w){if(w instanceof Error)T.logger.error("\u274C","continuity",W,`failed to run transaction ${Y} from ${J} with update ${G}`,w.message)}performance.mark(z);let A=performance.measure(H,M,z);T?.logger.info("\uD83D\uDE80","transaction",Y,G,J,A.duration)}}function JG(T,$,J,W){let X=$.key;return function F(Y){if(T.logger.info("\uD83D\uDC4D","continuity",X,`${J} acknowledged epoch ${Y}`),W[0]?.epoch===Y)W$(T,FW,J,(H)=>{return H.shift(),T.logger.info("\uD83D\uDC4D","continuity",X,`${J} unacknowledged update queue now has`,H.length,"items"),H})}}function WG(T,$,J,W){let X=$.key,F=[];for(let Y of $.actions){let G=UF(T,Y,`sync-continuity:${X}:${J}`,(H)=>{try{let M=$.globals.map((w)=>{if(w.type==="atom")return w.key;return Y1(w).key}).concat($.perspectives.flatMap((w)=>{let{viewAtoms:_}=w,D=JT(T,_,J);return ZT(T,D).map((Z)=>{return Z.type==="mutable_atom"?"*"+Z.key:Z.key})})),z=LF(M,H.updates),A={...H,updates:z};W$(T,FW,J,(w)=>{if(A)w.push(A),w.sort((_,D)=>_.epoch-D.epoch),T.logger.info("\uD83D\uDC4D","continuity",X,`${J} unacknowledged update queue now has`,w.length,"items");return w}),W?.emit(`tx-new:${X}`,A)}catch(M){if(M instanceof Error)T.logger.error("\u274C","continuity",X,`${J} failed to send update from transaction ${Y.key} to ${J}`,M.message)}});F.push(G)}return F}function XG(T,$,J,W){let X=$.key,F=[];for(let Y of $.perspectives){let{viewAtoms:G}=Y,H=JT(T,G,J),M=j$(T,H,`sync-continuity:${X}:${J}:perspective:${Y.resourceAtoms.key}`,({oldValue:z,newValue:A})=>{let w=z.map((Z)=>Z.key),_=A.map((Z)=>Z.key),D=z.filter((Z)=>!_.includes(Z.key)),S=A.filter((Z)=>!w.includes(Z.key)).flatMap((Z)=>{let q=Z.type==="mutable_atom"?A$(T,Z):Z,N=ZT(T,q);return[q,N]});if(T.logger.info("\uD83D\uDC41","atom",Y.resourceAtoms.key,`${J} has a new perspective`,{oldKeys:w,newKeys:_,revealed:S,concealed:D}),S.length>0)W?.emit(`reveal:${X}`,S);if(D.length>0)W?.emit(`conceal:${X}`,D)});F.push(M)}return F}function Fj({socket:T,store:$=KT.STORE}){return function J(W){let X=T,F=W.key,Y=Z8(BF,`socket::${X.id}`,$).userKeyOfSocket,G=ZT($,Y);if(!G)return $.logger.error("\u274C","continuity",F,`Tried to create a synchronizer for a socket (${X.id}) that is not connected to a user.`),()=>{};let H=Z8(BF,G,$).socketKeyOfUser,M=j$($,H,`sync-continuity:${F}:${G}`,({newValue:q})=>{if($.logger.info("\uD83D\uDC4B","continuity",F,`seeing ${G} on new socket ${q}`),q===null){$.logger.warn("\u274C","continuity",F,`User (${G}) is not connected to a socket, waiting for them to reappear.`);return}let N=JT($,e7,q);X=ZT($,N);for(let V of z)X?.emit(`tx-new:${F}`,V)}),z=ZT($,FW,G),A=[],w=XG($,W,G,X),_=WG($,W,G,X);A.push(...w,..._);let D=TG($,W,G,T);X.off(`get:${F}`,D),X.on(`get:${F}`,D);let S=$G($,W,G);X.off(`tx-run:${F}`,S),X.on(`tx-run:${F}`,S);let Z=JG($,W,G,z);return X?.on(`ack:${F}`,Z),()=>{for(let q of A)q();X?.off(`ack:${F}`,Z),X?.off(`get:${F}`,D),X?.off(`tx-run:${F}`,S)}}}var YG=Symbol("Let zodToJsonSchema decide on which parser to use");var FG={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},GG=(T)=>typeof T==="string"?{...FG,name:T}:{...FG,...T};var HG=(T)=>{let $=GG(T),J=$.name!==void 0?[...$.basePath,$.definitionPath,$.name]:$.basePath;return{...$,currentPath:J,propertyPath:void 0,seen:new Map(Object.entries($.definitions).map(([W,X])=>[X._def,{def:X._def,path:[...$.basePath,$.definitionPath,W],jsonSchema:void 0}]))}};function fF(T,$,J,W){if(!W?.errorMessages)return;if(J)T.errorMessage={...T.errorMessage,[$]:J}}function ET(T,$,J,W,X){T[$]=J,fF(T,$,W,X)}var LT;(function(T){T.assertEqual=(X)=>X;function $(X){}T.assertIs=$;function J(X){throw new Error}T.assertNever=J,T.arrayToEnum=(X)=>{let F={};for(let Y of X)F[Y]=Y;return F},T.getValidEnumValues=(X)=>{let F=T.objectKeys(X).filter((G)=>typeof X[X[G]]!=="number"),Y={};for(let G of F)Y[G]=X[G];return T.objectValues(Y)},T.objectValues=(X)=>{return T.objectKeys(X).map(function(F){return X[F]})},T.objectKeys=typeof Object.keys==="function"?(X)=>Object.keys(X):(X)=>{let F=[];for(let Y in X)if(Object.prototype.hasOwnProperty.call(X,Y))F.push(Y);return F},T.find=(X,F)=>{for(let Y of X)if(F(Y))return Y;return},T.isInteger=typeof Number.isInteger==="function"?(X)=>Number.isInteger(X):(X)=>typeof X==="number"&&isFinite(X)&&Math.floor(X)===X;function W(X,F=" | "){return X.map((Y)=>typeof Y==="string"?`'${Y}'`:Y).join(F)}T.joinValues=W,T.jsonStringifyReplacer=(X,F)=>{if(typeof F==="bigint")return F.toString();return F}})(LT||(LT={}));var MG;(function(T){T.mergeShapes=($,J)=>{return{...$,...J}}})(MG||(MG={}));var o=LT.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(T)=>{switch(typeof T){case"undefined":return o.undefined;case"string":return o.string;case"number":return isNaN(T)?o.nan:o.number;case"boolean":return o.boolean;case"function":return o.function;case"bigint":return o.bigint;case"symbol":return o.symbol;case"object":if(Array.isArray(T))return o.array;if(T===null)return o.null;if(T.then&&typeof T.then==="function"&&T.catch&&typeof T.catch==="function")return o.promise;if(typeof Map!=="undefined"&&T instanceof Map)return o.map;if(typeof Set!=="undefined"&&T instanceof Set)return o.set;if(typeof Date!=="undefined"&&T instanceof Date)return o.date;return o.object;default:return o.unknown}},j=LT.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class DJ extends Error{get errors(){return this.issues}constructor(T){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=T}format(T){let $=T||function(X){return X.message},J={_errors:[]},W=(X)=>{for(let F of X.issues)if(F.code==="invalid_union")F.unionErrors.map(W);else if(F.code==="invalid_return_type")W(F.returnTypeError);else if(F.code==="invalid_arguments")W(F.argumentsError);else if(F.path.length===0)J._errors.push($(F));else{let Y=J,G=0;while(G<F.path.length){let H=F.path[G];if(G!==F.path.length-1)Y[H]=Y[H]||{_errors:[]};else Y[H]=Y[H]||{_errors:[]},Y[H]._errors.push($(F));Y=Y[H],G++}}};return W(this),J}static assert(T){if(!(T instanceof DJ))throw new Error(`Not a ZodError: ${T}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,LT.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(T=($)=>$.message){let $={},J=[];for(let W of this.issues)if(W.path.length>0)$[W.path[0]]=$[W.path[0]]||[],$[W.path[0]].push(T(W));else J.push(T(W));return{formErrors:J,fieldErrors:$}}get formErrors(){return this.flatten()}}DJ.create=(T)=>{return new DJ(T)};var qX=(T,$)=>{let J;switch(T.code){case j.invalid_type:if(T.received===o.undefined)J="Required";else J=`Expected ${T.expected}, received ${T.received}`;break;case j.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify(T.expected,LT.jsonStringifyReplacer)}`;break;case j.unrecognized_keys:J=`Unrecognized key(s) in object: ${LT.joinValues(T.keys,", ")}`;break;case j.invalid_union:J="Invalid input";break;case j.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${LT.joinValues(T.options)}`;break;case j.invalid_enum_value:J=`Invalid enum value. Expected ${LT.joinValues(T.options)}, received '${T.received}'`;break;case j.invalid_arguments:J="Invalid function arguments";break;case j.invalid_return_type:J="Invalid function return type";break;case j.invalid_date:J="Invalid date";break;case j.invalid_string:if(typeof T.validation==="object")if("includes"in T.validation){if(J=`Invalid input: must include "${T.validation.includes}"`,typeof T.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${T.validation.position}`}else if("startsWith"in T.validation)J=`Invalid input: must start with "${T.validation.startsWith}"`;else if("endsWith"in T.validation)J=`Invalid input: must end with "${T.validation.endsWith}"`;else LT.assertNever(T.validation);else if(T.validation!=="regex")J=`Invalid ${T.validation}`;else J="Invalid";break;case j.too_small:if(T.type==="array")J=`Array must contain ${T.exact?"exactly":T.inclusive?"at least":"more than"} ${T.minimum} element(s)`;else if(T.type==="string")J=`String must contain ${T.exact?"exactly":T.inclusive?"at least":"over"} ${T.minimum} character(s)`;else if(T.type==="number")J=`Number must be ${T.exact?"exactly equal to ":T.inclusive?"greater than or equal to ":"greater than "}${T.minimum}`;else if(T.type==="date")J=`Date must be ${T.exact?"exactly equal to ":T.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(T.minimum))}`;else J="Invalid input";break;case j.too_big:if(T.type==="array")J=`Array must contain ${T.exact?"exactly":T.inclusive?"at most":"less than"} ${T.maximum} element(s)`;else if(T.type==="string")J=`String must contain ${T.exact?"exactly":T.inclusive?"at most":"under"} ${T.maximum} character(s)`;else if(T.type==="number")J=`Number must be ${T.exact?"exactly":T.inclusive?"less than or equal to":"less than"} ${T.maximum}`;else if(T.type==="bigint")J=`BigInt must be ${T.exact?"exactly":T.inclusive?"less than or equal to":"less than"} ${T.maximum}`;else if(T.type==="date")J=`Date must be ${T.exact?"exactly":T.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(T.maximum))}`;else J="Invalid input";break;case j.custom:J="Invalid input";break;case j.invalid_intersection_types:J="Intersection results could not be merged";break;case j.not_multiple_of:J=`Number must be a multiple of ${T.multipleOf}`;break;case j.not_finite:J="Number must be finite";break;default:J=$.defaultError,LT.assertNever(T)}return{message:J}},z_=qX;function CF(){return z_}var ZF=(T)=>{let{data:$,path:J,errorMaps:W,issueData:X}=T,F=[...J,...X.path||[]],Y={...X,path:F};if(X.message!==void 0)return{...X,path:F,message:X.message};let G="",H=W.filter((M)=>!!M).slice().reverse();for(let M of H)G=M(Y,{data:$,defaultError:G}).message;return{...X,path:F,message:G}};function p(T,$){let J=CF(),W=ZF({issueData:$,data:T.data,path:T.path,errorMaps:[T.common.contextualErrorMap,T.schemaErrorMap,J,J===qX?void 0:qX].filter((X)=>!!X)});T.common.issues.push(W)}class g${constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(T,$){let J=[];for(let W of $){if(W.status==="aborted")return FT;if(W.status==="dirty")T.dirty();J.push(W.value)}return{status:T.value,value:J}}static async mergeObjectAsync(T,$){let J=[];for(let W of $){let X=await W.key,F=await W.value;J.push({key:X,value:F})}return g$.mergeObjectSync(T,J)}static mergeObjectSync(T,$){let J={};for(let W of $){let{key:X,value:F}=W;if(X.status==="aborted")return FT;if(F.status==="aborted")return FT;if(X.status==="dirty")T.dirty();if(F.status==="dirty")T.dirty();if(X.value!=="__proto__"&&(typeof F.value!=="undefined"||W.alwaysSet))J[X.value]=F.value}return{status:T.value,value:J}}}var FT=Object.freeze({status:"aborted"}),fX=(T)=>({status:"dirty",value:T}),i$=(T)=>({status:"valid",value:T}),zG=(T)=>T.status==="aborted",AG=(T)=>T.status==="dirty",GW=(T)=>T.status==="valid",m8=(T)=>typeof Promise!=="undefined"&&T instanceof Promise;function g8(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)}function QG(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J}var i;(function(T){T.errToObj=($)=>typeof $==="string"?{message:$}:$||{},T.toString=($)=>typeof $==="string"?$:$===null||$===void 0?void 0:$.message})(i||(i={}));var NX,CX;class qJ{constructor(T,$,J,W){this._cachedPath=[],this.parent=T,this.data=$,this._path=J,this._key=W}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var wG=(T,$)=>{if(GW($))return{success:!0,data:$.value};else{if(!T.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new DJ(T.common.issues);return this._error=J,this._error}}}};function zT(T){if(!T)return{};let{errorMap:$,invalid_type_error:J,required_error:W,description:X}=T;if($&&(J||W))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:X};return{errorMap:(Y,G)=>{var H,M;let{message:z}=T;if(Y.code==="invalid_enum_value")return{message:z!==null&&z!==void 0?z:G.defaultError};if(typeof G.data==="undefined")return{message:(H=z!==null&&z!==void 0?z:W)!==null&&H!==void 0?H:G.defaultError};if(Y.code!=="invalid_type")return{message:G.defaultError};return{message:(M=z!==null&&z!==void 0?z:J)!==null&&M!==void 0?M:G.defaultError}},description:X}}class DT{get description(){return this._def.description}_getType(T){return h1(T.data)}_getOrReturnCtx(T,$){return $||{common:T.parent.common,data:T.data,parsedType:h1(T.data),schemaErrorMap:this._def.errorMap,path:T.path,parent:T.parent}}_processInputParams(T){return{status:new g$,ctx:{common:T.parent.common,data:T.data,parsedType:h1(T.data),schemaErrorMap:this._def.errorMap,path:T.path,parent:T.parent}}}_parseSync(T){let $=this._parse(T);if(m8($))throw new Error("Synchronous parse encountered promise.");return $}_parseAsync(T){let $=this._parse(T);return Promise.resolve($)}parse(T,$){let J=this.safeParse(T,$);if(J.success)return J.data;throw J.error}safeParse(T,$){var J;let W={common:{issues:[],async:(J=$===null||$===void 0?void 0:$.async)!==null&&J!==void 0?J:!1,contextualErrorMap:$===null||$===void 0?void 0:$.errorMap},path:($===null||$===void 0?void 0:$.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:T,parsedType:h1(T)},X=this._parseSync({data:T,path:W.path,parent:W});return wG(W,X)}"~validate"(T){var $,J;let W={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:T,parsedType:h1(T)};if(!this["~standard"].async)try{let X=this._parseSync({data:T,path:[],parent:W});return GW(X)?{value:X.value}:{issues:W.common.issues}}catch(X){if((J=($=X===null||X===void 0?void 0:X.message)===null||$===void 0?void 0:$.toLowerCase())===null||J===void 0?void 0:J.includes("encountered"))this["~standard"].async=!0;W.common={issues:[],async:!0}}return this._parseAsync({data:T,path:[],parent:W}).then((X)=>GW(X)?{value:X.value}:{issues:W.common.issues})}async parseAsync(T,$){let J=await this.safeParseAsync(T,$);if(J.success)return J.data;throw J.error}async safeParseAsync(T,$){let J={common:{issues:[],contextualErrorMap:$===null||$===void 0?void 0:$.errorMap,async:!0},path:($===null||$===void 0?void 0:$.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:T,parsedType:h1(T)},W=this._parse({data:T,path:J.path,parent:J}),X=await(m8(W)?W:Promise.resolve(W));return wG(J,X)}refine(T,$){let J=(W)=>{if(typeof $==="string"||typeof $==="undefined")return{message:$};else if(typeof $==="function")return $(W);else return $};return this._refinement((W,X)=>{let F=T(W),Y=()=>X.addIssue({code:j.custom,...J(W)});if(typeof Promise!=="undefined"&&F instanceof Promise)return F.then((G)=>{if(!G)return Y(),!1;else return!0});if(!F)return Y(),!1;else return!0})}refinement(T,$){return this._refinement((J,W)=>{if(!T(J))return W.addIssue(typeof $==="function"?$(J,W):$),!1;else return!0})}_refinement(T){return new dJ({schema:this,typeName:x.ZodEffects,effect:{type:"refinement",refinement:T}})}superRefine(T){return this._refinement(T)}constructor(T){this.spa=this.safeParseAsync,this._def=T,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return KJ.create(this,this._def)}nullable(){return m1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return oJ.create(this)}promise(){return AW.create(this,this._def)}or(T){return jX.create([this,T],this._def)}and(T){return xX.create(this,T,this._def)}transform(T){return new dJ({...zT(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:T}})}default(T){let $=typeof T==="function"?T:()=>T;return new hX({...zT(this._def),innerType:this,defaultValue:$,typeName:x.ZodDefault})}brand(){return new yF({typeName:x.ZodBranded,type:this,...zT(this._def)})}catch(T){let $=typeof T==="function"?T:()=>T;return new mX({...zT(this._def),innerType:this,catchValue:$,typeName:x.ZodCatch})}describe(T){return new this.constructor({...this._def,description:T})}pipe(T){return i8.create(this,T)}readonly(){return gX.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var A_=/^c[^\s-]{8,}$/i,w_=/^[0-9a-z]+$/,Q_=/^[0-9A-HJKMNP-TV-Z]{26}$/i,O_=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,U_=/^[a-z0-9_-]{21}$/i,__=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,D_=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,K_=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,S_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",NF,V_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,E_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,R_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,L_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,B_=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,f_=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,OG="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",N_=new RegExp(`^${OG}$`);function UG(T){let $="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";if(T.precision)$=`${$}\\.\\d{${T.precision}}`;else if(T.precision==null)$=`${$}(\\.\\d+)?`;return $}function C_(T){return new RegExp(`^${UG(T)}$`)}function Z_(T){let $=`${OG}T${UG(T)}`,J=[];if(J.push(T.local?"Z?":"Z"),T.offset)J.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${J.join("|")})`,new RegExp(`^${$}$`)}function q_(T,$){if(($==="v4"||!$)&&V_.test(T))return!0;if(($==="v6"||!$)&&R_.test(T))return!0;return!1}function k_(T,$){if(!__.test(T))return!1;try{let[J]=T.split("."),W=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),X=JSON.parse(atob(W));if(typeof X!=="object"||X===null)return!1;if(!X.typ||!X.alg)return!1;if($&&X.alg!==$)return!1;return!0}catch(J){return!1}}function y_(T,$){if(($==="v4"||!$)&&E_.test(T))return!0;if(($==="v6"||!$)&&L_.test(T))return!0;return!1}class H1 extends DT{_parse(T){if(this._def.coerce)T.data=String(T.data);if(this._getType(T)!==o.string){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_type,expected:o.string,received:X.parsedType}),FT}let J=new g$,W=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(T.data.length<X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="max"){if(T.data.length>X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="length"){let F=T.data.length>X.value,Y=T.data.length<X.value;if(F||Y){if(W=this._getOrReturnCtx(T,W),F)p(W,{code:j.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});else if(Y)p(W,{code:j.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});J.dirty()}}else if(X.kind==="email"){if(!K_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"email",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="emoji"){if(!NF)NF=new RegExp(S_,"u");if(!NF.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"emoji",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="uuid"){if(!O_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"uuid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="nanoid"){if(!U_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"nanoid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid"){if(!A_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"cuid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid2"){if(!w_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"cuid2",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ulid"){if(!Q_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"ulid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="url")try{new URL(T.data)}catch(F){W=this._getOrReturnCtx(T,W),p(W,{validation:"url",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="regex"){if(X.regex.lastIndex=0,!X.regex.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"regex",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="trim")T.data=T.data.trim();else if(X.kind==="includes"){if(!T.data.includes(X.value,X.position))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:{includes:X.value,position:X.position},message:X.message}),J.dirty()}else if(X.kind==="toLowerCase")T.data=T.data.toLowerCase();else if(X.kind==="toUpperCase")T.data=T.data.toUpperCase();else if(X.kind==="startsWith"){if(!T.data.startsWith(X.value))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:{startsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="endsWith"){if(!T.data.endsWith(X.value))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:{endsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="datetime"){if(!Z_(X).test(T.data))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:"datetime",message:X.message}),J.dirty()}else if(X.kind==="date"){if(!N_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:"date",message:X.message}),J.dirty()}else if(X.kind==="time"){if(!C_(X).test(T.data))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:"time",message:X.message}),J.dirty()}else if(X.kind==="duration"){if(!D_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"duration",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ip"){if(!q_(T.data,X.version))W=this._getOrReturnCtx(T,W),p(W,{validation:"ip",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="jwt"){if(!k_(T.data,X.alg))W=this._getOrReturnCtx(T,W),p(W,{validation:"jwt",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cidr"){if(!y_(T.data,X.version))W=this._getOrReturnCtx(T,W),p(W,{validation:"cidr",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64"){if(!B_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"base64",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64url"){if(!f_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"base64url",code:j.invalid_string,message:X.message}),J.dirty()}else LT.assertNever(X);return{status:J.value,value:T.data}}_regex(T,$,J){return this.refinement((W)=>T.test(W),{validation:$,code:j.invalid_string,...i.errToObj(J)})}_addCheck(T){return new H1({...this._def,checks:[...this._def.checks,T]})}email(T){return this._addCheck({kind:"email",...i.errToObj(T)})}url(T){return this._addCheck({kind:"url",...i.errToObj(T)})}emoji(T){return this._addCheck({kind:"emoji",...i.errToObj(T)})}uuid(T){return this._addCheck({kind:"uuid",...i.errToObj(T)})}nanoid(T){return this._addCheck({kind:"nanoid",...i.errToObj(T)})}cuid(T){return this._addCheck({kind:"cuid",...i.errToObj(T)})}cuid2(T){return this._addCheck({kind:"cuid2",...i.errToObj(T)})}ulid(T){return this._addCheck({kind:"ulid",...i.errToObj(T)})}base64(T){return this._addCheck({kind:"base64",...i.errToObj(T)})}base64url(T){return this._addCheck({kind:"base64url",...i.errToObj(T)})}jwt(T){return this._addCheck({kind:"jwt",...i.errToObj(T)})}ip(T){return this._addCheck({kind:"ip",...i.errToObj(T)})}cidr(T){return this._addCheck({kind:"cidr",...i.errToObj(T)})}datetime(T){var $,J;if(typeof T==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:T});return this._addCheck({kind:"datetime",precision:typeof(T===null||T===void 0?void 0:T.precision)==="undefined"?null:T===null||T===void 0?void 0:T.precision,offset:($=T===null||T===void 0?void 0:T.offset)!==null&&$!==void 0?$:!1,local:(J=T===null||T===void 0?void 0:T.local)!==null&&J!==void 0?J:!1,...i.errToObj(T===null||T===void 0?void 0:T.message)})}date(T){return this._addCheck({kind:"date",message:T})}time(T){if(typeof T==="string")return this._addCheck({kind:"time",precision:null,message:T});return this._addCheck({kind:"time",precision:typeof(T===null||T===void 0?void 0:T.precision)==="undefined"?null:T===null||T===void 0?void 0:T.precision,...i.errToObj(T===null||T===void 0?void 0:T.message)})}duration(T){return this._addCheck({kind:"duration",...i.errToObj(T)})}regex(T,$){return this._addCheck({kind:"regex",regex:T,...i.errToObj($)})}includes(T,$){return this._addCheck({kind:"includes",value:T,position:$===null||$===void 0?void 0:$.position,...i.errToObj($===null||$===void 0?void 0:$.message)})}startsWith(T,$){return this._addCheck({kind:"startsWith",value:T,...i.errToObj($)})}endsWith(T,$){return this._addCheck({kind:"endsWith",value:T,...i.errToObj($)})}min(T,$){return this._addCheck({kind:"min",value:T,...i.errToObj($)})}max(T,$){return this._addCheck({kind:"max",value:T,...i.errToObj($)})}length(T,$){return this._addCheck({kind:"length",value:T,...i.errToObj($)})}nonempty(T){return this.min(1,i.errToObj(T))}trim(){return new H1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new H1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new H1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((T)=>T.kind==="datetime")}get isDate(){return!!this._def.checks.find((T)=>T.kind==="date")}get isTime(){return!!this._def.checks.find((T)=>T.kind==="time")}get isDuration(){return!!this._def.checks.find((T)=>T.kind==="duration")}get isEmail(){return!!this._def.checks.find((T)=>T.kind==="email")}get isURL(){return!!this._def.checks.find((T)=>T.kind==="url")}get isEmoji(){return!!this._def.checks.find((T)=>T.kind==="emoji")}get isUUID(){return!!this._def.checks.find((T)=>T.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((T)=>T.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((T)=>T.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((T)=>T.kind==="cuid2")}get isULID(){return!!this._def.checks.find((T)=>T.kind==="ulid")}get isIP(){return!!this._def.checks.find((T)=>T.kind==="ip")}get isCIDR(){return!!this._def.checks.find((T)=>T.kind==="cidr")}get isBase64(){return!!this._def.checks.find((T)=>T.kind==="base64")}get isBase64url(){return!!this._def.checks.find((T)=>T.kind==="base64url")}get minLength(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T}get maxLength(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T}}H1.create=(T)=>{var $;return new H1({checks:[],typeName:x.ZodString,coerce:($=T===null||T===void 0?void 0:T.coerce)!==null&&$!==void 0?$:!1,...zT(T)})};function I_(T,$){let J=(T.toString().split(".")[1]||"").length,W=($.toString().split(".")[1]||"").length,X=J>W?J:W,F=parseInt(T.toFixed(X).replace(".","")),Y=parseInt($.toFixed(X).replace(".",""));return F%Y/Math.pow(10,X)}class HW extends DT{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(T){if(this._def.coerce)T.data=Number(T.data);if(this._getType(T)!==o.number){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_type,expected:o.number,received:X.parsedType}),FT}let J=void 0,W=new g$;for(let X of this._def.checks)if(X.kind==="int"){if(!LT.isInteger(T.data))J=this._getOrReturnCtx(T,J),p(J,{code:j.invalid_type,expected:"integer",received:"float",message:X.message}),W.dirty()}else if(X.kind==="min"){if(X.inclusive?T.data<X.value:T.data<=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_small,minimum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),W.dirty()}else if(X.kind==="max"){if(X.inclusive?T.data>X.value:T.data>=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_big,maximum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),W.dirty()}else if(X.kind==="multipleOf"){if(I_(T.data,X.value)!==0)J=this._getOrReturnCtx(T,J),p(J,{code:j.not_multiple_of,multipleOf:X.value,message:X.message}),W.dirty()}else if(X.kind==="finite"){if(!Number.isFinite(T.data))J=this._getOrReturnCtx(T,J),p(J,{code:j.not_finite,message:X.message}),W.dirty()}else LT.assertNever(X);return{status:W.value,value:T.data}}gte(T,$){return this.setLimit("min",T,!0,i.toString($))}gt(T,$){return this.setLimit("min",T,!1,i.toString($))}lte(T,$){return this.setLimit("max",T,!0,i.toString($))}lt(T,$){return this.setLimit("max",T,!1,i.toString($))}setLimit(T,$,J,W){return new HW({...this._def,checks:[...this._def.checks,{kind:T,value:$,inclusive:J,message:i.toString(W)}]})}_addCheck(T){return new HW({...this._def,checks:[...this._def.checks,T]})}int(T){return this._addCheck({kind:"int",message:i.toString(T)})}positive(T){return this._addCheck({kind:"min",value:0,inclusive:!1,message:i.toString(T)})}negative(T){return this._addCheck({kind:"max",value:0,inclusive:!1,message:i.toString(T)})}nonpositive(T){return this._addCheck({kind:"max",value:0,inclusive:!0,message:i.toString(T)})}nonnegative(T){return this._addCheck({kind:"min",value:0,inclusive:!0,message:i.toString(T)})}multipleOf(T,$){return this._addCheck({kind:"multipleOf",value:T,message:i.toString($)})}finite(T){return this._addCheck({kind:"finite",message:i.toString(T)})}safe(T){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:i.toString(T)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:i.toString(T)})}get minValue(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T}get maxValue(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T}get isInt(){return!!this._def.checks.find((T)=>T.kind==="int"||T.kind==="multipleOf"&<.isInteger(T.value))}get isFinite(){let T=null,$=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if($===null||J.value>$)$=J.value}else if(J.kind==="max"){if(T===null||J.value<T)T=J.value}return Number.isFinite($)&&Number.isFinite(T)}}HW.create=(T)=>{return new HW({checks:[],typeName:x.ZodNumber,coerce:(T===null||T===void 0?void 0:T.coerce)||!1,...zT(T)})};class MW extends DT{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(T){if(this._def.coerce)try{T.data=BigInt(T.data)}catch(X){return this._getInvalidInput(T)}if(this._getType(T)!==o.bigint)return this._getInvalidInput(T);let J=void 0,W=new g$;for(let X of this._def.checks)if(X.kind==="min"){if(X.inclusive?T.data<X.value:T.data<=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_small,type:"bigint",minimum:X.value,inclusive:X.inclusive,message:X.message}),W.dirty()}else if(X.kind==="max"){if(X.inclusive?T.data>X.value:T.data>=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_big,type:"bigint",maximum:X.value,inclusive:X.inclusive,message:X.message}),W.dirty()}else if(X.kind==="multipleOf"){if(T.data%X.value!==BigInt(0))J=this._getOrReturnCtx(T,J),p(J,{code:j.not_multiple_of,multipleOf:X.value,message:X.message}),W.dirty()}else LT.assertNever(X);return{status:W.value,value:T.data}}_getInvalidInput(T){let $=this._getOrReturnCtx(T);return p($,{code:j.invalid_type,expected:o.bigint,received:$.parsedType}),FT}gte(T,$){return this.setLimit("min",T,!0,i.toString($))}gt(T,$){return this.setLimit("min",T,!1,i.toString($))}lte(T,$){return this.setLimit("max",T,!0,i.toString($))}lt(T,$){return this.setLimit("max",T,!1,i.toString($))}setLimit(T,$,J,W){return new MW({...this._def,checks:[...this._def.checks,{kind:T,value:$,inclusive:J,message:i.toString(W)}]})}_addCheck(T){return new MW({...this._def,checks:[...this._def.checks,T]})}positive(T){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:i.toString(T)})}negative(T){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:i.toString(T)})}nonpositive(T){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:i.toString(T)})}nonnegative(T){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:i.toString(T)})}multipleOf(T,$){return this._addCheck({kind:"multipleOf",value:T,message:i.toString($)})}get minValue(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T}get maxValue(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T}}MW.create=(T)=>{var $;return new MW({checks:[],typeName:x.ZodBigInt,coerce:($=T===null||T===void 0?void 0:T.coerce)!==null&&$!==void 0?$:!1,...zT(T)})};class p8 extends DT{_parse(T){if(this._def.coerce)T.data=Boolean(T.data);if(this._getType(T)!==o.boolean){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.boolean,received:J.parsedType}),FT}return i$(T.data)}}p8.create=(T)=>{return new p8({typeName:x.ZodBoolean,coerce:(T===null||T===void 0?void 0:T.coerce)||!1,...zT(T)})};class kX extends DT{_parse(T){if(this._def.coerce)T.data=new Date(T.data);if(this._getType(T)!==o.date){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_type,expected:o.date,received:X.parsedType}),FT}if(isNaN(T.data.getTime())){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_date}),FT}let J=new g$,W=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(T.data.getTime()<X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_small,message:X.message,inclusive:!0,exact:!1,minimum:X.value,type:"date"}),J.dirty()}else if(X.kind==="max"){if(T.data.getTime()>X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_big,message:X.message,inclusive:!0,exact:!1,maximum:X.value,type:"date"}),J.dirty()}else LT.assertNever(X);return{status:J.value,value:new Date(T.data.getTime())}}_addCheck(T){return new kX({...this._def,checks:[...this._def.checks,T]})}min(T,$){return this._addCheck({kind:"min",value:T.getTime(),message:i.toString($)})}max(T,$){return this._addCheck({kind:"max",value:T.getTime(),message:i.toString($)})}get minDate(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T!=null?new Date(T):null}get maxDate(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T!=null?new Date(T):null}}kX.create=(T)=>{return new kX({checks:[],coerce:(T===null||T===void 0?void 0:T.coerce)||!1,typeName:x.ZodDate,...zT(T)})};class u8 extends DT{_parse(T){if(this._getType(T)!==o.symbol){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.symbol,received:J.parsedType}),FT}return i$(T.data)}}u8.create=(T)=>{return new u8({typeName:x.ZodSymbol,...zT(T)})};class yX extends DT{_parse(T){if(this._getType(T)!==o.undefined){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.undefined,received:J.parsedType}),FT}return i$(T.data)}}yX.create=(T)=>{return new yX({typeName:x.ZodUndefined,...zT(T)})};class IX extends DT{_parse(T){if(this._getType(T)!==o.null){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.null,received:J.parsedType}),FT}return i$(T.data)}}IX.create=(T)=>{return new IX({typeName:x.ZodNull,...zT(T)})};class c8 extends DT{constructor(){super(...arguments);this._any=!0}_parse(T){return i$(T.data)}}c8.create=(T)=>{return new c8({typeName:x.ZodAny,...zT(T)})};class O0 extends DT{constructor(){super(...arguments);this._unknown=!0}_parse(T){return i$(T.data)}}O0.create=(T)=>{return new O0({typeName:x.ZodUnknown,...zT(T)})};class M1 extends DT{_parse(T){let $=this._getOrReturnCtx(T);return p($,{code:j.invalid_type,expected:o.never,received:$.parsedType}),FT}}M1.create=(T)=>{return new M1({typeName:x.ZodNever,...zT(T)})};class o8 extends DT{_parse(T){if(this._getType(T)!==o.undefined){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.void,received:J.parsedType}),FT}return i$(T.data)}}o8.create=(T)=>{return new o8({typeName:x.ZodVoid,...zT(T)})};class oJ extends DT{_parse(T){let{ctx:$,status:J}=this._processInputParams(T),W=this._def;if($.parsedType!==o.array)return p($,{code:j.invalid_type,expected:o.array,received:$.parsedType}),FT;if(W.exactLength!==null){let F=$.data.length>W.exactLength.value,Y=$.data.length<W.exactLength.value;if(F||Y)p($,{code:F?j.too_big:j.too_small,minimum:Y?W.exactLength.value:void 0,maximum:F?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),J.dirty()}if(W.minLength!==null){if($.data.length<W.minLength.value)p($,{code:j.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),J.dirty()}if(W.maxLength!==null){if($.data.length>W.maxLength.value)p($,{code:j.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),J.dirty()}if($.common.async)return Promise.all([...$.data].map((F,Y)=>{return W.type._parseAsync(new qJ($,F,$.path,Y))})).then((F)=>{return g$.mergeArray(J,F)});let X=[...$.data].map((F,Y)=>{return W.type._parseSync(new qJ($,F,$.path,Y))});return g$.mergeArray(J,X)}get element(){return this._def.type}min(T,$){return new oJ({...this._def,minLength:{value:T,message:i.toString($)}})}max(T,$){return new oJ({...this._def,maxLength:{value:T,message:i.toString($)}})}length(T,$){return new oJ({...this._def,exactLength:{value:T,message:i.toString($)}})}nonempty(T){return this.min(1,T)}}oJ.create=(T,$)=>{return new oJ({type:T,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,...zT($)})};function YW(T){if(T instanceof $$){let $={};for(let J in T.shape){let W=T.shape[J];$[J]=KJ.create(YW(W))}return new $$({...T._def,shape:()=>$})}else if(T instanceof oJ)return new oJ({...T._def,type:YW(T.element)});else if(T instanceof KJ)return KJ.create(YW(T.unwrap()));else if(T instanceof m1)return m1.create(YW(T.unwrap()));else if(T instanceof z1)return z1.create(T.items.map(($)=>YW($)));else return T}class $$ extends DT{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let T=this._def.shape(),$=LT.objectKeys(T);return this._cached={shape:T,keys:$}}_parse(T){if(this._getType(T)!==o.object){let H=this._getOrReturnCtx(T);return p(H,{code:j.invalid_type,expected:o.object,received:H.parsedType}),FT}let{status:J,ctx:W}=this._processInputParams(T),{shape:X,keys:F}=this._getCached(),Y=[];if(!(this._def.catchall instanceof M1&&this._def.unknownKeys==="strip")){for(let H in W.data)if(!F.includes(H))Y.push(H)}let G=[];for(let H of F){let M=X[H],z=W.data[H];G.push({key:{status:"valid",value:H},value:M._parse(new qJ(W,z,W.path,H)),alwaysSet:H in W.data})}if(this._def.catchall instanceof M1){let H=this._def.unknownKeys;if(H==="passthrough")for(let M of Y)G.push({key:{status:"valid",value:M},value:{status:"valid",value:W.data[M]}});else if(H==="strict"){if(Y.length>0)p(W,{code:j.unrecognized_keys,keys:Y}),J.dirty()}else if(H==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let H=this._def.catchall;for(let M of Y){let z=W.data[M];G.push({key:{status:"valid",value:M},value:H._parse(new qJ(W,z,W.path,M)),alwaysSet:M in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let H=[];for(let M of G){let z=await M.key,A=await M.value;H.push({key:z,value:A,alwaysSet:M.alwaysSet})}return H}).then((H)=>{return g$.mergeObjectSync(J,H)});else return g$.mergeObjectSync(J,G)}get shape(){return this._def.shape()}strict(T){return i.errToObj,new $$({...this._def,unknownKeys:"strict",...T!==void 0?{errorMap:($,J)=>{var W,X,F,Y;let G=(F=(X=(W=this._def).errorMap)===null||X===void 0?void 0:X.call(W,$,J).message)!==null&&F!==void 0?F:J.defaultError;if($.code==="unrecognized_keys")return{message:(Y=i.errToObj(T).message)!==null&&Y!==void 0?Y:G};return{message:G}}}:{}})}strip(){return new $$({...this._def,unknownKeys:"strip"})}passthrough(){return new $$({...this._def,unknownKeys:"passthrough"})}extend(T){return new $$({...this._def,shape:()=>({...this._def.shape(),...T})})}merge(T){return new $$({unknownKeys:T._def.unknownKeys,catchall:T._def.catchall,shape:()=>({...this._def.shape(),...T._def.shape()}),typeName:x.ZodObject})}setKey(T,$){return this.augment({[T]:$})}catchall(T){return new $$({...this._def,catchall:T})}pick(T){let $={};return LT.objectKeys(T).forEach((J)=>{if(T[J]&&this.shape[J])$[J]=this.shape[J]}),new $$({...this._def,shape:()=>$})}omit(T){let $={};return LT.objectKeys(this.shape).forEach((J)=>{if(!T[J])$[J]=this.shape[J]}),new $$({...this._def,shape:()=>$})}deepPartial(){return YW(this)}partial(T){let $={};return LT.objectKeys(this.shape).forEach((J)=>{let W=this.shape[J];if(T&&!T[J])$[J]=W;else $[J]=W.optional()}),new $$({...this._def,shape:()=>$})}required(T){let $={};return LT.objectKeys(this.shape).forEach((J)=>{if(T&&!T[J])$[J]=this.shape[J];else{let X=this.shape[J];while(X instanceof KJ)X=X._def.innerType;$[J]=X}}),new $$({...this._def,shape:()=>$})}keyof(){return _G(LT.objectKeys(this.shape))}}$$.create=(T,$)=>{return new $$({shape:()=>T,unknownKeys:"strip",catchall:M1.create(),typeName:x.ZodObject,...zT($)})};$$.strictCreate=(T,$)=>{return new $$({shape:()=>T,unknownKeys:"strict",catchall:M1.create(),typeName:x.ZodObject,...zT($)})};$$.lazycreate=(T,$)=>{return new $$({shape:T,unknownKeys:"strip",catchall:M1.create(),typeName:x.ZodObject,...zT($)})};class jX extends DT{_parse(T){let{ctx:$}=this._processInputParams(T),J=this._def.options;function W(X){for(let Y of X)if(Y.result.status==="valid")return Y.result;for(let Y of X)if(Y.result.status==="dirty")return $.common.issues.push(...Y.ctx.common.issues),Y.result;let F=X.map((Y)=>new DJ(Y.ctx.common.issues));return p($,{code:j.invalid_union,unionErrors:F}),FT}if($.common.async)return Promise.all(J.map(async(X)=>{let F={...$,common:{...$.common,issues:[]},parent:null};return{result:await X._parseAsync({data:$.data,path:$.path,parent:F}),ctx:F}})).then(W);else{let X=void 0,F=[];for(let G of J){let H={...$,common:{...$.common,issues:[]},parent:null},M=G._parseSync({data:$.data,path:$.path,parent:H});if(M.status==="valid")return M;else if(M.status==="dirty"&&!X)X={result:M,ctx:H};if(H.common.issues.length)F.push(H.common.issues)}if(X)return $.common.issues.push(...X.ctx.common.issues),X.result;let Y=F.map((G)=>new DJ(G));return p($,{code:j.invalid_union,unionErrors:Y}),FT}}get options(){return this._def.options}}jX.create=(T,$)=>{return new jX({options:T,typeName:x.ZodUnion,...zT($)})};var G1=(T)=>{if(T instanceof PX)return G1(T.schema);else if(T instanceof dJ)return G1(T.innerType());else if(T instanceof bX)return[T.value];else if(T instanceof U0)return T.options;else if(T instanceof vX)return LT.objectValues(T.enum);else if(T instanceof hX)return G1(T._def.innerType);else if(T instanceof yX)return[void 0];else if(T instanceof IX)return[null];else if(T instanceof KJ)return[void 0,...G1(T.unwrap())];else if(T instanceof m1)return[null,...G1(T.unwrap())];else if(T instanceof yF)return G1(T.unwrap());else if(T instanceof gX)return G1(T.unwrap());else if(T instanceof mX)return G1(T._def.innerType);else return[]};class kF extends DT{_parse(T){let{ctx:$}=this._processInputParams(T);if($.parsedType!==o.object)return p($,{code:j.invalid_type,expected:o.object,received:$.parsedType}),FT;let J=this.discriminator,W=$.data[J],X=this.optionsMap.get(W);if(!X)return p($,{code:j.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),FT;if($.common.async)return X._parseAsync({data:$.data,path:$.path,parent:$});else return X._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(T,$,J){let W=new Map;for(let X of $){let F=G1(X.shape[T]);if(!F.length)throw new Error(`A discriminator value for key \`${T}\` could not be extracted from all schema options`);for(let Y of F){if(W.has(Y))throw new Error(`Discriminator property ${String(T)} has duplicate value ${String(Y)}`);W.set(Y,X)}}return new kF({typeName:x.ZodDiscriminatedUnion,discriminator:T,options:$,optionsMap:W,...zT(J)})}}function qF(T,$){let J=h1(T),W=h1($);if(T===$)return{valid:!0,data:T};else if(J===o.object&&W===o.object){let X=LT.objectKeys($),F=LT.objectKeys(T).filter((G)=>X.indexOf(G)!==-1),Y={...T,...$};for(let G of F){let H=qF(T[G],$[G]);if(!H.valid)return{valid:!1};Y[G]=H.data}return{valid:!0,data:Y}}else if(J===o.array&&W===o.array){if(T.length!==$.length)return{valid:!1};let X=[];for(let F=0;F<T.length;F++){let Y=T[F],G=$[F],H=qF(Y,G);if(!H.valid)return{valid:!1};X.push(H.data)}return{valid:!0,data:X}}else if(J===o.date&&W===o.date&&+T===+$)return{valid:!0,data:T};else return{valid:!1}}class xX extends DT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T),W=(X,F)=>{if(zG(X)||zG(F))return FT;let Y=qF(X.value,F.value);if(!Y.valid)return p(J,{code:j.invalid_intersection_types}),FT;if(AG(X)||AG(F))$.dirty();return{status:$.value,value:Y.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([X,F])=>W(X,F));else return W(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}xX.create=(T,$,J)=>{return new xX({left:T,right:$,typeName:x.ZodIntersection,...zT(J)})};class z1 extends DT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.array)return p(J,{code:j.invalid_type,expected:o.array,received:J.parsedType}),FT;if(J.data.length<this._def.items.length)return p(J,{code:j.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),FT;if(!this._def.rest&&J.data.length>this._def.items.length)p(J,{code:j.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let X=[...J.data].map((F,Y)=>{let G=this._def.items[Y]||this._def.rest;if(!G)return null;return G._parse(new qJ(J,F,J.path,Y))}).filter((F)=>!!F);if(J.common.async)return Promise.all(X).then((F)=>{return g$.mergeArray($,F)});else return g$.mergeArray($,X)}get items(){return this._def.items}rest(T){return new z1({...this._def,rest:T})}}z1.create=(T,$)=>{if(!Array.isArray(T))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new z1({items:T,typeName:x.ZodTuple,rest:null,...zT($)})};class d8 extends DT{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.object)return p(J,{code:j.invalid_type,expected:o.object,received:J.parsedType}),FT;let W=[],X=this._def.keyType,F=this._def.valueType;for(let Y in J.data)W.push({key:X._parse(new qJ(J,Y,J.path,Y)),value:F._parse(new qJ(J,J.data[Y],J.path,Y)),alwaysSet:Y in J.data});if(J.common.async)return g$.mergeObjectAsync($,W);else return g$.mergeObjectSync($,W)}get element(){return this._def.valueType}static create(T,$,J){if($ instanceof DT)return new d8({keyType:T,valueType:$,typeName:x.ZodRecord,...zT(J)});return new d8({keyType:H1.create(),valueType:T,typeName:x.ZodRecord,...zT($)})}}class l8 extends DT{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.map)return p(J,{code:j.invalid_type,expected:o.map,received:J.parsedType}),FT;let W=this._def.keyType,X=this._def.valueType,F=[...J.data.entries()].map(([Y,G],H)=>{return{key:W._parse(new qJ(J,Y,J.path,[H,"key"])),value:X._parse(new qJ(J,G,J.path,[H,"value"]))}});if(J.common.async){let Y=new Map;return Promise.resolve().then(async()=>{for(let G of F){let H=await G.key,M=await G.value;if(H.status==="aborted"||M.status==="aborted")return FT;if(H.status==="dirty"||M.status==="dirty")$.dirty();Y.set(H.value,M.value)}return{status:$.value,value:Y}})}else{let Y=new Map;for(let G of F){let{key:H,value:M}=G;if(H.status==="aborted"||M.status==="aborted")return FT;if(H.status==="dirty"||M.status==="dirty")$.dirty();Y.set(H.value,M.value)}return{status:$.value,value:Y}}}}l8.create=(T,$,J)=>{return new l8({valueType:$,keyType:T,typeName:x.ZodMap,...zT(J)})};class zW extends DT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.set)return p(J,{code:j.invalid_type,expected:o.set,received:J.parsedType}),FT;let W=this._def;if(W.minSize!==null){if(J.data.size<W.minSize.value)p(J,{code:j.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),$.dirty()}if(W.maxSize!==null){if(J.data.size>W.maxSize.value)p(J,{code:j.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),$.dirty()}let X=this._def.valueType;function F(G){let H=new Set;for(let M of G){if(M.status==="aborted")return FT;if(M.status==="dirty")$.dirty();H.add(M.value)}return{status:$.value,value:H}}let Y=[...J.data.values()].map((G,H)=>X._parse(new qJ(J,G,J.path,H)));if(J.common.async)return Promise.all(Y).then((G)=>F(G));else return F(Y)}min(T,$){return new zW({...this._def,minSize:{value:T,message:i.toString($)}})}max(T,$){return new zW({...this._def,maxSize:{value:T,message:i.toString($)}})}size(T,$){return this.min(T,$).max(T,$)}nonempty(T){return this.min(1,T)}}zW.create=(T,$)=>{return new zW({valueType:T,minSize:null,maxSize:null,typeName:x.ZodSet,...zT($)})};class ZX extends DT{constructor(){super(...arguments);this.validate=this.implement}_parse(T){let{ctx:$}=this._processInputParams(T);if($.parsedType!==o.function)return p($,{code:j.invalid_type,expected:o.function,received:$.parsedType}),FT;function J(Y,G){return ZF({data:Y,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,CF(),qX].filter((H)=>!!H),issueData:{code:j.invalid_arguments,argumentsError:G}})}function W(Y,G){return ZF({data:Y,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,CF(),qX].filter((H)=>!!H),issueData:{code:j.invalid_return_type,returnTypeError:G}})}let X={errorMap:$.common.contextualErrorMap},F=$.data;if(this._def.returns instanceof AW){let Y=this;return i$(async function(...G){let H=new DJ([]),M=await Y._def.args.parseAsync(G,X).catch((w)=>{throw H.addIssue(J(G,w)),H}),z=await Reflect.apply(F,this,M);return await Y._def.returns._def.type.parseAsync(z,X).catch((w)=>{throw H.addIssue(W(z,w)),H})})}else{let Y=this;return i$(function(...G){let H=Y._def.args.safeParse(G,X);if(!H.success)throw new DJ([J(G,H.error)]);let M=Reflect.apply(F,this,H.data),z=Y._def.returns.safeParse(M,X);if(!z.success)throw new DJ([W(M,z.error)]);return z.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...T){return new ZX({...this._def,args:z1.create(T).rest(O0.create())})}returns(T){return new ZX({...this._def,returns:T})}implement(T){return this.parse(T)}strictImplement(T){return this.parse(T)}static create(T,$,J){return new ZX({args:T?T:z1.create([]).rest(O0.create()),returns:$||O0.create(),typeName:x.ZodFunction,...zT(J)})}}class PX extends DT{get schema(){return this._def.getter()}_parse(T){let{ctx:$}=this._processInputParams(T);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}PX.create=(T,$)=>{return new PX({getter:T,typeName:x.ZodLazy,...zT($)})};class bX extends DT{_parse(T){if(T.data!==this._def.value){let $=this._getOrReturnCtx(T);return p($,{received:$.data,code:j.invalid_literal,expected:this._def.value}),FT}return{status:"valid",value:T.data}}get value(){return this._def.value}}bX.create=(T,$)=>{return new bX({value:T,typeName:x.ZodLiteral,...zT($)})};function _G(T,$){return new U0({values:T,typeName:x.ZodEnum,...zT($)})}class U0 extends DT{constructor(){super(...arguments);NX.set(this,void 0)}_parse(T){if(typeof T.data!=="string"){let $=this._getOrReturnCtx(T),J=this._def.values;return p($,{expected:LT.joinValues(J),received:$.parsedType,code:j.invalid_type}),FT}if(!g8(this,NX,"f"))QG(this,NX,new Set(this._def.values),"f");if(!g8(this,NX,"f").has(T.data)){let $=this._getOrReturnCtx(T),J=this._def.values;return p($,{received:$.data,code:j.invalid_enum_value,options:J}),FT}return i$(T.data)}get options(){return this._def.values}get enum(){let T={};for(let $ of this._def.values)T[$]=$;return T}get Values(){let T={};for(let $ of this._def.values)T[$]=$;return T}get Enum(){let T={};for(let $ of this._def.values)T[$]=$;return T}extract(T,$=this._def){return U0.create(T,{...this._def,...$})}exclude(T,$=this._def){return U0.create(this.options.filter((J)=>!T.includes(J)),{...this._def,...$})}}NX=new WeakMap;U0.create=_G;class vX extends DT{constructor(){super(...arguments);CX.set(this,void 0)}_parse(T){let $=LT.getValidEnumValues(this._def.values),J=this._getOrReturnCtx(T);if(J.parsedType!==o.string&&J.parsedType!==o.number){let W=LT.objectValues($);return p(J,{expected:LT.joinValues(W),received:J.parsedType,code:j.invalid_type}),FT}if(!g8(this,CX,"f"))QG(this,CX,new Set(LT.getValidEnumValues(this._def.values)),"f");if(!g8(this,CX,"f").has(T.data)){let W=LT.objectValues($);return p(J,{received:J.data,code:j.invalid_enum_value,options:W}),FT}return i$(T.data)}get enum(){return this._def.values}}CX=new WeakMap;vX.create=(T,$)=>{return new vX({values:T,typeName:x.ZodNativeEnum,...zT($)})};class AW extends DT{unwrap(){return this._def.type}_parse(T){let{ctx:$}=this._processInputParams(T);if($.parsedType!==o.promise&&$.common.async===!1)return p($,{code:j.invalid_type,expected:o.promise,received:$.parsedType}),FT;let J=$.parsedType===o.promise?$.data:Promise.resolve($.data);return i$(J.then((W)=>{return this._def.type.parseAsync(W,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}AW.create=(T,$)=>{return new AW({type:T,typeName:x.ZodPromise,...zT($)})};class dJ extends DT{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(T){let{status:$,ctx:J}=this._processInputParams(T),W=this._def.effect||null,X={addIssue:(F)=>{if(p(J,F),F.fatal)$.abort();else $.dirty()},get path(){return J.path}};if(X.addIssue=X.addIssue.bind(X),W.type==="preprocess"){let F=W.transform(J.data,X);if(J.common.async)return Promise.resolve(F).then(async(Y)=>{if($.value==="aborted")return FT;let G=await this._def.schema._parseAsync({data:Y,path:J.path,parent:J});if(G.status==="aborted")return FT;if(G.status==="dirty")return fX(G.value);if($.value==="dirty")return fX(G.value);return G});else{if($.value==="aborted")return FT;let Y=this._def.schema._parseSync({data:F,path:J.path,parent:J});if(Y.status==="aborted")return FT;if(Y.status==="dirty")return fX(Y.value);if($.value==="dirty")return fX(Y.value);return Y}}if(W.type==="refinement"){let F=(Y)=>{let G=W.refinement(Y,X);if(J.common.async)return Promise.resolve(G);if(G instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Y};if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(Y.status==="aborted")return FT;if(Y.status==="dirty")$.dirty();return F(Y.value),{status:$.value,value:Y.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(Y.status==="aborted")return FT;if(Y.status==="dirty")$.dirty();return F(Y.value).then(()=>{return{status:$.value,value:Y.value}})})}if(W.type==="transform")if(J.common.async===!1){let F=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!GW(F))return F;let Y=W.transform(F.value,X);if(Y instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:Y}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((F)=>{if(!GW(F))return F;return Promise.resolve(W.transform(F.value,X)).then((Y)=>({status:$.value,value:Y}))});LT.assertNever(W)}}dJ.create=(T,$,J)=>{return new dJ({schema:T,typeName:x.ZodEffects,effect:$,...zT(J)})};dJ.createWithPreprocess=(T,$,J)=>{return new dJ({schema:$,effect:{type:"preprocess",transform:T},typeName:x.ZodEffects,...zT(J)})};class KJ extends DT{_parse(T){if(this._getType(T)===o.undefined)return i$(void 0);return this._def.innerType._parse(T)}unwrap(){return this._def.innerType}}KJ.create=(T,$)=>{return new KJ({innerType:T,typeName:x.ZodOptional,...zT($)})};class m1 extends DT{_parse(T){if(this._getType(T)===o.null)return i$(null);return this._def.innerType._parse(T)}unwrap(){return this._def.innerType}}m1.create=(T,$)=>{return new m1({innerType:T,typeName:x.ZodNullable,...zT($)})};class hX extends DT{_parse(T){let{ctx:$}=this._processInputParams(T),J=$.data;if($.parsedType===o.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}hX.create=(T,$)=>{return new hX({innerType:T,typeName:x.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...zT($)})};class mX extends DT{_parse(T){let{ctx:$}=this._processInputParams(T),J={...$,common:{...$.common,issues:[]}},W=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(m8(W))return W.then((X)=>{return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new DJ(J.common.issues)},input:J.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new DJ(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}mX.create=(T,$)=>{return new mX({innerType:T,typeName:x.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...zT($)})};class n8 extends DT{_parse(T){if(this._getType(T)!==o.nan){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.nan,received:J.parsedType}),FT}return{status:"valid",value:T.data}}}n8.create=(T)=>{return new n8({typeName:x.ZodNaN,...zT(T)})};var Pj=Symbol("zod_brand");class yF extends DT{_parse(T){let{ctx:$}=this._processInputParams(T),J=$.data;return this._def.type._parse({data:J,path:$.path,parent:$})}unwrap(){return this._def.type}}class i8 extends DT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.common.async)return(async()=>{let X=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(X.status==="aborted")return FT;if(X.status==="dirty")return $.dirty(),fX(X.value);else return this._def.out._parseAsync({data:X.value,path:J.path,parent:J})})();else{let W=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(W.status==="aborted")return FT;if(W.status==="dirty")return $.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:J.path,parent:J})}}static create(T,$){return new i8({in:T,out:$,typeName:x.ZodPipeline})}}class gX extends DT{_parse(T){let $=this._def.innerType._parse(T),J=(W)=>{if(GW(W))W.value=Object.freeze(W.value);return W};return m8($)?$.then((W)=>J(W)):J($)}unwrap(){return this._def.innerType}}gX.create=(T,$)=>{return new gX({innerType:T,typeName:x.ZodReadonly,...zT($)})};var bj={object:$$.lazycreate},x;(function(T){T.ZodString="ZodString",T.ZodNumber="ZodNumber",T.ZodNaN="ZodNaN",T.ZodBigInt="ZodBigInt",T.ZodBoolean="ZodBoolean",T.ZodDate="ZodDate",T.ZodSymbol="ZodSymbol",T.ZodUndefined="ZodUndefined",T.ZodNull="ZodNull",T.ZodAny="ZodAny",T.ZodUnknown="ZodUnknown",T.ZodNever="ZodNever",T.ZodVoid="ZodVoid",T.ZodArray="ZodArray",T.ZodObject="ZodObject",T.ZodUnion="ZodUnion",T.ZodDiscriminatedUnion="ZodDiscriminatedUnion",T.ZodIntersection="ZodIntersection",T.ZodTuple="ZodTuple",T.ZodRecord="ZodRecord",T.ZodMap="ZodMap",T.ZodSet="ZodSet",T.ZodFunction="ZodFunction",T.ZodLazy="ZodLazy",T.ZodLiteral="ZodLiteral",T.ZodEnum="ZodEnum",T.ZodEffects="ZodEffects",T.ZodNativeEnum="ZodNativeEnum",T.ZodOptional="ZodOptional",T.ZodNullable="ZodNullable",T.ZodDefault="ZodDefault",T.ZodCatch="ZodCatch",T.ZodPromise="ZodPromise",T.ZodBranded="ZodBranded",T.ZodPipeline="ZodPipeline",T.ZodReadonly="ZodReadonly"})(x||(x={}));var vj=H1.create,hj=HW.create,mj=n8.create,gj=MW.create,pj=p8.create,uj=kX.create,cj=u8.create,oj=yX.create,dj=IX.create,lj=c8.create,nj=O0.create,ij=M1.create,tj=o8.create,rj=oJ.create,aj=$$.create,sj=$$.strictCreate,ej=jX.create,Tx=kF.create,$x=xX.create,Jx=z1.create,Wx=d8.create,Xx=l8.create,Fx=zW.create,Yx=ZX.create,Gx=PX.create,Hx=bX.create,Mx=U0.create,zx=vX.create,Ax=AW.create,wx=dJ.create,Qx=KJ.create,Ox=m1.create,Ux=dJ.createWithPreprocess,_x=i8.create;function DG(){return{}}function KG(T,$){let J={type:"array"};if(T.type?._def&&T.type?._def?.typeName!==x.ZodAny)J.items=WT(T.type._def,{...$,currentPath:[...$.currentPath,"items"]});if(T.minLength)ET(J,"minItems",T.minLength.value,T.minLength.message,$);if(T.maxLength)ET(J,"maxItems",T.maxLength.value,T.maxLength.message,$);if(T.exactLength)ET(J,"minItems",T.exactLength.value,T.exactLength.message,$),ET(J,"maxItems",T.exactLength.value,T.exactLength.message,$);return J}function SG(T,$){let J={type:"integer",format:"int64"};if(!T.checks)return J;for(let W of T.checks)switch(W.kind){case"min":if($.target==="jsonSchema7")if(W.inclusive)ET(J,"minimum",W.value,W.message,$);else ET(J,"exclusiveMinimum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMinimum=!0;ET(J,"minimum",W.value,W.message,$)}break;case"max":if($.target==="jsonSchema7")if(W.inclusive)ET(J,"maximum",W.value,W.message,$);else ET(J,"exclusiveMaximum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMaximum=!0;ET(J,"maximum",W.value,W.message,$)}break;case"multipleOf":ET(J,"multipleOf",W.value,W.message,$);break}return J}function VG(){return{type:"boolean"}}function t8(T,$){return WT(T.type._def,$)}var EG=(T,$)=>{return WT(T.innerType._def,$)};function IF(T,$,J){let W=J??$.dateStrategy;if(Array.isArray(W))return{anyOf:W.map((X,F)=>IF(T,$,X))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return j_(T,$)}}var j_=(T,$)=>{let J={type:"integer",format:"unix-time"};if($.target==="openApi3")return J;for(let W of T.checks)switch(W.kind){case"min":ET(J,"minimum",W.value,W.message,$);break;case"max":ET(J,"maximum",W.value,W.message,$);break}return J};function RG(T,$){return{...WT(T.innerType._def,$),default:T.defaultValue()}}function LG(T,$){return $.effectStrategy==="input"?WT(T.schema._def,$):{}}function BG(T){return{type:"string",enum:Array.from(T.values)}}var x_=(T)=>{if("type"in T&&T.type==="string")return!1;return"allOf"in T};function fG(T,$){let J=[WT(T.left._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),WT(T.right._def,{...$,currentPath:[...$.currentPath,"allOf","1"]})].filter((F)=>!!F),W=$.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,X=[];return J.forEach((F)=>{if(x_(F)){if(X.push(...F.allOf),F.unevaluatedProperties===void 0)W=void 0}else{let Y=F;if("additionalProperties"in F&&F.additionalProperties===!1){let{additionalProperties:G,...H}=F;Y=H}else W=void 0;X.push(Y)}}),X.length?{allOf:X,...W}:void 0}function NG(T,$){let J=typeof T.value;if(J!=="bigint"&&J!=="number"&&J!=="boolean"&&J!=="string")return{type:Array.isArray(T.value)?"array":"object"};if($.target==="openApi3")return{type:J==="bigint"?"integer":J,enum:[T.value]};return{type:J==="bigint"?"integer":J,const:T.value}}var jF=void 0,kJ={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(jF===void 0)jF=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return jF},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function r8(T,$){let J={type:"string"};if(T.checks)for(let W of T.checks)switch(W.kind){case"min":ET(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,W.value):W.value,W.message,$);break;case"max":ET(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,W.value):W.value,W.message,$);break;case"email":switch($.emailStrategy){case"format:email":yJ(J,"email",W.message,$);break;case"format:idn-email":yJ(J,"idn-email",W.message,$);break;case"pattern:zod":p$(J,kJ.email,W.message,$);break}break;case"url":yJ(J,"uri",W.message,$);break;case"uuid":yJ(J,"uuid",W.message,$);break;case"regex":p$(J,W.regex,W.message,$);break;case"cuid":p$(J,kJ.cuid,W.message,$);break;case"cuid2":p$(J,kJ.cuid2,W.message,$);break;case"startsWith":p$(J,RegExp(`^${xF(W.value,$)}`),W.message,$);break;case"endsWith":p$(J,RegExp(`${xF(W.value,$)}$`),W.message,$);break;case"datetime":yJ(J,"date-time",W.message,$);break;case"date":yJ(J,"date",W.message,$);break;case"time":yJ(J,"time",W.message,$);break;case"duration":yJ(J,"duration",W.message,$);break;case"length":ET(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,W.value):W.value,W.message,$),ET(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,W.value):W.value,W.message,$);break;case"includes":{p$(J,RegExp(xF(W.value,$)),W.message,$);break}case"ip":{if(W.version!=="v6")yJ(J,"ipv4",W.message,$);if(W.version!=="v4")yJ(J,"ipv6",W.message,$);break}case"base64url":p$(J,kJ.base64url,W.message,$);break;case"jwt":p$(J,kJ.jwt,W.message,$);break;case"cidr":{if(W.version!=="v6")p$(J,kJ.ipv4Cidr,W.message,$);if(W.version!=="v4")p$(J,kJ.ipv6Cidr,W.message,$);break}case"emoji":p$(J,kJ.emoji(),W.message,$);break;case"ulid":{p$(J,kJ.ulid,W.message,$);break}case"base64":{switch($.base64Strategy){case"format:binary":{yJ(J,"binary",W.message,$);break}case"contentEncoding:base64":{ET(J,"contentEncoding","base64",W.message,$);break}case"pattern:zod":{p$(J,kJ.base64,W.message,$);break}}break}case"nanoid":p$(J,kJ.nanoid,W.message,$);case"toLowerCase":case"toUpperCase":case"trim":break;default:((X)=>{})(W)}return J}function xF(T,$){return $.patternStrategy==="escape"?b_(T):T}var P_=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function b_(T){let $="";for(let J=0;J<T.length;J++){if(!P_.has(T[J]))$+="\\";$+=T[J]}return $}function yJ(T,$,J,W){if(T.format||T.anyOf?.some((X)=>X.format)){if(!T.anyOf)T.anyOf=[];if(T.format){if(T.anyOf.push({format:T.format,...T.errorMessage&&W.errorMessages&&{errorMessage:{format:T.errorMessage.format}}}),delete T.format,T.errorMessage){if(delete T.errorMessage.format,Object.keys(T.errorMessage).length===0)delete T.errorMessage}}T.anyOf.push({format:$,...J&&W.errorMessages&&{errorMessage:{format:J}}})}else ET(T,"format",$,J,W)}function p$(T,$,J,W){if(T.pattern||T.allOf?.some((X)=>X.pattern)){if(!T.allOf)T.allOf=[];if(T.pattern){if(T.allOf.push({pattern:T.pattern,...T.errorMessage&&W.errorMessages&&{errorMessage:{pattern:T.errorMessage.pattern}}}),delete T.pattern,T.errorMessage){if(delete T.errorMessage.pattern,Object.keys(T.errorMessage).length===0)delete T.errorMessage}}T.allOf.push({pattern:CG($,W),...J&&W.errorMessages&&{errorMessage:{pattern:J}}})}else ET(T,"pattern",CG($,W),J,W)}function CG(T,$){if(!$.applyRegexFlags||!T.flags)return T.source;let J={i:T.flags.includes("i"),m:T.flags.includes("m"),s:T.flags.includes("s")},W=J.i?T.source.toLowerCase():T.source,X="",F=!1,Y=!1,G=!1;for(let H=0;H<W.length;H++){if(F){X+=W[H],F=!1;continue}if(J.i){if(Y){if(W[H].match(/[a-z]/)){if(G)X+=W[H],X+=`${W[H-2]}-${W[H]}`.toUpperCase(),G=!1;else if(W[H+1]==="-"&&W[H+2]?.match(/[a-z]/))X+=W[H],G=!0;else X+=`${W[H]}${W[H].toUpperCase()}`;continue}}else if(W[H].match(/[a-z]/)){X+=`[${W[H]}${W[H].toUpperCase()}]`;continue}}if(J.m){if(W[H]==="^"){X+=`(^|(?<=[\r
|
|
15
|
+
${w.trace}`:`No previous disposal trace for ${G} was found.`),J}let M=T.moleculeGraph.getRelationEntries({downstreamMoleculeKey:F.stringKey}).filter(([,{source:w}])=>w!==X).map(([w])=>E$(w));if(W)Y.moleculeGraph.delete(X);Y.moleculeGraph.set({upstreamMoleculeKey:H.stringKey,downstreamMoleculeKey:F.stringKey},{source:H.stringKey});let A={type:"molecule_transfer",key:F.key,from:M,to:[H.key]};if(yT(Y)&&Y.transactionMeta.phase==="building")Y.transactionMeta.update.updates.push(A);return J}function HY(T,$,J){switch($){case"newValue":{q7(T,J);break}case"oldValue":{w0(J,T.token);break}}}function MY(T,$,J){switch($){case"newValue":{w0(J,T.token);break}case"oldValue":{if(q7(T,J),T.subType==="atom")J.valueMap.set(T.token.key,T.value);break}}}function q7(T,$){let{family:J}=T.token;if(J){let W=$.families.get(J.key);if(W)JT($,W,E$(J.subKey))}}function k7(T,$,J){switch($){case"newValue":M0(J,T.provenance,T.key);break;case"oldValue":A0(J,T.key);break}}function y7(T,$,J){switch($){case"newValue":A0(J,T.key);break;case"oldValue":{let W=T.provenance.map(E$);M0(J,W,T.key);for(let[X,Y]of T.values){let F=J.families.get(X);if(F){JT(J,F,T.key);let G=`${X}(${_T(T.key)})`;J.valueMap.set(G,Y)}}}break}}function I7(T,$,J){switch($){case"newValue":{let W=T.to.length===1?T.to[0]:T.to;TW(J,W,T.key,"exclusive")}break;case"oldValue":{let W=T.from.length===1?T.from[0]:T.from;TW(J,W,T.key,"exclusive")}break}}function P8(T,$,J){let W=T==="newValue"?$.updates:[...$.updates].reverse();for(let X of W)switch(X.type){case"atom_update":case"selector_update":x8(T,X,J);break;case"state_creation":HY(X,T,J);break;case"state_disposal":MY(X,T,J);break;case"molecule_creation":k7(X,T,J);break;case"molecule_disposal":y7(X,T,J);break;case"molecule_transfer":I7(X,T,J);break;case"transaction_update":P8(T,X,J);break}}function AY(T,$){return T.transactionMeta.actionContinuities.getRelatedKey($)}function Y_(T,$){return T.transactionMeta.epoch.get($)}function j7(T,$){if(!N$(T))return;let W=AY(T,$);if(W===void 0)return;return Y_(T,W)}function x7(T,$,J){if(N$(T)&&$)T.transactionMeta.epoch.set($,J)}function P7(T,$,J){if(!N$(T))return;let X=AY(T,$);if(X!==void 0)T.transactionMeta.epoch.set(X,J)}var b7=(T,$)=>{let J=m($),{parent:W}=J;if(W===null||!yT(J)||J.transactionMeta?.phase!=="building"){$.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}J.transactionMeta.phase="applying",J.transactionMeta.update.output=T,W.child=null,W.on.transactionApplying.next(J.transactionMeta);let{updates:X}=J.transactionMeta.update;if($.logger.info("\uD83D\uDEC4","transaction",J.transactionMeta.update.key,`Applying transaction with ${X.length} updates:`,X),P8("newValue",J.transactionMeta.update,W),N$(W))P7(W,J.transactionMeta.update.key,J.transactionMeta.update.epoch),fT($,{key:J.transactionMeta.update.key,type:"transaction"})?.subject.next(J.transactionMeta.update),$.logger.info("\uD83D\uDEEC","transaction",J.transactionMeta.update.key,"Finished applying transaction.");else if(yT(W))W.transactionMeta.update.updates.push(J.transactionMeta.update);W.on.transactionApplying.next(null)};function v7(T,$,J){if(!N$(T))return;let{epoch:X,actionContinuities:Y}=T.transactionMeta;if(Y.set($,J),!X.has($))X.set($,-1)}function h7(T){return{store:T}}function ZT(T,...$){let J,W,X;if($.length===1)J=$[0];else W=$[0],X=$[1],J=JT(T,W,X);if("counterfeit"in J&&"family"in J){W=T.families.get(J.family.key);let Y=J.family.subKey,F=T.disposalTraces.buffer.find((G)=>G?.key===Y);switch(T.logger.error("\u274C",J.type,J.key,`could not be retrieved because it was not found in the store "${T.config.name}".`,F?`This state was previously disposed:
|
|
16
|
+
${F.trace}`:"No previous disposal trace was found."),W.type){case"atom_family":case"mutable_atom_family":return T.defaults.get(W.key);case"selector_family":case"readonly_selector_family":{if(T.defaults.has(W.key))return T.defaults.get(J.family.key);let G=fT(T,W).default(Y);return T.defaults.set(W.key,G),G}}}return b1(T,fT(T,J))}class z${a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(T,$)=>`${T}:${$}`;warn;getRelatedKeys(T){return this.relations.get(T)}addRelation(T,$){let J=this.relations.get(T),W=this.relations.get($);if(J)J.add($);else J=new Set([$]),this.relations.set(T,J);if(W)W.add(T);else W=new Set([T]),this.relations.set($,W)}deleteRelation(T,$){let J=this.relations.get(T);if(J){if(J.delete($),J.size===0)this.relations.delete(T);let W=this.relations.get($);if(W){if(W.delete(T),W.size===0)this.relations.delete($)}}}replaceRelationsUnsafely(T,$){this.relations.set(T,new Set($));for(let J of $){let W=new Set().add(T);this.relations.set(J,W)}}replaceRelationsSafely(T,$){let J=this.relations.get(T),W=this.isAType?.(T)?T:void 0,X=W===void 0?T:void 0;if(J)for(let Y of J){W??=Y,X??=Y;let F=this.relations.get(Y);if(F){if(F.size===1)this.relations.delete(Y);else F.delete(T);this.contents.delete(this.makeContentKey(W,X))}}this.relations.set(T,new Set($));for(let Y of $){let F=this.relations.get(Y);if(F)F.add(T);else F=new Set().add(T),this.relations.set(Y,F)}}getContentInternal(T){return this.contents.get(T)}setContent(T,$){this.contents.set(T,$)}deleteContent(T){this.contents.delete(T)}constructor(T,$){if(this.a=T.between[0],this.b=T.between[1],this.cardinality=T.cardinality,!$?.externalStore)this.relations=new Map(T.relations?.map(([J,W])=>[J,new Set(W)])),this.contents=new Map(T.contents);if(this.isAType=$?.isAType??null,this.isBType=$?.isBType??null,this.isContent=$?.isContent??null,$?.makeContentKey)this.makeContentKey=$.makeContentKey;if($?.externalStore){let J=$.externalStore;if(this.has=(W,X)=>J.has(W,X),this.addRelation=(W,X)=>{J.addRelation(W,X)},this.deleteRelation=(W,X)=>{J.deleteRelation(W,X)},this.replaceRelationsSafely=(W,X)=>{J.replaceRelationsSafely(W,X)},this.replaceRelationsUnsafely=(W,X)=>{J.replaceRelationsUnsafely(W,X)},this.getRelatedKeys=(W)=>J.getRelatedKeys(W),J.getContent)this.getContentInternal=(W)=>{return J.getContent(W)},this.setContent=(W,X)=>{J.setContent(W,X)},this.deleteContent=(W)=>{J.deleteContent(W)};for(let[W,X]of T.relations??[]){let Y=this.isAType?.(W)?W:void 0,F=Y===void 0?W:void 0;for(let G of X)Y??=G,F??=G,this.addRelation(Y,F)}for(let[W,X]of T.contents??[])this.setContent(W,X)}if($?.warn)this.warn=$.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([T,$])=>[T,[...$]]),contents:[...this.contents.entries()]}}set(...T){let $,J,W;switch(T.length){case 1:{let X=T[0];$=X[this.a],J=X[this.b],W=void 0;break}case 2:{let X=T[0];if(typeof X==="string")[$,J]=T;else $=X[this.a],J=X[this.b],W=T[1];break}default:{$=T[0],J=T[1],W=T[2];break}}switch(this.cardinality){case"1:1":{let X=this.getRelatedKey($);if(X&&X!==J)this.delete($,X)}case"1:n":{let X=this.getRelatedKey(J);if(X&&X!==$)this.delete(X,J)}break;case"n:n":}if(W){let X=this.makeContentKey($,J);this.setContent(X,W)}return this.addRelation($,J),this}delete(T,$){$=typeof $==="string"?$:T[this.b];let J=typeof T==="string"?T:T[this.a];if(J===void 0&&typeof $==="string"){let W=this.getRelatedKeys($);if(W)for(let X of W)this.delete(X,$)}if(typeof J==="string"&&$===void 0){let W=this.getRelatedKeys(J);if(W)for(let X of W)this.delete(J,X)}if(typeof J==="string"&&typeof $==="string"){this.deleteRelation(J,$);let W=this.makeContentKey(J,$);this.deleteContent(W)}return this}getRelatedKey(T){let $=this.getRelatedKeys(T);if($){if($.size>1)this.warn?.(`${$.size} related keys were found for key "${T}": (${[...$].map((W)=>`"${W}"`).join(", ")}). Only one related key was expected.`);let J;for(let W of $){J=W;break}return J}}replaceRelations(T,$,J){let W=!Array.isArray($),X=W?Object.keys($):$;if(J?.reckless)this.replaceRelationsUnsafely(T,X);else this.replaceRelationsSafely(T,X);if(W)for(let Y of X){let F=this.makeContentKey(T,Y),G=$[Y];this.setContent(F,G)}return this}getContent(T,$){let J=this.makeContentKey(T,$);return this.getContentInternal(J)}getRelationEntries(T){let $=T[this.a],J=T[this.b];if($!==void 0&&J===void 0){let W=this.getRelatedKeys($);if(W)return[...W].map((X)=>{return[X,this.getContent($,X)]})}if($===void 0&&J!==void 0){let W=this.getRelatedKeys(J);if(W)return[...W].map((X)=>{return[X,this.getContent(X,J)]})}return[]}has(T,$){if($)return this.getRelatedKeys(T)?.has($)??!1;return this.relations.has(T)}}class UJ extends Map{deleted=new Set;source;constructor(T){super();this.source=T}get(T){if(super.has(T))return super.get(T);if(!this.deleted.has(T)&&this.source.has(T))return this.source.get(T);return}set(T,$){return this.deleted.delete(T),super.set(T,$)}hasOwn(T){return super.has(T)}has(T){return!this.deleted.has(T)&&(super.has(T)||this.source.has(T))}delete(T){return this.deleted.add(T),super.delete(T)}}var g7=(T,$,J,W)=>{let X=m(T),Y={parent:X,child:null,on:X.on,loggers:X.loggers,logger:X.logger,config:X.config,atoms:new UJ(X.atoms),atomsThatAreDefault:new Set(X.atomsThatAreDefault),families:new UJ(X.families),joins:new UJ(X.joins),operation:{open:!1},readonlySelectors:new UJ(X.readonlySelectors),timelines:new UJ(X.timelines),timelineTopics:new z$(X.timelineTopics.toJSON()),trackers:new Map,transactions:new UJ(X.transactions),selectorAtoms:new z$(X.selectorAtoms.toJSON()),selectorGraph:new z$(X.selectorGraph.toJSON(),{makeContentKey:(...M)=>M.sort().join(":")}),selectors:new UJ(X.selectors),valueMap:new UJ(X.valueMap),defaults:X.defaults,disposalTraces:T.disposalTraces.copy(),molecules:new UJ(X.molecules),moleculeGraph:new z$(X.moleculeGraph.toJSON(),{makeContentKey:X.moleculeGraph.makeContentKey}),moleculeData:new z$(X.moleculeData.toJSON(),{makeContentKey:X.moleculeData.makeContentKey}),moleculeJoins:new z$(X.moleculeJoins.toJSON(),{makeContentKey:X.moleculeJoins.makeContentKey}),miscResources:new UJ(X.miscResources)},F=j7(T,$),G={phase:"building",update:{type:"transaction_update",key:$,id:W,epoch:F===void 0?Number.NaN:F+1,updates:[],params:J,output:void 0},toolkit:{get:(...M)=>ZT(H,...M),set:(...M)=>{W$(H,...M)},run:(M,A=N8())=>$W(H,M,A),find:(...M)=>JT(T,...M),json:(M)=>A$(H,M),dispose:(...M)=>{w0(H,...M)},env:()=>h7(H)}},H=Object.assign(Y,{transactionMeta:G});return X.child=H,T.logger.info("\uD83D\uDEEB","transaction",$,"Building transaction with params:",J),H};function zY(T,$){let J={key:$.key,type:"transaction",run:(Y,F)=>{let G=g7(T,$.key,Y,F);try{let H=m(T),{toolkit:M}=G.transactionMeta,A=$.do(M,...Y);return b7(A,H),A}catch(H){throw _7(W),T.logger.warn("\uD83D\uDCA5","transaction",$.key,"caught:",H),H}},install:(Y)=>zY(Y,$),subject:new QT},W=m(T);W.transactions.set(J.key,J);let X=n$(J);return T.on.transactionCreation.next(X),X}function SX(T){return zY(DT.STORE,T)}class m7{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new z$({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new z$({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new z$({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new z$({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new Z8(100);molecules=new Map;moleculeJoins=new z$({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeGraph=new z$({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeData=new z$({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});miscResources=new Map;on={atomCreation:new QT,atomDisposal:new QT,selectorCreation:new QT,selectorDisposal:new QT,timelineCreation:new QT,transactionCreation:new QT,transactionApplying:new JY(null),operationClose:new QT,moleculeCreation:new QT,moleculeDisposal:new QT};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new YY("warn",(T,$,J)=>!v1(J))];logger={error:(...T)=>{for(let $ of this.loggers)$.error(...T)},info:(...T)=>{for(let $ of this.loggers)$.info(...T)},warn:(...T)=>{for(let $ of this.loggers)$.warn(...T)}};constructor(T,$=null){if(this.config={...$?.config,...T},$!==null){if(this.valueMap=new Map($?.valueMap),this.operation={...$?.operation},N$($))this.transactionMeta={epoch:new Map($?.transactionMeta.epoch),actionContinuities:new z$($?.transactionMeta.actionContinuities.toJSON())};for(let[,W]of $.families){if(W.internalRoles?.includes("mutable")||W.internalRoles?.includes("join"))continue;W.install(this)}let J=new Set;for(let[,W]of $.atoms){if(J.has(W.key))continue;if(W.install(this),W.type==="mutable_atom"){let X=A$($,W),Y=G1(W);J.add(X.key),J.add(Y.key)}}for(let[,W]of $.readonlySelectors)W.install(this);for(let[,W]of $.selectors){if(J.has(W.key))continue;W.install(this)}for(let[,W]of $.transactions)W.install(this);for(let[,W]of $.timelines)W.install(this)}}}var DT={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new m7({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function fT(T,$){let J,W=T;while(W!==null){switch($.type){case"atom":case"mutable_atom":J=W.atoms.get($.key);break;case"selector":J=W.selectors.get($.key);break;case"readonly_selector":J=W.readonlySelectors.get($.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":J=W.families.get($.key);break;case"timeline":J=W.timelines.get($.key);break;case"transaction":J=W.transactions.get($.key);break}if(J)return J;W=W.child}throw new z0($,T)}function p7(T,$,J){let W=T.families.get($.key);if(W===void 0)throw new z0($,T);let X=W(J),Y=m(T);if(X.family){if(N$(Y))switch(X.type){case"atom":case"mutable_atom":T.on.atomCreation.next(X);break;case"selector":case"readonly_selector":T.on.selectorCreation.next(X);break}else if(yT(Y)&&Y.on.transactionApplying.state===null)Y.transactionMeta.update.updates.push({type:"state_creation",token:X})}return X}function u7(T,$,J){let W=_T(J),X=`${$.key}(${W})`,Y=m(T),F;switch($.type){case"atom_family":case"mutable_atom_family":F=Y.atoms.get(X);break;case"selector_family":F=Y.selectors.get(X);break;case"readonly_selector_family":F=Y.readonlySelectors.get(X);break}if(F)return n$(F);return F}function JT(T,$,J){let W=u7(T,$,J);if(W)return W;let X=_T(J),Y=T.molecules.get(X);if(!Y&&T.config.lifespan==="immortal"){let F=H7($,J);return T.logger.error("\u274C",F.type,F.key,`was not found in store "${T.config.name}"; returned a counterfeit token.`),F}if(W=p7(T,$,J),Y)m(T).moleculeData.set(X,$.key);return W}function w0(T,...$){let J;if($.length===1)J=$[0];else{let W=$[0],X=$[1];J=JT(T,W,X)}try{fT(T,J)}catch(W){T.logger.error("\u274C",J.type,J.key,`could not be disposed because it was not found in the store "${T.config.name}".`);return}switch(J.type){case"atom":case"mutable_atom":wY(T,J);break;case"selector":case"readonly_selector":c7(T,J);break}}var b8=(T,$)=>m(T).atoms.has($),F_=(T,$)=>m(T).selectors.has($),G_=(T,$)=>m(T).readonlySelectors.has($),o7=(T,$)=>b8(T,$)||F_(T,$)||G_(T,$);var v8=(T,$)=>{return m($).selectorGraph.getRelationEntries({downstreamSelectorKey:T}).filter(([W,{source:X}])=>X!==T).map(([W,{source:X}])=>X).filter((W)=>o7($,W))};var QY=(T,$,J)=>{let W=[],X=v8(T,J);while(X.length>0){let Y=X.shift();if($.has(Y))continue;if($.add(Y),!b8(J,Y))X.push(...v8(Y,J));else if(!W.includes(Y))W.push(Y)}return W},d7=(T,$)=>{let J=T.key,W=v8(J,$),X=new Set;return W.flatMap((Y)=>b8($,Y)?Y:QY(Y,X,$))};var l7=(T,$,J,W)=>{let X=m(W);if($.type==="atom"||$.type==="mutable_atom")X.selectorAtoms.set({selectorKey:T,atomKey:$.key}),W.logger.info("\uD83D\uDD0D","selector",T,`discovers root atom "${$.key}"`);else{let Y=QY($.key,J,W);W.logger.info("\uD83D\uDD0D","selector",T,`discovers root atoms: [ ${Y.map((F)=>`"${F}"`).join(", ")} ]`);for(let F of Y)X.selectorAtoms=X.selectorAtoms.set({selectorKey:T,atomKey:F})}J.add($.key)};var h8=(T,$,J)=>({get:(...W)=>{let X=m(J),Y;if(W.length===2){let[H,M]=W;Y=JT(J,H,M)}else[Y]=W;let F=fT(J,Y),G=b1(J,F);return J.logger.info("\uD83D\uDD0C","selector",T,`registers dependency ( "${Y.key}" =`,G,")"),X.selectorGraph.set({upstreamSelectorKey:Y.key,downstreamSelectorKey:T},{source:Y.key}),l7(T,Y,$,J),G},set:(...W)=>{let X,Y;if(W.length===2)X=W[0],Y=W[1];else{let H=W[0],M=W[1];Y=W[2],X=JT(J,H,M)}let F=m(J),G=fT(F,X);j8(F,G,Y)},find:(...W)=>JT(J,...W),json:(W)=>A$(J,W)});var UX=(T,$,J)=>{let W=m(T),X=new QT,Y=new Set,{get:F,find:G,json:H}=h8($.key,Y,W),M=()=>{let _=$.get({get:F,find:G,json:H});return OJ(m(T),$.key,_,X),Y.clear(),_},A={...$,subject:X,install:(_)=>UX(_,$,J),get:M,type:"readonly_selector",...J&&{family:J}};W.readonlySelectors.set($.key,A);let z=M();T.logger.info("\u2728",A.type,A.key,"=",z);let w={key:$.key,type:"readonly_selector"};if(J)w.family=J;return w};var RX=(T,$,J)=>{let W=m(T),X=new QT,Y=new Set,F=h8($.key,Y,W),{find:G,get:H,json:M}=F,A={find:G,get:H,json:M},z=(Z=$.get,q=m(T))=>{let N=Z(A);return OJ(q,$.key,N,X),Y.clear(),N},_={...$,subject:X,install:(Z)=>RX(Z,$,J),get:z,set:(Z)=>{let q=m(T),N=z($.get,q),y=I8(Z)(N);if(T.logger.info("\uD83D\uDCDD","selector",$.key,"set (",N,"->",y,")"),OJ(q,$.key,y,X),JW(q,$.key),N$(q))X.next({newValue:y,oldValue:N});$.set(F,y)},type:"selector",...J&&{family:J}};W.selectors.set($.key,_);let K=z();T.logger.info("\u2728",_.type,_.key,"=",K);let V={key:$.key,type:"selector"};if(J)V.family=J;return V};function X1(T,$){if("set"in $){let X=RX(T,$,void 0);return T.on.selectorCreation.next(X),X}let W=UX(T,$,void 0);return T.on.selectorCreation.next(W),W}function c7(T,$){let J=m(T),{key:W}=$,X=fT(J,$);if(!X.family)T.logger.error("\u274C","selector",W,"Standalone selectors cannot be disposed.");else{if(J.molecules.get(X.family.subKey))J.moleculeData.delete(X.family.subKey,X.family.key);let F;switch($.type){case"selector":J.selectors.delete(W),F={key:X.family.key,type:"selector_family"},fT(T,F).subject.next({type:"state_disposal",subType:"selector",token:$});break;case"readonly_selector":J.readonlySelectors.delete(W),F={key:X.family.key,type:"readonly_selector_family"},fT(T,F).subject.next({type:"state_disposal",subType:"selector",token:$});break}if(J.valueMap.delete(W),J.selectorAtoms.delete(W),J.selectorGraph.delete(W),T.logger.info("\uD83D\uDD25",$.type,W,"deleted"),yT(J)&&J.transactionMeta.phase==="building")J.transactionMeta.update.updates.push({type:"state_disposal",subType:"selector",token:$});else T.on.selectorDisposal.next($)}}function _X(T,$,J){let W={key:$.key,type:"selector_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","selector_family",$.key,`Overwriting an existing ${oJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Y=new QT,G=Object.assign((H)=>{let M=_T(H),A={key:$.key,subKey:M},z=`${$.key}(${M})`,w=m(T),_=RX(w,{key:z,get:$.get(H),set:$.set(H)},A);return Y.next({type:"state_creation",token:_}),_},W,{internalRoles:J,subject:Y,install:(H)=>_X(H,$),default:(H)=>{return $.get(H)({get:(...A)=>ZT(T,...A),find:(...A)=>JT(T,...A),json:(A)=>A$(T,A)})}});return T.families.set($.key,G),W}function n7(T,$,J){return _X(T,{key:`${$.key}:JSON`,get:(X)=>({get:Y})=>{let F=Y($,X);return J.toJson(F)},set:(X)=>({set:Y},F)=>{Y($,X,J.fromJson(F))}},["mutable","json"])}var E$=(T)=>JSON.parse(T),_T=(T)=>JSON.stringify(T),CZ=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var i7=(T,$)=>{let J=m(T);if(J.operation.open)return J.operation.prev.get($.key);return J.valueMap.get($.key)};var _Y=(T,$)=>{let J=m(T);return d7($,T).map((X)=>{let Y=J.atoms.get(X);if(Y===void 0)throw new Error(`Atom "${X}", a dependency of selector "${$.key}", not found in store "${T.config.name}".`);return Y.subject.subscribe(`${$.type}:${$.key}`,(F)=>{T.logger.info("\uD83D\uDCE2",$.type,$.key,"root",X,"went",F.oldValue,"->",F.newValue);let G=i7(J,$),H=b1(J,$);T.logger.info("\u2728",$.type,$.key,"went",G,"->",H),$.subject.next({newValue:H,oldValue:G})})})};function j$(T,$,J,W){function X(z){if(T.operation.open){let w=T.on.operationClose.subscribe(`state subscription ${J}`,()=>{w(),W(z)})}else W(z)}let Y=fT(T,$);T.logger.info("\uD83D\uDC40",Y.type,Y.key,`Adding subscription "${J}"`);let F=Y.type==="selector"||Y.type==="readonly_selector",G=null,H=X;if(F)G=_Y(T,Y),H=(z)=>{if(G)G.length=0,G.push(..._Y(T,Y));X(z)};let M=Y.subject.subscribe(J,H);return()=>{if(T.logger.info("\uD83D\uDE48",Y.type,Y.key,`Removing subscription "${J}"`),M(),G)for(let z of G)z()}}var OY=(T,$,J,W)=>{let X=fT(T,$);T.logger.info("\uD83D\uDC40","timeline",$.key,`Adding subscription "${J}"`);let Y=X.subject.subscribe(J,W);return()=>{T.logger.info("\uD83D\uDE48","timeline",$.key,`Removing subscription "${J}" from timeline`),Y()}};var UY=(T,$,J,W)=>{let X=fT(T,$);T.logger.info("\uD83D\uDC40","transaction",$.key,`Adding subscription "${J}"`);let Y=X.subject.subscribe(J,W);return()=>{T.logger.info("\uD83D\uDE48","transaction",$.key,`Removing subscription "${J}"`),Y()}};class Q0{Update;initializeState(T,$){let J=`*${T.key}`;$.atoms.delete(J),$.valueMap.delete(J);let W=T.family?{key:`*${T.family.key}`,subKey:T.family.subKey}:void 0,X=XJ($,{key:J,default:null},W);if($.parent?.valueMap.has(J)){let Y=$.parent.valueMap.get(J);$.valueMap.set(J,Y)}return X}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(T,$,J){let W=`tracker:${J.config.name}:${yT(J)?J.transactionMeta.update.key:"main"}:${T.key}`,X=ZT(J,T);this.unsubscribeFromInnerValue=X.subscribe(W,(Y)=>{W$(J,$,Y)}),this.unsubscribeFromState=j$(J,T,W,(Y)=>{if(Y.newValue!==Y.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=Y.newValue.subscribe(W,(F)=>{W$(J,$,F)})})}updateCore(T,$,J){let W=`tracker:${J.config.name}:${yT(J)?J.transactionMeta.update.key:"main"}:${T.key}`;j$(J,$,W,({newValue:X,oldValue:Y})=>{let F=J.timelineTopics.getRelatedKey($.key);if(F){if(J.timelines.get(F)?.timeTraveling){let M=OY(J,{key:F,type:"timeline"},W,(A)=>{M(),W$(J,T,(z)=>{if(A==="redo"&&X)z.do(X);else if(A==="undo"&&Y)z.undo(Y);return z})});return}}let G=J.on.operationClose.subscribe(W,()=>{G();let H=ZT(J,T),M=X===null?-1:H.getUpdateNumber(X),A=M-H.cacheUpdateNumber;if(X&&A===1)W$(J,T,(z)=>(z.do(X),z));else J.logger.info("\u274C","mutable_atom",T.key,`could not be updated. Expected update number ${H.cacheUpdateNumber+1}, but got ${M}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(T,$){this.mutableState=T;let J=m($);this.latestUpdateState=this.initializeState(T,J),this.observeCore(T,this.latestUpdateState,J),this.updateCore(T,this.latestUpdateState,J),J.trackers.set(T.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),J.trackers.delete(T.key)}}}function EX(T,$,J){T.logger.info("\uD83D\uDD28","atom",$.key,`creating in store "${T.config.name}"`);let W=m(T),X=W.atoms.get($.key);if(X&&X.type==="mutable_atom")return T.logger.error("\u274C","atom",$.key,"Tried to create atom, but it already exists in the store."),n$(X);let Y=new QT,F={...$,type:"mutable_atom",install:(M)=>{return M.logger.info("\uD83D\uDEE0\uFE0F","atom",$.key,`installing in store "${M.config.name}"`),EX(M,$,J)},subject:Y};if(J)F.family=J;let G=$.default();W.atoms.set(F.key,F),g8(T,$.key),OJ(W,$.key,G,Y);let H=n$(F);if($.effects){let M=0,A=[];for(let z of $.effects){let w=z({setSelf:(_)=>{W$(T,H,_)},onSet:(_)=>j$(T,H,`effect[${M}]`,_)});if(w)A.push(w);++M}F.cleanup=()=>{for(let z of A)z()}}if(new Q0(H,T),!J)F7(H,$,T);return H}class KY{trackers=new Map;Update;latestUpdateAtoms;mutableAtoms;constructor(T,$){let J=Y1($,{key:`*${T.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=fT($,J),this.mutableAtoms=T,this.mutableAtoms.subject.subscribe(`store=${$.config.name}::tracker-atom-family`,(W)=>{let{type:X,token:Y}=W;if(Y.family){let F=E$(Y.family.subKey);switch(X){case"state_creation":this.trackers.set(F,new Q0(Y,$));break;case"state_disposal":{let G=this.trackers.get(F);if(G)G[Symbol.dispose](),this.trackers.delete(F)}break}}})}}function OX(T,$,J){let W={key:$.key,type:"mutable_atom_family"},X=T.families.get($.key);if(X)T.logger.error("\u2757","mutable_atom_family",$.key,`Overwriting an existing ${oJ(X)} "${X.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Y=new QT,G=Object.assign((H)=>{let M=_T(H),A={key:$.key,subKey:M},z=`${$.key}(${M})`,w=m(T),_={key:z,default:()=>$.default(H),toJson:$.toJson,fromJson:$.fromJson,mutable:!0};if($.effects)_.effects=$.effects(H);let K=EX(w,_,A);return Y.next({type:"state_creation",token:K}),K},W,{subject:Y,install:(H)=>OX(H,$),toJson:$.toJson,fromJson:$.fromJson,internalRoles:J});return T.families.set($.key,G),n7(T,G,$),new KY(G,T),W}var DY=(T,$)=>{let J=m($),W=`${T.key}:JSON`;return J.families.get(W)};var A$=(T,$)=>{if($.family){let W=m(T),Y={key:`${$.family.key}:JSON`,type:"selector_family"},F=fT(W,Y),G=JSON.parse($.family.subKey);return JT(T,F,G)}return{type:"selector",key:`${$.key}:JSON`}};var G1=(T)=>{let J={type:"atom",key:`*${T.key}`};if(T.family)J.family={key:`*${T.family.key}`,subKey:T.family.subKey};return J};function B7(T){return typeof T==="object"&&T!==null&&"do"in T&&"undo"in T&&"subscribe"in T}function VX(T,$,J){let W=J.valueMap.get($.key),X=T.valueMap.get($.key);if(W!==X)return X;if(W===void 0)return $.default();J.logger.info("\uD83D\uDCC3","atom",$.key,"copying");let Y=$.toJson(W),F=$.fromJson(Y);return T.valueMap.set($.key,F),new Q0($,J),F}function OJ(T,$,J,W){let X=T.valueMap.get($);if(X instanceof QX)X.use(J);if(J instanceof Promise){let Y=new QX(J);return T.valueMap.set($,Y),Y.then((F)=>{OJ(T,$,F,W),W.next({newValue:F,oldValue:Y})}).catch((F)=>{T.logger.error("\uD83D\uDCA5","state",$,"rejected:",F)}),Y}return T.valueMap.set($,J),J}var K7=(T,$)=>{let J=$.valueMap.get(T.key);if(T.type==="mutable_atom"&&yT($)){let{parent:W}=$;J=VX($,T,W)}return J},E7=(T,$)=>{let J=$.valueMap.get(T);if(J instanceof QX){let W=J,X=$.selectors.get(T)??$.readonlySelectors.get(T);if(X)W.use(X.get());return}if($.operation.open)$.operation.prev.set(T,J);$.valueMap.delete(T),$.logger.info("\uD83D\uDDD1","state",T,"evicted")};var f7=(T,$)=>{return m(T).atomsThatAreDefault.has($)},g8=(T,$)=>{let J=m(T);J.atomsThatAreDefault=new Set(J.atomsThatAreDefault).add($)},N7=(T,$)=>{let J=m(T);J.atomsThatAreDefault=new Set(m(T).atomsThatAreDefault),J.atomsThatAreDefault.delete($)};function XJ(T,$,J){T.logger.info("\uD83D\uDD28","atom",$.key,`creating in store "${T.config.name}"`);let W=m(T),X=W.atoms.get($.key);if(X&&X.type==="atom")return T.logger.error("\u274C","atom",$.key,"Tried to create atom, but it already exists in the store."),n$(X);let Y=new QT,F={...$,type:"atom",install:(M)=>{return M.logger.info("\uD83D\uDEE0\uFE0F","atom",$.key,`installing in store "${M.config.name}"`),XJ(M,$,J)},subject:Y};if(J)F.family=J;let G=$.default;if($.default instanceof Function)G=$.default();W.atoms.set(F.key,F),g8(T,$.key),OJ(W,$.key,G,Y);let H=n$(F);if($.effects){let M=0,A=[];for(let z of $.effects){let w=z({setSelf:(_)=>{W$(T,H,_)},onSet:(_)=>j$(T,H,`effect[${M}]`,_)});if(w)A.push(w);++M}F.cleanup=()=>{for(let z of A)z()}}return H}function M7(T,$){if("mutable"in $){let X=EX(T,$,void 0);return T.on.atomCreation.next(X),X}let W=XJ(T,$,void 0);return T.on.atomCreation.next(W),W}function wY(T,$){let J=m(T),{key:W,family:X}=$,Y=fT(J,$);if(!X)T.logger.error("\u274C","atom",W,"Standalone atoms cannot be disposed.");else{Y.cleanup?.();let F=T.valueMap.get(Y.key),G=fT(T,{key:X.key,type:"atom_family"}),H={type:"state_disposal",subType:"atom",token:$,value:F};G.subject.next(H);let M=yT(J);if(J.atoms.delete(W),J.valueMap.delete(W),J.selectorAtoms.delete(W),J.atomsThatAreDefault.delete(W),T.timelineTopics.delete(W),$.type==="mutable_atom"){let A=G1($);wY(T,A),T.trackers.delete(W)}if(T.logger.info("\uD83D\uDD25","atom",W,"deleted"),M&&J.transactionMeta.phase==="building"){let A=J.transactionMeta.update.updates.at(-1);if(!(A?.type==="molecule_disposal"&&A.values.some(([_])=>_===Y.family?.key)))J.transactionMeta.update.updates.push(H)}else T.on.atomDisposal.next($)}}class w$ extends Set{mode="record";subject=new QT;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(T,$=0){super(T);if(T instanceof w$)this.parent=T,this.cacheUpdateNumber=T.cacheUpdateNumber;if($)this.cacheLimit=$,this.cache=new Array($),this.subscribe("auto cache",(J)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=J})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(T){let $=new w$(T.members,T.cacheLimit);return $.cache=T.cache,$.cacheIdx=T.cacheIdx,$.cacheUpdateNumber=T.cacheUpdateNumber,$}add(T){let $=super.add(T);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${_T(T)}`);return $}clear(){let T=this.mode==="record"?[...this]:null;if(super.clear(),T)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(T)}`)}delete(T){let $=super.delete(T);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${_T(T)}`);return $}parent;child=null;transactionUpdates=null;transaction(T){this.mode="transaction",this.transactionUpdates=[],this.child=new w$(this);let $=this.child._subscribe("transaction",(J)=>{this.transactionUpdates?.push(J)});try{if(T(this.child)){for(let W of this.transactionUpdates)this.doStep(W);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(J){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",J),J}finally{$(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(T,$){return this.subject.subscribe(T,$)}subscribe(T,$){return this.subject.subscribe(T,(J)=>{$(`${this.cacheUpdateNumber}=${J}`)})}emit(T){this.subject.next(T)}doStep(T){let $=T.indexOf(":"),J=T.substring(0,$),W=T.substring($+1);switch(J){case"add":this.add(JSON.parse(W));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(W));break;case"tx":for(let X of W.split(";"))this.doStep(X)}}getUpdateNumber(T){let $=T.indexOf("=");return Number(T.substring(0,$))}do(T){let $=T.indexOf("="),J=Number(T.substring(0,$)),W=J-this.cacheUpdateNumber;if(W>0){if(W===1){this.mode="playback";let Y=T.substring($+1);return this.doStep(Y),this.mode="record",this.cacheUpdateNumber=J,null}return this.cacheUpdateNumber+1}if(Math.abs(W)<this.cacheLimit){let Y=this.cacheIdx+W;if(this.cache[Y]===T)return null;this.mode="playback";let G=!1;while(!G){this.cacheIdx%=this.cacheLimit;let M=this.cache[this.cacheIdx];if(this.cacheIdx--,!M)return"OUT_OF_RANGE";this.undo(M),G=this.cacheIdx===Y-1}let H=T.substring($+1);return this.doStep(H),this.mode="record",this.cacheUpdateNumber=J,null}return"OUT_OF_RANGE"}undoStep(T){let $=T.indexOf(":"),J=T.substring(0,$),W=T.substring($+1);switch(J){case"add":this.delete(JSON.parse(W));break;case"del":this.add(JSON.parse(W));break;case"clear":{let X=JSON.parse(W);for(let Y of X)this.add(Y);break}case"tx":{let X=W.split(";");for(let Y=X.length-1;Y>=0;Y--)this.undoStep(X[Y])}}}undo(T){let $=T.indexOf("=");if(Number(T.substring(0,$))===this.cacheUpdateNumber){this.mode="playback";let W=T.substring($+1);return this.undoStep(W),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}class KX{toolkit;options;defaultContent;molecules=new Map;relations;states;core;transact(T,$){let J=this.toolkit;this.toolkit=T,$(this),this.toolkit=J}store;realm;[Symbol.dispose](){}constructor(T,$,J=DT.STORE){this.store=J,this.realm=new FY(J),this.options=T,this.defaultContent=$,this.store.miscResources.set(`join:${T.key}`,this),this.realm.allocate("root",T.key),this.toolkit={get:(...S)=>ZT(J,...S),set:(...S)=>{W$(J,...S)},find:(...S)=>JT(J,...S),json:(S)=>A$(J,S)};let W=T.between[0],X=T.between[1],Y=OX(J,{key:`${T.key}/relatedKeys`,default:()=>new w$,mutable:!0,fromJson:(S)=>w$.fromJSON(S),toJson:(S)=>S.toJSON()},["join","relations"]);this.core={relatedKeysAtoms:Y};let F=({get:S},f)=>S(Y,f),G=({set:S},f,C)=>{if(!this.store.molecules.has(_T(f)))this.realm.allocate(T.key,f);S(Y,f,(B)=>B.add(C)),S(Y,C,(B)=>B.add(f))},H=({set:S},f,C)=>{S(Y,f,(B)=>{return B.delete(C),B}),S(Y,C,(B)=>{return B.delete(f),B})},M=(S,f,C)=>{let{find:B,get:g,set:$T}=S,R=B(Y,f),XT=g(R);for(let n of XT){if(C.includes(n))continue;$T(Y,n,(kT)=>{return kT.delete(f),kT})}$T(R,(n)=>{return n.transaction((MT)=>{MT.clear();for(let kT of C){let sT=F(S,kT),l$=sT.has(f);if(this.relations.cardinality==="1:n"){let W1=[];for(let I of sT){if(I===f)continue;let a=F(S,I);if(a.delete(kT),a.size===0)W1.push(I)}if(!l$&&sT.size>0)sT.clear();for(let I of W1){let a=[kT,I].sort(),NT=`"${a[0]}:${a[1]}"`;this.molecules.delete(NT)}}if(!l$)sT.add(f);MT.add(kT)}return!0}),n})},A=(S,f,C)=>{let{set:B}=S;B(Y,f,(g)=>{return g.transaction(($T)=>{for(let R of C)$T.add(R);return!0}),g});for(let g of C)B(Y,g,($T)=>{return $T.add(f),$T});return!0},z=(S,f,C)=>{let B=F(S,f);return C?B.has(C):B.size>0},w={getRelatedKeys:(S)=>F(this.toolkit,S),addRelation:(S,f)=>{this.store.moleculeJoins.set(S,T.key),this.store.moleculeJoins.set(f,T.key),G(this.toolkit,S,f)},deleteRelation:(S,f)=>{H(this.toolkit,S,f)},replaceRelationsSafely:(S,f)=>{M(this.toolkit,S,f)},replaceRelationsUnsafely:(S,f)=>{A(this.toolkit,S,f)},has:(S,f)=>z(this.toolkit,S,f)},_,K;if($){K=Y1(J,{key:`${T.key}/content`,default:$},["join","content"]);let S=({get:B},g)=>B(K,g),f=({set:B},g,$T)=>{B(K,g,$T)};_=Object.assign(w,{getContent:(B)=>{return S(this.toolkit,B)},setContent:(B,g)=>{f(this.toolkit,B,g)},deleteContent:(B)=>{this.realm.deallocate(B)}})}else _=w;let V=new z$(T,{externalStore:_,isAType:T.isAType,isBType:T.isBType,makeContentKey:(...S)=>{let[f,C]=S,B=S.sort(),g=`${B[0]}:${B[1]}`,$T=J.molecules.get(_T(f)),R=J.molecules.get(_T(C));if(!$T)this.realm.allocate(T.key,f);if(!R)this.realm.allocate(T.key,C);return this.realm.allocate(f,g,"all"),this.realm.claim(C,g),this.store.moleculeJoins.set(g,T.key),g}}),Z=()=>F1(J,{key:`${T.key}/singleRelatedKey`,get:(S)=>({get:f})=>{let C=f(Y,S);for(let B of C)return B;return null}},["join","keys"]),q=()=>{return F1(J,{key:`${T.key}/multipleRelatedKeys`,get:(S)=>({get:f})=>{let C=DY(Y,J);return f(C,S).members}},["join","keys"])},N=()=>F1(J,{key:`${T.key}/singleRelatedEntry`,get:(S)=>({get:f})=>{let C=f(Y,S);for(let B of C){let g=V.isAType?.(S)?S:void 0,$T=g===void 0?S:void 0;g??=B,$T??=B;let R=V.makeContentKey(g,$T),XT=f(K,R);return[B,XT]}return null}},["join","entries"]),y=()=>F1(J,{key:`${T.key}/multipleRelatedEntries`,get:(S)=>({get:f})=>{let C=DY(Y,J);return f(C,S).members.map((g)=>{let $T=V.isAType?.(S)?S:void 0,R=$T===void 0?S:void 0;$T??=g,R??=g;let XT=V.makeContentKey($T,R),n=f(K,XT);return[g,n]})}},["join","entries"]);switch(T.cardinality){case"1:1":{let S=Z(),f=`${W}KeyOf${IT(X)}`,C=`${X}KeyOf${IT(W)}`,B={[f]:S,[C]:S},g;if($){let $T=N(),R=`${W}EntryOf${IT(X)}`,XT=`${X}EntryOf${IT(W)}`,n={[R]:$T,[XT]:$T};g=Object.assign(B,n)}else g=B;this.relations=V,this.states=g;break}case"1:n":{let S=Z(),f=q(),C=`${W}KeyOf${IT(X)}`,B=`${X}KeysOf${IT(W)}`,g={[C]:S,[B]:f},$T;if($){let R=N(),XT=y(),n=`${W}EntryOf${IT(X)}`,MT=`${X}EntriesOf${IT(W)}`,kT={[n]:R,[MT]:XT};$T=Object.assign(g,kT)}else $T=g;this.relations=V,this.states=$T;break}case"n:n":{let S=q(),f=`${W}KeysOf${IT(X)}`,C=`${X}KeysOf${IT(W)}`,B={[f]:S,[C]:S},g;if($){let $T=y(),R=`${W}EntriesOf${IT(X)}`,XT=`${X}EntriesOf${IT(W)}`,n={[R]:$T,[XT]:$T};g=Object.assign(B,n)}else g=B;this.relations=V,this.states=g}}}}function WW(T,$){let J=$.joins.get(T.key);if(J===void 0){let X=DT.STORE.joins.get(T.key);if(X===void 0)throw new Error(`Join "${T.key}" not found in store "${$.config.name}"`);J=new KX(X.options,X.defaultContent,$),$.joins.set(T.key,J)}return J}function DX(T,$,J){let W=WW(T,J),X=m(J);if(yT(X)){let{toolkit:Y}=X.transactionMeta;W.transact(Y,({relations:F})=>{$(F)})}else $(W.relations)}function k8(T,$,J){let W=WW(T,J),X;switch(T.cardinality){case"1:1":{let Y=`${T.a}KeyOf${IT(T.b)}`,F=`${T.b}KeyOf${IT(T.a)}`;X={get[Y](){let H=W.states[Y];return JT(J,H,$)},get[F](){let H=W.states[F];return JT(J,H,$)}};let G=`${T.a}EntryOf${IT(T.b)}`;if(G in W.states){let H=`${T.b}EntryOf${IT(T.a)}`;Object.assign(X,{get[G](){let M=W.states[G];return JT(J,M,$)},get[H](){let M=W.states[H];return JT(J,M,$)}})}break}case"1:n":{let Y=`${T.a}KeyOf${IT(T.b)}`,F=`${T.b}KeysOf${IT(T.a)}`;X={get[Y](){let H=W.states[Y];return JT(J,H,$)},get[F](){let H=W.states[F];return JT(J,H,$)}};let G=`${T.a}EntryOf${IT(T.b)}`;if(G in W.states){let H=`${T.b}EntriesOf${IT(T.a)}`;Object.assign(X,{get[G](){let M=W.states[G];return JT(J,M,$)},get[H](){let M=W.states[H];return JT(J,M,$)}})}break}case"n:n":{let Y=`${T.a}KeysOf${IT(T.b)}`,F=`${T.b}KeysOf${IT(T.a)}`;X={get[Y](){let H=W.states[Y];return JT(J,H,$)},get[F](){let H=W.states[F];return JT(J,H,$)}};let G=`${T.a}EntriesOf${IT(T.b)}`;if(G in W.states){let H=`${T.b}EntriesOf${IT(T.a)}`;Object.assign(X,{get[G](){let M=W.states[G];return JT(J,M,$)},get[H](){let M=W.states[H];return JT(J,M,$)}})}}}return X}function w7(T,$){return WW(T,$).core.relatedKeysAtoms}function v1(T){return T.startsWith("\uD83D\uDD0D ")}class t7 extends Map{set(T,$){if(this.has(T))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:T,value:$}),this;return super.set(T,$)}clear(){throw new Error("Cannot clear an InvariantMap")}}class m8{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(T){this.key=T}static existing=new t7;static create(T,$){let J=new m8(T),{type:W,globals:X,actions:Y,perspectives:F}=$(J),G={type:W,key:T,globals:X,actions:Y,perspectives:F};return m8.existing.set(T,G),G}add(...T){switch(T[0].type){case"atom":case"mutable_atom":this.globals.push(...T);break;case"transaction":this.actions.push(...T);break;case"atom_family":case"mutable_atom_family":{let[J,W]=T;this.perspectives.push({type:"realtime_perspective",resourceAtoms:J,viewAtoms:W})}break}return this}}function cy(T){let{key:$,config:J}=T,W=m8.create($,J),{actions:X}=W;for(let Y of X)v7(DT.STORE,$,Y.key);return x7(DT.STORE,$,-1),W}var ny=e0({key:"usersInRoomIndex",mutable:!0,default:()=>new w$,toJson:(T)=>T.toJSON(),fromJson:(T)=>w$.fromJSON(T)}),VY=e0({key:"roomIndex",default:()=>new w$,mutable:!0,toJson:(T)=>T.toJSON(),fromJson:(T)=>w$.fromJSON(T)}),H_={enteredAtEpoch:0},LX=q8({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(T)=>typeof T==="string",isBType:(T)=>typeof T==="string"},H_),iy=y8({key:"usersInMyRoomView",get:(T)=>({find:$})=>{let J=z7(LX);return[$(J,T)]}});import{spawn as M_}from"child_process";class XW{listeners;globalListeners;handleEvent(T,...$){for(let W of this.globalListeners)W(T,...$);let J=this.listeners.get(T);if(J)for(let W of J)W(...$)}id="no_id_retrieved";emit;constructor(T){this.emit=T,this.listeners=new Map,this.globalListeners=new Set}on(T,$){let J=this.listeners.get(T);if(J)J.add($);else this.listeners.set(T,new Set([$]));return this}onAny(T){return this.globalListeners.add(T),this}off(T,$){let J=this.listeners.get(T);if(J)if($)J.delete($);else this.listeners.delete(T);return this}offAny(T){return this.globalListeners.delete(T),this}}class SY extends XW{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;key;logger;handleLog(T){if(Array.isArray(T)){let[$,...J]=T;switch($){case"i":this.logger.info(...J);break;case"w":this.logger.warn(...J);break;case"e":this.logger.error(...J);break;default:return}}}constructor(T,$,J){super((W,...X)=>{let Y=JSON.stringify([W,...X])+"\x03",F=(G)=>{if(G.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",F)};return this.process.stdin.once("error",F),this.process.stdin.write(Y),this});if(this.process=T,this.key=$,this.logger=J??{info:(...W)=>{console.info(this.id,this.key,...W)},warn:(...W)=>{console.warn(this.id,this.key,...W)},error:(...W)=>{console.error(this.id,this.key,...W)}},this.process.stdout.on("data",(W)=>{let X=W.toString();if(X==="ALIVE")return;this.unprocessedEvents.push(...X.split("\x03"));let Y=this.unprocessedEvents.shift();this.incompleteData+=Y??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let F=E$(this.incompleteData);this.handleEvent(...F);while(this.unprocessedEvents.length>0){let G=this.unprocessedEvents.shift();if(G){if(this.unprocessedEvents.length===0)this.incompleteData=G;F=E$(G),this.handleEvent(...F)}}this.incompleteData=""}catch(F){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(F)}}),this.process.stderr.on("data",(W)=>{let X=W.toString();this.unprocessedLogs.push(...X.split("\x03"));let Y=this.unprocessedLogs.shift();this.incompleteLog+=Y??"";try{let F=E$(this.incompleteLog);this.handleLog(F);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)F=E$(this.incompleteLog),this.handleLog(F)}catch(F){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(F),console.error("\u274C\u274C\u274C\uFE0F")}}),T.pid)this.id=T.pid.toString()}}class r7 extends XW{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(T){super((...$)=>{return this.out.next($),this});this.id=T,this.in=new QT,this.out=new QT,this.in.subscribe("socket",($)=>{this.handleEvent(...$)})}dispose(){for(let T of this.disposalFunctions)T()}}class RY extends XW{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...T){this.process.stderr.write(_T(T.map(($)=>$ instanceof w$?`{ ${$.toJSON().members.join(" | ")} }`:$))+"\x03")}logger={info:(...T)=>{this.log("i",...T)},warn:(...T)=>{this.log("w",...T)},error:(...T)=>{this.log("e",...T)}};constructor(){super((T,...$)=>{let J=JSON.stringify([T,...$]);return this.process.stdout.write(J+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(T)=>{let $=T.toString();this.unprocessedEvents.push(...$.split("\x03"));let J=this.unprocessedEvents.shift();this.incompleteData+=J??"";try{let W=E$(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",W),this.handleEvent(...W);while(this.unprocessedEvents.length>0){let X=this.unprocessedEvents.shift();if(X){if(this.unprocessedEvents.length===0)this.incompleteData=X;let Y=E$(X);this.handleEvent(...Y)}}this.incompleteData=""}catch(W){if(W instanceof Error)this.logger.error("\u2757",W.message,W.cause,W.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(T)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${T}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(T)=>{this.logger.info("\uD83D\uDC64","user",T,"joined");let $=new r7(`user:${T}`);this.relays.set(T,$),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let J of this.relayServices){let W=J($);if(W)$.disposalFunctions.push(W)}this.on(`user:${T}`,(...J)=>{$.in.next(J)}),$.out.subscribe("socket",(J)=>{this.emit(...J)})}),this.on("user-leaves",(T)=>{let $=this.relays.get(T);if(this.off(`relay:${T}`),$)$.dispose(),this.relays.delete(T)}),process.stdout.write("ALIVE")}relay(T){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(T)}}var EY=H0({key:"roomArguments",default:["echo",["Hello World!"]]}),a7=y8({key:"room",get:(T)=>async({get:$,find:J})=>{let W=J(EY,T),X=$(W),[Y,F]=X,G=await new Promise((H)=>{let M=M_(Y,F,{env:process.env}),A=(z)=>{if(z.toString()==="ALIVE")M.stdout.off("data",A),H(M)};M.stdout.on("data",A)});return new SY(G,T)}});var RI=SX({key:"createRoom",do:({get:T,set:$,find:J},W,X,Y)=>{let F=Y?[X,Y]:[X],G=J(EY,W);$(G,F),$(VY,(A)=>A.add(W));let H=J(a7,W);return T(H)}}),EI=SX({key:"joinRoom",do:(T,$,J,W)=>{let X={enteredAtEpoch:W};return DX(LX,(Y)=>{Y.set({room:$,user:J},X)},T.env().store),X}}),LI=SX({key:"leaveRoom",do:(T,$,J)=>{DX(LX,(W)=>{W.delete({room:$,user:J})},T.env().store)}}),BI=SX({key:"destroyRoom",do:(T,$)=>{DX(LX,(J)=>{J.delete({room:$})},T.env().store),T.set(VY,(J)=>(J.delete($),J))}});function LY(T,$){return $.map((J)=>{switch(J.type){case"transaction_update":{let W=LY(T,J.updates);return{...J,updates:W}}case"atom_update":case"selector_update":case"molecule_creation":case"molecule_disposal":case"molecule_transfer":case"state_creation":case"state_disposal":return J}}).filter((J)=>{switch(J.type){case"atom_update":case"selector_update":return T.includes(J.key);case"state_creation":case"state_disposal":return T.includes(J.token.key);case"molecule_creation":case"transaction_update":case"molecule_disposal":case"molecule_transfer":return!0}})}var CI=H0({key:"redactor",default:{occlude:(T)=>T}}),YW=H0({key:"unacknowledgedUpdates",default:()=>[]});var s7=H0({key:"sockets",default:null}),yI=e0({key:"socketsIndex",mutable:!0,default:()=>new w$,toJson:(T)=>T.toJSON(),fromJson:(T)=>w$.fromJSON(T)}),II=e0({key:"usersIndex",mutable:!0,default:()=>new w$,toJson:(T)=>T.toJSON(),fromJson:(T)=>w$.fromJSON(T)}),BY=q8({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:(T)=>T.startsWith("user::"),isBType:(T)=>T.startsWith("socket::")});function e7(T,$,J,W){let X=$.key;return function Y(){let F=[];for(let H of $.globals){let M=H.type==="mutable_atom"?A$(T,H):H,A=ZT(T,M);F.push(M,A)}for(let H of $.perspectives){let{viewAtoms:M,resourceAtoms:A}=H,z=JT(T,M,J),w=ZT(T,z);T.logger.info("\uD83D\uDC41","atom",A.key,`${J} can see`,{viewAtoms:M,resourceAtoms:A,userView:w});for(let _ of w){let K=_.type==="mutable_atom"?A$(T,_):_,V=ZT(T,K);F.push(K,V)}}let G=N$(T)?T.transactionMeta.epoch.get(X)??null:null;W?.emit(`continuity-init:${X}`,G,F)}}function TG(T,$,J){let W=$.key;return function X(Y){T.logger.info("\uD83D\uDECE\uFE0F","continuity",W,"received",Y);let{key:F,id:G}=Y,H=`tx-run:${F}:${G}`,M=`${H}:start`,A=`${H}:end`;performance.mark(M);try{$W(T,{type:"transaction",key:F},G)(...Y.params)}catch(w){if(w instanceof Error)T.logger.error("\u274C","continuity",W,`failed to run transaction ${F} from ${J} with update ${G}`,w.message)}performance.mark(A);let z=performance.measure(H,M,A);T?.logger.info("\uD83D\uDE80","transaction",F,G,J,z.duration)}}function $G(T,$,J,W){let X=$.key;return function Y(F){if(T.logger.info("\uD83D\uDC4D","continuity",X,`${J} acknowledged epoch ${F}`),W[0]?.epoch===F)W$(T,YW,J,(H)=>{return H.shift(),T.logger.info("\uD83D\uDC4D","continuity",X,`${J} unacknowledged update queue now has`,H.length,"items"),H})}}function JG(T,$,J,W){let X=$.key,Y=[];for(let F of $.actions){let G=UY(T,F,`sync-continuity:${X}:${J}`,(H)=>{try{let M=$.globals.map((w)=>{if(w.type==="atom")return w.key;return G1(w).key}).concat($.perspectives.flatMap((w)=>{let{viewAtoms:_}=w,K=JT(T,_,J);return ZT(T,K).map((Z)=>{return Z.type==="mutable_atom"?"*"+Z.key:Z.key})})),A=LY(M,H.updates),z={...H,updates:A};W$(T,YW,J,(w)=>{if(z)w.push(z),w.sort((_,K)=>_.epoch-K.epoch),T.logger.info("\uD83D\uDC4D","continuity",X,`${J} unacknowledged update queue now has`,w.length,"items");return w}),W?.emit(`tx-new:${X}`,z)}catch(M){if(M instanceof Error)T.logger.error("\u274C","continuity",X,`${J} failed to send update from transaction ${F.key} to ${J}`,M.message)}});Y.push(G)}return Y}function WG(T,$,J,W){let X=$.key,Y=[];for(let F of $.perspectives){let{viewAtoms:G}=F,H=JT(T,G,J),M=j$(T,H,`sync-continuity:${X}:${J}:perspective:${F.resourceAtoms.key}`,({oldValue:A,newValue:z})=>{let w=A.map((Z)=>Z.key),_=z.map((Z)=>Z.key),K=A.filter((Z)=>!_.includes(Z.key)),V=z.filter((Z)=>!w.includes(Z.key)).flatMap((Z)=>{let q=Z.type==="mutable_atom"?A$(T,Z):Z,N=ZT(T,q);return[q,N]});if(T.logger.info("\uD83D\uDC41","atom",F.resourceAtoms.key,`${J} has a new perspective`,{oldKeys:w,newKeys:_,revealed:V,concealed:K}),V.length>0)W?.emit(`reveal:${X}`,V);if(K.length>0)W?.emit(`conceal:${X}`,K)});Y.push(M)}return Y}function Gj({socket:T,store:$=DT.STORE}){return function J(W){let X=T,Y=W.key,F=k8(BY,`socket::${X.id}`,$).userKeyOfSocket,G=ZT($,F);if(!G)return $.logger.error("\u274C","continuity",Y,`Tried to create a synchronizer for a socket (${X.id}) that is not connected to a user.`),()=>{};let H=k8(BY,G,$).socketKeyOfUser,M=j$($,H,`sync-continuity:${Y}:${G}`,({newValue:q})=>{if($.logger.info("\uD83D\uDC4B","continuity",Y,`seeing ${G} on new socket ${q}`),q===null){$.logger.warn("\u274C","continuity",Y,`User (${G}) is not connected to a socket, waiting for them to reappear.`);return}let N=JT($,s7,q);X=ZT($,N);for(let S of A)X?.emit(`tx-new:${Y}`,S)}),A=ZT($,YW,G),z=[],w=WG($,W,G,X),_=JG($,W,G,X);z.push(...w,..._);let K=e7($,W,G,T);X.off(`get:${Y}`,K),X.on(`get:${Y}`,K);let V=TG($,W,G);X.off(`tx-run:${Y}`,V),X.on(`tx-run:${Y}`,V);let Z=$G($,W,G,A);return X?.on(`ack:${Y}`,Z),()=>{for(let q of z)q();X?.off(`ack:${Y}`,Z),X?.off(`get:${Y}`,K),X?.off(`tx-run:${Y}`,V)}}}var YG=Symbol("Let zodToJsonSchema decide on which parser to use");var XG={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},FG=(T)=>typeof T==="string"?{...XG,name:T}:{...XG,...T};var GG=(T)=>{let $=FG(T),J=$.name!==void 0?[...$.basePath,$.definitionPath,$.name]:$.basePath;return{...$,currentPath:J,propertyPath:void 0,seen:new Map(Object.entries($.definitions).map(([W,X])=>[X._def,{def:X._def,path:[...$.basePath,$.definitionPath,W],jsonSchema:void 0}]))}};function fY(T,$,J,W){if(!W?.errorMessages)return;if(J)T.errorMessage={...T.errorMessage,[$]:J}}function RT(T,$,J,W,X){T[$]=J,fY(T,$,W,X)}var LT;(function(T){T.assertEqual=(X)=>X;function $(X){}T.assertIs=$;function J(X){throw new Error}T.assertNever=J,T.arrayToEnum=(X)=>{let Y={};for(let F of X)Y[F]=F;return Y},T.getValidEnumValues=(X)=>{let Y=T.objectKeys(X).filter((G)=>typeof X[X[G]]!=="number"),F={};for(let G of Y)F[G]=X[G];return T.objectValues(F)},T.objectValues=(X)=>{return T.objectKeys(X).map(function(Y){return X[Y]})},T.objectKeys=typeof Object.keys==="function"?(X)=>Object.keys(X):(X)=>{let Y=[];for(let F in X)if(Object.prototype.hasOwnProperty.call(X,F))Y.push(F);return Y},T.find=(X,Y)=>{for(let F of X)if(Y(F))return F;return},T.isInteger=typeof Number.isInteger==="function"?(X)=>Number.isInteger(X):(X)=>typeof X==="number"&&isFinite(X)&&Math.floor(X)===X;function W(X,Y=" | "){return X.map((F)=>typeof F==="string"?`'${F}'`:F).join(Y)}T.joinValues=W,T.jsonStringifyReplacer=(X,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(LT||(LT={}));var HG;(function(T){T.mergeShapes=($,J)=>{return{...$,...J}}})(HG||(HG={}));var o=LT.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(T)=>{switch(typeof T){case"undefined":return o.undefined;case"string":return o.string;case"number":return isNaN(T)?o.nan:o.number;case"boolean":return o.boolean;case"function":return o.function;case"bigint":return o.bigint;case"symbol":return o.symbol;case"object":if(Array.isArray(T))return o.array;if(T===null)return o.null;if(T.then&&typeof T.then==="function"&&T.catch&&typeof T.catch==="function")return o.promise;if(typeof Map!=="undefined"&&T instanceof Map)return o.map;if(typeof Set!=="undefined"&&T instanceof Set)return o.set;if(typeof Date!=="undefined"&&T instanceof Date)return o.date;return o.object;default:return o.unknown}},j=LT.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class _J extends Error{get errors(){return this.issues}constructor(T){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=T}format(T){let $=T||function(X){return X.message},J={_errors:[]},W=(X)=>{for(let Y of X.issues)if(Y.code==="invalid_union")Y.unionErrors.map(W);else if(Y.code==="invalid_return_type")W(Y.returnTypeError);else if(Y.code==="invalid_arguments")W(Y.argumentsError);else if(Y.path.length===0)J._errors.push($(Y));else{let F=J,G=0;while(G<Y.path.length){let H=Y.path[G];if(G!==Y.path.length-1)F[H]=F[H]||{_errors:[]};else F[H]=F[H]||{_errors:[]},F[H]._errors.push($(Y));F=F[H],G++}}};return W(this),J}static assert(T){if(!(T instanceof _J))throw new Error(`Not a ZodError: ${T}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,LT.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(T=($)=>$.message){let $={},J=[];for(let W of this.issues)if(W.path.length>0)$[W.path[0]]=$[W.path[0]]||[],$[W.path[0]].push(T(W));else J.push(T(W));return{formErrors:J,fieldErrors:$}}get formErrors(){return this.flatten()}}_J.create=(T)=>{return new _J(T)};var ZX=(T,$)=>{let J;switch(T.code){case j.invalid_type:if(T.received===o.undefined)J="Required";else J=`Expected ${T.expected}, received ${T.received}`;break;case j.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify(T.expected,LT.jsonStringifyReplacer)}`;break;case j.unrecognized_keys:J=`Unrecognized key(s) in object: ${LT.joinValues(T.keys,", ")}`;break;case j.invalid_union:J="Invalid input";break;case j.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${LT.joinValues(T.options)}`;break;case j.invalid_enum_value:J=`Invalid enum value. Expected ${LT.joinValues(T.options)}, received '${T.received}'`;break;case j.invalid_arguments:J="Invalid function arguments";break;case j.invalid_return_type:J="Invalid function return type";break;case j.invalid_date:J="Invalid date";break;case j.invalid_string:if(typeof T.validation==="object")if("includes"in T.validation){if(J=`Invalid input: must include "${T.validation.includes}"`,typeof T.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${T.validation.position}`}else if("startsWith"in T.validation)J=`Invalid input: must start with "${T.validation.startsWith}"`;else if("endsWith"in T.validation)J=`Invalid input: must end with "${T.validation.endsWith}"`;else LT.assertNever(T.validation);else if(T.validation!=="regex")J=`Invalid ${T.validation}`;else J="Invalid";break;case j.too_small:if(T.type==="array")J=`Array must contain ${T.exact?"exactly":T.inclusive?"at least":"more than"} ${T.minimum} element(s)`;else if(T.type==="string")J=`String must contain ${T.exact?"exactly":T.inclusive?"at least":"over"} ${T.minimum} character(s)`;else if(T.type==="number")J=`Number must be ${T.exact?"exactly equal to ":T.inclusive?"greater than or equal to ":"greater than "}${T.minimum}`;else if(T.type==="date")J=`Date must be ${T.exact?"exactly equal to ":T.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(T.minimum))}`;else J="Invalid input";break;case j.too_big:if(T.type==="array")J=`Array must contain ${T.exact?"exactly":T.inclusive?"at most":"less than"} ${T.maximum} element(s)`;else if(T.type==="string")J=`String must contain ${T.exact?"exactly":T.inclusive?"at most":"under"} ${T.maximum} character(s)`;else if(T.type==="number")J=`Number must be ${T.exact?"exactly":T.inclusive?"less than or equal to":"less than"} ${T.maximum}`;else if(T.type==="bigint")J=`BigInt must be ${T.exact?"exactly":T.inclusive?"less than or equal to":"less than"} ${T.maximum}`;else if(T.type==="date")J=`Date must be ${T.exact?"exactly":T.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(T.maximum))}`;else J="Invalid input";break;case j.custom:J="Invalid input";break;case j.invalid_intersection_types:J="Intersection results could not be merged";break;case j.not_multiple_of:J=`Number must be a multiple of ${T.multipleOf}`;break;case j.not_finite:J="Number must be finite";break;default:J=$.defaultError,LT.assertNever(T)}return{message:J}},A_=ZX;function CY(){return A_}var ZY=(T)=>{let{data:$,path:J,errorMaps:W,issueData:X}=T,Y=[...J,...X.path||[]],F={...X,path:Y};if(X.message!==void 0)return{...X,path:Y,message:X.message};let G="",H=W.filter((M)=>!!M).slice().reverse();for(let M of H)G=M(F,{data:$,defaultError:G}).message;return{...X,path:Y,message:G}};function p(T,$){let J=CY(),W=ZY({issueData:$,data:T.data,path:T.path,errorMaps:[T.common.contextualErrorMap,T.schemaErrorMap,J,J===ZX?void 0:ZX].filter((X)=>!!X)});T.common.issues.push(W)}class g${constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(T,$){let J=[];for(let W of $){if(W.status==="aborted")return YT;if(W.status==="dirty")T.dirty();J.push(W.value)}return{status:T.value,value:J}}static async mergeObjectAsync(T,$){let J=[];for(let W of $){let X=await W.key,Y=await W.value;J.push({key:X,value:Y})}return g$.mergeObjectSync(T,J)}static mergeObjectSync(T,$){let J={};for(let W of $){let{key:X,value:Y}=W;if(X.status==="aborted")return YT;if(Y.status==="aborted")return YT;if(X.status==="dirty")T.dirty();if(Y.status==="dirty")T.dirty();if(X.value!=="__proto__"&&(typeof Y.value!=="undefined"||W.alwaysSet))J[X.value]=Y.value}return{status:T.value,value:J}}}var YT=Object.freeze({status:"aborted"}),BX=(T)=>({status:"dirty",value:T}),i$=(T)=>({status:"valid",value:T}),MG=(T)=>T.status==="aborted",AG=(T)=>T.status==="dirty",GW=(T)=>T.status==="valid",p8=(T)=>typeof Promise!=="undefined"&&T instanceof Promise;function u8(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)}function wG(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J}var i;(function(T){T.errToObj=($)=>typeof $==="string"?{message:$}:$||{},T.toString=($)=>typeof $==="string"?$:$===null||$===void 0?void 0:$.message})(i||(i={}));var fX,NX;class qJ{constructor(T,$,J,W){this._cachedPath=[],this.parent=T,this.data=$,this._path=J,this._key=W}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var zG=(T,$)=>{if(GW($))return{success:!0,data:$.value};else{if(!T.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new _J(T.common.issues);return this._error=J,this._error}}}};function AT(T){if(!T)return{};let{errorMap:$,invalid_type_error:J,required_error:W,description:X}=T;if($&&(J||W))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:X};return{errorMap:(F,G)=>{var H,M;let{message:A}=T;if(F.code==="invalid_enum_value")return{message:A!==null&&A!==void 0?A:G.defaultError};if(typeof G.data==="undefined")return{message:(H=A!==null&&A!==void 0?A:W)!==null&&H!==void 0?H:G.defaultError};if(F.code!=="invalid_type")return{message:G.defaultError};return{message:(M=A!==null&&A!==void 0?A:J)!==null&&M!==void 0?M:G.defaultError}},description:X}}class KT{get description(){return this._def.description}_getType(T){return h1(T.data)}_getOrReturnCtx(T,$){return $||{common:T.parent.common,data:T.data,parsedType:h1(T.data),schemaErrorMap:this._def.errorMap,path:T.path,parent:T.parent}}_processInputParams(T){return{status:new g$,ctx:{common:T.parent.common,data:T.data,parsedType:h1(T.data),schemaErrorMap:this._def.errorMap,path:T.path,parent:T.parent}}}_parseSync(T){let $=this._parse(T);if(p8($))throw new Error("Synchronous parse encountered promise.");return $}_parseAsync(T){let $=this._parse(T);return Promise.resolve($)}parse(T,$){let J=this.safeParse(T,$);if(J.success)return J.data;throw J.error}safeParse(T,$){var J;let W={common:{issues:[],async:(J=$===null||$===void 0?void 0:$.async)!==null&&J!==void 0?J:!1,contextualErrorMap:$===null||$===void 0?void 0:$.errorMap},path:($===null||$===void 0?void 0:$.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:T,parsedType:h1(T)},X=this._parseSync({data:T,path:W.path,parent:W});return zG(W,X)}"~validate"(T){var $,J;let W={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:T,parsedType:h1(T)};if(!this["~standard"].async)try{let X=this._parseSync({data:T,path:[],parent:W});return GW(X)?{value:X.value}:{issues:W.common.issues}}catch(X){if((J=($=X===null||X===void 0?void 0:X.message)===null||$===void 0?void 0:$.toLowerCase())===null||J===void 0?void 0:J.includes("encountered"))this["~standard"].async=!0;W.common={issues:[],async:!0}}return this._parseAsync({data:T,path:[],parent:W}).then((X)=>GW(X)?{value:X.value}:{issues:W.common.issues})}async parseAsync(T,$){let J=await this.safeParseAsync(T,$);if(J.success)return J.data;throw J.error}async safeParseAsync(T,$){let J={common:{issues:[],contextualErrorMap:$===null||$===void 0?void 0:$.errorMap,async:!0},path:($===null||$===void 0?void 0:$.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:T,parsedType:h1(T)},W=this._parse({data:T,path:J.path,parent:J}),X=await(p8(W)?W:Promise.resolve(W));return zG(J,X)}refine(T,$){let J=(W)=>{if(typeof $==="string"||typeof $==="undefined")return{message:$};else if(typeof $==="function")return $(W);else return $};return this._refinement((W,X)=>{let Y=T(W),F=()=>X.addIssue({code:j.custom,...J(W)});if(typeof Promise!=="undefined"&&Y instanceof Promise)return Y.then((G)=>{if(!G)return F(),!1;else return!0});if(!Y)return F(),!1;else return!0})}refinement(T,$){return this._refinement((J,W)=>{if(!T(J))return W.addIssue(typeof $==="function"?$(J,W):$),!1;else return!0})}_refinement(T){return new lJ({schema:this,typeName:x.ZodEffects,effect:{type:"refinement",refinement:T}})}superRefine(T){return this._refinement(T)}constructor(T){this.spa=this.safeParseAsync,this._def=T,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return KJ.create(this,this._def)}nullable(){return g1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return dJ.create(this)}promise(){return zW.create(this,this._def)}or(T){return IX.create([this,T],this._def)}and(T){return jX.create(this,T,this._def)}transform(T){return new lJ({...AT(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:T}})}default(T){let $=typeof T==="function"?T:()=>T;return new vX({...AT(this._def),innerType:this,defaultValue:$,typeName:x.ZodDefault})}brand(){return new yY({typeName:x.ZodBranded,type:this,...AT(this._def)})}catch(T){let $=typeof T==="function"?T:()=>T;return new hX({...AT(this._def),innerType:this,catchValue:$,typeName:x.ZodCatch})}describe(T){return new this.constructor({...this._def,description:T})}pipe(T){return r8.create(this,T)}readonly(){return gX.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var z_=/^c[^\s-]{8,}$/i,w_=/^[0-9a-z]+$/,Q_=/^[0-9A-HJKMNP-TV-Z]{26}$/i,O_=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,U_=/^[a-z0-9_-]{21}$/i,__=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,K_=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,D_=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,V_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",NY,S_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,R_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,E_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,L_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,B_=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,f_=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,QG="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",N_=new RegExp(`^${QG}$`);function OG(T){let $="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";if(T.precision)$=`${$}\\.\\d{${T.precision}}`;else if(T.precision==null)$=`${$}(\\.\\d+)?`;return $}function C_(T){return new RegExp(`^${OG(T)}$`)}function Z_(T){let $=`${QG}T${OG(T)}`,J=[];if(J.push(T.local?"Z?":"Z"),T.offset)J.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${J.join("|")})`,new RegExp(`^${$}$`)}function q_(T,$){if(($==="v4"||!$)&&S_.test(T))return!0;if(($==="v6"||!$)&&E_.test(T))return!0;return!1}function k_(T,$){if(!__.test(T))return!1;try{let[J]=T.split("."),W=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),X=JSON.parse(atob(W));if(typeof X!=="object"||X===null)return!1;if(!X.typ||!X.alg)return!1;if($&&X.alg!==$)return!1;return!0}catch(J){return!1}}function y_(T,$){if(($==="v4"||!$)&&R_.test(T))return!0;if(($==="v6"||!$)&&L_.test(T))return!0;return!1}class M1 extends KT{_parse(T){if(this._def.coerce)T.data=String(T.data);if(this._getType(T)!==o.string){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_type,expected:o.string,received:X.parsedType}),YT}let J=new g$,W=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(T.data.length<X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="max"){if(T.data.length>X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="length"){let Y=T.data.length>X.value,F=T.data.length<X.value;if(Y||F){if(W=this._getOrReturnCtx(T,W),Y)p(W,{code:j.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});else if(F)p(W,{code:j.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});J.dirty()}}else if(X.kind==="email"){if(!D_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"email",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="emoji"){if(!NY)NY=new RegExp(V_,"u");if(!NY.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"emoji",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="uuid"){if(!O_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"uuid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="nanoid"){if(!U_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"nanoid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid"){if(!z_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"cuid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid2"){if(!w_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"cuid2",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ulid"){if(!Q_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"ulid",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="url")try{new URL(T.data)}catch(Y){W=this._getOrReturnCtx(T,W),p(W,{validation:"url",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="regex"){if(X.regex.lastIndex=0,!X.regex.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"regex",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="trim")T.data=T.data.trim();else if(X.kind==="includes"){if(!T.data.includes(X.value,X.position))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:{includes:X.value,position:X.position},message:X.message}),J.dirty()}else if(X.kind==="toLowerCase")T.data=T.data.toLowerCase();else if(X.kind==="toUpperCase")T.data=T.data.toUpperCase();else if(X.kind==="startsWith"){if(!T.data.startsWith(X.value))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:{startsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="endsWith"){if(!T.data.endsWith(X.value))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:{endsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="datetime"){if(!Z_(X).test(T.data))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:"datetime",message:X.message}),J.dirty()}else if(X.kind==="date"){if(!N_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:"date",message:X.message}),J.dirty()}else if(X.kind==="time"){if(!C_(X).test(T.data))W=this._getOrReturnCtx(T,W),p(W,{code:j.invalid_string,validation:"time",message:X.message}),J.dirty()}else if(X.kind==="duration"){if(!K_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"duration",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ip"){if(!q_(T.data,X.version))W=this._getOrReturnCtx(T,W),p(W,{validation:"ip",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="jwt"){if(!k_(T.data,X.alg))W=this._getOrReturnCtx(T,W),p(W,{validation:"jwt",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cidr"){if(!y_(T.data,X.version))W=this._getOrReturnCtx(T,W),p(W,{validation:"cidr",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64"){if(!B_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"base64",code:j.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64url"){if(!f_.test(T.data))W=this._getOrReturnCtx(T,W),p(W,{validation:"base64url",code:j.invalid_string,message:X.message}),J.dirty()}else LT.assertNever(X);return{status:J.value,value:T.data}}_regex(T,$,J){return this.refinement((W)=>T.test(W),{validation:$,code:j.invalid_string,...i.errToObj(J)})}_addCheck(T){return new M1({...this._def,checks:[...this._def.checks,T]})}email(T){return this._addCheck({kind:"email",...i.errToObj(T)})}url(T){return this._addCheck({kind:"url",...i.errToObj(T)})}emoji(T){return this._addCheck({kind:"emoji",...i.errToObj(T)})}uuid(T){return this._addCheck({kind:"uuid",...i.errToObj(T)})}nanoid(T){return this._addCheck({kind:"nanoid",...i.errToObj(T)})}cuid(T){return this._addCheck({kind:"cuid",...i.errToObj(T)})}cuid2(T){return this._addCheck({kind:"cuid2",...i.errToObj(T)})}ulid(T){return this._addCheck({kind:"ulid",...i.errToObj(T)})}base64(T){return this._addCheck({kind:"base64",...i.errToObj(T)})}base64url(T){return this._addCheck({kind:"base64url",...i.errToObj(T)})}jwt(T){return this._addCheck({kind:"jwt",...i.errToObj(T)})}ip(T){return this._addCheck({kind:"ip",...i.errToObj(T)})}cidr(T){return this._addCheck({kind:"cidr",...i.errToObj(T)})}datetime(T){var $,J;if(typeof T==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:T});return this._addCheck({kind:"datetime",precision:typeof(T===null||T===void 0?void 0:T.precision)==="undefined"?null:T===null||T===void 0?void 0:T.precision,offset:($=T===null||T===void 0?void 0:T.offset)!==null&&$!==void 0?$:!1,local:(J=T===null||T===void 0?void 0:T.local)!==null&&J!==void 0?J:!1,...i.errToObj(T===null||T===void 0?void 0:T.message)})}date(T){return this._addCheck({kind:"date",message:T})}time(T){if(typeof T==="string")return this._addCheck({kind:"time",precision:null,message:T});return this._addCheck({kind:"time",precision:typeof(T===null||T===void 0?void 0:T.precision)==="undefined"?null:T===null||T===void 0?void 0:T.precision,...i.errToObj(T===null||T===void 0?void 0:T.message)})}duration(T){return this._addCheck({kind:"duration",...i.errToObj(T)})}regex(T,$){return this._addCheck({kind:"regex",regex:T,...i.errToObj($)})}includes(T,$){return this._addCheck({kind:"includes",value:T,position:$===null||$===void 0?void 0:$.position,...i.errToObj($===null||$===void 0?void 0:$.message)})}startsWith(T,$){return this._addCheck({kind:"startsWith",value:T,...i.errToObj($)})}endsWith(T,$){return this._addCheck({kind:"endsWith",value:T,...i.errToObj($)})}min(T,$){return this._addCheck({kind:"min",value:T,...i.errToObj($)})}max(T,$){return this._addCheck({kind:"max",value:T,...i.errToObj($)})}length(T,$){return this._addCheck({kind:"length",value:T,...i.errToObj($)})}nonempty(T){return this.min(1,i.errToObj(T))}trim(){return new M1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new M1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new M1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((T)=>T.kind==="datetime")}get isDate(){return!!this._def.checks.find((T)=>T.kind==="date")}get isTime(){return!!this._def.checks.find((T)=>T.kind==="time")}get isDuration(){return!!this._def.checks.find((T)=>T.kind==="duration")}get isEmail(){return!!this._def.checks.find((T)=>T.kind==="email")}get isURL(){return!!this._def.checks.find((T)=>T.kind==="url")}get isEmoji(){return!!this._def.checks.find((T)=>T.kind==="emoji")}get isUUID(){return!!this._def.checks.find((T)=>T.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((T)=>T.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((T)=>T.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((T)=>T.kind==="cuid2")}get isULID(){return!!this._def.checks.find((T)=>T.kind==="ulid")}get isIP(){return!!this._def.checks.find((T)=>T.kind==="ip")}get isCIDR(){return!!this._def.checks.find((T)=>T.kind==="cidr")}get isBase64(){return!!this._def.checks.find((T)=>T.kind==="base64")}get isBase64url(){return!!this._def.checks.find((T)=>T.kind==="base64url")}get minLength(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T}get maxLength(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T}}M1.create=(T)=>{var $;return new M1({checks:[],typeName:x.ZodString,coerce:($=T===null||T===void 0?void 0:T.coerce)!==null&&$!==void 0?$:!1,...AT(T)})};function I_(T,$){let J=(T.toString().split(".")[1]||"").length,W=($.toString().split(".")[1]||"").length,X=J>W?J:W,Y=parseInt(T.toFixed(X).replace(".","")),F=parseInt($.toFixed(X).replace(".",""));return Y%F/Math.pow(10,X)}class HW extends KT{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(T){if(this._def.coerce)T.data=Number(T.data);if(this._getType(T)!==o.number){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_type,expected:o.number,received:X.parsedType}),YT}let J=void 0,W=new g$;for(let X of this._def.checks)if(X.kind==="int"){if(!LT.isInteger(T.data))J=this._getOrReturnCtx(T,J),p(J,{code:j.invalid_type,expected:"integer",received:"float",message:X.message}),W.dirty()}else if(X.kind==="min"){if(X.inclusive?T.data<X.value:T.data<=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_small,minimum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),W.dirty()}else if(X.kind==="max"){if(X.inclusive?T.data>X.value:T.data>=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_big,maximum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),W.dirty()}else if(X.kind==="multipleOf"){if(I_(T.data,X.value)!==0)J=this._getOrReturnCtx(T,J),p(J,{code:j.not_multiple_of,multipleOf:X.value,message:X.message}),W.dirty()}else if(X.kind==="finite"){if(!Number.isFinite(T.data))J=this._getOrReturnCtx(T,J),p(J,{code:j.not_finite,message:X.message}),W.dirty()}else LT.assertNever(X);return{status:W.value,value:T.data}}gte(T,$){return this.setLimit("min",T,!0,i.toString($))}gt(T,$){return this.setLimit("min",T,!1,i.toString($))}lte(T,$){return this.setLimit("max",T,!0,i.toString($))}lt(T,$){return this.setLimit("max",T,!1,i.toString($))}setLimit(T,$,J,W){return new HW({...this._def,checks:[...this._def.checks,{kind:T,value:$,inclusive:J,message:i.toString(W)}]})}_addCheck(T){return new HW({...this._def,checks:[...this._def.checks,T]})}int(T){return this._addCheck({kind:"int",message:i.toString(T)})}positive(T){return this._addCheck({kind:"min",value:0,inclusive:!1,message:i.toString(T)})}negative(T){return this._addCheck({kind:"max",value:0,inclusive:!1,message:i.toString(T)})}nonpositive(T){return this._addCheck({kind:"max",value:0,inclusive:!0,message:i.toString(T)})}nonnegative(T){return this._addCheck({kind:"min",value:0,inclusive:!0,message:i.toString(T)})}multipleOf(T,$){return this._addCheck({kind:"multipleOf",value:T,message:i.toString($)})}finite(T){return this._addCheck({kind:"finite",message:i.toString(T)})}safe(T){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:i.toString(T)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:i.toString(T)})}get minValue(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T}get maxValue(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T}get isInt(){return!!this._def.checks.find((T)=>T.kind==="int"||T.kind==="multipleOf"&<.isInteger(T.value))}get isFinite(){let T=null,$=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if($===null||J.value>$)$=J.value}else if(J.kind==="max"){if(T===null||J.value<T)T=J.value}return Number.isFinite($)&&Number.isFinite(T)}}HW.create=(T)=>{return new HW({checks:[],typeName:x.ZodNumber,coerce:(T===null||T===void 0?void 0:T.coerce)||!1,...AT(T)})};class MW extends KT{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(T){if(this._def.coerce)try{T.data=BigInt(T.data)}catch(X){return this._getInvalidInput(T)}if(this._getType(T)!==o.bigint)return this._getInvalidInput(T);let J=void 0,W=new g$;for(let X of this._def.checks)if(X.kind==="min"){if(X.inclusive?T.data<X.value:T.data<=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_small,type:"bigint",minimum:X.value,inclusive:X.inclusive,message:X.message}),W.dirty()}else if(X.kind==="max"){if(X.inclusive?T.data>X.value:T.data>=X.value)J=this._getOrReturnCtx(T,J),p(J,{code:j.too_big,type:"bigint",maximum:X.value,inclusive:X.inclusive,message:X.message}),W.dirty()}else if(X.kind==="multipleOf"){if(T.data%X.value!==BigInt(0))J=this._getOrReturnCtx(T,J),p(J,{code:j.not_multiple_of,multipleOf:X.value,message:X.message}),W.dirty()}else LT.assertNever(X);return{status:W.value,value:T.data}}_getInvalidInput(T){let $=this._getOrReturnCtx(T);return p($,{code:j.invalid_type,expected:o.bigint,received:$.parsedType}),YT}gte(T,$){return this.setLimit("min",T,!0,i.toString($))}gt(T,$){return this.setLimit("min",T,!1,i.toString($))}lte(T,$){return this.setLimit("max",T,!0,i.toString($))}lt(T,$){return this.setLimit("max",T,!1,i.toString($))}setLimit(T,$,J,W){return new MW({...this._def,checks:[...this._def.checks,{kind:T,value:$,inclusive:J,message:i.toString(W)}]})}_addCheck(T){return new MW({...this._def,checks:[...this._def.checks,T]})}positive(T){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:i.toString(T)})}negative(T){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:i.toString(T)})}nonpositive(T){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:i.toString(T)})}nonnegative(T){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:i.toString(T)})}multipleOf(T,$){return this._addCheck({kind:"multipleOf",value:T,message:i.toString($)})}get minValue(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T}get maxValue(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T}}MW.create=(T)=>{var $;return new MW({checks:[],typeName:x.ZodBigInt,coerce:($=T===null||T===void 0?void 0:T.coerce)!==null&&$!==void 0?$:!1,...AT(T)})};class c8 extends KT{_parse(T){if(this._def.coerce)T.data=Boolean(T.data);if(this._getType(T)!==o.boolean){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.boolean,received:J.parsedType}),YT}return i$(T.data)}}c8.create=(T)=>{return new c8({typeName:x.ZodBoolean,coerce:(T===null||T===void 0?void 0:T.coerce)||!1,...AT(T)})};class qX extends KT{_parse(T){if(this._def.coerce)T.data=new Date(T.data);if(this._getType(T)!==o.date){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_type,expected:o.date,received:X.parsedType}),YT}if(isNaN(T.data.getTime())){let X=this._getOrReturnCtx(T);return p(X,{code:j.invalid_date}),YT}let J=new g$,W=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(T.data.getTime()<X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_small,message:X.message,inclusive:!0,exact:!1,minimum:X.value,type:"date"}),J.dirty()}else if(X.kind==="max"){if(T.data.getTime()>X.value)W=this._getOrReturnCtx(T,W),p(W,{code:j.too_big,message:X.message,inclusive:!0,exact:!1,maximum:X.value,type:"date"}),J.dirty()}else LT.assertNever(X);return{status:J.value,value:new Date(T.data.getTime())}}_addCheck(T){return new qX({...this._def,checks:[...this._def.checks,T]})}min(T,$){return this._addCheck({kind:"min",value:T.getTime(),message:i.toString($)})}max(T,$){return this._addCheck({kind:"max",value:T.getTime(),message:i.toString($)})}get minDate(){let T=null;for(let $ of this._def.checks)if($.kind==="min"){if(T===null||$.value>T)T=$.value}return T!=null?new Date(T):null}get maxDate(){let T=null;for(let $ of this._def.checks)if($.kind==="max"){if(T===null||$.value<T)T=$.value}return T!=null?new Date(T):null}}qX.create=(T)=>{return new qX({checks:[],coerce:(T===null||T===void 0?void 0:T.coerce)||!1,typeName:x.ZodDate,...AT(T)})};class o8 extends KT{_parse(T){if(this._getType(T)!==o.symbol){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.symbol,received:J.parsedType}),YT}return i$(T.data)}}o8.create=(T)=>{return new o8({typeName:x.ZodSymbol,...AT(T)})};class kX extends KT{_parse(T){if(this._getType(T)!==o.undefined){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.undefined,received:J.parsedType}),YT}return i$(T.data)}}kX.create=(T)=>{return new kX({typeName:x.ZodUndefined,...AT(T)})};class yX extends KT{_parse(T){if(this._getType(T)!==o.null){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.null,received:J.parsedType}),YT}return i$(T.data)}}yX.create=(T)=>{return new yX({typeName:x.ZodNull,...AT(T)})};class d8 extends KT{constructor(){super(...arguments);this._any=!0}_parse(T){return i$(T.data)}}d8.create=(T)=>{return new d8({typeName:x.ZodAny,...AT(T)})};class O0 extends KT{constructor(){super(...arguments);this._unknown=!0}_parse(T){return i$(T.data)}}O0.create=(T)=>{return new O0({typeName:x.ZodUnknown,...AT(T)})};class A1 extends KT{_parse(T){let $=this._getOrReturnCtx(T);return p($,{code:j.invalid_type,expected:o.never,received:$.parsedType}),YT}}A1.create=(T)=>{return new A1({typeName:x.ZodNever,...AT(T)})};class l8 extends KT{_parse(T){if(this._getType(T)!==o.undefined){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.void,received:J.parsedType}),YT}return i$(T.data)}}l8.create=(T)=>{return new l8({typeName:x.ZodVoid,...AT(T)})};class dJ extends KT{_parse(T){let{ctx:$,status:J}=this._processInputParams(T),W=this._def;if($.parsedType!==o.array)return p($,{code:j.invalid_type,expected:o.array,received:$.parsedType}),YT;if(W.exactLength!==null){let Y=$.data.length>W.exactLength.value,F=$.data.length<W.exactLength.value;if(Y||F)p($,{code:Y?j.too_big:j.too_small,minimum:F?W.exactLength.value:void 0,maximum:Y?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),J.dirty()}if(W.minLength!==null){if($.data.length<W.minLength.value)p($,{code:j.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),J.dirty()}if(W.maxLength!==null){if($.data.length>W.maxLength.value)p($,{code:j.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),J.dirty()}if($.common.async)return Promise.all([...$.data].map((Y,F)=>{return W.type._parseAsync(new qJ($,Y,$.path,F))})).then((Y)=>{return g$.mergeArray(J,Y)});let X=[...$.data].map((Y,F)=>{return W.type._parseSync(new qJ($,Y,$.path,F))});return g$.mergeArray(J,X)}get element(){return this._def.type}min(T,$){return new dJ({...this._def,minLength:{value:T,message:i.toString($)}})}max(T,$){return new dJ({...this._def,maxLength:{value:T,message:i.toString($)}})}length(T,$){return new dJ({...this._def,exactLength:{value:T,message:i.toString($)}})}nonempty(T){return this.min(1,T)}}dJ.create=(T,$)=>{return new dJ({type:T,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,...AT($)})};function FW(T){if(T instanceof T$){let $={};for(let J in T.shape){let W=T.shape[J];$[J]=KJ.create(FW(W))}return new T$({...T._def,shape:()=>$})}else if(T instanceof dJ)return new dJ({...T._def,type:FW(T.element)});else if(T instanceof KJ)return KJ.create(FW(T.unwrap()));else if(T instanceof g1)return g1.create(FW(T.unwrap()));else if(T instanceof z1)return z1.create(T.items.map(($)=>FW($)));else return T}class T$ extends KT{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let T=this._def.shape(),$=LT.objectKeys(T);return this._cached={shape:T,keys:$}}_parse(T){if(this._getType(T)!==o.object){let H=this._getOrReturnCtx(T);return p(H,{code:j.invalid_type,expected:o.object,received:H.parsedType}),YT}let{status:J,ctx:W}=this._processInputParams(T),{shape:X,keys:Y}=this._getCached(),F=[];if(!(this._def.catchall instanceof A1&&this._def.unknownKeys==="strip")){for(let H in W.data)if(!Y.includes(H))F.push(H)}let G=[];for(let H of Y){let M=X[H],A=W.data[H];G.push({key:{status:"valid",value:H},value:M._parse(new qJ(W,A,W.path,H)),alwaysSet:H in W.data})}if(this._def.catchall instanceof A1){let H=this._def.unknownKeys;if(H==="passthrough")for(let M of F)G.push({key:{status:"valid",value:M},value:{status:"valid",value:W.data[M]}});else if(H==="strict"){if(F.length>0)p(W,{code:j.unrecognized_keys,keys:F}),J.dirty()}else if(H==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let H=this._def.catchall;for(let M of F){let A=W.data[M];G.push({key:{status:"valid",value:M},value:H._parse(new qJ(W,A,W.path,M)),alwaysSet:M in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let H=[];for(let M of G){let A=await M.key,z=await M.value;H.push({key:A,value:z,alwaysSet:M.alwaysSet})}return H}).then((H)=>{return g$.mergeObjectSync(J,H)});else return g$.mergeObjectSync(J,G)}get shape(){return this._def.shape()}strict(T){return i.errToObj,new T$({...this._def,unknownKeys:"strict",...T!==void 0?{errorMap:($,J)=>{var W,X,Y,F;let G=(Y=(X=(W=this._def).errorMap)===null||X===void 0?void 0:X.call(W,$,J).message)!==null&&Y!==void 0?Y:J.defaultError;if($.code==="unrecognized_keys")return{message:(F=i.errToObj(T).message)!==null&&F!==void 0?F:G};return{message:G}}}:{}})}strip(){return new T$({...this._def,unknownKeys:"strip"})}passthrough(){return new T$({...this._def,unknownKeys:"passthrough"})}extend(T){return new T$({...this._def,shape:()=>({...this._def.shape(),...T})})}merge(T){return new T$({unknownKeys:T._def.unknownKeys,catchall:T._def.catchall,shape:()=>({...this._def.shape(),...T._def.shape()}),typeName:x.ZodObject})}setKey(T,$){return this.augment({[T]:$})}catchall(T){return new T$({...this._def,catchall:T})}pick(T){let $={};return LT.objectKeys(T).forEach((J)=>{if(T[J]&&this.shape[J])$[J]=this.shape[J]}),new T$({...this._def,shape:()=>$})}omit(T){let $={};return LT.objectKeys(this.shape).forEach((J)=>{if(!T[J])$[J]=this.shape[J]}),new T$({...this._def,shape:()=>$})}deepPartial(){return FW(this)}partial(T){let $={};return LT.objectKeys(this.shape).forEach((J)=>{let W=this.shape[J];if(T&&!T[J])$[J]=W;else $[J]=W.optional()}),new T$({...this._def,shape:()=>$})}required(T){let $={};return LT.objectKeys(this.shape).forEach((J)=>{if(T&&!T[J])$[J]=this.shape[J];else{let X=this.shape[J];while(X instanceof KJ)X=X._def.innerType;$[J]=X}}),new T$({...this._def,shape:()=>$})}keyof(){return UG(LT.objectKeys(this.shape))}}T$.create=(T,$)=>{return new T$({shape:()=>T,unknownKeys:"strip",catchall:A1.create(),typeName:x.ZodObject,...AT($)})};T$.strictCreate=(T,$)=>{return new T$({shape:()=>T,unknownKeys:"strict",catchall:A1.create(),typeName:x.ZodObject,...AT($)})};T$.lazycreate=(T,$)=>{return new T$({shape:T,unknownKeys:"strip",catchall:A1.create(),typeName:x.ZodObject,...AT($)})};class IX extends KT{_parse(T){let{ctx:$}=this._processInputParams(T),J=this._def.options;function W(X){for(let F of X)if(F.result.status==="valid")return F.result;for(let F of X)if(F.result.status==="dirty")return $.common.issues.push(...F.ctx.common.issues),F.result;let Y=X.map((F)=>new _J(F.ctx.common.issues));return p($,{code:j.invalid_union,unionErrors:Y}),YT}if($.common.async)return Promise.all(J.map(async(X)=>{let Y={...$,common:{...$.common,issues:[]},parent:null};return{result:await X._parseAsync({data:$.data,path:$.path,parent:Y}),ctx:Y}})).then(W);else{let X=void 0,Y=[];for(let G of J){let H={...$,common:{...$.common,issues:[]},parent:null},M=G._parseSync({data:$.data,path:$.path,parent:H});if(M.status==="valid")return M;else if(M.status==="dirty"&&!X)X={result:M,ctx:H};if(H.common.issues.length)Y.push(H.common.issues)}if(X)return $.common.issues.push(...X.ctx.common.issues),X.result;let F=Y.map((G)=>new _J(G));return p($,{code:j.invalid_union,unionErrors:F}),YT}}get options(){return this._def.options}}IX.create=(T,$)=>{return new IX({options:T,typeName:x.ZodUnion,...AT($)})};var H1=(T)=>{if(T instanceof xX)return H1(T.schema);else if(T instanceof lJ)return H1(T.innerType());else if(T instanceof PX)return[T.value];else if(T instanceof U0)return T.options;else if(T instanceof bX)return LT.objectValues(T.enum);else if(T instanceof vX)return H1(T._def.innerType);else if(T instanceof kX)return[void 0];else if(T instanceof yX)return[null];else if(T instanceof KJ)return[void 0,...H1(T.unwrap())];else if(T instanceof g1)return[null,...H1(T.unwrap())];else if(T instanceof yY)return H1(T.unwrap());else if(T instanceof gX)return H1(T.unwrap());else if(T instanceof hX)return H1(T._def.innerType);else return[]};class kY extends KT{_parse(T){let{ctx:$}=this._processInputParams(T);if($.parsedType!==o.object)return p($,{code:j.invalid_type,expected:o.object,received:$.parsedType}),YT;let J=this.discriminator,W=$.data[J],X=this.optionsMap.get(W);if(!X)return p($,{code:j.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),YT;if($.common.async)return X._parseAsync({data:$.data,path:$.path,parent:$});else return X._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(T,$,J){let W=new Map;for(let X of $){let Y=H1(X.shape[T]);if(!Y.length)throw new Error(`A discriminator value for key \`${T}\` could not be extracted from all schema options`);for(let F of Y){if(W.has(F))throw new Error(`Discriminator property ${String(T)} has duplicate value ${String(F)}`);W.set(F,X)}}return new kY({typeName:x.ZodDiscriminatedUnion,discriminator:T,options:$,optionsMap:W,...AT(J)})}}function qY(T,$){let J=h1(T),W=h1($);if(T===$)return{valid:!0,data:T};else if(J===o.object&&W===o.object){let X=LT.objectKeys($),Y=LT.objectKeys(T).filter((G)=>X.indexOf(G)!==-1),F={...T,...$};for(let G of Y){let H=qY(T[G],$[G]);if(!H.valid)return{valid:!1};F[G]=H.data}return{valid:!0,data:F}}else if(J===o.array&&W===o.array){if(T.length!==$.length)return{valid:!1};let X=[];for(let Y=0;Y<T.length;Y++){let F=T[Y],G=$[Y],H=qY(F,G);if(!H.valid)return{valid:!1};X.push(H.data)}return{valid:!0,data:X}}else if(J===o.date&&W===o.date&&+T===+$)return{valid:!0,data:T};else return{valid:!1}}class jX extends KT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T),W=(X,Y)=>{if(MG(X)||MG(Y))return YT;let F=qY(X.value,Y.value);if(!F.valid)return p(J,{code:j.invalid_intersection_types}),YT;if(AG(X)||AG(Y))$.dirty();return{status:$.value,value:F.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([X,Y])=>W(X,Y));else return W(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}jX.create=(T,$,J)=>{return new jX({left:T,right:$,typeName:x.ZodIntersection,...AT(J)})};class z1 extends KT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.array)return p(J,{code:j.invalid_type,expected:o.array,received:J.parsedType}),YT;if(J.data.length<this._def.items.length)return p(J,{code:j.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),YT;if(!this._def.rest&&J.data.length>this._def.items.length)p(J,{code:j.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let X=[...J.data].map((Y,F)=>{let G=this._def.items[F]||this._def.rest;if(!G)return null;return G._parse(new qJ(J,Y,J.path,F))}).filter((Y)=>!!Y);if(J.common.async)return Promise.all(X).then((Y)=>{return g$.mergeArray($,Y)});else return g$.mergeArray($,X)}get items(){return this._def.items}rest(T){return new z1({...this._def,rest:T})}}z1.create=(T,$)=>{if(!Array.isArray(T))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new z1({items:T,typeName:x.ZodTuple,rest:null,...AT($)})};class n8 extends KT{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.object)return p(J,{code:j.invalid_type,expected:o.object,received:J.parsedType}),YT;let W=[],X=this._def.keyType,Y=this._def.valueType;for(let F in J.data)W.push({key:X._parse(new qJ(J,F,J.path,F)),value:Y._parse(new qJ(J,J.data[F],J.path,F)),alwaysSet:F in J.data});if(J.common.async)return g$.mergeObjectAsync($,W);else return g$.mergeObjectSync($,W)}get element(){return this._def.valueType}static create(T,$,J){if($ instanceof KT)return new n8({keyType:T,valueType:$,typeName:x.ZodRecord,...AT(J)});return new n8({keyType:M1.create(),valueType:T,typeName:x.ZodRecord,...AT($)})}}class i8 extends KT{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.map)return p(J,{code:j.invalid_type,expected:o.map,received:J.parsedType}),YT;let W=this._def.keyType,X=this._def.valueType,Y=[...J.data.entries()].map(([F,G],H)=>{return{key:W._parse(new qJ(J,F,J.path,[H,"key"])),value:X._parse(new qJ(J,G,J.path,[H,"value"]))}});if(J.common.async){let F=new Map;return Promise.resolve().then(async()=>{for(let G of Y){let H=await G.key,M=await G.value;if(H.status==="aborted"||M.status==="aborted")return YT;if(H.status==="dirty"||M.status==="dirty")$.dirty();F.set(H.value,M.value)}return{status:$.value,value:F}})}else{let F=new Map;for(let G of Y){let{key:H,value:M}=G;if(H.status==="aborted"||M.status==="aborted")return YT;if(H.status==="dirty"||M.status==="dirty")$.dirty();F.set(H.value,M.value)}return{status:$.value,value:F}}}}i8.create=(T,$,J)=>{return new i8({valueType:$,keyType:T,typeName:x.ZodMap,...AT(J)})};class AW extends KT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.parsedType!==o.set)return p(J,{code:j.invalid_type,expected:o.set,received:J.parsedType}),YT;let W=this._def;if(W.minSize!==null){if(J.data.size<W.minSize.value)p(J,{code:j.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),$.dirty()}if(W.maxSize!==null){if(J.data.size>W.maxSize.value)p(J,{code:j.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),$.dirty()}let X=this._def.valueType;function Y(G){let H=new Set;for(let M of G){if(M.status==="aborted")return YT;if(M.status==="dirty")$.dirty();H.add(M.value)}return{status:$.value,value:H}}let F=[...J.data.values()].map((G,H)=>X._parse(new qJ(J,G,J.path,H)));if(J.common.async)return Promise.all(F).then((G)=>Y(G));else return Y(F)}min(T,$){return new AW({...this._def,minSize:{value:T,message:i.toString($)}})}max(T,$){return new AW({...this._def,maxSize:{value:T,message:i.toString($)}})}size(T,$){return this.min(T,$).max(T,$)}nonempty(T){return this.min(1,T)}}AW.create=(T,$)=>{return new AW({valueType:T,minSize:null,maxSize:null,typeName:x.ZodSet,...AT($)})};class CX extends KT{constructor(){super(...arguments);this.validate=this.implement}_parse(T){let{ctx:$}=this._processInputParams(T);if($.parsedType!==o.function)return p($,{code:j.invalid_type,expected:o.function,received:$.parsedType}),YT;function J(F,G){return ZY({data:F,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,CY(),ZX].filter((H)=>!!H),issueData:{code:j.invalid_arguments,argumentsError:G}})}function W(F,G){return ZY({data:F,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,CY(),ZX].filter((H)=>!!H),issueData:{code:j.invalid_return_type,returnTypeError:G}})}let X={errorMap:$.common.contextualErrorMap},Y=$.data;if(this._def.returns instanceof zW){let F=this;return i$(async function(...G){let H=new _J([]),M=await F._def.args.parseAsync(G,X).catch((w)=>{throw H.addIssue(J(G,w)),H}),A=await Reflect.apply(Y,this,M);return await F._def.returns._def.type.parseAsync(A,X).catch((w)=>{throw H.addIssue(W(A,w)),H})})}else{let F=this;return i$(function(...G){let H=F._def.args.safeParse(G,X);if(!H.success)throw new _J([J(G,H.error)]);let M=Reflect.apply(Y,this,H.data),A=F._def.returns.safeParse(M,X);if(!A.success)throw new _J([W(M,A.error)]);return A.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...T){return new CX({...this._def,args:z1.create(T).rest(O0.create())})}returns(T){return new CX({...this._def,returns:T})}implement(T){return this.parse(T)}strictImplement(T){return this.parse(T)}static create(T,$,J){return new CX({args:T?T:z1.create([]).rest(O0.create()),returns:$||O0.create(),typeName:x.ZodFunction,...AT(J)})}}class xX extends KT{get schema(){return this._def.getter()}_parse(T){let{ctx:$}=this._processInputParams(T);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}xX.create=(T,$)=>{return new xX({getter:T,typeName:x.ZodLazy,...AT($)})};class PX extends KT{_parse(T){if(T.data!==this._def.value){let $=this._getOrReturnCtx(T);return p($,{received:$.data,code:j.invalid_literal,expected:this._def.value}),YT}return{status:"valid",value:T.data}}get value(){return this._def.value}}PX.create=(T,$)=>{return new PX({value:T,typeName:x.ZodLiteral,...AT($)})};function UG(T,$){return new U0({values:T,typeName:x.ZodEnum,...AT($)})}class U0 extends KT{constructor(){super(...arguments);fX.set(this,void 0)}_parse(T){if(typeof T.data!=="string"){let $=this._getOrReturnCtx(T),J=this._def.values;return p($,{expected:LT.joinValues(J),received:$.parsedType,code:j.invalid_type}),YT}if(!u8(this,fX,"f"))wG(this,fX,new Set(this._def.values),"f");if(!u8(this,fX,"f").has(T.data)){let $=this._getOrReturnCtx(T),J=this._def.values;return p($,{received:$.data,code:j.invalid_enum_value,options:J}),YT}return i$(T.data)}get options(){return this._def.values}get enum(){let T={};for(let $ of this._def.values)T[$]=$;return T}get Values(){let T={};for(let $ of this._def.values)T[$]=$;return T}get Enum(){let T={};for(let $ of this._def.values)T[$]=$;return T}extract(T,$=this._def){return U0.create(T,{...this._def,...$})}exclude(T,$=this._def){return U0.create(this.options.filter((J)=>!T.includes(J)),{...this._def,...$})}}fX=new WeakMap;U0.create=UG;class bX extends KT{constructor(){super(...arguments);NX.set(this,void 0)}_parse(T){let $=LT.getValidEnumValues(this._def.values),J=this._getOrReturnCtx(T);if(J.parsedType!==o.string&&J.parsedType!==o.number){let W=LT.objectValues($);return p(J,{expected:LT.joinValues(W),received:J.parsedType,code:j.invalid_type}),YT}if(!u8(this,NX,"f"))wG(this,NX,new Set(LT.getValidEnumValues(this._def.values)),"f");if(!u8(this,NX,"f").has(T.data)){let W=LT.objectValues($);return p(J,{received:J.data,code:j.invalid_enum_value,options:W}),YT}return i$(T.data)}get enum(){return this._def.values}}NX=new WeakMap;bX.create=(T,$)=>{return new bX({values:T,typeName:x.ZodNativeEnum,...AT($)})};class zW extends KT{unwrap(){return this._def.type}_parse(T){let{ctx:$}=this._processInputParams(T);if($.parsedType!==o.promise&&$.common.async===!1)return p($,{code:j.invalid_type,expected:o.promise,received:$.parsedType}),YT;let J=$.parsedType===o.promise?$.data:Promise.resolve($.data);return i$(J.then((W)=>{return this._def.type.parseAsync(W,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}zW.create=(T,$)=>{return new zW({type:T,typeName:x.ZodPromise,...AT($)})};class lJ extends KT{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(T){let{status:$,ctx:J}=this._processInputParams(T),W=this._def.effect||null,X={addIssue:(Y)=>{if(p(J,Y),Y.fatal)$.abort();else $.dirty()},get path(){return J.path}};if(X.addIssue=X.addIssue.bind(X),W.type==="preprocess"){let Y=W.transform(J.data,X);if(J.common.async)return Promise.resolve(Y).then(async(F)=>{if($.value==="aborted")return YT;let G=await this._def.schema._parseAsync({data:F,path:J.path,parent:J});if(G.status==="aborted")return YT;if(G.status==="dirty")return BX(G.value);if($.value==="dirty")return BX(G.value);return G});else{if($.value==="aborted")return YT;let F=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(F.status==="aborted")return YT;if(F.status==="dirty")return BX(F.value);if($.value==="dirty")return BX(F.value);return F}}if(W.type==="refinement"){let Y=(F)=>{let G=W.refinement(F,X);if(J.common.async)return Promise.resolve(G);if(G instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return F};if(J.common.async===!1){let F=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(F.status==="aborted")return YT;if(F.status==="dirty")$.dirty();return Y(F.value),{status:$.value,value:F.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((F)=>{if(F.status==="aborted")return YT;if(F.status==="dirty")$.dirty();return Y(F.value).then(()=>{return{status:$.value,value:F.value}})})}if(W.type==="transform")if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!GW(Y))return Y;let F=W.transform(Y.value,X);if(F instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:F}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(!GW(Y))return Y;return Promise.resolve(W.transform(Y.value,X)).then((F)=>({status:$.value,value:F}))});LT.assertNever(W)}}lJ.create=(T,$,J)=>{return new lJ({schema:T,typeName:x.ZodEffects,effect:$,...AT(J)})};lJ.createWithPreprocess=(T,$,J)=>{return new lJ({schema:$,effect:{type:"preprocess",transform:T},typeName:x.ZodEffects,...AT(J)})};class KJ extends KT{_parse(T){if(this._getType(T)===o.undefined)return i$(void 0);return this._def.innerType._parse(T)}unwrap(){return this._def.innerType}}KJ.create=(T,$)=>{return new KJ({innerType:T,typeName:x.ZodOptional,...AT($)})};class g1 extends KT{_parse(T){if(this._getType(T)===o.null)return i$(null);return this._def.innerType._parse(T)}unwrap(){return this._def.innerType}}g1.create=(T,$)=>{return new g1({innerType:T,typeName:x.ZodNullable,...AT($)})};class vX extends KT{_parse(T){let{ctx:$}=this._processInputParams(T),J=$.data;if($.parsedType===o.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}vX.create=(T,$)=>{return new vX({innerType:T,typeName:x.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...AT($)})};class hX extends KT{_parse(T){let{ctx:$}=this._processInputParams(T),J={...$,common:{...$.common,issues:[]}},W=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(p8(W))return W.then((X)=>{return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new _J(J.common.issues)},input:J.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new _J(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}hX.create=(T,$)=>{return new hX({innerType:T,typeName:x.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...AT($)})};class t8 extends KT{_parse(T){if(this._getType(T)!==o.nan){let J=this._getOrReturnCtx(T);return p(J,{code:j.invalid_type,expected:o.nan,received:J.parsedType}),YT}return{status:"valid",value:T.data}}}t8.create=(T)=>{return new t8({typeName:x.ZodNaN,...AT(T)})};var vj=Symbol("zod_brand");class yY extends KT{_parse(T){let{ctx:$}=this._processInputParams(T),J=$.data;return this._def.type._parse({data:J,path:$.path,parent:$})}unwrap(){return this._def.type}}class r8 extends KT{_parse(T){let{status:$,ctx:J}=this._processInputParams(T);if(J.common.async)return(async()=>{let X=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(X.status==="aborted")return YT;if(X.status==="dirty")return $.dirty(),BX(X.value);else return this._def.out._parseAsync({data:X.value,path:J.path,parent:J})})();else{let W=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(W.status==="aborted")return YT;if(W.status==="dirty")return $.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:J.path,parent:J})}}static create(T,$){return new r8({in:T,out:$,typeName:x.ZodPipeline})}}class gX extends KT{_parse(T){let $=this._def.innerType._parse(T),J=(W)=>{if(GW(W))W.value=Object.freeze(W.value);return W};return p8($)?$.then((W)=>J(W)):J($)}unwrap(){return this._def.innerType}}gX.create=(T,$)=>{return new gX({innerType:T,typeName:x.ZodReadonly,...AT($)})};var hj={object:T$.lazycreate},x;(function(T){T.ZodString="ZodString",T.ZodNumber="ZodNumber",T.ZodNaN="ZodNaN",T.ZodBigInt="ZodBigInt",T.ZodBoolean="ZodBoolean",T.ZodDate="ZodDate",T.ZodSymbol="ZodSymbol",T.ZodUndefined="ZodUndefined",T.ZodNull="ZodNull",T.ZodAny="ZodAny",T.ZodUnknown="ZodUnknown",T.ZodNever="ZodNever",T.ZodVoid="ZodVoid",T.ZodArray="ZodArray",T.ZodObject="ZodObject",T.ZodUnion="ZodUnion",T.ZodDiscriminatedUnion="ZodDiscriminatedUnion",T.ZodIntersection="ZodIntersection",T.ZodTuple="ZodTuple",T.ZodRecord="ZodRecord",T.ZodMap="ZodMap",T.ZodSet="ZodSet",T.ZodFunction="ZodFunction",T.ZodLazy="ZodLazy",T.ZodLiteral="ZodLiteral",T.ZodEnum="ZodEnum",T.ZodEffects="ZodEffects",T.ZodNativeEnum="ZodNativeEnum",T.ZodOptional="ZodOptional",T.ZodNullable="ZodNullable",T.ZodDefault="ZodDefault",T.ZodCatch="ZodCatch",T.ZodPromise="ZodPromise",T.ZodBranded="ZodBranded",T.ZodPipeline="ZodPipeline",T.ZodReadonly="ZodReadonly"})(x||(x={}));var gj=M1.create,mj=HW.create,pj=t8.create,uj=MW.create,cj=c8.create,oj=qX.create,dj=o8.create,lj=kX.create,nj=yX.create,ij=d8.create,tj=O0.create,rj=A1.create,aj=l8.create,sj=dJ.create,ej=T$.create,Tx=T$.strictCreate,$x=IX.create,Jx=kY.create,Wx=jX.create,Xx=z1.create,Yx=n8.create,Fx=i8.create,Gx=AW.create,Hx=CX.create,Mx=xX.create,Ax=PX.create,zx=U0.create,wx=bX.create,Qx=zW.create,Ox=lJ.create,Ux=KJ.create,_x=g1.create,Kx=lJ.createWithPreprocess,Dx=r8.create;function _G(){return{}}function KG(T,$){let J={type:"array"};if(T.type?._def&&T.type?._def?.typeName!==x.ZodAny)J.items=WT(T.type._def,{...$,currentPath:[...$.currentPath,"items"]});if(T.minLength)RT(J,"minItems",T.minLength.value,T.minLength.message,$);if(T.maxLength)RT(J,"maxItems",T.maxLength.value,T.maxLength.message,$);if(T.exactLength)RT(J,"minItems",T.exactLength.value,T.exactLength.message,$),RT(J,"maxItems",T.exactLength.value,T.exactLength.message,$);return J}function DG(T,$){let J={type:"integer",format:"int64"};if(!T.checks)return J;for(let W of T.checks)switch(W.kind){case"min":if($.target==="jsonSchema7")if(W.inclusive)RT(J,"minimum",W.value,W.message,$);else RT(J,"exclusiveMinimum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMinimum=!0;RT(J,"minimum",W.value,W.message,$)}break;case"max":if($.target==="jsonSchema7")if(W.inclusive)RT(J,"maximum",W.value,W.message,$);else RT(J,"exclusiveMaximum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMaximum=!0;RT(J,"maximum",W.value,W.message,$)}break;case"multipleOf":RT(J,"multipleOf",W.value,W.message,$);break}return J}function VG(){return{type:"boolean"}}function a8(T,$){return WT(T.type._def,$)}var SG=(T,$)=>{return WT(T.innerType._def,$)};function IY(T,$,J){let W=J??$.dateStrategy;if(Array.isArray(W))return{anyOf:W.map((X,Y)=>IY(T,$,X))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return j_(T,$)}}var j_=(T,$)=>{let J={type:"integer",format:"unix-time"};if($.target==="openApi3")return J;for(let W of T.checks)switch(W.kind){case"min":RT(J,"minimum",W.value,W.message,$);break;case"max":RT(J,"maximum",W.value,W.message,$);break}return J};function RG(T,$){return{...WT(T.innerType._def,$),default:T.defaultValue()}}function EG(T,$){return $.effectStrategy==="input"?WT(T.schema._def,$):{}}function LG(T){return{type:"string",enum:Array.from(T.values)}}var x_=(T)=>{if("type"in T&&T.type==="string")return!1;return"allOf"in T};function BG(T,$){let J=[WT(T.left._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),WT(T.right._def,{...$,currentPath:[...$.currentPath,"allOf","1"]})].filter((Y)=>!!Y),W=$.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,X=[];return J.forEach((Y)=>{if(x_(Y)){if(X.push(...Y.allOf),Y.unevaluatedProperties===void 0)W=void 0}else{let F=Y;if("additionalProperties"in Y&&Y.additionalProperties===!1){let{additionalProperties:G,...H}=Y;F=H}else W=void 0;X.push(F)}}),X.length?{allOf:X,...W}:void 0}function fG(T,$){let J=typeof T.value;if(J!=="bigint"&&J!=="number"&&J!=="boolean"&&J!=="string")return{type:Array.isArray(T.value)?"array":"object"};if($.target==="openApi3")return{type:J==="bigint"?"integer":J,enum:[T.value]};return{type:J==="bigint"?"integer":J,const:T.value}}var jY=void 0,kJ={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(jY===void 0)jY=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return jY},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function s8(T,$){let J={type:"string"};if(T.checks)for(let W of T.checks)switch(W.kind){case"min":RT(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,W.value):W.value,W.message,$);break;case"max":RT(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,W.value):W.value,W.message,$);break;case"email":switch($.emailStrategy){case"format:email":yJ(J,"email",W.message,$);break;case"format:idn-email":yJ(J,"idn-email",W.message,$);break;case"pattern:zod":m$(J,kJ.email,W.message,$);break}break;case"url":yJ(J,"uri",W.message,$);break;case"uuid":yJ(J,"uuid",W.message,$);break;case"regex":m$(J,W.regex,W.message,$);break;case"cuid":m$(J,kJ.cuid,W.message,$);break;case"cuid2":m$(J,kJ.cuid2,W.message,$);break;case"startsWith":m$(J,RegExp(`^${xY(W.value,$)}`),W.message,$);break;case"endsWith":m$(J,RegExp(`${xY(W.value,$)}$`),W.message,$);break;case"datetime":yJ(J,"date-time",W.message,$);break;case"date":yJ(J,"date",W.message,$);break;case"time":yJ(J,"time",W.message,$);break;case"duration":yJ(J,"duration",W.message,$);break;case"length":RT(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,W.value):W.value,W.message,$),RT(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,W.value):W.value,W.message,$);break;case"includes":{m$(J,RegExp(xY(W.value,$)),W.message,$);break}case"ip":{if(W.version!=="v6")yJ(J,"ipv4",W.message,$);if(W.version!=="v4")yJ(J,"ipv6",W.message,$);break}case"base64url":m$(J,kJ.base64url,W.message,$);break;case"jwt":m$(J,kJ.jwt,W.message,$);break;case"cidr":{if(W.version!=="v6")m$(J,kJ.ipv4Cidr,W.message,$);if(W.version!=="v4")m$(J,kJ.ipv6Cidr,W.message,$);break}case"emoji":m$(J,kJ.emoji(),W.message,$);break;case"ulid":{m$(J,kJ.ulid,W.message,$);break}case"base64":{switch($.base64Strategy){case"format:binary":{yJ(J,"binary",W.message,$);break}case"contentEncoding:base64":{RT(J,"contentEncoding","base64",W.message,$);break}case"pattern:zod":{m$(J,kJ.base64,W.message,$);break}}break}case"nanoid":m$(J,kJ.nanoid,W.message,$);case"toLowerCase":case"toUpperCase":case"trim":break;default:((X)=>{})(W)}return J}function xY(T,$){return $.patternStrategy==="escape"?b_(T):T}var P_=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function b_(T){let $="";for(let J=0;J<T.length;J++){if(!P_.has(T[J]))$+="\\";$+=T[J]}return $}function yJ(T,$,J,W){if(T.format||T.anyOf?.some((X)=>X.format)){if(!T.anyOf)T.anyOf=[];if(T.format){if(T.anyOf.push({format:T.format,...T.errorMessage&&W.errorMessages&&{errorMessage:{format:T.errorMessage.format}}}),delete T.format,T.errorMessage){if(delete T.errorMessage.format,Object.keys(T.errorMessage).length===0)delete T.errorMessage}}T.anyOf.push({format:$,...J&&W.errorMessages&&{errorMessage:{format:J}}})}else RT(T,"format",$,J,W)}function m$(T,$,J,W){if(T.pattern||T.allOf?.some((X)=>X.pattern)){if(!T.allOf)T.allOf=[];if(T.pattern){if(T.allOf.push({pattern:T.pattern,...T.errorMessage&&W.errorMessages&&{errorMessage:{pattern:T.errorMessage.pattern}}}),delete T.pattern,T.errorMessage){if(delete T.errorMessage.pattern,Object.keys(T.errorMessage).length===0)delete T.errorMessage}}T.allOf.push({pattern:NG($,W),...J&&W.errorMessages&&{errorMessage:{pattern:J}}})}else RT(T,"pattern",NG($,W),J,W)}function NG(T,$){if(!$.applyRegexFlags||!T.flags)return T.source;let J={i:T.flags.includes("i"),m:T.flags.includes("m"),s:T.flags.includes("s")},W=J.i?T.source.toLowerCase():T.source,X="",Y=!1,F=!1,G=!1;for(let H=0;H<W.length;H++){if(Y){X+=W[H],Y=!1;continue}if(J.i){if(F){if(W[H].match(/[a-z]/)){if(G)X+=W[H],X+=`${W[H-2]}-${W[H]}`.toUpperCase(),G=!1;else if(W[H+1]==="-"&&W[H+2]?.match(/[a-z]/))X+=W[H],G=!0;else X+=`${W[H]}${W[H].toUpperCase()}`;continue}}else if(W[H].match(/[a-z]/)){X+=`[${W[H]}${W[H].toUpperCase()}]`;continue}}if(J.m){if(W[H]==="^"){X+=`(^|(?<=[\r
|
|
17
17
|
]))`;continue}else if(W[H]==="$"){X+=`($|(?=[\r
|
|
18
|
-
]))`;continue}}if(J.s&&W[H]==="."){X+=
|
|
18
|
+
]))`;continue}}if(J.s&&W[H]==="."){X+=F?`${W[H]}\r
|
|
19
19
|
`:`[${W[H]}\r
|
|
20
|
-
]`;continue}if(X+=W[H],W[H]==="\\")F=!0;else if(Y&&W[H]==="]")Y=!1;else if(!Y&&W[H]==="[")Y=!0}try{new RegExp(X)}catch{return console.warn(`Could not convert regex pattern at ${$.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),T.source}return X}function a8(T,$){if($.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if($.target==="openApi3"&&T.keyType?._def.typeName===x.ZodEnum)return{type:"object",required:T.keyType._def.values,properties:T.keyType._def.values.reduce((W,X)=>({...W,[X]:WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"properties",X]})??{}}),{}),additionalProperties:$.rejectedAdditionalProperties};let J={type:"object",additionalProperties:WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]})??$.allowedAdditionalProperties};if($.target==="openApi3")return J;if(T.keyType?._def.typeName===x.ZodString&&T.keyType._def.checks?.length){let{type:W,...X}=r8(T.keyType._def,$);return{...J,propertyNames:X}}else if(T.keyType?._def.typeName===x.ZodEnum)return{...J,propertyNames:{enum:T.keyType._def.values}};else if(T.keyType?._def.typeName===x.ZodBranded&&T.keyType._def.type._def.typeName===x.ZodString&&T.keyType._def.type._def.checks?.length){let{type:W,...X}=t8(T.keyType._def,$);return{...J,propertyNames:X}}return J}function ZG(T,$){if($.mapStrategy==="record")return a8(T,$);let J=WT(T.keyType._def,{...$,currentPath:[...$.currentPath,"items","items","0"]})||{},W=WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[J,W],minItems:2,maxItems:2}}}function qG(T){let $=T.values,W=Object.keys(T.values).filter((F)=>{return typeof $[$[F]]!=="number"}).map((F)=>$[F]),X=Array.from(new Set(W.map((F)=>typeof F)));return{type:X.length===1?X[0]==="string"?"string":"number":["string","number"],enum:W}}function kG(){return{not:{}}}function yG(T){return T.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var pX={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function jG(T,$){if($.target==="openApi3")return IG(T,$);let J=T.options instanceof Map?Array.from(T.options.values()):T.options;if(J.every((W)=>(W._def.typeName in pX)&&(!W._def.checks||!W._def.checks.length))){let W=J.reduce((X,F)=>{let Y=pX[F._def.typeName];return Y&&!X.includes(Y)?[...X,Y]:X},[]);return{type:W.length>1?W:W[0]}}else if(J.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=J.reduce((X,F)=>{let Y=typeof F._def.value;switch(Y){case"string":case"number":case"boolean":return[...X,Y];case"bigint":return[...X,"integer"];case"object":if(F._def.value===null)return[...X,"null"];case"symbol":case"undefined":case"function":default:return X}},[]);if(W.length===J.length){let X=W.filter((F,Y,G)=>G.indexOf(F)===Y);return{type:X.length>1?X:X[0],enum:J.reduce((F,Y)=>{return F.includes(Y._def.value)?F:[...F,Y._def.value]},[])}}}else if(J.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:J.reduce((W,X)=>[...W,...X._def.values.filter((F)=>!W.includes(F))],[])};return IG(T,$)}var IG=(T,$)=>{let J=(T.options instanceof Map?Array.from(T.options.values()):T.options).map((W,X)=>WT(W._def,{...$,currentPath:[...$.currentPath,"anyOf",`${X}`]})).filter((W)=>!!W&&(!$.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return J.length?{anyOf:J}:void 0};function xG(T,$){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(T.innerType._def.typeName)&&(!T.innerType._def.checks||!T.innerType._def.checks.length)){if($.target==="openApi3")return{type:pX[T.innerType._def.typeName],nullable:!0};return{type:[pX[T.innerType._def.typeName],"null"]}}if($.target==="openApi3"){let W=WT(T.innerType._def,{...$,currentPath:[...$.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let J=WT(T.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","0"]});return J&&{anyOf:[J,{type:"null"}]}}function PG(T,$){let J={type:"number"};if(!T.checks)return J;for(let W of T.checks)switch(W.kind){case"int":J.type="integer",fF(J,"type",W.message,$);break;case"min":if($.target==="jsonSchema7")if(W.inclusive)ET(J,"minimum",W.value,W.message,$);else ET(J,"exclusiveMinimum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMinimum=!0;ET(J,"minimum",W.value,W.message,$)}break;case"max":if($.target==="jsonSchema7")if(W.inclusive)ET(J,"maximum",W.value,W.message,$);else ET(J,"exclusiveMaximum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMaximum=!0;ET(J,"maximum",W.value,W.message,$)}break;case"multipleOf":ET(J,"multipleOf",W.value,W.message,$);break}return J}function bG(T,$){let J=$.target==="openAi",W={type:"object",properties:{}},X=[],F=T.shape();for(let G in F){let H=F[G];if(H===void 0||H._def===void 0)continue;let M=h_(H);if(M&&J){if(H instanceof KJ)H=H._def.innerType;if(!H.isNullable())H=H.nullable();M=!1}let z=WT(H._def,{...$,currentPath:[...$.currentPath,"properties",G],propertyPath:[...$.currentPath,"properties",G]});if(z===void 0)continue;if(W.properties[G]=z,!M)X.push(G)}if(X.length)W.required=X;let Y=v_(T,$);if(Y!==void 0)W.additionalProperties=Y;return W}function v_(T,$){if(T.catchall._def.typeName!=="ZodNever")return WT(T.catchall._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]});switch(T.unknownKeys){case"passthrough":return $.allowedAdditionalProperties;case"strict":return $.rejectedAdditionalProperties;case"strip":return $.removeAdditionalStrategy==="strict"?$.allowedAdditionalProperties:$.rejectedAdditionalProperties}}function h_(T){try{return T.isOptional()}catch{return!0}}var vG=(T,$)=>{if($.currentPath.toString()===$.propertyPath?.toString())return WT(T.innerType._def,$);let J=WT(T.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","1"]});return J?{anyOf:[{not:{}},J]}:{}};var hG=(T,$)=>{if($.pipeStrategy==="input")return WT(T.in._def,$);else if($.pipeStrategy==="output")return WT(T.out._def,$);let J=WT(T.in._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),W=WT(T.out._def,{...$,currentPath:[...$.currentPath,"allOf",J?"1":"0"]});return{allOf:[J,W].filter((X)=>X!==void 0)}};function mG(T,$){return WT(T.type._def,$)}function gG(T,$){let W={type:"array",uniqueItems:!0,items:WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"items"]})};if(T.minSize)ET(W,"minItems",T.minSize.value,T.minSize.message,$);if(T.maxSize)ET(W,"maxItems",T.maxSize.value,T.maxSize.message,$);return W}function pG(T,$){if(T.rest)return{type:"array",minItems:T.items.length,items:T.items.map((J,W)=>WT(J._def,{...$,currentPath:[...$.currentPath,"items",`${W}`]})).reduce((J,W)=>W===void 0?J:[...J,W],[]),additionalItems:WT(T.rest._def,{...$,currentPath:[...$.currentPath,"additionalItems"]})};else return{type:"array",minItems:T.items.length,maxItems:T.items.length,items:T.items.map((J,W)=>WT(J._def,{...$,currentPath:[...$.currentPath,"items",`${W}`]})).reduce((J,W)=>W===void 0?J:[...J,W],[])}}function uG(){return{not:{}}}function cG(){return{}}var oG=(T,$)=>{return WT(T.innerType._def,$)};var dG=(T,$,J)=>{switch($){case x.ZodString:return r8(T,J);case x.ZodNumber:return PG(T,J);case x.ZodObject:return bG(T,J);case x.ZodBigInt:return SG(T,J);case x.ZodBoolean:return VG();case x.ZodDate:return IF(T,J);case x.ZodUndefined:return uG();case x.ZodNull:return yG(J);case x.ZodArray:return KG(T,J);case x.ZodUnion:case x.ZodDiscriminatedUnion:return jG(T,J);case x.ZodIntersection:return fG(T,J);case x.ZodTuple:return pG(T,J);case x.ZodRecord:return a8(T,J);case x.ZodLiteral:return NG(T,J);case x.ZodEnum:return BG(T);case x.ZodNativeEnum:return qG(T);case x.ZodNullable:return xG(T,J);case x.ZodOptional:return vG(T,J);case x.ZodMap:return ZG(T,J);case x.ZodSet:return gG(T,J);case x.ZodLazy:return()=>T.getter()._def;case x.ZodPromise:return mG(T,J);case x.ZodNaN:case x.ZodNever:return kG();case x.ZodEffects:return LG(T,J);case x.ZodAny:return DG();case x.ZodUnknown:return cG();case x.ZodDefault:return RG(T,J);case x.ZodBranded:return t8(T,J);case x.ZodReadonly:return oG(T,J);case x.ZodCatch:return EG(T,J);case x.ZodPipeline:return hG(T,J);case x.ZodFunction:case x.ZodVoid:case x.ZodSymbol:return;default:return((W)=>{return})($)}};function WT(T,$,J=!1){let W=$.seen.get(T);if($.override){let G=$.override?.(T,$,W,J);if(G!==YG)return G}if(W&&!J){let G=m_(W,$);if(G!==void 0)return G}let X={def:T,path:$.currentPath,jsonSchema:void 0};$.seen.set(T,X);let F=dG(T,T.typeName,$),Y=typeof F==="function"?WT(F(),$):F;if(Y)p_(T,$,Y);if($.postProcess){let G=$.postProcess(Y,T,$);return X.jsonSchema=Y,G}return X.jsonSchema=Y,Y}var m_=(T,$)=>{switch($.$refStrategy){case"root":return{$ref:T.path.join("/")};case"relative":return{$ref:g_($.currentPath,T.path)};case"none":case"seen":{if(T.path.length<$.currentPath.length&&T.path.every((J,W)=>$.currentPath[W]===J))return console.warn(`Recursive reference detected at ${$.currentPath.join("/")}! Defaulting to any`),{};return $.$refStrategy==="seen"?{}:void 0}}},g_=(T,$)=>{let J=0;for(;J<T.length&&J<$.length;J++)if(T[J]!==$[J])break;return[(T.length-J).toString(),...$.slice(J)].join("/")},p_=(T,$,J)=>{if(T.description){if(J.description=T.description,$.markdownDescription)J.markdownDescription=T.description}return J};var lG=(T,$)=>{let J=HG($),W=typeof $==="object"&&$.definitions?Object.entries($.definitions).reduce((H,[M,z])=>({...H,[M]:WT(z._def,{...J,currentPath:[...J.basePath,J.definitionPath,M]},!0)??{}}),{}):void 0,X=typeof $==="string"?$:$?.nameStrategy==="title"?void 0:$?.name,F=WT(T._def,X===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,X]},!1)??{},Y=typeof $==="object"&&$.name!==void 0&&$.nameStrategy==="title"?$.name:void 0;if(Y!==void 0)F.title=Y;let G=X===void 0?W?{...F,[J.definitionPath]:W}:F:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,X].join("/"),[J.definitionPath]:{...W,[X]:F}};if(J.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(J.target==="jsonSchema2019-09"||J.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(J.target==="openAi"&&(("anyOf"in G)||("oneOf"in G)||("allOf"in G)||("type"in G)&&Array.isArray(G.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return G};var nG=lG;function iG(T,$){return function J({schema:W,fallback:X,toJsonSchema:F=nG}){let Y=F(W);return async function G(H,M=3){let z,A=[];while(A.length<M){z=await T(H,Y,X,A);let w=await W["~standard"].validate(z);if("value"in w)return w.value;$?.warn(`safegen failed to generate well-formed data.
|
|
20
|
+
]`;continue}if(X+=W[H],W[H]==="\\")Y=!0;else if(F&&W[H]==="]")F=!1;else if(!F&&W[H]==="[")F=!0}try{new RegExp(X)}catch{return console.warn(`Could not convert regex pattern at ${$.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),T.source}return X}function e8(T,$){if($.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if($.target==="openApi3"&&T.keyType?._def.typeName===x.ZodEnum)return{type:"object",required:T.keyType._def.values,properties:T.keyType._def.values.reduce((W,X)=>({...W,[X]:WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"properties",X]})??{}}),{}),additionalProperties:$.rejectedAdditionalProperties};let J={type:"object",additionalProperties:WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]})??$.allowedAdditionalProperties};if($.target==="openApi3")return J;if(T.keyType?._def.typeName===x.ZodString&&T.keyType._def.checks?.length){let{type:W,...X}=s8(T.keyType._def,$);return{...J,propertyNames:X}}else if(T.keyType?._def.typeName===x.ZodEnum)return{...J,propertyNames:{enum:T.keyType._def.values}};else if(T.keyType?._def.typeName===x.ZodBranded&&T.keyType._def.type._def.typeName===x.ZodString&&T.keyType._def.type._def.checks?.length){let{type:W,...X}=a8(T.keyType._def,$);return{...J,propertyNames:X}}return J}function CG(T,$){if($.mapStrategy==="record")return e8(T,$);let J=WT(T.keyType._def,{...$,currentPath:[...$.currentPath,"items","items","0"]})||{},W=WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[J,W],minItems:2,maxItems:2}}}function ZG(T){let $=T.values,W=Object.keys(T.values).filter((Y)=>{return typeof $[$[Y]]!=="number"}).map((Y)=>$[Y]),X=Array.from(new Set(W.map((Y)=>typeof Y)));return{type:X.length===1?X[0]==="string"?"string":"number":["string","number"],enum:W}}function qG(){return{not:{}}}function kG(T){return T.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var mX={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function IG(T,$){if($.target==="openApi3")return yG(T,$);let J=T.options instanceof Map?Array.from(T.options.values()):T.options;if(J.every((W)=>(W._def.typeName in mX)&&(!W._def.checks||!W._def.checks.length))){let W=J.reduce((X,Y)=>{let F=mX[Y._def.typeName];return F&&!X.includes(F)?[...X,F]:X},[]);return{type:W.length>1?W:W[0]}}else if(J.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=J.reduce((X,Y)=>{let F=typeof Y._def.value;switch(F){case"string":case"number":case"boolean":return[...X,F];case"bigint":return[...X,"integer"];case"object":if(Y._def.value===null)return[...X,"null"];case"symbol":case"undefined":case"function":default:return X}},[]);if(W.length===J.length){let X=W.filter((Y,F,G)=>G.indexOf(Y)===F);return{type:X.length>1?X:X[0],enum:J.reduce((Y,F)=>{return Y.includes(F._def.value)?Y:[...Y,F._def.value]},[])}}}else if(J.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:J.reduce((W,X)=>[...W,...X._def.values.filter((Y)=>!W.includes(Y))],[])};return yG(T,$)}var yG=(T,$)=>{let J=(T.options instanceof Map?Array.from(T.options.values()):T.options).map((W,X)=>WT(W._def,{...$,currentPath:[...$.currentPath,"anyOf",`${X}`]})).filter((W)=>!!W&&(!$.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return J.length?{anyOf:J}:void 0};function jG(T,$){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(T.innerType._def.typeName)&&(!T.innerType._def.checks||!T.innerType._def.checks.length)){if($.target==="openApi3")return{type:mX[T.innerType._def.typeName],nullable:!0};return{type:[mX[T.innerType._def.typeName],"null"]}}if($.target==="openApi3"){let W=WT(T.innerType._def,{...$,currentPath:[...$.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let J=WT(T.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","0"]});return J&&{anyOf:[J,{type:"null"}]}}function xG(T,$){let J={type:"number"};if(!T.checks)return J;for(let W of T.checks)switch(W.kind){case"int":J.type="integer",fY(J,"type",W.message,$);break;case"min":if($.target==="jsonSchema7")if(W.inclusive)RT(J,"minimum",W.value,W.message,$);else RT(J,"exclusiveMinimum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMinimum=!0;RT(J,"minimum",W.value,W.message,$)}break;case"max":if($.target==="jsonSchema7")if(W.inclusive)RT(J,"maximum",W.value,W.message,$);else RT(J,"exclusiveMaximum",W.value,W.message,$);else{if(!W.inclusive)J.exclusiveMaximum=!0;RT(J,"maximum",W.value,W.message,$)}break;case"multipleOf":RT(J,"multipleOf",W.value,W.message,$);break}return J}function PG(T,$){let J=$.target==="openAi",W={type:"object",properties:{}},X=[],Y=T.shape();for(let G in Y){let H=Y[G];if(H===void 0||H._def===void 0)continue;let M=h_(H);if(M&&J){if(H instanceof KJ)H=H._def.innerType;if(!H.isNullable())H=H.nullable();M=!1}let A=WT(H._def,{...$,currentPath:[...$.currentPath,"properties",G],propertyPath:[...$.currentPath,"properties",G]});if(A===void 0)continue;if(W.properties[G]=A,!M)X.push(G)}if(X.length)W.required=X;let F=v_(T,$);if(F!==void 0)W.additionalProperties=F;return W}function v_(T,$){if(T.catchall._def.typeName!=="ZodNever")return WT(T.catchall._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]});switch(T.unknownKeys){case"passthrough":return $.allowedAdditionalProperties;case"strict":return $.rejectedAdditionalProperties;case"strip":return $.removeAdditionalStrategy==="strict"?$.allowedAdditionalProperties:$.rejectedAdditionalProperties}}function h_(T){try{return T.isOptional()}catch{return!0}}var bG=(T,$)=>{if($.currentPath.toString()===$.propertyPath?.toString())return WT(T.innerType._def,$);let J=WT(T.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","1"]});return J?{anyOf:[{not:{}},J]}:{}};var vG=(T,$)=>{if($.pipeStrategy==="input")return WT(T.in._def,$);else if($.pipeStrategy==="output")return WT(T.out._def,$);let J=WT(T.in._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),W=WT(T.out._def,{...$,currentPath:[...$.currentPath,"allOf",J?"1":"0"]});return{allOf:[J,W].filter((X)=>X!==void 0)}};function hG(T,$){return WT(T.type._def,$)}function gG(T,$){let W={type:"array",uniqueItems:!0,items:WT(T.valueType._def,{...$,currentPath:[...$.currentPath,"items"]})};if(T.minSize)RT(W,"minItems",T.minSize.value,T.minSize.message,$);if(T.maxSize)RT(W,"maxItems",T.maxSize.value,T.maxSize.message,$);return W}function mG(T,$){if(T.rest)return{type:"array",minItems:T.items.length,items:T.items.map((J,W)=>WT(J._def,{...$,currentPath:[...$.currentPath,"items",`${W}`]})).reduce((J,W)=>W===void 0?J:[...J,W],[]),additionalItems:WT(T.rest._def,{...$,currentPath:[...$.currentPath,"additionalItems"]})};else return{type:"array",minItems:T.items.length,maxItems:T.items.length,items:T.items.map((J,W)=>WT(J._def,{...$,currentPath:[...$.currentPath,"items",`${W}`]})).reduce((J,W)=>W===void 0?J:[...J,W],[])}}function pG(){return{not:{}}}function uG(){return{}}var cG=(T,$)=>{return WT(T.innerType._def,$)};var oG=(T,$,J)=>{switch($){case x.ZodString:return s8(T,J);case x.ZodNumber:return xG(T,J);case x.ZodObject:return PG(T,J);case x.ZodBigInt:return DG(T,J);case x.ZodBoolean:return VG();case x.ZodDate:return IY(T,J);case x.ZodUndefined:return pG();case x.ZodNull:return kG(J);case x.ZodArray:return KG(T,J);case x.ZodUnion:case x.ZodDiscriminatedUnion:return IG(T,J);case x.ZodIntersection:return BG(T,J);case x.ZodTuple:return mG(T,J);case x.ZodRecord:return e8(T,J);case x.ZodLiteral:return fG(T,J);case x.ZodEnum:return LG(T);case x.ZodNativeEnum:return ZG(T);case x.ZodNullable:return jG(T,J);case x.ZodOptional:return bG(T,J);case x.ZodMap:return CG(T,J);case x.ZodSet:return gG(T,J);case x.ZodLazy:return()=>T.getter()._def;case x.ZodPromise:return hG(T,J);case x.ZodNaN:case x.ZodNever:return qG();case x.ZodEffects:return EG(T,J);case x.ZodAny:return _G();case x.ZodUnknown:return uG();case x.ZodDefault:return RG(T,J);case x.ZodBranded:return a8(T,J);case x.ZodReadonly:return cG(T,J);case x.ZodCatch:return SG(T,J);case x.ZodPipeline:return vG(T,J);case x.ZodFunction:case x.ZodVoid:case x.ZodSymbol:return;default:return((W)=>{return})($)}};function WT(T,$,J=!1){let W=$.seen.get(T);if($.override){let G=$.override?.(T,$,W,J);if(G!==YG)return G}if(W&&!J){let G=g_(W,$);if(G!==void 0)return G}let X={def:T,path:$.currentPath,jsonSchema:void 0};$.seen.set(T,X);let Y=oG(T,T.typeName,$),F=typeof Y==="function"?WT(Y(),$):Y;if(F)p_(T,$,F);if($.postProcess){let G=$.postProcess(F,T,$);return X.jsonSchema=F,G}return X.jsonSchema=F,F}var g_=(T,$)=>{switch($.$refStrategy){case"root":return{$ref:T.path.join("/")};case"relative":return{$ref:m_($.currentPath,T.path)};case"none":case"seen":{if(T.path.length<$.currentPath.length&&T.path.every((J,W)=>$.currentPath[W]===J))return console.warn(`Recursive reference detected at ${$.currentPath.join("/")}! Defaulting to any`),{};return $.$refStrategy==="seen"?{}:void 0}}},m_=(T,$)=>{let J=0;for(;J<T.length&&J<$.length;J++)if(T[J]!==$[J])break;return[(T.length-J).toString(),...$.slice(J)].join("/")},p_=(T,$,J)=>{if(T.description){if(J.description=T.description,$.markdownDescription)J.markdownDescription=T.description}return J};var dG=(T,$)=>{let J=GG($),W=typeof $==="object"&&$.definitions?Object.entries($.definitions).reduce((H,[M,A])=>({...H,[M]:WT(A._def,{...J,currentPath:[...J.basePath,J.definitionPath,M]},!0)??{}}),{}):void 0,X=typeof $==="string"?$:$?.nameStrategy==="title"?void 0:$?.name,Y=WT(T._def,X===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,X]},!1)??{},F=typeof $==="object"&&$.name!==void 0&&$.nameStrategy==="title"?$.name:void 0;if(F!==void 0)Y.title=F;let G=X===void 0?W?{...Y,[J.definitionPath]:W}:Y:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,X].join("/"),[J.definitionPath]:{...W,[X]:Y}};if(J.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(J.target==="jsonSchema2019-09"||J.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(J.target==="openAi"&&(("anyOf"in G)||("oneOf"in G)||("allOf"in G)||("type"in G)&&Array.isArray(G.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return G};var lG=dG;function nG(T,$){return function J({schema:W,fallback:X,toJsonSchema:Y=lG}){let F=Y(W);return async function G(H,M=3){let A,z=[];while(z.length<M){A=await T(H,F,X,z);let w=await W["~standard"].validate(A);if("value"in w)return w.value;$?.warn(`safegen failed to generate well-formed data.
|
|
21
21
|
`,`Here's what was returned last time:
|
|
22
|
-
`,JSON.stringify(
|
|
22
|
+
`,JSON.stringify(A,null,"\t"),`
|
|
23
23
|
`,`Here are the issues returned from our validation:
|
|
24
|
-
`,JSON.stringify(w.issues,null,"\t")),
|
|
25
|
-
`)}var s8="RFC3986",e8={RFC1738:(T)=>String(T).replace(/%20/g,"+"),RFC3986:(T)=>String(T)},rG="RFC1738";var u_=Array.isArray,lJ=(()=>{let T=[];for(let $=0;$<256;++$)T.push("%"+(($<16?"0":"")+$.toString(16)).toUpperCase());return T})();var PF=1024,aG=(T,$,J,W,X)=>{if(T.length===0)return T;let F=T;if(typeof T==="symbol")F=Symbol.prototype.toString.call(T);else if(typeof T!=="string")F=String(T);if(J==="iso-8859-1")return escape(F).replace(/%u[0-9a-f]{4}/gi,function(G){return"%26%23"+parseInt(G.slice(2),16)+"%3B"});let Y="";for(let G=0;G<F.length;G+=PF){let H=F.length>=PF?F.slice(G,G+PF):F,M=[];for(let z=0;z<H.length;++z){let A=H.charCodeAt(z);if(A===45||A===46||A===95||A===126||A>=48&&A<=57||A>=65&&A<=90||A>=97&&A<=122||X===rG&&(A===40||A===41)){M[M.length]=H.charAt(z);continue}if(A<128){M[M.length]=lJ[A];continue}if(A<2048){M[M.length]=lJ[192|A>>6]+lJ[128|A&63];continue}if(A<55296||A>=57344){M[M.length]=lJ[224|A>>12]+lJ[128|A>>6&63]+lJ[128|A&63];continue}z+=1,A=65536+((A&1023)<<10|H.charCodeAt(z)&1023),M[M.length]=lJ[240|A>>18]+lJ[128|A>>12&63]+lJ[128|A>>6&63]+lJ[128|A&63]}Y+=M.join("")}return Y};function sG(T){if(!T||typeof T!=="object")return!1;return!!(T.constructor&&T.constructor.isBuffer&&T.constructor.isBuffer(T))}function bF(T,$){if(u_(T)){let J=[];for(let W=0;W<T.length;W+=1)J.push($(T[W]));return J}return $(T)}var c_=Object.prototype.hasOwnProperty,eG={brackets(T){return String(T)+"[]"},comma:"comma",indices(T,$){return String(T)+"["+$+"]"},repeat(T){return String(T)}},nJ=Array.isArray,o_=Array.prototype.push,T3=function(T,$){o_.apply(T,nJ($)?$:[$])},d_=Date.prototype.toISOString,O$={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:aG,encodeValuesOnly:!1,format:s8,formatter:e8[s8],indices:!1,serializeDate(T){return d_.call(T)},skipNulls:!1,strictNullHandling:!1};function l_(T){return typeof T==="string"||typeof T==="number"||typeof T==="boolean"||typeof T==="symbol"||typeof T==="bigint"}var vF={};function $3(T,$,J,W,X,F,Y,G,H,M,z,A,w,_,D,S,Z,q){let N=T,y=q,V=0,f=!1;while((y=y.get(vF))!==void 0&&!f){let E=y.get(T);if(V+=1,typeof E!=="undefined")if(E===V)throw new RangeError("Cyclic object value");else f=!0;if(typeof y.get(vF)==="undefined")V=0}if(typeof M==="function")N=M($,N);else if(N instanceof Date)N=w?.(N);else if(J==="comma"&&nJ(N))N=bF(N,function(E){if(E instanceof Date)return w?.(E);return E});if(N===null){if(F)return H&&!S?H($,O$.encoder,Z,"key",_):$;N=""}if(l_(N)||sG(N)){if(H){let E=S?$:H($,O$.encoder,Z,"key",_);return[D?.(E)+"="+D?.(H(N,O$.encoder,Z,"value",_))]}return[D?.($)+"="+D?.(String(N))]}let C=[];if(typeof N==="undefined")return C;let B;if(J==="comma"&&nJ(N)){if(S&&H)N=bF(N,H);B=[{value:N.length>0?N.join(",")||null:void 0}]}else if(nJ(M))B=M;else{let E=Object.keys(N);B=z?E.sort(z):E}let m=G?String($).replace(/\./g,"%2E"):String($),$T=W&&nJ(N)&&N.length===1?m+"[]":m;if(X&&nJ(N)&&N.length===0)return $T+"[]";for(let E=0;E<B.length;++E){let XT=B[E],n=typeof XT==="object"&&typeof XT.value!=="undefined"?XT.value:N[XT];if(Y&&n===null)continue;let MT=A&&G?XT.replace(/\./g,"%2E"):XT,kT=nJ(N)?typeof J==="function"?J($T,MT):$T:$T+(A?"."+MT:"["+MT+"]");q.set(T,V);let eT=new WeakMap;eT.set(vF,q),T3(C,$3(n,kT,J,W,X,F,Y,G,J==="comma"&&S&&nJ(N)?null:H,M,z,A,w,_,D,S,Z,eT))}return C}function n_(T=O$){if(typeof T.allowEmptyArrays!=="undefined"&&typeof T.allowEmptyArrays!=="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof T.encodeDotInKeys!=="undefined"&&typeof T.encodeDotInKeys!=="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(T.encoder!==null&&typeof T.encoder!=="undefined"&&typeof T.encoder!=="function")throw new TypeError("Encoder has to be a function.");let $=T.charset||O$.charset;if(typeof T.charset!=="undefined"&&T.charset!=="utf-8"&&T.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let J=s8;if(typeof T.format!=="undefined"){if(!c_.call(e8,T.format))throw new TypeError("Unknown format option provided.");J=T.format}let W=e8[J],X=O$.filter;if(typeof T.filter==="function"||nJ(T.filter))X=T.filter;let F;if(T.arrayFormat&&T.arrayFormat in eG)F=T.arrayFormat;else if("indices"in T)F=T.indices?"indices":"repeat";else F=O$.arrayFormat;if("commaRoundTrip"in T&&typeof T.commaRoundTrip!=="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let Y=typeof T.allowDots==="undefined"?!!T.encodeDotInKeys===!0?!0:O$.allowDots:!!T.allowDots;return{addQueryPrefix:typeof T.addQueryPrefix==="boolean"?T.addQueryPrefix:O$.addQueryPrefix,allowDots:Y,allowEmptyArrays:typeof T.allowEmptyArrays==="boolean"?!!T.allowEmptyArrays:O$.allowEmptyArrays,arrayFormat:F,charset:$,charsetSentinel:typeof T.charsetSentinel==="boolean"?T.charsetSentinel:O$.charsetSentinel,commaRoundTrip:!!T.commaRoundTrip,delimiter:typeof T.delimiter==="undefined"?O$.delimiter:T.delimiter,encode:typeof T.encode==="boolean"?T.encode:O$.encode,encodeDotInKeys:typeof T.encodeDotInKeys==="boolean"?T.encodeDotInKeys:O$.encodeDotInKeys,encoder:typeof T.encoder==="function"?T.encoder:O$.encoder,encodeValuesOnly:typeof T.encodeValuesOnly==="boolean"?T.encodeValuesOnly:O$.encodeValuesOnly,filter:X,format:J,formatter:W,serializeDate:typeof T.serializeDate==="function"?T.serializeDate:O$.serializeDate,skipNulls:typeof T.skipNulls==="boolean"?T.skipNulls:O$.skipNulls,sort:typeof T.sort==="function"?T.sort:null,strictNullHandling:typeof T.strictNullHandling==="boolean"?T.strictNullHandling:O$.strictNullHandling}}function hF(T,$={}){let J=T,W=n_($),X,F;if(typeof W.filter==="function")F=W.filter,J=F("",J);else if(nJ(W.filter))F=W.filter,X=F;let Y=[];if(typeof J!=="object"||J===null)return"";let G=eG[W.arrayFormat],H=G==="comma"&&W.commaRoundTrip;if(!X)X=Object.keys(J);if(W.sort)X.sort(W.sort);let M=new WeakMap;for(let w=0;w<X.length;++w){let _=X[w];if(W.skipNulls&&J[_]===null)continue;T3(Y,$3(J[_],_,G,H,W.allowEmptyArrays,W.strictNullHandling,W.skipNulls,W.encodeDotInKeys,W.encode?W.encoder:null,W.filter,W.sort,W.allowDots,W.serializeDate,W.format,W.formatter,W.encodeValuesOnly,W.charset,M))}let z=Y.join(W.delimiter),A=W.addQueryPrefix===!0?"?":"";if(W.charsetSentinel)if(W.charset==="iso-8859-1")A+="utf8=%26%2310003%3B&";else A+="utf8=%E2%9C%93&";return z.length>0?A+z:""}var _0="4.96.0";var J3=!1,D0=void 0,mF=void 0,t_=void 0,r_=void 0,a_=void 0,gF=void 0,s_=void 0,T4=void 0,pF=void 0,uF=void 0,cF=void 0,$4=void 0,oF=void 0;function W3(T,$={auto:!1}){if(J3)throw new Error(`you must \`import 'openai/shims/${T.kind}'\` before importing anything else from openai`);if(D0)throw new Error(`can't \`import 'openai/shims/${T.kind}'\` after \`import 'openai/shims/${D0}'\``);J3=$.auto,D0=T.kind,mF=T.fetch,t_=T.Request,r_=T.Response,a_=T.Headers,gF=T.FormData,s_=T.Blob,T4=T.File,pF=T.ReadableStream,uF=T.getMultipartRequestOptions,cF=T.getDefaultAgent,$4=T.fileFromPath,oF=T.isFsReadStream}class dF{constructor(T){this.body=T}get[Symbol.toStringTag](){return"MultipartBody"}}function X3({manuallyImported:T}={}){let $=T?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",J,W,X,F;try{J=fetch,W=Request,X=Response,F=Headers}catch(Y){throw new Error(`this environment is missing the following Web Fetch API type: ${Y.message}. ${$}`)}return{kind:"web",fetch:J,Request:W,Response:X,Headers:F,FormData:typeof FormData!=="undefined"?FormData:class Y{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${$}`)}},Blob:typeof Blob!=="undefined"?Blob:class Y{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${$}`)}},File:typeof File!=="undefined"?File:class Y{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${$}`)}},ReadableStream:typeof ReadableStream!=="undefined"?ReadableStream:class Y{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${$}`)}},getMultipartRequestOptions:async(Y,G)=>({...G,body:new dF(Y)}),getDefaultAgent:(Y)=>{return},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:(Y)=>!1}}import{ReadStream as TD}from"fs";function F3(){let T=X3();function $(J){return J instanceof TD}return{...T,isFsReadStream:$}}var lF=()=>{if(!D0)W3(F3(),{auto:!0})};lF();class t extends Error{}class F$ extends t{constructor(T,$,J,W){super(`${F$.makeMessage(T,$,J)}`);this.status=T,this.headers=W,this.request_id=W?.["x-request-id"],this.error=$;let X=$;this.code=X?.code,this.param=X?.param,this.type=X?.type}static makeMessage(T,$,J){let W=$?.message?typeof $.message==="string"?$.message:JSON.stringify($.message):$?JSON.stringify($):J;if(T&&W)return`${T} ${W}`;if(T)return`${T} status code (no body)`;if(W)return W;return"(no status code or body)"}static generate(T,$,J,W){if(!T||!W)return new K0({message:J,cause:z4($)});let X=$?.error;if(T===400)return new J4(T,X,J,W);if(T===401)return new W4(T,X,J,W);if(T===403)return new X4(T,X,J,W);if(T===404)return new F4(T,X,J,W);if(T===409)return new Y4(T,X,J,W);if(T===422)return new G4(T,X,J,W);if(T===429)return new H4(T,X,J,W);if(T>=500)return new M4(T,X,J,W);return new F$(T,X,J,W)}}class U$ extends F${constructor({message:T}={}){super(void 0,void 0,T||"Request was aborted.",void 0)}}class K0 extends F${constructor({message:T,cause:$}){super(void 0,void 0,T||"Connection error.",void 0);if($)this.cause=$}}class S0 extends K0{constructor({message:T}={}){super({message:T??"Request timed out."})}}class J4 extends F${}class W4 extends F${}class X4 extends F${}class F4 extends F${}class Y4 extends F${}class G4 extends F${}class H4 extends F${}class M4 extends F${}class uX extends t{constructor(){super("Could not parse response content as the length limit was reached")}}class cX extends t{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}var A4=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},V0=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},FJ;class wW{constructor(){FJ.set(this,void 0),this.buffer=new Uint8Array,A4(this,FJ,null,"f")}decode(T){if(T==null)return[];let $=T instanceof ArrayBuffer?new Uint8Array(T):typeof T==="string"?new TextEncoder().encode(T):T,J=new Uint8Array(this.buffer.length+$.length);J.set(this.buffer),J.set($,this.buffer.length),this.buffer=J;let W=[],X;while((X=JD(this.buffer,V0(this,FJ,"f")))!=null){if(X.carriage&&V0(this,FJ,"f")==null){A4(this,FJ,X.index,"f");continue}if(V0(this,FJ,"f")!=null&&(X.index!==V0(this,FJ,"f")+1||X.carriage)){W.push(this.decodeText(this.buffer.slice(0,V0(this,FJ,"f")-1))),this.buffer=this.buffer.slice(V0(this,FJ,"f")),A4(this,FJ,null,"f");continue}let F=V0(this,FJ,"f")!==null?X.preceding-1:X.preceding,Y=this.decodeText(this.buffer.slice(0,F));W.push(Y),this.buffer=this.buffer.slice(X.index),A4(this,FJ,null,"f")}return W}decodeText(T){if(T==null)return"";if(typeof T==="string")return T;if(typeof Buffer!=="undefined"){if(T instanceof Buffer)return T.toString();if(T instanceof Uint8Array)return Buffer.from(T).toString();throw new t(`Unexpected: received non-Uint8Array (${T.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder!=="undefined"){if(T instanceof Uint8Array||T instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(T);throw new t(`Unexpected: received non-Uint8Array/ArrayBuffer (${T.constructor.name}) in a web platform. Please report this error.`)}throw new t("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){if(!this.buffer.length)return[];return this.decode(`
|
|
26
|
-
`)}}
|
|
27
|
-
`,"\r"]);wW.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function
|
|
28
|
-
`);W.enqueue(
|
|
29
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],X}if(this.chunks.push(T),T.startsWith(":"))return null;let[$,J,W]=FD(T,":");if(W.startsWith(" "))W=W.substring(1);if($==="event")this.event=W;else if($==="data")this.data.push(W);return null}}function FD(T,$){let J=T.indexOf($);if(J!==-1)return[T.substring(0,J),$,T.substring(J+$.length)];return[T,"",""]}var H3=(T)=>T!=null&&typeof T==="object"&&typeof T.url==="string"&&typeof T.blob==="function",M3=(T)=>T!=null&&typeof T==="object"&&typeof T.name==="string"&&typeof T.lastModified==="number"&&oX(T),oX=(T)=>T!=null&&typeof T==="object"&&typeof T.size==="number"&&typeof T.type==="string"&&typeof T.text==="function"&&typeof T.slice==="function"&&typeof T.arrayBuffer==="function",YD=(T)=>{return M3(T)||H3(T)||oF(T)};async function aF(T,$,J){if(T=await T,M3(T))return T;if(H3(T)){let X=await T.blob();$||($=new URL(T.url).pathname.split(/[\\/]/).pop()??"unknown_file");let F=oX(X)?[await X.arrayBuffer()]:[X];return new T4(F,$,J)}let W=await GD(T);if($||($=MD(T)??"unknown_file"),!J?.type){let X=W[0]?.type;if(typeof X==="string")J={...J,type:X}}return new T4(W,$,J)}async function GD(T){let $=[];if(typeof T==="string"||ArrayBuffer.isView(T)||T instanceof ArrayBuffer)$.push(T);else if(oX(T))$.push(await T.arrayBuffer());else if(zD(T))for await(let J of T)$.push(J);else throw new Error(`Unexpected data type: ${typeof T}; constructor: ${T?.constructor?.name}; props: ${HD(T)}`);return $}function HD(T){return`[${Object.getOwnPropertyNames(T).map((J)=>`"${J}"`).join(", ")}]`}function MD(T){return tF(T.name)||tF(T.filename)||tF(T.path)?.split(/[\\/]/).pop()}var tF=(T)=>{if(typeof T==="string")return T;if(typeof Buffer!=="undefined"&&T instanceof Buffer)return String(T);return},zD=(T)=>T!=null&&typeof T==="object"&&typeof T[Symbol.asyncIterator]==="function",sF=(T)=>T&&typeof T==="object"&&T.body&&T[Symbol.toStringTag]==="MultipartBody";var SJ=async(T)=>{let $=await z3(T.body);return uF($,T)},z3=async(T)=>{let $=new gF;return await Promise.all(Object.entries(T||{}).map(([J,W])=>rF($,J,W))),$};var rF=async(T,$,J)=>{if(J===void 0)return;if(J==null)throw new TypeError(`Received null for "${$}"; to pass null in FormData, you must use the string 'null'`);if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")T.append($,String(J));else if(YD(J)){let W=await aF(J);T.append($,W)}else if(Array.isArray(J))await Promise.all(J.map((W)=>rF(T,$+"[]",W)));else if(typeof J==="object")await Promise.all(Object.entries(J).map(([W,X])=>rF(T,`${$}[${W}]`,X)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${J} instead`)};var wD=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},QD=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},w4;lF();async function _3(T){let{response:$}=T;if(T.options.stream){if(A1("response",$.status,$.url,$.headers,$.body),T.options.__streamClass)return T.options.__streamClass.fromSSEResponse($,T.controller);return YJ.fromSSEResponse($,T.controller)}if($.status===204)return null;if(T.options.__binaryResponse)return $;let W=$.headers.get("content-type")?.split(";")[0]?.trim();if(W?.includes("application/json")||W?.endsWith("+json")){let Y=await $.json();return A1("response",$.status,$.url,$.headers,Y),D3(Y,$)}let F=await $.text();return A1("response",$.status,$.url,$.headers,F),F}function D3(T,$){if(!T||typeof T!=="object"||Array.isArray(T))return T;return Object.defineProperty(T,"_request_id",{value:$.headers.get("x-request-id"),enumerable:!1})}class O4 extends Promise{constructor(T,$=_3){super((J)=>{J(null)});this.responsePromise=T,this.parseResponse=$}_thenUnwrap(T){return new O4(this.responsePromise,async($)=>D3(T(await this.parseResponse($),$),$.response))}asResponse(){return this.responsePromise.then((T)=>T.response)}async withResponse(){let[T,$]=await Promise.all([this.parse(),this.asResponse()]);return{data:T,response:$,request_id:$.headers.get("x-request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(this.parseResponse);return this.parsedPromise}then(T,$){return this.parse().then(T,$)}catch(T){return this.parse().catch(T)}finally(T){return this.parse().finally(T)}}class TY{constructor({baseURL:T,maxRetries:$=2,timeout:J=600000,httpAgent:W,fetch:X}){this.baseURL=T,this.maxRetries=eF("maxRetries",$),this.timeout=eF("timeout",J),this.httpAgent=W,this.fetch=X??mF}authHeaders(T){return{}}defaultHeaders(T){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...DD(),...this.authHeaders(T)}}validateHeaders(T,$){}defaultIdempotencyKey(){return`stainless-node-retry-${ED()}`}get(T,$){return this.methodRequest("get",T,$)}post(T,$){return this.methodRequest("post",T,$)}patch(T,$){return this.methodRequest("patch",T,$)}put(T,$){return this.methodRequest("put",T,$)}delete(T,$){return this.methodRequest("delete",T,$)}methodRequest(T,$,J){return this.request(Promise.resolve(J).then(async(W)=>{let X=W&&oX(W?.body)?new DataView(await W.body.arrayBuffer()):W?.body instanceof DataView?W.body:W?.body instanceof ArrayBuffer?new DataView(W.body):W&&ArrayBuffer.isView(W?.body)?new DataView(W.body.buffer):W?.body;return{method:T,path:$,...W,body:X}}))}getAPIList(T,$,J){return this.requestAPIList($,{method:"get",path:T,...J})}calculateContentLength(T){if(typeof T==="string"){if(typeof Buffer!=="undefined")return Buffer.byteLength(T,"utf8").toString();if(typeof TextEncoder!=="undefined")return new TextEncoder().encode(T).length.toString()}else if(ArrayBuffer.isView(T))return T.byteLength.toString();return null}buildRequest(T,{retryCount:$=0}={}){let J={...T},{method:W,path:X,query:F,headers:Y={}}=J,G=ArrayBuffer.isView(J.body)||J.__binaryRequest&&typeof J.body==="string"?J.body:sF(J.body)?J.body.body:J.body?JSON.stringify(J.body,null,2):null,H=this.calculateContentLength(G),M=this.buildURL(X,F);if("timeout"in J)eF("timeout",J.timeout);J.timeout=J.timeout??this.timeout;let z=J.httpAgent??this.httpAgent??cF(M),A=J.timeout+1000;if(typeof z?.options?.timeout==="number"&&A>(z.options.timeout??0))z.options.timeout=A;if(this.idempotencyHeader&&W!=="get"){if(!T.idempotencyKey)T.idempotencyKey=this.defaultIdempotencyKey();Y[this.idempotencyHeader]=T.idempotencyKey}let w=this.buildHeaders({options:J,headers:Y,contentLength:H,retryCount:$});return{req:{method:W,...G&&{body:G},headers:w,...z&&{agent:z},signal:J.signal??null},url:M,timeout:J.timeout}}buildHeaders({options:T,headers:$,contentLength:J,retryCount:W}){let X={};if(J)X["content-length"]=J;let F=this.defaultHeaders(T);if(O3(X,F),O3(X,$),sF(T.body)&&D0!=="node")delete X["content-type"];if(Q4(F,"x-stainless-retry-count")===void 0&&Q4($,"x-stainless-retry-count")===void 0)X["x-stainless-retry-count"]=String(W);if(Q4(F,"x-stainless-timeout")===void 0&&Q4($,"x-stainless-timeout")===void 0&&T.timeout)X["x-stainless-timeout"]=String(Math.trunc(T.timeout/1000));return this.validateHeaders(X,$),X}async prepareOptions(T){}async prepareRequest(T,{url:$,options:J}){}parseHeaders(T){return!T?{}:(Symbol.iterator in T)?Object.fromEntries(Array.from(T).map(($)=>[...$])):{...T}}makeStatusError(T,$,J,W){return F$.generate(T,$,J,W)}request(T,$=null){return new O4(this.makeRequest(T,$))}async makeRequest(T,$){let J=await T,W=J.maxRetries??this.maxRetries;if($==null)$=W;await this.prepareOptions(J);let{req:X,url:F,timeout:Y}=this.buildRequest(J,{retryCount:W-$});if(await this.prepareRequest(X,{url:F,options:J}),A1("request",F,J,X.headers),J.signal?.aborted)throw new U$;let G=new AbortController,H=await this.fetchWithTimeout(F,X,Y,G).catch(z4);if(H instanceof Error){if(J.signal?.aborted)throw new U$;if($)return this.retryRequest(J,$);if(H.name==="AbortError")throw new S0;throw new K0({cause:H})}let M=iF(H.headers);if(!H.ok){if($&&this.shouldRetry(H)){let S=`retrying, ${$} attempts remaining`;return A1(`response (error; ${S})`,H.status,F,M),this.retryRequest(J,$,M)}let z=await H.text().catch((S)=>z4(S).message),A=KD(z),w=A?void 0:z;throw A1(`response (error; ${$?"(error; no more retries left)":"(error; not retryable)"})`,H.status,F,M,w),this.makeStatusError(H.status,A,w,M)}return{response:H,options:J,controller:G}}requestAPIList(T,$){let J=this.makeRequest($,null);return new K3(this,J,T)}buildURL(T,$){let J=VD(T)?new URL(T):new URL(this.baseURL+(this.baseURL.endsWith("/")&&T.startsWith("/")?T.slice(1):T)),W=this.defaultQuery();if(!S3(W))$={...W,...$};if(typeof $==="object"&&$&&!Array.isArray($))J.search=this.stringifyQuery($);return J.toString()}stringifyQuery(T){return Object.entries(T).filter(([$,J])=>typeof J!=="undefined").map(([$,J])=>{if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")return`${encodeURIComponent($)}=${encodeURIComponent(J)}`;if(J===null)return`${encodeURIComponent($)}=`;throw new t(`Cannot stringify type ${typeof J}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(T,$,J,W){let{signal:X,...F}=$||{};if(X)X.addEventListener("abort",()=>W.abort());let Y=setTimeout(()=>W.abort(),J),G={signal:W.signal,...F};if(G.method)G.method=G.method.toUpperCase();return this.fetch.call(void 0,T,G).finally(()=>{clearTimeout(Y)})}shouldRetry(T){let $=T.headers.get("x-should-retry");if($==="true")return!0;if($==="false")return!1;if(T.status===408)return!0;if(T.status===409)return!0;if(T.status===429)return!0;if(T.status>=500)return!0;return!1}async retryRequest(T,$,J){let W,X=J?.["retry-after-ms"];if(X){let Y=parseFloat(X);if(!Number.isNaN(Y))W=Y}let F=J?.["retry-after"];if(F&&!W){let Y=parseFloat(F);if(!Number.isNaN(Y))W=Y*1000;else W=Date.parse(F)-Date.now()}if(!(W&&0<=W&&W<60000)){let Y=T.maxRetries??this.maxRetries;W=this.calculateDefaultRetryTimeoutMillis($,Y)}return await w1(W),this.makeRequest(T,$-1)}calculateDefaultRetryTimeoutMillis(T,$){let X=$-T,F=Math.min(0.5*Math.pow(2,X),8),Y=1-Math.random()*0.25;return F*Y*1000}getUserAgent(){return`${this.constructor.name}/JS ${_0}`}}class U4{constructor(T,$,J,W){w4.set(this,void 0),wD(this,w4,T,"f"),this.options=W,this.response=$,this.body=J}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageInfo()!=null}async getNextPage(){let T=this.nextPageInfo();if(!T)throw new t("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let $={...this.options};if("params"in T&&typeof $.query==="object")$.query={...$.query,...T.params};else if("url"in T){let J=[...Object.entries($.query||{}),...T.url.searchParams.entries()];for(let[W,X]of J)T.url.searchParams.set(W,X);$.query=void 0,$.path=T.url.toString()}return await QD(this,w4,"f").requestAPIList(this.constructor,$)}async*iterPages(){let T=this;yield T;while(T.hasNextPage())T=await T.getNextPage(),yield T}async*[(w4=new WeakMap,Symbol.asyncIterator)](){for await(let T of this.iterPages())for(let $ of T.getPaginatedItems())yield $}}class K3 extends O4{constructor(T,$,J){super($,async(W)=>new J(T,W.response,await _3(W),W.options))}async*[Symbol.asyncIterator](){let T=await this;for await(let $ of T)yield $}}var iF=(T)=>{return new Proxy(Object.fromEntries(T.entries()),{get($,J){let W=J.toString();return $[W.toLowerCase()]||$[W]}})},OD={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},AT=(T)=>{return typeof T==="object"&&T!==null&&!S3(T)&&Object.keys(T).every(($)=>V3(OD,$))},UD=()=>{if(typeof Deno!=="undefined"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":w3(Deno.build.os),"X-Stainless-Arch":A3(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime!=="undefined")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process!=="undefined"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":w3(process.platform),"X-Stainless-Arch":A3(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let T=_D();if(T)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${T.browser}`,"X-Stainless-Runtime-Version":T.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function _D(){if(typeof navigator==="undefined"||!navigator)return null;let T=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:$,pattern:J}of T){let W=J.exec(navigator.userAgent);if(W){let X=W[1]||0,F=W[2]||0,Y=W[3]||0;return{browser:$,version:`${X}.${F}.${Y}`}}}return null}var A3=(T)=>{if(T==="x32")return"x32";if(T==="x86_64"||T==="x64")return"x64";if(T==="arm")return"arm";if(T==="aarch64"||T==="arm64")return"arm64";if(T)return`other:${T}`;return"unknown"},w3=(T)=>{if(T=T.toLowerCase(),T.includes("ios"))return"iOS";if(T==="android")return"Android";if(T==="darwin")return"MacOS";if(T==="win32")return"Windows";if(T==="freebsd")return"FreeBSD";if(T==="openbsd")return"OpenBSD";if(T==="linux")return"Linux";if(T)return`Other:${T}`;return"Unknown"},Q3,DD=()=>{return Q3??(Q3=UD())},KD=(T)=>{try{return JSON.parse(T)}catch($){return}},SD=/^[a-z][a-z0-9+.-]*:/i,VD=(T)=>{return SD.test(T)},w1=(T)=>new Promise(($)=>setTimeout($,T)),eF=(T,$)=>{if(typeof $!=="number"||!Number.isInteger($))throw new t(`${T} must be an integer`);if($<0)throw new t(`${T} must be a positive integer`);return $},z4=(T)=>{if(T instanceof Error)return T;if(typeof T==="object"&&T!==null)try{return new Error(JSON.stringify(T))}catch{}return new Error(T)};var dX=(T)=>{if(typeof process!=="undefined")return process.env?.[T]?.trim()??void 0;if(typeof Deno!=="undefined")return Deno.env?.get?.(T)?.trim();return};function S3(T){if(!T)return!0;for(let $ in T)return!1;return!0}function V3(T,$){return Object.prototype.hasOwnProperty.call(T,$)}function O3(T,$){for(let J in $){if(!V3($,J))continue;let W=J.toLowerCase();if(!W)continue;let X=$[J];if(X===null)delete T[W];else if(X!==void 0)T[W]=X}}var U3=new Set(["authorization","api-key"]);function A1(T,...$){if(typeof process!=="undefined"&&process?.env?.DEBUG==="true"){let J=$.map((W)=>{if(!W)return W;if(W.headers){let F={...W,headers:{...W.headers}};for(let Y in W.headers)if(U3.has(Y.toLowerCase()))F.headers[Y]="REDACTED";return F}let X=null;for(let F in W)if(U3.has(F.toLowerCase()))X??(X={...W}),X[F]="REDACTED";return X??W});console.log(`OpenAI:DEBUG:${T}`,...J)}}var ED=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(T)=>{let $=Math.random()*16|0;return(T==="x"?$:$&3|8).toString(16)})},E3=()=>{return typeof window!=="undefined"&&typeof window.document!=="undefined"&&typeof navigator!=="undefined"},RD=(T)=>{return typeof T?.get==="function"};var Q4=(T,$)=>{let J=$.toLowerCase();if(RD(T)){let W=$[0]?.toUpperCase()+$.substring(1).replace(/([^\w])(\w)/g,(X,F,Y)=>F+Y.toUpperCase());for(let X of[$,J,$.toUpperCase(),W]){let F=T.get(X);if(F)return F}}for(let[W,X]of Object.entries(T))if(W.toLowerCase()===J){if(Array.isArray(X)){if(X.length<=1)return X[0];return console.warn(`Received ${X.length} entries for the ${$} header, using the first entry.`),X[0]}return X}return};var R3=(T)=>{if(typeof Buffer!=="undefined"){let $=Buffer.from(T,"base64");return Array.from(new Float32Array($.buffer,$.byteOffset,$.length/Float32Array.BYTES_PER_ELEMENT))}else{let $=atob(T),J=$.length,W=new Uint8Array(J);for(let X=0;X<J;X++)W[X]=$.charCodeAt(X);return Array.from(new Float32Array(W.buffer))}};function lX(T){return T!=null&&typeof T==="object"&&!Array.isArray(T)}class Q1 extends U4{constructor(T,$,J,W){super(T,$,J,W);this.data=J.data||[],this.object=J.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}}class BT extends U4{constructor(T,$,J,W){super(T,$,J,W);this.data=J.data||[],this.has_more=J.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageParams(){let T=this.nextPageInfo();if(!T)return null;if("params"in T)return T.params;let $=Object.fromEntries(T.url.searchParams);if(!Object.keys($).length)return null;return $}nextPageInfo(){let T=this.getPaginatedItems();if(!T.length)return null;let $=T[T.length-1]?.id;if(!$)return null;return{params:{after:$}}}}class b{constructor(T){this._client=T}}class nX extends b{list(T,$={},J){if(AT($))return this.list(T,{},$);return this._client.getAPIList(`/chat/completions/${T}/messages`,$Y,{query:$,...J})}}class E0 extends b{constructor(){super(...arguments);this.messages=new nX(this._client)}create(T,$){return this._client.post("/chat/completions",{body:T,...$,stream:T.stream??!1})}retrieve(T,$){return this._client.get(`/chat/completions/${T}`,$)}update(T,$,J){return this._client.post(`/chat/completions/${T}`,{body:$,...J})}list(T={},$){if(AT(T))return this.list({},T);return this._client.getAPIList("/chat/completions",R0,{query:T,...$})}del(T,$){return this._client.delete(`/chat/completions/${T}`,$)}}class R0 extends BT{}class $Y extends BT{}E0.ChatCompletionsPage=R0;E0.Messages=nX;class p1 extends b{constructor(){super(...arguments);this.completions=new E0(this._client)}}p1.Completions=E0;p1.ChatCompletionsPage=R0;class iX extends b{create(T,$){return this._client.post("/audio/speech",{body:T,...$,headers:{Accept:"application/octet-stream",...$?.headers},__binaryResponse:!0})}}class tX extends b{create(T,$){return this._client.post("/audio/transcriptions",SJ({body:T,...$,stream:T.stream??!1,__metadata:{model:T.model}}))}}class rX extends b{create(T,$){return this._client.post("/audio/translations",SJ({body:T,...$,__metadata:{model:T.model}}))}}class O1 extends b{constructor(){super(...arguments);this.transcriptions=new tX(this._client),this.translations=new rX(this._client),this.speech=new iX(this._client)}}O1.Transcriptions=tX;O1.Translations=rX;O1.Speech=iX;class L0 extends b{create(T,$){return this._client.post("/batches",{body:T,...$})}retrieve(T,$){return this._client.get(`/batches/${T}`,$)}list(T={},$){if(AT(T))return this.list({},T);return this._client.getAPIList("/batches",QW,{query:T,...$})}cancel(T,$){return this._client.post(`/batches/${T}/cancel`,$)}}class QW extends BT{}L0.BatchesPage=QW;var IJ=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},aT=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},JY,_4,D4,aX,sX,K4,eX,U1,T2,S4,V4,OW,L3;class B0{constructor(){JY.add(this),this.controller=new AbortController,_4.set(this,void 0),D4.set(this,()=>{}),aX.set(this,()=>{}),sX.set(this,void 0),K4.set(this,()=>{}),eX.set(this,()=>{}),U1.set(this,{}),T2.set(this,!1),S4.set(this,!1),V4.set(this,!1),OW.set(this,!1),IJ(this,_4,new Promise((T,$)=>{IJ(this,D4,T,"f"),IJ(this,aX,$,"f")}),"f"),IJ(this,sX,new Promise((T,$)=>{IJ(this,K4,T,"f"),IJ(this,eX,$,"f")}),"f"),aT(this,_4,"f").catch(()=>{}),aT(this,sX,"f").catch(()=>{})}_run(T){setTimeout(()=>{T().then(()=>{this._emitFinal(),this._emit("end")},aT(this,JY,"m",L3).bind(this))},0)}_connected(){if(this.ended)return;aT(this,D4,"f").call(this),this._emit("connect")}get ended(){return aT(this,T2,"f")}get errored(){return aT(this,S4,"f")}get aborted(){return aT(this,V4,"f")}abort(){this.controller.abort()}on(T,$){return(aT(this,U1,"f")[T]||(aT(this,U1,"f")[T]=[])).push({listener:$}),this}off(T,$){let J=aT(this,U1,"f")[T];if(!J)return this;let W=J.findIndex((X)=>X.listener===$);if(W>=0)J.splice(W,1);return this}once(T,$){return(aT(this,U1,"f")[T]||(aT(this,U1,"f")[T]=[])).push({listener:$,once:!0}),this}emitted(T){return new Promise(($,J)=>{if(IJ(this,OW,!0,"f"),T!=="error")this.once("error",J);this.once(T,$)})}async done(){IJ(this,OW,!0,"f"),await aT(this,sX,"f")}_emit(T,...$){if(aT(this,T2,"f"))return;if(T==="end")IJ(this,T2,!0,"f"),aT(this,K4,"f").call(this);let J=aT(this,U1,"f")[T];if(J)aT(this,U1,"f")[T]=J.filter((W)=>!W.once),J.forEach(({listener:W})=>W(...$));if(T==="abort"){let W=$[0];if(!aT(this,OW,"f")&&!J?.length)Promise.reject(W);aT(this,aX,"f").call(this,W),aT(this,eX,"f").call(this,W),this._emit("end");return}if(T==="error"){let W=$[0];if(!aT(this,OW,"f")&&!J?.length)Promise.reject(W);aT(this,aX,"f").call(this,W),aT(this,eX,"f").call(this,W),this._emit("end")}}_emitFinal(){}}_4=new WeakMap,D4=new WeakMap,aX=new WeakMap,sX=new WeakMap,K4=new WeakMap,eX=new WeakMap,U1=new WeakMap,T2=new WeakMap,S4=new WeakMap,V4=new WeakMap,OW=new WeakMap,JY=new WeakSet,L3=function T($){if(IJ(this,S4,!0,"f"),$ instanceof Error&&$.name==="AbortError")$=new U$;if($ instanceof U$)return IJ(this,V4,!0,"f"),this._emit("abort",$);if($ instanceof t)return this._emit("error",$);if($ instanceof Error){let J=new t($.message);return J.cause=$,this._emit("error",J)}return this._emit("error",new t(String($)))};var r=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},GJ=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},C$,WY,iJ,E4,jJ,N0,UW,f0,B4,HJ,R4,L4,W2,$2,J2,B3,f3,N3,C3,Z3,q3,k3;class MJ extends B0{constructor(){super(...arguments);C$.add(this),WY.set(this,[]),iJ.set(this,{}),E4.set(this,{}),jJ.set(this,void 0),N0.set(this,void 0),UW.set(this,void 0),f0.set(this,void 0),B4.set(this,void 0),HJ.set(this,void 0),R4.set(this,void 0),L4.set(this,void 0),W2.set(this,void 0)}[(WY=new WeakMap,iJ=new WeakMap,E4=new WeakMap,jJ=new WeakMap,N0=new WeakMap,UW=new WeakMap,f0=new WeakMap,B4=new WeakMap,HJ=new WeakMap,R4=new WeakMap,L4=new WeakMap,W2=new WeakMap,C$=new WeakSet,Symbol.asyncIterator)](){let T=[],$=[],J=!1;return this.on("event",(W)=>{let X=$.shift();if(X)X.resolve(W);else T.push(W)}),this.on("end",()=>{J=!0;for(let W of $)W.resolve(void 0);$.length=0}),this.on("abort",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),this.on("error",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),{next:async()=>{if(!T.length){if(J)return{value:void 0,done:!0};return new Promise((X,F)=>$.push({resolve:X,reject:F})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:T.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}static fromReadableStream(T){let $=new MJ;return $._run(()=>$._fromReadableStream(T)),$}async _fromReadableStream(T,$){let J=$?.signal;if(J){if(J.aborted)this.controller.abort();J.addEventListener("abort",()=>this.controller.abort())}this._connected();let W=YJ.fromReadableStream(T,this.controller);for await(let X of W)r(this,C$,"m",$2).call(this,X);if(W.controller.signal?.aborted)throw new U$;return this._addRun(r(this,C$,"m",J2).call(this))}toReadableStream(){return new YJ(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(T,$,J,W,X){let F=new MJ;return F._run(()=>F._runToolAssistantStream(T,$,J,W,{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),F}async _createToolAssistantStream(T,$,J,W,X){let F=X?.signal;if(F){if(F.aborted)this.controller.abort();F.addEventListener("abort",()=>this.controller.abort())}let Y={...W,stream:!0},G=await T.submitToolOutputs($,J,Y,{...X,signal:this.controller.signal});this._connected();for await(let H of G)r(this,C$,"m",$2).call(this,H);if(G.controller.signal?.aborted)throw new U$;return this._addRun(r(this,C$,"m",J2).call(this))}static createThreadAssistantStream(T,$,J){let W=new MJ;return W._run(()=>W._threadAssistantStream(T,$,{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),W}static createAssistantStream(T,$,J,W){let X=new MJ;return X._run(()=>X._runAssistantStream(T,$,J,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),X}currentEvent(){return r(this,R4,"f")}currentRun(){return r(this,L4,"f")}currentMessageSnapshot(){return r(this,jJ,"f")}currentRunStepSnapshot(){return r(this,W2,"f")}async finalRunSteps(){return await this.done(),Object.values(r(this,iJ,"f"))}async finalMessages(){return await this.done(),Object.values(r(this,E4,"f"))}async finalRun(){if(await this.done(),!r(this,N0,"f"))throw Error("Final run was not received.");return r(this,N0,"f")}async _createThreadAssistantStream(T,$,J){let W=J?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}let X={...$,stream:!0},F=await T.createAndRun(X,{...J,signal:this.controller.signal});this._connected();for await(let Y of F)r(this,C$,"m",$2).call(this,Y);if(F.controller.signal?.aborted)throw new U$;return this._addRun(r(this,C$,"m",J2).call(this))}async _createAssistantStream(T,$,J,W){let X=W?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}let F={...J,stream:!0},Y=await T.create($,F,{...W,signal:this.controller.signal});this._connected();for await(let G of Y)r(this,C$,"m",$2).call(this,G);if(Y.controller.signal?.aborted)throw new U$;return this._addRun(r(this,C$,"m",J2).call(this))}static accumulateDelta(T,$){for(let[J,W]of Object.entries($)){if(!T.hasOwnProperty(J)){T[J]=W;continue}let X=T[J];if(X===null||X===void 0){T[J]=W;continue}if(J==="index"||J==="type"){T[J]=W;continue}if(typeof X==="string"&&typeof W==="string")X+=W;else if(typeof X==="number"&&typeof W==="number")X+=W;else if(lX(X)&&lX(W))X=this.accumulateDelta(X,W);else if(Array.isArray(X)&&Array.isArray(W)){if(X.every((F)=>typeof F==="string"||typeof F==="number")){X.push(...W);continue}for(let F of W){if(!lX(F))throw new Error(`Expected array delta entry to be an object but got: ${F}`);let Y=F.index;if(Y==null)throw console.error(F),new Error("Expected array delta entry to have an `index` property");if(typeof Y!=="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${Y}`);let G=X[Y];if(G==null)X.push(F);else X[Y]=this.accumulateDelta(G,F)}continue}else throw Error(`Unhandled record type: ${J}, deltaValue: ${W}, accValue: ${X}`);T[J]=X}return T}_addRun(T){return T}async _threadAssistantStream(T,$,J){return await this._createThreadAssistantStream($,T,J)}async _runAssistantStream(T,$,J,W){return await this._createAssistantStream($,T,J,W)}async _runToolAssistantStream(T,$,J,W,X){return await this._createToolAssistantStream(J,T,$,W,X)}}$2=function T($){if(this.ended)return;switch(GJ(this,R4,$,"f"),r(this,C$,"m",N3).call(this,$),$.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":r(this,C$,"m",k3).call(this,$);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":r(this,C$,"m",f3).call(this,$);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":r(this,C$,"m",B3).call(this,$);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:ZD($)}},J2=function T(){if(this.ended)throw new t("stream has ended, this shouldn't happen");if(!r(this,N0,"f"))throw Error("Final run has not been received");return r(this,N0,"f")},B3=function T($){let[J,W]=r(this,C$,"m",Z3).call(this,$,r(this,jJ,"f"));GJ(this,jJ,J,"f"),r(this,E4,"f")[J.id]=J;for(let X of W){let F=J.content[X.index];if(F?.type=="text")this._emit("textCreated",F.text)}switch($.event){case"thread.message.created":this._emit("messageCreated",$.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",$.data.delta,J),$.data.delta.content)for(let X of $.data.delta.content){if(X.type=="text"&&X.text){let F=X.text,Y=J.content[X.index];if(Y&&Y.type=="text")this._emit("textDelta",F,Y.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(X.index!=r(this,UW,"f")){if(r(this,f0,"f"))switch(r(this,f0,"f").type){case"text":this._emit("textDone",r(this,f0,"f").text,r(this,jJ,"f"));break;case"image_file":this._emit("imageFileDone",r(this,f0,"f").image_file,r(this,jJ,"f"));break}GJ(this,UW,X.index,"f")}GJ(this,f0,J.content[X.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(r(this,UW,"f")!==void 0){let X=$.data.content[r(this,UW,"f")];if(X)switch(X.type){case"image_file":this._emit("imageFileDone",X.image_file,r(this,jJ,"f"));break;case"text":this._emit("textDone",X.text,r(this,jJ,"f"));break}}if(r(this,jJ,"f"))this._emit("messageDone",$.data);GJ(this,jJ,void 0,"f")}},f3=function T($){let J=r(this,C$,"m",C3).call(this,$);switch(GJ(this,W2,J,"f"),$.event){case"thread.run.step.created":this._emit("runStepCreated",$.data);break;case"thread.run.step.delta":let W=$.data.delta;if(W.step_details&&W.step_details.type=="tool_calls"&&W.step_details.tool_calls&&J.step_details.type=="tool_calls")for(let F of W.step_details.tool_calls)if(F.index==r(this,B4,"f"))this._emit("toolCallDelta",F,J.step_details.tool_calls[F.index]);else{if(r(this,HJ,"f"))this._emit("toolCallDone",r(this,HJ,"f"));if(GJ(this,B4,F.index,"f"),GJ(this,HJ,J.step_details.tool_calls[F.index],"f"),r(this,HJ,"f"))this._emit("toolCallCreated",r(this,HJ,"f"))}this._emit("runStepDelta",$.data.delta,J);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(GJ(this,W2,void 0,"f"),$.data.step_details.type=="tool_calls"){if(r(this,HJ,"f"))this._emit("toolCallDone",r(this,HJ,"f")),GJ(this,HJ,void 0,"f")}this._emit("runStepDone",$.data,J);break;case"thread.run.step.in_progress":break}},N3=function T($){r(this,WY,"f").push($),this._emit("event",$)},C3=function T($){switch($.event){case"thread.run.step.created":return r(this,iJ,"f")[$.data.id]=$.data,$.data;case"thread.run.step.delta":let J=r(this,iJ,"f")[$.data.id];if(!J)throw Error("Received a RunStepDelta before creation of a snapshot");let W=$.data;if(W.delta){let X=MJ.accumulateDelta(J,W.delta);r(this,iJ,"f")[$.data.id]=X}return r(this,iJ,"f")[$.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":r(this,iJ,"f")[$.data.id]=$.data;break}if(r(this,iJ,"f")[$.data.id])return r(this,iJ,"f")[$.data.id];throw new Error("No snapshot available")},Z3=function T($,J){let W=[];switch($.event){case"thread.message.created":return[$.data,W];case"thread.message.delta":if(!J)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let X=$.data;if(X.delta.content)for(let F of X.delta.content)if(F.index in J.content){let Y=J.content[F.index];J.content[F.index]=r(this,C$,"m",q3).call(this,F,Y)}else J.content[F.index]=F,W.push(F);return[J,W];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(J)return[J,W];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},q3=function T($,J){return MJ.accumulateDelta(J,$)},k3=function T($){switch(GJ(this,L4,$.data,"f"),$.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":if(GJ(this,N0,$.data,"f"),r(this,HJ,"f"))this._emit("toolCallDone",r(this,HJ,"f")),GJ(this,HJ,void 0,"f");break;case"thread.run.cancelling":break}};function ZD(T){}class _W extends b{create(T,$){return this._client.post("/assistants",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(T,$){return this._client.get(`/assistants/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(T,$,J){return this._client.post(`/assistants/${T}`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}list(T={},$){if(AT(T))return this.list({},T);return this._client.getAPIList("/assistants",X2,{query:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(T,$){return this._client.delete(`/assistants/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class X2 extends BT{}_W.AssistantsPage=X2;function XY(T){return typeof T.parse==="function"}var u1=(T)=>{return T?.role==="assistant"},FY=(T)=>{return T?.role==="function"},YY=(T)=>{return T?.role==="tool"};function F2(T){return T?.$brand==="auto-parseable-response-format"}function C0(T){return T?.$brand==="auto-parseable-tool"}function y3(T,$){if(!$||!GY($))return{...T,choices:T.choices.map((J)=>({...J,message:{...J.message,parsed:null,...J.message.tool_calls?{tool_calls:J.message.tool_calls}:void 0}}))};return Y2(T,$)}function Y2(T,$){let J=T.choices.map((W)=>{if(W.finish_reason==="length")throw new uX;if(W.finish_reason==="content_filter")throw new cX;return{...W,message:{...W.message,...W.message.tool_calls?{tool_calls:W.message.tool_calls?.map((X)=>yD($,X))??void 0}:void 0,parsed:W.message.content&&!W.message.refusal?kD($,W.message.content):null}}});return{...T,choices:J}}function kD(T,$){if(T.response_format?.type!=="json_schema")return null;if(T.response_format?.type==="json_schema"){if("$parseRaw"in T.response_format)return T.response_format.$parseRaw($);return JSON.parse($)}return null}function yD(T,$){let J=T.tools?.find((W)=>W.function?.name===$.function.name);return{...$,function:{...$.function,parsed_arguments:C0(J)?J.$parseRaw($.function.arguments):J?.function.strict?JSON.parse($.function.arguments):null}}}function I3(T,$){if(!T)return!1;let J=T.tools?.find((W)=>W.function?.name===$.function.name);return C0(J)||J?.function.strict||!1}function GY(T){if(F2(T.response_format))return!0;return T.tools?.some(($)=>C0($)||$.type==="function"&&$.function.strict===!0)??!1}function j3(T){for(let $ of T??[]){if($.type!=="function")throw new t(`Currently only \`function\` tool types support auto-parsing; Received \`${$.type}\``);if($.function.strict!==!0)throw new t(`The \`${$.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var t$=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},x$,HY,f4,MY,zY,AY,P3,wY,x3=10;class G2 extends B0{constructor(){super(...arguments);x$.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(T){this._chatCompletions.push(T),this._emit("chatCompletion",T);let $=T.choices[0]?.message;if($)this._addMessage($);return T}_addMessage(T,$=!0){if(!("content"in T))T.content=null;if(this.messages.push(T),$){if(this._emit("message",T),(FY(T)||YY(T))&&T.content)this._emit("functionCallResult",T.content);else if(u1(T)&&T.function_call)this._emit("functionCall",T.function_call);else if(u1(T)&&T.tool_calls){for(let J of T.tool_calls)if(J.type==="function")this._emit("functionCall",J.function)}}}async finalChatCompletion(){await this.done();let T=this._chatCompletions[this._chatCompletions.length-1];if(!T)throw new t("stream ended without producing a ChatCompletion");return T}async finalContent(){return await this.done(),t$(this,x$,"m",HY).call(this)}async finalMessage(){return await this.done(),t$(this,x$,"m",f4).call(this)}async finalFunctionCall(){return await this.done(),t$(this,x$,"m",MY).call(this)}async finalFunctionCallResult(){return await this.done(),t$(this,x$,"m",zY).call(this)}async totalUsage(){return await this.done(),t$(this,x$,"m",AY).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let T=this._chatCompletions[this._chatCompletions.length-1];if(T)this._emit("finalChatCompletion",T);let $=t$(this,x$,"m",f4).call(this);if($)this._emit("finalMessage",$);let J=t$(this,x$,"m",HY).call(this);if(J)this._emit("finalContent",J);let W=t$(this,x$,"m",MY).call(this);if(W)this._emit("finalFunctionCall",W);let X=t$(this,x$,"m",zY).call(this);if(X!=null)this._emit("finalFunctionCallResult",X);if(this._chatCompletions.some((F)=>F.usage))this._emit("totalUsage",t$(this,x$,"m",AY).call(this))}async _createChatCompletion(T,$,J){let W=J?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}t$(this,x$,"m",P3).call(this,$);let X=await T.chat.completions.create({...$,stream:!1},{...J,signal:this.controller.signal});return this._connected(),this._addChatCompletion(Y2(X,$))}async _runChatCompletion(T,$,J){for(let W of $.messages)this._addMessage(W,!1);return await this._createChatCompletion(T,$,J)}async _runFunctions(T,$,J){let{function_call:X="auto",stream:F,...Y}=$,G=typeof X!=="string"&&X?.name,{maxChatCompletions:H=x3}=J||{},M={};for(let A of $.functions)M[A.name||A.function.name]=A;let z=$.functions.map((A)=>({name:A.name||A.function.name,parameters:A.parameters,description:A.description}));for(let A of $.messages)this._addMessage(A,!1);for(let A=0;A<H;++A){let _=(await this._createChatCompletion(T,{...Y,function_call:X,functions:z,messages:[...this.messages]},J)).choices[0]?.message;if(!_)throw new t("missing message in ChatCompletion response");if(!_.function_call)return;let{name:D,arguments:S}=_.function_call,Z=M[D];if(!Z){let V=`Invalid function_call: ${JSON.stringify(D)}. Available options are: ${z.map((f)=>JSON.stringify(f.name)).join(", ")}. Please try again`;this._addMessage({role:"function",name:D,content:V});continue}else if(G&&G!==D){let V=`Invalid function_call: ${JSON.stringify(D)}. ${JSON.stringify(G)} requested. Please try again`;this._addMessage({role:"function",name:D,content:V});continue}let q;try{q=XY(Z)?await Z.parse(S):S}catch(V){this._addMessage({role:"function",name:D,content:V instanceof Error?V.message:String(V)});continue}let N=await Z.function(q,this),y=t$(this,x$,"m",wY).call(this,N);if(this._addMessage({role:"function",name:D,content:y}),G)return}}async _runTools(T,$,J){let{tool_choice:X="auto",stream:F,...Y}=$,G=typeof X!=="string"&&X?.function?.name,{maxChatCompletions:H=x3}=J||{},M=$.tools.map((w)=>{if(C0(w)){if(!w.$callback)throw new t("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:w.$callback,name:w.function.name,description:w.function.description||"",parameters:w.function.parameters,parse:w.$parseRaw,strict:!0}}}return w}),z={};for(let w of M)if(w.type==="function")z[w.function.name||w.function.function.name]=w.function;let A="tools"in $?M.map((w)=>w.type==="function"?{type:"function",function:{name:w.function.name||w.function.function.name,parameters:w.function.parameters,description:w.function.description,strict:w.function.strict}}:w):void 0;for(let w of $.messages)this._addMessage(w,!1);for(let w=0;w<H;++w){let D=(await this._createChatCompletion(T,{...Y,tool_choice:X,tools:A,messages:[...this.messages]},J)).choices[0]?.message;if(!D)throw new t("missing message in ChatCompletion response");if(!D.tool_calls?.length)return;for(let S of D.tool_calls){if(S.type!=="function")continue;let Z=S.id,{name:q,arguments:N}=S.function,y=z[q];if(!y){let B=`Invalid tool_call: ${JSON.stringify(q)}. Available options are: ${Object.keys(z).map((m)=>JSON.stringify(m)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:Z,content:B});continue}else if(G&&G!==q){let B=`Invalid tool_call: ${JSON.stringify(q)}. ${JSON.stringify(G)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:Z,content:B});continue}let V;try{V=XY(y)?await y.parse(N):N}catch(B){let m=B instanceof Error?B.message:String(B);this._addMessage({role:"tool",tool_call_id:Z,content:m});continue}let f=await y.function(V,this),C=t$(this,x$,"m",wY).call(this,f);if(this._addMessage({role:"tool",tool_call_id:Z,content:C}),G)return}}return}}x$=new WeakSet,HY=function T(){return t$(this,x$,"m",f4).call(this).content??null},f4=function T(){let $=this.messages.length;while($-- >0){let J=this.messages[$];if(u1(J)){let{function_call:W,...X}=J,F={...X,content:J.content??null,refusal:J.refusal??null};if(W)F.function_call=W;return F}}throw new t("stream ended without producing a ChatCompletionMessage with role=assistant")},MY=function T(){for(let $=this.messages.length-1;$>=0;$--){let J=this.messages[$];if(u1(J)&&J?.function_call)return J.function_call;if(u1(J)&&J?.tool_calls?.length)return J.tool_calls.at(-1)?.function}return},zY=function T(){for(let $=this.messages.length-1;$>=0;$--){let J=this.messages[$];if(FY(J)&&J.content!=null)return J.content;if(YY(J)&&J.content!=null&&typeof J.content==="string"&&this.messages.some((W)=>W.role==="assistant"&&W.tool_calls?.some((X)=>X.type==="function"&&X.id===J.tool_call_id)))return J.content}return},AY=function T(){let $={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:J}of this._chatCompletions)if(J)$.completion_tokens+=J.completion_tokens,$.prompt_tokens+=J.prompt_tokens,$.total_tokens+=J.total_tokens;return $},P3=function T($){if($.n!=null&&$.n>1)throw new t("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},wY=function T($){return typeof $==="string"?$:$===void 0?"undefined":JSON.stringify($)};class DW extends G2{static runFunctions(T,$,J){let W=new DW,X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return W._run(()=>W._runFunctions(T,$,X)),W}static runTools(T,$,J){let W=new DW,X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools(T,$,X)),W}_addMessage(T,$=!0){if(super._addMessage(T,$),u1(T)&&T.content)this._emit("content",T.content)}}var L$={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};class b3 extends Error{}class v3 extends Error{}function ID(T,$=L$.ALL){if(typeof T!=="string")throw new TypeError(`expecting str, got ${typeof T}`);if(!T.trim())throw new Error(`${T} is empty`);return jD(T.trim(),$)}var jD=(T,$)=>{let J=T.length,W=0,X=(w)=>{throw new b3(`${w} at position ${W}`)},F=(w)=>{throw new v3(`${w} at position ${W}`)},Y=()=>{if(A(),W>=J)X("Unexpected end of input");if(T[W]==='"')return G();if(T[W]==="{")return H();if(T[W]==="[")return M();if(T.substring(W,W+4)==="null"||L$.NULL&$&&J-W<4&&"null".startsWith(T.substring(W)))return W+=4,null;if(T.substring(W,W+4)==="true"||L$.BOOL&$&&J-W<4&&"true".startsWith(T.substring(W)))return W+=4,!0;if(T.substring(W,W+5)==="false"||L$.BOOL&$&&J-W<5&&"false".startsWith(T.substring(W)))return W+=5,!1;if(T.substring(W,W+8)==="Infinity"||L$.INFINITY&$&&J-W<8&&"Infinity".startsWith(T.substring(W)))return W+=8,1/0;if(T.substring(W,W+9)==="-Infinity"||L$.MINUS_INFINITY&$&&1<J-W&&J-W<9&&"-Infinity".startsWith(T.substring(W)))return W+=9,-1/0;if(T.substring(W,W+3)==="NaN"||L$.NAN&$&&J-W<3&&"NaN".startsWith(T.substring(W)))return W+=3,NaN;return z()},G=()=>{let w=W,_=!1;W++;while(W<J&&(T[W]!=='"'||_&&T[W-1]==="\\"))_=T[W]==="\\"?!_:!1,W++;if(T.charAt(W)=='"')try{return JSON.parse(T.substring(w,++W-Number(_)))}catch(D){F(String(D))}else if(L$.STR&$)try{return JSON.parse(T.substring(w,W-Number(_))+'"')}catch(D){return JSON.parse(T.substring(w,T.lastIndexOf("\\"))+'"')}X("Unterminated string literal")},H=()=>{W++,A();let w={};try{while(T[W]!=="}"){if(A(),W>=J&&L$.OBJ&$)return w;let _=G();A(),W++;try{let D=Y();Object.defineProperty(w,_,{value:D,writable:!0,enumerable:!0,configurable:!0})}catch(D){if(L$.OBJ&$)return w;else throw D}if(A(),T[W]===",")W++}}catch(_){if(L$.OBJ&$)return w;else X("Expected '}' at end of object")}return W++,w},M=()=>{W++;let w=[];try{while(T[W]!=="]")if(w.push(Y()),A(),T[W]===",")W++}catch(_){if(L$.ARR&$)return w;X("Expected ']' at end of array")}return W++,w},z=()=>{if(W===0){if(T==="-"&&L$.NUM&$)X("Not sure what '-' is");try{return JSON.parse(T)}catch(_){if(L$.NUM&$)try{if(T[T.length-1]===".")return JSON.parse(T.substring(0,T.lastIndexOf(".")));return JSON.parse(T.substring(0,T.lastIndexOf("e")))}catch(D){}F(String(_))}}let w=W;if(T[W]==="-")W++;while(T[W]&&!",]}".includes(T[W]))W++;if(W==J&&!(L$.NUM&$))X("Unterminated number literal");try{return JSON.parse(T.substring(w,W))}catch(_){if(T.substring(w,W)==="-"&&L$.NUM&$)X("Not sure what '-' is");try{return JSON.parse(T.substring(w,T.lastIndexOf("e")))}catch(D){F(String(D))}}},A=()=>{while(W<J&&`
|
|
30
|
-
\r `.includes(T[W]))W++};return
|
|
31
|
-
${
|
|
32
|
-
${
|
|
33
|
-
${
|
|
34
|
-
${Z4(T)}`);return{...m,id:B,type:C,function:{...XT,name:E,arguments:$T}}})}};return{..._,message:{...q,content:D,role:N,refusal:M.refusal??null},finish_reason:z,index:A,logprobs:w}}),created:X,model:F,object:"chat.completion",...Y?{system_fingerprint:Y}:{}};return y3(H,$)}function Z4(T){return JSON.stringify(T)}function m3(T){return}function g3(T){}class q0 extends Z0{static fromReadableStream(T){let $=new q0(null);return $._run(()=>$._fromReadableStream(T)),$}static runFunctions(T,$,J){let W=new q0(null),X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return W._run(()=>W._runFunctions(T,$,X)),W}static runTools(T,$,J){let W=new q0($),X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools(T,$,X)),W}}class q4 extends b{parse(T,$){return j3(T.tools),this._client.chat.completions.create(T,{...$,headers:{...$?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap((J)=>Y2(J,T))}runFunctions(T,$){if(T.stream)return q0.runFunctions(this._client,T,$);return DW.runFunctions(this._client,T,$)}runTools(T,$){if(T.stream)return q0.runTools(this._client,T,$);return DW.runTools(this._client,T,$)}stream(T,$){return Z0.createChatCompletion(this._client,T,$)}}class H2 extends b{constructor(){super(...arguments);this.completions=new q4(this._client)}}(function(T){T.Completions=q4})(H2||(H2={}));class M2 extends b{create(T,$){return this._client.post("/realtime/sessions",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class z2 extends b{create(T,$){return this._client.post("/realtime/transcription_sessions",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class k0 extends b{constructor(){super(...arguments);this.sessions=new M2(this._client),this.transcriptionSessions=new z2(this._client)}}k0.Sessions=M2;k0.TranscriptionSessions=z2;class VW extends b{create(T,$,J){return this._client.post(`/threads/${T}/messages`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}retrieve(T,$,J){return this._client.get(`/threads/${T}/messages/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}update(T,$,J,W){return this._client.post(`/threads/${T}/messages/${$}`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}list(T,$={},J){if(AT($))return this.list(T,{},$);return this._client.getAPIList(`/threads/${T}/messages`,A2,{query:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}del(T,$,J){return this._client.delete(`/threads/${T}/messages/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}}class A2 extends BT{}VW.MessagesPage=A2;class EW extends b{retrieve(T,$,J,W={},X){if(AT(W))return this.retrieve(T,$,J,{},W);return this._client.get(`/threads/${T}/runs/${$}/steps/${J}`,{query:W,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}list(T,$,J={},W){if(AT(J))return this.list(T,$,{},J);return this._client.getAPIList(`/threads/${T}/runs/${$}/steps`,w2,{query:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}}class w2 extends BT{}EW.RunStepsPage=w2;class o1 extends b{constructor(){super(...arguments);this.steps=new EW(this._client)}create(T,$,J){let{include:W,...X}=$;return this._client.post(`/threads/${T}/runs`,{query:{include:W},body:X,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers},stream:$.stream??!1})}retrieve(T,$,J){return this._client.get(`/threads/${T}/runs/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}update(T,$,J,W){return this._client.post(`/threads/${T}/runs/${$}`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}list(T,$={},J){if(AT($))return this.list(T,{},$);return this._client.getAPIList(`/threads/${T}/runs`,Q2,{query:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}cancel(T,$,J){return this._client.post(`/threads/${T}/runs/${$}/cancel`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}async createAndPoll(T,$,J){let W=await this.create(T,$,J);return await this.poll(T,W.id,J)}createAndStream(T,$,J){return MJ.createAssistantStream(T,this._client.beta.threads.runs,$,J)}async poll(T,$,J){let W={...J?.headers,"X-Stainless-Poll-Helper":"true"};if(J?.pollIntervalMs)W["X-Stainless-Custom-Poll-Interval"]=J.pollIntervalMs.toString();while(!0){let{data:X,response:F}=await this.retrieve(T,$,{...J,headers:{...J?.headers,...W}}).withResponse();switch(X.status){case"queued":case"in_progress":case"cancelling":let Y=5000;if(J?.pollIntervalMs)Y=J.pollIntervalMs;else{let G=F.headers.get("openai-poll-after-ms");if(G){let H=parseInt(G);if(!isNaN(H))Y=H}}await w1(Y);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return X}}}stream(T,$,J){return MJ.createAssistantStream(T,this._client.beta.threads.runs,$,J)}submitToolOutputs(T,$,J,W){return this._client.post(`/threads/${T}/runs/${$}/submit_tool_outputs`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers},stream:J.stream??!1})}async submitToolOutputsAndPoll(T,$,J,W){let X=await this.submitToolOutputs(T,$,J,W);return await this.poll(T,X.id,W)}submitToolOutputsStream(T,$,J,W){return MJ.createToolAssistantStream(T,$,this._client.beta.threads.runs,J,W)}}class Q2 extends BT{}o1.RunsPage=Q2;o1.Steps=EW;o1.RunStepsPage=w2;class D1 extends b{constructor(){super(...arguments);this.runs=new o1(this._client),this.messages=new VW(this._client)}create(T={},$){if(AT(T))return this.create({},T);return this._client.post("/threads",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(T,$){return this._client.get(`/threads/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(T,$,J){return this._client.post(`/threads/${T}`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}del(T,$){return this._client.delete(`/threads/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}createAndRun(T,$){return this._client.post("/threads/runs",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers},stream:T.stream??!1})}async createAndRunPoll(T,$){let J=await this.createAndRun(T,$);return await this.runs.poll(J.thread_id,J.id,$)}createAndRunStream(T,$){return MJ.createThreadAssistantStream(T,this._client.beta.threads,$)}}D1.Runs=o1;D1.RunsPage=Q2;D1.Messages=VW;D1.MessagesPage=A2;class tJ extends b{constructor(){super(...arguments);this.realtime=new k0(this._client),this.chat=new H2(this._client),this.assistants=new _W(this._client),this.threads=new D1(this._client)}}tJ.Realtime=k0;tJ.Assistants=_W;tJ.AssistantsPage=X2;tJ.Threads=D1;class RW extends b{create(T,$){return this._client.post("/completions",{body:T,...$,stream:T.stream??!1})}}class LW extends b{create(T,$){let J=!!T.encoding_format,W=J?T.encoding_format:"base64";if(J)A1("Request","User defined encoding_format:",T.encoding_format);let X=this._client.post("/embeddings",{body:{...T,encoding_format:W},...$});if(J)return X;return A1("response","Decoding base64 embeddings to float32 array"),X._thenUnwrap((F)=>{if(F&&F.data)F.data.forEach((Y)=>{let G=Y.embedding;Y.embedding=R3(G)});return F})}}class BW extends b{retrieve(T,$,J,W){return this._client.get(`/evals/${T}/runs/${$}/output_items/${J}`,W)}list(T,$,J={},W){if(AT(J))return this.list(T,$,{},J);return this._client.getAPIList(`/evals/${T}/runs/${$}/output_items`,O2,{query:J,...W})}}class O2 extends BT{}BW.OutputItemListResponsesPage=O2;class d1 extends b{constructor(){super(...arguments);this.outputItems=new BW(this._client)}create(T,$,J){return this._client.post(`/evals/${T}/runs`,{body:$,...J})}retrieve(T,$,J){return this._client.get(`/evals/${T}/runs/${$}`,J)}list(T,$={},J){if(AT($))return this.list(T,{},$);return this._client.getAPIList(`/evals/${T}/runs`,U2,{query:$,...J})}del(T,$,J){return this._client.delete(`/evals/${T}/runs/${$}`,J)}cancel(T,$,J){return this._client.post(`/evals/${T}/runs/${$}`,J)}}class U2 extends BT{}d1.RunListResponsesPage=U2;d1.OutputItems=BW;d1.OutputItemListResponsesPage=O2;class K1 extends b{constructor(){super(...arguments);this.runs=new d1(this._client)}create(T,$){return this._client.post("/evals",{body:T,...$})}retrieve(T,$){return this._client.get(`/evals/${T}`,$)}update(T,$,J){return this._client.post(`/evals/${T}`,{body:$,...J})}list(T={},$){if(AT(T))return this.list({},T);return this._client.getAPIList("/evals",fW,{query:T,...$})}del(T,$){return this._client.delete(`/evals/${T}`,$)}}class fW extends BT{}K1.EvalListResponsesPage=fW;K1.Runs=d1;K1.RunListResponsesPage=U2;class y0 extends b{create(T,$){return this._client.post("/files",SJ({body:T,...$}))}retrieve(T,$){return this._client.get(`/files/${T}`,$)}list(T={},$){if(AT(T))return this.list({},T);return this._client.getAPIList("/files",NW,{query:T,...$})}del(T,$){return this._client.delete(`/files/${T}`,$)}content(T,$){return this._client.get(`/files/${T}/content`,{...$,headers:{Accept:"application/binary",...$?.headers},__binaryResponse:!0})}retrieveContent(T,$){return this._client.get(`/files/${T}/content`,$)}async waitForProcessing(T,{pollInterval:$=5000,maxWait:J=1800000}={}){let W=new Set(["processed","error","deleted"]),X=Date.now(),F=await this.retrieve(T);while(!F.status||!W.has(F.status))if(await w1($),F=await this.retrieve(T),Date.now()-X>J)throw new S0({message:`Giving up on waiting for file ${T} to finish processing after ${J} milliseconds.`});return F}}class NW extends BT{}y0.FileObjectsPage=NW;class CW extends b{create(T,$,J){return this._client.getAPIList(`/fine_tuning/checkpoints/${T}/permissions`,_2,{body:$,method:"post",...J})}retrieve(T,$={},J){if(AT($))return this.retrieve(T,{},$);return this._client.get(`/fine_tuning/checkpoints/${T}/permissions`,{query:$,...J})}del(T,$,J){return this._client.delete(`/fine_tuning/checkpoints/${T}/permissions/${$}`,J)}}class _2 extends Q1{}CW.PermissionCreateResponsesPage=_2;class I0 extends b{constructor(){super(...arguments);this.permissions=new CW(this._client)}}I0.Permissions=CW;I0.PermissionCreateResponsesPage=_2;class ZW extends b{list(T,$={},J){if(AT($))return this.list(T,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${T}/checkpoints`,D2,{query:$,...J})}}class D2 extends BT{}ZW.FineTuningJobCheckpointsPage=D2;class S1 extends b{constructor(){super(...arguments);this.checkpoints=new ZW(this._client)}create(T,$){return this._client.post("/fine_tuning/jobs",{body:T,...$})}retrieve(T,$){return this._client.get(`/fine_tuning/jobs/${T}`,$)}list(T={},$){if(AT(T))return this.list({},T);return this._client.getAPIList("/fine_tuning/jobs",K2,{query:T,...$})}cancel(T,$){return this._client.post(`/fine_tuning/jobs/${T}/cancel`,$)}listEvents(T,$={},J){if(AT($))return this.listEvents(T,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${T}/events`,S2,{query:$,...J})}}class K2 extends BT{}class S2 extends BT{}S1.FineTuningJobsPage=K2;S1.FineTuningJobEventsPage=S2;S1.Checkpoints=ZW;S1.FineTuningJobCheckpointsPage=D2;class rJ extends b{constructor(){super(...arguments);this.jobs=new S1(this._client),this.checkpoints=new I0(this._client)}}rJ.Jobs=S1;rJ.FineTuningJobsPage=K2;rJ.FineTuningJobEventsPage=S2;rJ.Checkpoints=I0;class qW extends b{createVariation(T,$){return this._client.post("/images/variations",SJ({body:T,...$}))}edit(T,$){return this._client.post("/images/edits",SJ({body:T,...$}))}generate(T,$){return this._client.post("/images/generations",{body:T,...$})}}class j0 extends b{retrieve(T,$){return this._client.get(`/models/${T}`,$)}list(T){return this._client.getAPIList("/models",kW,T)}del(T,$){return this._client.delete(`/models/${T}`,$)}}class kW extends Q1{}j0.ModelsPage=kW;class yW extends b{create(T,$){return this._client.post("/moderations",{body:T,...$})}}function p3(T,$){if(!$||!aD($))return{...T,output_parsed:null,output:T.output.map((J)=>{if(J.type==="function_call")return{...J,parsed_arguments:null};if(J.type==="message")return{...J,content:J.content.map((W)=>({...W,parsed:null}))};else return J})};return SY(T,$)}function SY(T,$){let J=T.output.map((X)=>{if(X.type==="function_call")return{...X,parsed_arguments:TK($,X)};if(X.type==="message"){let F=X.content.map((Y)=>{if(Y.type==="output_text")return{...Y,parsed:rD($,Y.text)};return Y});return{...X,content:F}}return X}),W=Object.assign({},T,{output:J});if(!Object.getOwnPropertyDescriptor(T,"output_text"))VY(W);return Object.defineProperty(W,"output_parsed",{enumerable:!0,get(){for(let X of W.output){if(X.type!=="message")continue;for(let F of X.content)if(F.type==="output_text"&&F.parsed!==null)return F.parsed}return null}}),W}function rD(T,$){if(T.text?.format?.type!=="json_schema")return null;if("$parseRaw"in T.text?.format)return(T.text?.format).$parseRaw($);return JSON.parse($)}function aD(T){if(F2(T.text?.format))return!0;return!1}function sD(T){return T?.$brand==="auto-parseable-tool"}function eD(T,$){return T.find((J)=>J.type==="function"&&J.name===$)}function TK(T,$){let J=eD(T.tools??[],$.name);return{...$,...$,parsed_arguments:sD(J)?J.$parseRaw($.arguments):J?.strict?JSON.parse($.arguments):null}}function VY(T){let $=[];for(let J of T.output){if(J.type!=="message")continue;for(let W of J.content)if(W.type==="output_text")$.push(W.text)}T.output_text=$.join("")}class V2 extends b{list(T,$={},J){if(AT($))return this.list(T,{},$);return this._client.getAPIList(`/responses/${T}/input_items`,EY,{query:$,...J})}}var IW=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},l1=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},jW,k4,n1,y4,u3,c3,o3,d3;class I4 extends B0{constructor(T){super();jW.add(this),k4.set(this,void 0),n1.set(this,void 0),y4.set(this,void 0),IW(this,k4,T,"f")}static createResponse(T,$,J){let W=new I4($);return W._run(()=>W._createResponse(T,$,{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),W}async _createResponse(T,$,J){let W=J?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}l1(this,jW,"m",u3).call(this);let X=await T.responses.create({...$,stream:!0},{...J,signal:this.controller.signal});this._connected();for await(let F of X)l1(this,jW,"m",c3).call(this,F);if(X.controller.signal?.aborted)throw new U$;return l1(this,jW,"m",o3).call(this)}[(k4=new WeakMap,n1=new WeakMap,y4=new WeakMap,jW=new WeakSet,u3=function T(){if(this.ended)return;IW(this,n1,void 0,"f")},c3=function T($){if(this.ended)return;let J=l1(this,jW,"m",d3).call(this,$);switch(this._emit("event",$),$.type){case"response.output_text.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="message"){let X=W.content[$.content_index];if(!X)throw new t(`missing content at index ${$.content_index}`);if(X.type!=="output_text")throw new t(`expected content to be 'output_text', got ${X.type}`);this._emit("response.output_text.delta",{...$,snapshot:X.text})}break}case"response.function_call_arguments.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="function_call")this._emit("response.function_call_arguments.delta",{...$,snapshot:W.arguments});break}default:this._emit($.type,$);break}},o3=function T(){if(this.ended)throw new t("stream has ended, this shouldn't happen");let $=l1(this,n1,"f");if(!$)throw new t("request ended without sending any events");IW(this,n1,void 0,"f");let J=JK($,l1(this,k4,"f"));return IW(this,y4,J,"f"),J},d3=function T($){let J=l1(this,n1,"f");if(!J){if($.type!=="response.created")throw new t(`When snapshot hasn't been set yet, expected 'response.created' event, got ${$.type}`);return J=IW(this,n1,$.response,"f"),J}switch($.type){case"response.output_item.added":{J.output.push($.item);break}case"response.content_part.added":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="message")W.content.push($.part);break}case"response.output_text.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="message"){let X=W.content[$.content_index];if(!X)throw new t(`missing content at index ${$.content_index}`);if(X.type!=="output_text")throw new t(`expected content to be 'output_text', got ${X.type}`);X.text+=$.delta}break}case"response.function_call_arguments.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="function_call")W.arguments+=$.delta;break}case"response.completed":{IW(this,n1,$.response,"f");break}}return J},Symbol.asyncIterator)](){let T=[],$=[],J=!1;return this.on("event",(W)=>{let X=$.shift();if(X)X.resolve(W);else T.push(W)}),this.on("end",()=>{J=!0;for(let W of $)W.resolve(void 0);$.length=0}),this.on("abort",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),this.on("error",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),{next:async()=>{if(!T.length){if(J)return{value:void 0,done:!0};return new Promise((X,F)=>$.push({resolve:X,reject:F})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:T.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}async finalResponse(){await this.done();let T=l1(this,y4,"f");if(!T)throw new t("stream ended without producing a ChatCompletion");return T}}function JK(T,$){return p3(T,$)}class x0 extends b{constructor(){super(...arguments);this.inputItems=new V2(this._client)}create(T,$){return this._client.post("/responses",{body:T,...$,stream:T.stream??!1})._thenUnwrap((J)=>{if("object"in J&&J.object==="response")VY(J);return J})}retrieve(T,$={},J){if(AT($))return this.retrieve(T,{},$);return this._client.get(`/responses/${T}`,{query:$,...J})}del(T,$){return this._client.delete(`/responses/${T}`,{...$,headers:{Accept:"*/*",...$?.headers}})}parse(T,$){return this._client.responses.create(T,$)._thenUnwrap((J)=>SY(J,T))}stream(T,$){return I4.createResponse(this._client,T,$)}}class EY extends BT{}x0.InputItems=V2;class E2 extends b{create(T,$,J){return this._client.post(`/uploads/${T}/parts`,SJ({body:$,...J}))}}class P0 extends b{constructor(){super(...arguments);this.parts=new E2(this._client)}create(T,$){return this._client.post("/uploads",{body:T,...$})}cancel(T,$){return this._client.post(`/uploads/${T}/cancel`,$)}complete(T,$,J){return this._client.post(`/uploads/${T}/complete`,{body:$,...J})}}P0.Parts=E2;var l3=async(T)=>{let $=await Promise.allSettled(T),J=$.filter((X)=>X.status==="rejected");if(J.length){for(let X of J)console.error(X.reason);throw new Error(`${J.length} promise(s) failed - see the above errors`)}let W=[];for(let X of $)if(X.status==="fulfilled")W.push(X.value);return W};class b0 extends b{create(T,$,J){return this._client.post(`/vector_stores/${T}/files`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}retrieve(T,$,J){return this._client.get(`/vector_stores/${T}/files/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}update(T,$,J,W){return this._client.post(`/vector_stores/${T}/files/${$}`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}list(T,$={},J){if(AT($))return this.list(T,{},$);return this._client.getAPIList(`/vector_stores/${T}/files`,v0,{query:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}del(T,$,J){return this._client.delete(`/vector_stores/${T}/files/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}async createAndPoll(T,$,J){let W=await this.create(T,$,J);return await this.poll(T,W.id,J)}async poll(T,$,J){let W={...J?.headers,"X-Stainless-Poll-Helper":"true"};if(J?.pollIntervalMs)W["X-Stainless-Custom-Poll-Interval"]=J.pollIntervalMs.toString();while(!0){let X=await this.retrieve(T,$,{...J,headers:W}).withResponse(),F=X.data;switch(F.status){case"in_progress":let Y=5000;if(J?.pollIntervalMs)Y=J.pollIntervalMs;else{let G=X.response.headers.get("openai-poll-after-ms");if(G){let H=parseInt(G);if(!isNaN(H))Y=H}}await w1(Y);break;case"failed":case"completed":return F}}}async upload(T,$,J){let W=await this._client.files.create({file:$,purpose:"assistants"},J);return this.create(T,{file_id:W.id},J)}async uploadAndPoll(T,$,J){let W=await this.upload(T,$,J);return await this.poll(T,W.id,J)}content(T,$,J){return this._client.getAPIList(`/vector_stores/${T}/files/${$}/content`,R2,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}}class v0 extends BT{}class R2 extends Q1{}b0.VectorStoreFilesPage=v0;b0.FileContentResponsesPage=R2;class L2 extends b{create(T,$,J){return this._client.post(`/vector_stores/${T}/file_batches`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}retrieve(T,$,J){return this._client.get(`/vector_stores/${T}/file_batches/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}cancel(T,$,J){return this._client.post(`/vector_stores/${T}/file_batches/${$}/cancel`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}async createAndPoll(T,$,J){let W=await this.create(T,$);return await this.poll(T,W.id,J)}listFiles(T,$,J={},W){if(AT(J))return this.listFiles(T,$,{},J);return this._client.getAPIList(`/vector_stores/${T}/file_batches/${$}/files`,v0,{query:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}async poll(T,$,J){let W={...J?.headers,"X-Stainless-Poll-Helper":"true"};if(J?.pollIntervalMs)W["X-Stainless-Custom-Poll-Interval"]=J.pollIntervalMs.toString();while(!0){let{data:X,response:F}=await this.retrieve(T,$,{...J,headers:W}).withResponse();switch(X.status){case"in_progress":let Y=5000;if(J?.pollIntervalMs)Y=J.pollIntervalMs;else{let G=F.headers.get("openai-poll-after-ms");if(G){let H=parseInt(G);if(!isNaN(H))Y=H}}await w1(Y);break;case"failed":case"cancelled":case"completed":return X}}}async uploadAndPoll(T,{files:$,fileIds:J=[]},W){if($==null||$.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let X=W?.maxConcurrency??5,F=Math.min(X,$.length),Y=this._client,G=$.values(),H=[...J];async function M(A){for(let w of A){let _=await Y.files.create({file:w,purpose:"assistants"},W);H.push(_.id)}}let z=Array(F).fill(G).map(M);return await l3(z),await this.createAndPoll(T,{file_ids:H})}}class VJ extends b{constructor(){super(...arguments);this.files=new b0(this._client),this.fileBatches=new L2(this._client)}create(T,$){return this._client.post("/vector_stores",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(T,$){return this._client.get(`/vector_stores/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(T,$,J){return this._client.post(`/vector_stores/${T}`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}list(T={},$){if(AT(T))return this.list({},T);return this._client.getAPIList("/vector_stores",xW,{query:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(T,$){return this._client.delete(`/vector_stores/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}search(T,$,J){return this._client.getAPIList(`/vector_stores/${T}/search`,PW,{body:$,method:"post",...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}}class xW extends BT{}class PW extends Q1{}VJ.VectorStoresPage=xW;VJ.VectorStoreSearchResponsesPage=PW;VJ.Files=b0;VJ.VectorStoreFilesPage=v0;VJ.FileContentResponsesPage=R2;VJ.FileBatches=L2;var n3;class wT extends TY{constructor({baseURL:T=dX("OPENAI_BASE_URL"),apiKey:$=dX("OPENAI_API_KEY"),organization:J=dX("OPENAI_ORG_ID")??null,project:W=dX("OPENAI_PROJECT_ID")??null,...X}={}){if($===void 0)throw new t("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let F={apiKey:$,organization:J,project:W,...X,baseURL:T||"https://api.openai.com/v1"};if(!F.dangerouslyAllowBrowser&&E3())throw new t(`It looks like you're running in a browser-like environment.
|
|
24
|
+
`,JSON.stringify(w.issues,null,"\t")),z.push({response:A,error:w})}return $?.error(`safegen was unable to generate well-formed data after ${M} failed attempts.`),X}}}function iG(T){return["Please generate a response in JSON that conforms to the following JSON Schema:",JSON.stringify(T,null,2)].join(`
|
|
25
|
+
`)}var T4="RFC3986",$4={RFC1738:(T)=>String(T).replace(/%20/g,"+"),RFC3986:(T)=>String(T)},tG="RFC1738";var u_=Array.isArray,nJ=(()=>{let T=[];for(let $=0;$<256;++$)T.push("%"+(($<16?"0":"")+$.toString(16)).toUpperCase());return T})();var PY=1024,rG=(T,$,J,W,X)=>{if(T.length===0)return T;let Y=T;if(typeof T==="symbol")Y=Symbol.prototype.toString.call(T);else if(typeof T!=="string")Y=String(T);if(J==="iso-8859-1")return escape(Y).replace(/%u[0-9a-f]{4}/gi,function(G){return"%26%23"+parseInt(G.slice(2),16)+"%3B"});let F="";for(let G=0;G<Y.length;G+=PY){let H=Y.length>=PY?Y.slice(G,G+PY):Y,M=[];for(let A=0;A<H.length;++A){let z=H.charCodeAt(A);if(z===45||z===46||z===95||z===126||z>=48&&z<=57||z>=65&&z<=90||z>=97&&z<=122||X===tG&&(z===40||z===41)){M[M.length]=H.charAt(A);continue}if(z<128){M[M.length]=nJ[z];continue}if(z<2048){M[M.length]=nJ[192|z>>6]+nJ[128|z&63];continue}if(z<55296||z>=57344){M[M.length]=nJ[224|z>>12]+nJ[128|z>>6&63]+nJ[128|z&63];continue}A+=1,z=65536+((z&1023)<<10|H.charCodeAt(A)&1023),M[M.length]=nJ[240|z>>18]+nJ[128|z>>12&63]+nJ[128|z>>6&63]+nJ[128|z&63]}F+=M.join("")}return F};function aG(T){if(!T||typeof T!=="object")return!1;return!!(T.constructor&&T.constructor.isBuffer&&T.constructor.isBuffer(T))}function bY(T,$){if(u_(T)){let J=[];for(let W=0;W<T.length;W+=1)J.push($(T[W]));return J}return $(T)}var c_=Object.prototype.hasOwnProperty,sG={brackets(T){return String(T)+"[]"},comma:"comma",indices(T,$){return String(T)+"["+$+"]"},repeat(T){return String(T)}},iJ=Array.isArray,o_=Array.prototype.push,eG=function(T,$){o_.apply(T,iJ($)?$:[$])},d_=Date.prototype.toISOString,Q$={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:rG,encodeValuesOnly:!1,format:T4,formatter:$4[T4],indices:!1,serializeDate(T){return d_.call(T)},skipNulls:!1,strictNullHandling:!1};function l_(T){return typeof T==="string"||typeof T==="number"||typeof T==="boolean"||typeof T==="symbol"||typeof T==="bigint"}var vY={};function T3(T,$,J,W,X,Y,F,G,H,M,A,z,w,_,K,V,Z,q){let N=T,y=q,S=0,f=!1;while((y=y.get(vY))!==void 0&&!f){let R=y.get(T);if(S+=1,typeof R!=="undefined")if(R===S)throw new RangeError("Cyclic object value");else f=!0;if(typeof y.get(vY)==="undefined")S=0}if(typeof M==="function")N=M($,N);else if(N instanceof Date)N=w?.(N);else if(J==="comma"&&iJ(N))N=bY(N,function(R){if(R instanceof Date)return w?.(R);return R});if(N===null){if(Y)return H&&!V?H($,Q$.encoder,Z,"key",_):$;N=""}if(l_(N)||aG(N)){if(H){let R=V?$:H($,Q$.encoder,Z,"key",_);return[K?.(R)+"="+K?.(H(N,Q$.encoder,Z,"value",_))]}return[K?.($)+"="+K?.(String(N))]}let C=[];if(typeof N==="undefined")return C;let B;if(J==="comma"&&iJ(N)){if(V&&H)N=bY(N,H);B=[{value:N.length>0?N.join(",")||null:void 0}]}else if(iJ(M))B=M;else{let R=Object.keys(N);B=A?R.sort(A):R}let g=G?String($).replace(/\./g,"%2E"):String($),$T=W&&iJ(N)&&N.length===1?g+"[]":g;if(X&&iJ(N)&&N.length===0)return $T+"[]";for(let R=0;R<B.length;++R){let XT=B[R],n=typeof XT==="object"&&typeof XT.value!=="undefined"?XT.value:N[XT];if(F&&n===null)continue;let MT=z&&G?XT.replace(/\./g,"%2E"):XT,kT=iJ(N)?typeof J==="function"?J($T,MT):$T:$T+(z?"."+MT:"["+MT+"]");q.set(T,S);let sT=new WeakMap;sT.set(vY,q),eG(C,T3(n,kT,J,W,X,Y,F,G,J==="comma"&&V&&iJ(N)?null:H,M,A,z,w,_,K,V,Z,sT))}return C}function n_(T=Q$){if(typeof T.allowEmptyArrays!=="undefined"&&typeof T.allowEmptyArrays!=="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof T.encodeDotInKeys!=="undefined"&&typeof T.encodeDotInKeys!=="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(T.encoder!==null&&typeof T.encoder!=="undefined"&&typeof T.encoder!=="function")throw new TypeError("Encoder has to be a function.");let $=T.charset||Q$.charset;if(typeof T.charset!=="undefined"&&T.charset!=="utf-8"&&T.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let J=T4;if(typeof T.format!=="undefined"){if(!c_.call($4,T.format))throw new TypeError("Unknown format option provided.");J=T.format}let W=$4[J],X=Q$.filter;if(typeof T.filter==="function"||iJ(T.filter))X=T.filter;let Y;if(T.arrayFormat&&T.arrayFormat in sG)Y=T.arrayFormat;else if("indices"in T)Y=T.indices?"indices":"repeat";else Y=Q$.arrayFormat;if("commaRoundTrip"in T&&typeof T.commaRoundTrip!=="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let F=typeof T.allowDots==="undefined"?!!T.encodeDotInKeys===!0?!0:Q$.allowDots:!!T.allowDots;return{addQueryPrefix:typeof T.addQueryPrefix==="boolean"?T.addQueryPrefix:Q$.addQueryPrefix,allowDots:F,allowEmptyArrays:typeof T.allowEmptyArrays==="boolean"?!!T.allowEmptyArrays:Q$.allowEmptyArrays,arrayFormat:Y,charset:$,charsetSentinel:typeof T.charsetSentinel==="boolean"?T.charsetSentinel:Q$.charsetSentinel,commaRoundTrip:!!T.commaRoundTrip,delimiter:typeof T.delimiter==="undefined"?Q$.delimiter:T.delimiter,encode:typeof T.encode==="boolean"?T.encode:Q$.encode,encodeDotInKeys:typeof T.encodeDotInKeys==="boolean"?T.encodeDotInKeys:Q$.encodeDotInKeys,encoder:typeof T.encoder==="function"?T.encoder:Q$.encoder,encodeValuesOnly:typeof T.encodeValuesOnly==="boolean"?T.encodeValuesOnly:Q$.encodeValuesOnly,filter:X,format:J,formatter:W,serializeDate:typeof T.serializeDate==="function"?T.serializeDate:Q$.serializeDate,skipNulls:typeof T.skipNulls==="boolean"?T.skipNulls:Q$.skipNulls,sort:typeof T.sort==="function"?T.sort:null,strictNullHandling:typeof T.strictNullHandling==="boolean"?T.strictNullHandling:Q$.strictNullHandling}}function hY(T,$={}){let J=T,W=n_($),X,Y;if(typeof W.filter==="function")Y=W.filter,J=Y("",J);else if(iJ(W.filter))Y=W.filter,X=Y;let F=[];if(typeof J!=="object"||J===null)return"";let G=sG[W.arrayFormat],H=G==="comma"&&W.commaRoundTrip;if(!X)X=Object.keys(J);if(W.sort)X.sort(W.sort);let M=new WeakMap;for(let w=0;w<X.length;++w){let _=X[w];if(W.skipNulls&&J[_]===null)continue;eG(F,T3(J[_],_,G,H,W.allowEmptyArrays,W.strictNullHandling,W.skipNulls,W.encodeDotInKeys,W.encode?W.encoder:null,W.filter,W.sort,W.allowDots,W.serializeDate,W.format,W.formatter,W.encodeValuesOnly,W.charset,M))}let A=F.join(W.delimiter),z=W.addQueryPrefix===!0?"?":"";if(W.charsetSentinel)if(W.charset==="iso-8859-1")z+="utf8=%26%2310003%3B&";else z+="utf8=%E2%9C%93&";return A.length>0?z+A:""}var _0="4.96.0";var $3=!1,K0=void 0,gY=void 0,t_=void 0,r_=void 0,a_=void 0,mY=void 0,s_=void 0,J4=void 0,pY=void 0,uY=void 0,cY=void 0,W4=void 0,oY=void 0;function J3(T,$={auto:!1}){if($3)throw new Error(`you must \`import 'openai/shims/${T.kind}'\` before importing anything else from openai`);if(K0)throw new Error(`can't \`import 'openai/shims/${T.kind}'\` after \`import 'openai/shims/${K0}'\``);$3=$.auto,K0=T.kind,gY=T.fetch,t_=T.Request,r_=T.Response,a_=T.Headers,mY=T.FormData,s_=T.Blob,J4=T.File,pY=T.ReadableStream,uY=T.getMultipartRequestOptions,cY=T.getDefaultAgent,W4=T.fileFromPath,oY=T.isFsReadStream}class dY{constructor(T){this.body=T}get[Symbol.toStringTag](){return"MultipartBody"}}function W3({manuallyImported:T}={}){let $=T?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",J,W,X,Y;try{J=fetch,W=Request,X=Response,Y=Headers}catch(F){throw new Error(`this environment is missing the following Web Fetch API type: ${F.message}. ${$}`)}return{kind:"web",fetch:J,Request:W,Response:X,Headers:Y,FormData:typeof FormData!=="undefined"?FormData:class F{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${$}`)}},Blob:typeof Blob!=="undefined"?Blob:class F{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${$}`)}},File:typeof File!=="undefined"?File:class F{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${$}`)}},ReadableStream:typeof ReadableStream!=="undefined"?ReadableStream:class F{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${$}`)}},getMultipartRequestOptions:async(F,G)=>({...G,body:new dY(F)}),getDefaultAgent:(F)=>{return},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:(F)=>!1}}import{ReadStream as TK}from"fs";function X3(){let T=W3();function $(J){return J instanceof TK}return{...T,isFsReadStream:$}}var lY=()=>{if(!K0)J3(X3(),{auto:!0})};lY();class t extends Error{}class Y$ extends t{constructor(T,$,J,W){super(`${Y$.makeMessage(T,$,J)}`);this.status=T,this.headers=W,this.request_id=W?.["x-request-id"],this.error=$;let X=$;this.code=X?.code,this.param=X?.param,this.type=X?.type}static makeMessage(T,$,J){let W=$?.message?typeof $.message==="string"?$.message:JSON.stringify($.message):$?JSON.stringify($):J;if(T&&W)return`${T} ${W}`;if(T)return`${T} status code (no body)`;if(W)return W;return"(no status code or body)"}static generate(T,$,J,W){if(!T||!W)return new D0({message:J,cause:w4($)});let X=$?.error;if(T===400)return new X4(T,X,J,W);if(T===401)return new Y4(T,X,J,W);if(T===403)return new F4(T,X,J,W);if(T===404)return new G4(T,X,J,W);if(T===409)return new H4(T,X,J,W);if(T===422)return new M4(T,X,J,W);if(T===429)return new A4(T,X,J,W);if(T>=500)return new z4(T,X,J,W);return new Y$(T,X,J,W)}}class O$ extends Y${constructor({message:T}={}){super(void 0,void 0,T||"Request was aborted.",void 0)}}class D0 extends Y${constructor({message:T,cause:$}){super(void 0,void 0,T||"Connection error.",void 0);if($)this.cause=$}}class V0 extends D0{constructor({message:T}={}){super({message:T??"Request timed out."})}}class X4 extends Y${}class Y4 extends Y${}class F4 extends Y${}class G4 extends Y${}class H4 extends Y${}class M4 extends Y${}class A4 extends Y${}class z4 extends Y${}class pX extends t{constructor(){super("Could not parse response content as the length limit was reached")}}class uX extends t{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}var Q4=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},S0=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},YJ;class wW{constructor(){YJ.set(this,void 0),this.buffer=new Uint8Array,Q4(this,YJ,null,"f")}decode(T){if(T==null)return[];let $=T instanceof ArrayBuffer?new Uint8Array(T):typeof T==="string"?new TextEncoder().encode(T):T,J=new Uint8Array(this.buffer.length+$.length);J.set(this.buffer),J.set($,this.buffer.length),this.buffer=J;let W=[],X;while((X=JK(this.buffer,S0(this,YJ,"f")))!=null){if(X.carriage&&S0(this,YJ,"f")==null){Q4(this,YJ,X.index,"f");continue}if(S0(this,YJ,"f")!=null&&(X.index!==S0(this,YJ,"f")+1||X.carriage)){W.push(this.decodeText(this.buffer.slice(0,S0(this,YJ,"f")-1))),this.buffer=this.buffer.slice(S0(this,YJ,"f")),Q4(this,YJ,null,"f");continue}let Y=S0(this,YJ,"f")!==null?X.preceding-1:X.preceding,F=this.decodeText(this.buffer.slice(0,Y));W.push(F),this.buffer=this.buffer.slice(X.index),Q4(this,YJ,null,"f")}return W}decodeText(T){if(T==null)return"";if(typeof T==="string")return T;if(typeof Buffer!=="undefined"){if(T instanceof Buffer)return T.toString();if(T instanceof Uint8Array)return Buffer.from(T).toString();throw new t(`Unexpected: received non-Uint8Array (${T.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder!=="undefined"){if(T instanceof Uint8Array||T instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(T);throw new t(`Unexpected: received non-Uint8Array/ArrayBuffer (${T.constructor.name}) in a web platform. Please report this error.`)}throw new t("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){if(!this.buffer.length)return[];return this.decode(`
|
|
26
|
+
`)}}YJ=new WeakMap;wW.NEWLINE_CHARS=new Set([`
|
|
27
|
+
`,"\r"]);wW.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function JK(T,$){for(let X=$??0;X<T.length;X++){if(T[X]===10)return{preceding:X,index:X+1,carriage:!1};if(T[X]===13)return{preceding:X,index:X+1,carriage:!0}}return null}function Y3(T){for(let W=0;W<T.length-1;W++){if(T[W]===10&&T[W+1]===10)return W+2;if(T[W]===13&&T[W+1]===13)return W+2;if(T[W]===13&&T[W+1]===10&&W+3<T.length&&T[W+2]===13&&T[W+3]===10)return W+4}return-1}function nY(T){if(T[Symbol.asyncIterator])return T;let $=T.getReader();return{async next(){try{let J=await $.read();if(J?.done)$.releaseLock();return J}catch(J){throw $.releaseLock(),J}},async return(){let J=$.cancel();return $.releaseLock(),await J,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}class FJ{constructor(T,$){this.iterator=T,this.controller=$}static fromSSEResponse(T,$){let J=!1;async function*W(){if(J)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");J=!0;let X=!1;try{for await(let Y of WK(T,$)){if(X)continue;if(Y.data.startsWith("[DONE]")){X=!0;continue}if(Y.event===null||Y.event.startsWith("response.")||Y.event.startsWith("transcript.")){let F;try{F=JSON.parse(Y.data)}catch(G){throw console.error("Could not parse message into JSON:",Y.data),console.error("From chunk:",Y.raw),G}if(F&&F.error)throw new Y$(void 0,F.error,void 0,iY(T.headers));yield F}else{let F;try{F=JSON.parse(Y.data)}catch(G){throw console.error("Could not parse message into JSON:",Y.data),console.error("From chunk:",Y.raw),G}if(Y.event=="error")throw new Y$(void 0,F.error,F.message,void 0);yield{event:Y.event,data:F}}}X=!0}catch(Y){if(Y instanceof Error&&Y.name==="AbortError")return;throw Y}finally{if(!X)$.abort()}}return new FJ(W,$)}static fromReadableStream(T,$){let J=!1;async function*W(){let Y=new wW,F=nY(T);for await(let G of F)for(let H of Y.decode(G))yield H;for(let G of Y.flush())yield G}async function*X(){if(J)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");J=!0;let Y=!1;try{for await(let F of W()){if(Y)continue;if(F)yield JSON.parse(F)}Y=!0}catch(F){if(F instanceof Error&&F.name==="AbortError")return;throw F}finally{if(!Y)$.abort()}}return new FJ(X,$)}[Symbol.asyncIterator](){return this.iterator()}tee(){let T=[],$=[],J=this.iterator(),W=(X)=>{return{next:()=>{if(X.length===0){let Y=J.next();T.push(Y),$.push(Y)}return X.shift()}}};return[new FJ(()=>W(T),this.controller),new FJ(()=>W($),this.controller)]}toReadableStream(){let T=this,$,J=new TextEncoder;return new pY({async start(){$=T[Symbol.asyncIterator]()},async pull(W){try{let{value:X,done:Y}=await $.next();if(Y)return W.close();let F=J.encode(JSON.stringify(X)+`
|
|
28
|
+
`);W.enqueue(F)}catch(X){W.error(X)}},async cancel(){await $.return?.()}})}}async function*WK(T,$){if(!T.body)throw $.abort(),new t("Attempted to iterate over a response with no body");let J=new F3,W=new wW,X=nY(T.body);for await(let Y of XK(X))for(let F of W.decode(Y)){let G=J.decode(F);if(G)yield G}for(let Y of W.flush()){let F=J.decode(Y);if(F)yield F}}async function*XK(T){let $=new Uint8Array;for await(let J of T){if(J==null)continue;let W=J instanceof ArrayBuffer?new Uint8Array(J):typeof J==="string"?new TextEncoder().encode(J):J,X=new Uint8Array($.length+W.length);X.set($),X.set(W,$.length),$=X;let Y;while((Y=Y3($))!==-1)yield $.slice(0,Y),$=$.slice(Y)}if($.length>0)yield $}class F3{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(T){if(T.endsWith("\r"))T=T.substring(0,T.length-1);if(!T){if(!this.event&&!this.data.length)return null;let X={event:this.event,data:this.data.join(`
|
|
29
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],X}if(this.chunks.push(T),T.startsWith(":"))return null;let[$,J,W]=YK(T,":");if(W.startsWith(" "))W=W.substring(1);if($==="event")this.event=W;else if($==="data")this.data.push(W);return null}}function YK(T,$){let J=T.indexOf($);if(J!==-1)return[T.substring(0,J),$,T.substring(J+$.length)];return[T,"",""]}var G3=(T)=>T!=null&&typeof T==="object"&&typeof T.url==="string"&&typeof T.blob==="function",H3=(T)=>T!=null&&typeof T==="object"&&typeof T.name==="string"&&typeof T.lastModified==="number"&&cX(T),cX=(T)=>T!=null&&typeof T==="object"&&typeof T.size==="number"&&typeof T.type==="string"&&typeof T.text==="function"&&typeof T.slice==="function"&&typeof T.arrayBuffer==="function",FK=(T)=>{return H3(T)||G3(T)||oY(T)};async function aY(T,$,J){if(T=await T,H3(T))return T;if(G3(T)){let X=await T.blob();$||($=new URL(T.url).pathname.split(/[\\/]/).pop()??"unknown_file");let Y=cX(X)?[await X.arrayBuffer()]:[X];return new J4(Y,$,J)}let W=await GK(T);if($||($=MK(T)??"unknown_file"),!J?.type){let X=W[0]?.type;if(typeof X==="string")J={...J,type:X}}return new J4(W,$,J)}async function GK(T){let $=[];if(typeof T==="string"||ArrayBuffer.isView(T)||T instanceof ArrayBuffer)$.push(T);else if(cX(T))$.push(await T.arrayBuffer());else if(AK(T))for await(let J of T)$.push(J);else throw new Error(`Unexpected data type: ${typeof T}; constructor: ${T?.constructor?.name}; props: ${HK(T)}`);return $}function HK(T){return`[${Object.getOwnPropertyNames(T).map((J)=>`"${J}"`).join(", ")}]`}function MK(T){return tY(T.name)||tY(T.filename)||tY(T.path)?.split(/[\\/]/).pop()}var tY=(T)=>{if(typeof T==="string")return T;if(typeof Buffer!=="undefined"&&T instanceof Buffer)return String(T);return},AK=(T)=>T!=null&&typeof T==="object"&&typeof T[Symbol.asyncIterator]==="function",sY=(T)=>T&&typeof T==="object"&&T.body&&T[Symbol.toStringTag]==="MultipartBody";var DJ=async(T)=>{let $=await M3(T.body);return uY($,T)},M3=async(T)=>{let $=new mY;return await Promise.all(Object.entries(T||{}).map(([J,W])=>rY($,J,W))),$};var rY=async(T,$,J)=>{if(J===void 0)return;if(J==null)throw new TypeError(`Received null for "${$}"; to pass null in FormData, you must use the string 'null'`);if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")T.append($,String(J));else if(FK(J)){let W=await aY(J);T.append($,W)}else if(Array.isArray(J))await Promise.all(J.map((W)=>rY(T,$+"[]",W)));else if(typeof J==="object")await Promise.all(Object.entries(J).map(([W,X])=>rY(T,`${$}[${W}]`,X)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${J} instead`)};var wK=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},QK=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},O4;lY();async function U3(T){let{response:$}=T;if(T.options.stream){if(w1("response",$.status,$.url,$.headers,$.body),T.options.__streamClass)return T.options.__streamClass.fromSSEResponse($,T.controller);return FJ.fromSSEResponse($,T.controller)}if($.status===204)return null;if(T.options.__binaryResponse)return $;let W=$.headers.get("content-type")?.split(";")[0]?.trim();if(W?.includes("application/json")||W?.endsWith("+json")){let F=await $.json();return w1("response",$.status,$.url,$.headers,F),_3(F,$)}let Y=await $.text();return w1("response",$.status,$.url,$.headers,Y),Y}function _3(T,$){if(!T||typeof T!=="object"||Array.isArray(T))return T;return Object.defineProperty(T,"_request_id",{value:$.headers.get("x-request-id"),enumerable:!1})}class _4 extends Promise{constructor(T,$=U3){super((J)=>{J(null)});this.responsePromise=T,this.parseResponse=$}_thenUnwrap(T){return new _4(this.responsePromise,async($)=>_3(T(await this.parseResponse($),$),$.response))}asResponse(){return this.responsePromise.then((T)=>T.response)}async withResponse(){let[T,$]=await Promise.all([this.parse(),this.asResponse()]);return{data:T,response:$,request_id:$.headers.get("x-request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(this.parseResponse);return this.parsedPromise}then(T,$){return this.parse().then(T,$)}catch(T){return this.parse().catch(T)}finally(T){return this.parse().finally(T)}}class TF{constructor({baseURL:T,maxRetries:$=2,timeout:J=600000,httpAgent:W,fetch:X}){this.baseURL=T,this.maxRetries=eY("maxRetries",$),this.timeout=eY("timeout",J),this.httpAgent=W,this.fetch=X??gY}authHeaders(T){return{}}defaultHeaders(T){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...KK(),...this.authHeaders(T)}}validateHeaders(T,$){}defaultIdempotencyKey(){return`stainless-node-retry-${RK()}`}get(T,$){return this.methodRequest("get",T,$)}post(T,$){return this.methodRequest("post",T,$)}patch(T,$){return this.methodRequest("patch",T,$)}put(T,$){return this.methodRequest("put",T,$)}delete(T,$){return this.methodRequest("delete",T,$)}methodRequest(T,$,J){return this.request(Promise.resolve(J).then(async(W)=>{let X=W&&cX(W?.body)?new DataView(await W.body.arrayBuffer()):W?.body instanceof DataView?W.body:W?.body instanceof ArrayBuffer?new DataView(W.body):W&&ArrayBuffer.isView(W?.body)?new DataView(W.body.buffer):W?.body;return{method:T,path:$,...W,body:X}}))}getAPIList(T,$,J){return this.requestAPIList($,{method:"get",path:T,...J})}calculateContentLength(T){if(typeof T==="string"){if(typeof Buffer!=="undefined")return Buffer.byteLength(T,"utf8").toString();if(typeof TextEncoder!=="undefined")return new TextEncoder().encode(T).length.toString()}else if(ArrayBuffer.isView(T))return T.byteLength.toString();return null}buildRequest(T,{retryCount:$=0}={}){let J={...T},{method:W,path:X,query:Y,headers:F={}}=J,G=ArrayBuffer.isView(J.body)||J.__binaryRequest&&typeof J.body==="string"?J.body:sY(J.body)?J.body.body:J.body?JSON.stringify(J.body,null,2):null,H=this.calculateContentLength(G),M=this.buildURL(X,Y);if("timeout"in J)eY("timeout",J.timeout);J.timeout=J.timeout??this.timeout;let A=J.httpAgent??this.httpAgent??cY(M),z=J.timeout+1000;if(typeof A?.options?.timeout==="number"&&z>(A.options.timeout??0))A.options.timeout=z;if(this.idempotencyHeader&&W!=="get"){if(!T.idempotencyKey)T.idempotencyKey=this.defaultIdempotencyKey();F[this.idempotencyHeader]=T.idempotencyKey}let w=this.buildHeaders({options:J,headers:F,contentLength:H,retryCount:$});return{req:{method:W,...G&&{body:G},headers:w,...A&&{agent:A},signal:J.signal??null},url:M,timeout:J.timeout}}buildHeaders({options:T,headers:$,contentLength:J,retryCount:W}){let X={};if(J)X["content-length"]=J;let Y=this.defaultHeaders(T);if(Q3(X,Y),Q3(X,$),sY(T.body)&&K0!=="node")delete X["content-type"];if(U4(Y,"x-stainless-retry-count")===void 0&&U4($,"x-stainless-retry-count")===void 0)X["x-stainless-retry-count"]=String(W);if(U4(Y,"x-stainless-timeout")===void 0&&U4($,"x-stainless-timeout")===void 0&&T.timeout)X["x-stainless-timeout"]=String(Math.trunc(T.timeout/1000));return this.validateHeaders(X,$),X}async prepareOptions(T){}async prepareRequest(T,{url:$,options:J}){}parseHeaders(T){return!T?{}:(Symbol.iterator in T)?Object.fromEntries(Array.from(T).map(($)=>[...$])):{...T}}makeStatusError(T,$,J,W){return Y$.generate(T,$,J,W)}request(T,$=null){return new _4(this.makeRequest(T,$))}async makeRequest(T,$){let J=await T,W=J.maxRetries??this.maxRetries;if($==null)$=W;await this.prepareOptions(J);let{req:X,url:Y,timeout:F}=this.buildRequest(J,{retryCount:W-$});if(await this.prepareRequest(X,{url:Y,options:J}),w1("request",Y,J,X.headers),J.signal?.aborted)throw new O$;let G=new AbortController,H=await this.fetchWithTimeout(Y,X,F,G).catch(w4);if(H instanceof Error){if(J.signal?.aborted)throw new O$;if($)return this.retryRequest(J,$);if(H.name==="AbortError")throw new V0;throw new D0({cause:H})}let M=iY(H.headers);if(!H.ok){if($&&this.shouldRetry(H)){let V=`retrying, ${$} attempts remaining`;return w1(`response (error; ${V})`,H.status,Y,M),this.retryRequest(J,$,M)}let A=await H.text().catch((V)=>w4(V).message),z=DK(A),w=z?void 0:A;throw w1(`response (error; ${$?"(error; no more retries left)":"(error; not retryable)"})`,H.status,Y,M,w),this.makeStatusError(H.status,z,w,M)}return{response:H,options:J,controller:G}}requestAPIList(T,$){let J=this.makeRequest($,null);return new K3(this,J,T)}buildURL(T,$){let J=SK(T)?new URL(T):new URL(this.baseURL+(this.baseURL.endsWith("/")&&T.startsWith("/")?T.slice(1):T)),W=this.defaultQuery();if(!D3(W))$={...W,...$};if(typeof $==="object"&&$&&!Array.isArray($))J.search=this.stringifyQuery($);return J.toString()}stringifyQuery(T){return Object.entries(T).filter(([$,J])=>typeof J!=="undefined").map(([$,J])=>{if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")return`${encodeURIComponent($)}=${encodeURIComponent(J)}`;if(J===null)return`${encodeURIComponent($)}=`;throw new t(`Cannot stringify type ${typeof J}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(T,$,J,W){let{signal:X,...Y}=$||{};if(X)X.addEventListener("abort",()=>W.abort());let F=setTimeout(()=>W.abort(),J),G={signal:W.signal,...Y};if(G.method)G.method=G.method.toUpperCase();return this.fetch.call(void 0,T,G).finally(()=>{clearTimeout(F)})}shouldRetry(T){let $=T.headers.get("x-should-retry");if($==="true")return!0;if($==="false")return!1;if(T.status===408)return!0;if(T.status===409)return!0;if(T.status===429)return!0;if(T.status>=500)return!0;return!1}async retryRequest(T,$,J){let W,X=J?.["retry-after-ms"];if(X){let F=parseFloat(X);if(!Number.isNaN(F))W=F}let Y=J?.["retry-after"];if(Y&&!W){let F=parseFloat(Y);if(!Number.isNaN(F))W=F*1000;else W=Date.parse(Y)-Date.now()}if(!(W&&0<=W&&W<60000)){let F=T.maxRetries??this.maxRetries;W=this.calculateDefaultRetryTimeoutMillis($,F)}return await Q1(W),this.makeRequest(T,$-1)}calculateDefaultRetryTimeoutMillis(T,$){let X=$-T,Y=Math.min(0.5*Math.pow(2,X),8),F=1-Math.random()*0.25;return Y*F*1000}getUserAgent(){return`${this.constructor.name}/JS ${_0}`}}class K4{constructor(T,$,J,W){O4.set(this,void 0),wK(this,O4,T,"f"),this.options=W,this.response=$,this.body=J}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageInfo()!=null}async getNextPage(){let T=this.nextPageInfo();if(!T)throw new t("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let $={...this.options};if("params"in T&&typeof $.query==="object")$.query={...$.query,...T.params};else if("url"in T){let J=[...Object.entries($.query||{}),...T.url.searchParams.entries()];for(let[W,X]of J)T.url.searchParams.set(W,X);$.query=void 0,$.path=T.url.toString()}return await QK(this,O4,"f").requestAPIList(this.constructor,$)}async*iterPages(){let T=this;yield T;while(T.hasNextPage())T=await T.getNextPage(),yield T}async*[(O4=new WeakMap,Symbol.asyncIterator)](){for await(let T of this.iterPages())for(let $ of T.getPaginatedItems())yield $}}class K3 extends _4{constructor(T,$,J){super($,async(W)=>new J(T,W.response,await U3(W),W.options))}async*[Symbol.asyncIterator](){let T=await this;for await(let $ of T)yield $}}var iY=(T)=>{return new Proxy(Object.fromEntries(T.entries()),{get($,J){let W=J.toString();return $[W.toLowerCase()]||$[W]}})},OK={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},zT=(T)=>{return typeof T==="object"&&T!==null&&!D3(T)&&Object.keys(T).every(($)=>V3(OK,$))},UK=()=>{if(typeof Deno!=="undefined"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":z3(Deno.build.os),"X-Stainless-Arch":A3(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime!=="undefined")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process!=="undefined"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":z3(process.platform),"X-Stainless-Arch":A3(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let T=_K();if(T)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${T.browser}`,"X-Stainless-Runtime-Version":T.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function _K(){if(typeof navigator==="undefined"||!navigator)return null;let T=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:$,pattern:J}of T){let W=J.exec(navigator.userAgent);if(W){let X=W[1]||0,Y=W[2]||0,F=W[3]||0;return{browser:$,version:`${X}.${Y}.${F}`}}}return null}var A3=(T)=>{if(T==="x32")return"x32";if(T==="x86_64"||T==="x64")return"x64";if(T==="arm")return"arm";if(T==="aarch64"||T==="arm64")return"arm64";if(T)return`other:${T}`;return"unknown"},z3=(T)=>{if(T=T.toLowerCase(),T.includes("ios"))return"iOS";if(T==="android")return"Android";if(T==="darwin")return"MacOS";if(T==="win32")return"Windows";if(T==="freebsd")return"FreeBSD";if(T==="openbsd")return"OpenBSD";if(T==="linux")return"Linux";if(T)return`Other:${T}`;return"Unknown"},w3,KK=()=>{return w3??(w3=UK())},DK=(T)=>{try{return JSON.parse(T)}catch($){return}},VK=/^[a-z][a-z0-9+.-]*:/i,SK=(T)=>{return VK.test(T)},Q1=(T)=>new Promise(($)=>setTimeout($,T)),eY=(T,$)=>{if(typeof $!=="number"||!Number.isInteger($))throw new t(`${T} must be an integer`);if($<0)throw new t(`${T} must be a positive integer`);return $},w4=(T)=>{if(T instanceof Error)return T;if(typeof T==="object"&&T!==null)try{return new Error(JSON.stringify(T))}catch{}return new Error(T)};var oX=(T)=>{if(typeof process!=="undefined")return process.env?.[T]?.trim()??void 0;if(typeof Deno!=="undefined")return Deno.env?.get?.(T)?.trim();return};function D3(T){if(!T)return!0;for(let $ in T)return!1;return!0}function V3(T,$){return Object.prototype.hasOwnProperty.call(T,$)}function Q3(T,$){for(let J in $){if(!V3($,J))continue;let W=J.toLowerCase();if(!W)continue;let X=$[J];if(X===null)delete T[W];else if(X!==void 0)T[W]=X}}var O3=new Set(["authorization","api-key"]);function w1(T,...$){if(typeof process!=="undefined"&&process?.env?.DEBUG==="true"){let J=$.map((W)=>{if(!W)return W;if(W.headers){let Y={...W,headers:{...W.headers}};for(let F in W.headers)if(O3.has(F.toLowerCase()))Y.headers[F]="REDACTED";return Y}let X=null;for(let Y in W)if(O3.has(Y.toLowerCase()))X??(X={...W}),X[Y]="REDACTED";return X??W});console.log(`OpenAI:DEBUG:${T}`,...J)}}var RK=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(T)=>{let $=Math.random()*16|0;return(T==="x"?$:$&3|8).toString(16)})},S3=()=>{return typeof window!=="undefined"&&typeof window.document!=="undefined"&&typeof navigator!=="undefined"},EK=(T)=>{return typeof T?.get==="function"};var U4=(T,$)=>{let J=$.toLowerCase();if(EK(T)){let W=$[0]?.toUpperCase()+$.substring(1).replace(/([^\w])(\w)/g,(X,Y,F)=>Y+F.toUpperCase());for(let X of[$,J,$.toUpperCase(),W]){let Y=T.get(X);if(Y)return Y}}for(let[W,X]of Object.entries(T))if(W.toLowerCase()===J){if(Array.isArray(X)){if(X.length<=1)return X[0];return console.warn(`Received ${X.length} entries for the ${$} header, using the first entry.`),X[0]}return X}return};var R3=(T)=>{if(typeof Buffer!=="undefined"){let $=Buffer.from(T,"base64");return Array.from(new Float32Array($.buffer,$.byteOffset,$.length/Float32Array.BYTES_PER_ELEMENT))}else{let $=atob(T),J=$.length,W=new Uint8Array(J);for(let X=0;X<J;X++)W[X]=$.charCodeAt(X);return Array.from(new Float32Array(W.buffer))}};function dX(T){return T!=null&&typeof T==="object"&&!Array.isArray(T)}class O1 extends K4{constructor(T,$,J,W){super(T,$,J,W);this.data=J.data||[],this.object=J.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}}class BT extends K4{constructor(T,$,J,W){super(T,$,J,W);this.data=J.data||[],this.has_more=J.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageParams(){let T=this.nextPageInfo();if(!T)return null;if("params"in T)return T.params;let $=Object.fromEntries(T.url.searchParams);if(!Object.keys($).length)return null;return $}nextPageInfo(){let T=this.getPaginatedItems();if(!T.length)return null;let $=T[T.length-1]?.id;if(!$)return null;return{params:{after:$}}}}class b{constructor(T){this._client=T}}class lX extends b{list(T,$={},J){if(zT($))return this.list(T,{},$);return this._client.getAPIList(`/chat/completions/${T}/messages`,$F,{query:$,...J})}}class R0 extends b{constructor(){super(...arguments);this.messages=new lX(this._client)}create(T,$){return this._client.post("/chat/completions",{body:T,...$,stream:T.stream??!1})}retrieve(T,$){return this._client.get(`/chat/completions/${T}`,$)}update(T,$,J){return this._client.post(`/chat/completions/${T}`,{body:$,...J})}list(T={},$){if(zT(T))return this.list({},T);return this._client.getAPIList("/chat/completions",E0,{query:T,...$})}del(T,$){return this._client.delete(`/chat/completions/${T}`,$)}}class E0 extends BT{}class $F extends BT{}R0.ChatCompletionsPage=E0;R0.Messages=lX;class p1 extends b{constructor(){super(...arguments);this.completions=new R0(this._client)}}p1.Completions=R0;p1.ChatCompletionsPage=E0;class nX extends b{create(T,$){return this._client.post("/audio/speech",{body:T,...$,headers:{Accept:"application/octet-stream",...$?.headers},__binaryResponse:!0})}}class iX extends b{create(T,$){return this._client.post("/audio/transcriptions",DJ({body:T,...$,stream:T.stream??!1,__metadata:{model:T.model}}))}}class tX extends b{create(T,$){return this._client.post("/audio/translations",DJ({body:T,...$,__metadata:{model:T.model}}))}}class U1 extends b{constructor(){super(...arguments);this.transcriptions=new iX(this._client),this.translations=new tX(this._client),this.speech=new nX(this._client)}}U1.Transcriptions=iX;U1.Translations=tX;U1.Speech=nX;class L0 extends b{create(T,$){return this._client.post("/batches",{body:T,...$})}retrieve(T,$){return this._client.get(`/batches/${T}`,$)}list(T={},$){if(zT(T))return this.list({},T);return this._client.getAPIList("/batches",QW,{query:T,...$})}cancel(T,$){return this._client.post(`/batches/${T}/cancel`,$)}}class QW extends BT{}L0.BatchesPage=QW;var IJ=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},rT=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},JF,D4,V4,rX,aX,S4,sX,_1,eX,R4,E4,OW,E3;class B0{constructor(){JF.add(this),this.controller=new AbortController,D4.set(this,void 0),V4.set(this,()=>{}),rX.set(this,()=>{}),aX.set(this,void 0),S4.set(this,()=>{}),sX.set(this,()=>{}),_1.set(this,{}),eX.set(this,!1),R4.set(this,!1),E4.set(this,!1),OW.set(this,!1),IJ(this,D4,new Promise((T,$)=>{IJ(this,V4,T,"f"),IJ(this,rX,$,"f")}),"f"),IJ(this,aX,new Promise((T,$)=>{IJ(this,S4,T,"f"),IJ(this,sX,$,"f")}),"f"),rT(this,D4,"f").catch(()=>{}),rT(this,aX,"f").catch(()=>{})}_run(T){setTimeout(()=>{T().then(()=>{this._emitFinal(),this._emit("end")},rT(this,JF,"m",E3).bind(this))},0)}_connected(){if(this.ended)return;rT(this,V4,"f").call(this),this._emit("connect")}get ended(){return rT(this,eX,"f")}get errored(){return rT(this,R4,"f")}get aborted(){return rT(this,E4,"f")}abort(){this.controller.abort()}on(T,$){return(rT(this,_1,"f")[T]||(rT(this,_1,"f")[T]=[])).push({listener:$}),this}off(T,$){let J=rT(this,_1,"f")[T];if(!J)return this;let W=J.findIndex((X)=>X.listener===$);if(W>=0)J.splice(W,1);return this}once(T,$){return(rT(this,_1,"f")[T]||(rT(this,_1,"f")[T]=[])).push({listener:$,once:!0}),this}emitted(T){return new Promise(($,J)=>{if(IJ(this,OW,!0,"f"),T!=="error")this.once("error",J);this.once(T,$)})}async done(){IJ(this,OW,!0,"f"),await rT(this,aX,"f")}_emit(T,...$){if(rT(this,eX,"f"))return;if(T==="end")IJ(this,eX,!0,"f"),rT(this,S4,"f").call(this);let J=rT(this,_1,"f")[T];if(J)rT(this,_1,"f")[T]=J.filter((W)=>!W.once),J.forEach(({listener:W})=>W(...$));if(T==="abort"){let W=$[0];if(!rT(this,OW,"f")&&!J?.length)Promise.reject(W);rT(this,rX,"f").call(this,W),rT(this,sX,"f").call(this,W),this._emit("end");return}if(T==="error"){let W=$[0];if(!rT(this,OW,"f")&&!J?.length)Promise.reject(W);rT(this,rX,"f").call(this,W),rT(this,sX,"f").call(this,W),this._emit("end")}}_emitFinal(){}}D4=new WeakMap,V4=new WeakMap,rX=new WeakMap,aX=new WeakMap,S4=new WeakMap,sX=new WeakMap,_1=new WeakMap,eX=new WeakMap,R4=new WeakMap,E4=new WeakMap,OW=new WeakMap,JF=new WeakSet,E3=function T($){if(IJ(this,R4,!0,"f"),$ instanceof Error&&$.name==="AbortError")$=new O$;if($ instanceof O$)return IJ(this,E4,!0,"f"),this._emit("abort",$);if($ instanceof t)return this._emit("error",$);if($ instanceof Error){let J=new t($.message);return J.cause=$,this._emit("error",J)}return this._emit("error",new t(String($)))};var r=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},GJ=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},C$,WF,tJ,L4,jJ,N0,UW,f0,N4,HJ,B4,f4,J2,T2,$2,L3,B3,f3,N3,C3,Z3,q3;class MJ extends B0{constructor(){super(...arguments);C$.add(this),WF.set(this,[]),tJ.set(this,{}),L4.set(this,{}),jJ.set(this,void 0),N0.set(this,void 0),UW.set(this,void 0),f0.set(this,void 0),N4.set(this,void 0),HJ.set(this,void 0),B4.set(this,void 0),f4.set(this,void 0),J2.set(this,void 0)}[(WF=new WeakMap,tJ=new WeakMap,L4=new WeakMap,jJ=new WeakMap,N0=new WeakMap,UW=new WeakMap,f0=new WeakMap,N4=new WeakMap,HJ=new WeakMap,B4=new WeakMap,f4=new WeakMap,J2=new WeakMap,C$=new WeakSet,Symbol.asyncIterator)](){let T=[],$=[],J=!1;return this.on("event",(W)=>{let X=$.shift();if(X)X.resolve(W);else T.push(W)}),this.on("end",()=>{J=!0;for(let W of $)W.resolve(void 0);$.length=0}),this.on("abort",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),this.on("error",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),{next:async()=>{if(!T.length){if(J)return{value:void 0,done:!0};return new Promise((X,Y)=>$.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:T.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}static fromReadableStream(T){let $=new MJ;return $._run(()=>$._fromReadableStream(T)),$}async _fromReadableStream(T,$){let J=$?.signal;if(J){if(J.aborted)this.controller.abort();J.addEventListener("abort",()=>this.controller.abort())}this._connected();let W=FJ.fromReadableStream(T,this.controller);for await(let X of W)r(this,C$,"m",T2).call(this,X);if(W.controller.signal?.aborted)throw new O$;return this._addRun(r(this,C$,"m",$2).call(this))}toReadableStream(){return new FJ(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(T,$,J,W,X){let Y=new MJ;return Y._run(()=>Y._runToolAssistantStream(T,$,J,W,{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),Y}async _createToolAssistantStream(T,$,J,W,X){let Y=X?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}let F={...W,stream:!0},G=await T.submitToolOutputs($,J,F,{...X,signal:this.controller.signal});this._connected();for await(let H of G)r(this,C$,"m",T2).call(this,H);if(G.controller.signal?.aborted)throw new O$;return this._addRun(r(this,C$,"m",$2).call(this))}static createThreadAssistantStream(T,$,J){let W=new MJ;return W._run(()=>W._threadAssistantStream(T,$,{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),W}static createAssistantStream(T,$,J,W){let X=new MJ;return X._run(()=>X._runAssistantStream(T,$,J,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),X}currentEvent(){return r(this,B4,"f")}currentRun(){return r(this,f4,"f")}currentMessageSnapshot(){return r(this,jJ,"f")}currentRunStepSnapshot(){return r(this,J2,"f")}async finalRunSteps(){return await this.done(),Object.values(r(this,tJ,"f"))}async finalMessages(){return await this.done(),Object.values(r(this,L4,"f"))}async finalRun(){if(await this.done(),!r(this,N0,"f"))throw Error("Final run was not received.");return r(this,N0,"f")}async _createThreadAssistantStream(T,$,J){let W=J?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}let X={...$,stream:!0},Y=await T.createAndRun(X,{...J,signal:this.controller.signal});this._connected();for await(let F of Y)r(this,C$,"m",T2).call(this,F);if(Y.controller.signal?.aborted)throw new O$;return this._addRun(r(this,C$,"m",$2).call(this))}async _createAssistantStream(T,$,J,W){let X=W?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}let Y={...J,stream:!0},F=await T.create($,Y,{...W,signal:this.controller.signal});this._connected();for await(let G of F)r(this,C$,"m",T2).call(this,G);if(F.controller.signal?.aborted)throw new O$;return this._addRun(r(this,C$,"m",$2).call(this))}static accumulateDelta(T,$){for(let[J,W]of Object.entries($)){if(!T.hasOwnProperty(J)){T[J]=W;continue}let X=T[J];if(X===null||X===void 0){T[J]=W;continue}if(J==="index"||J==="type"){T[J]=W;continue}if(typeof X==="string"&&typeof W==="string")X+=W;else if(typeof X==="number"&&typeof W==="number")X+=W;else if(dX(X)&&dX(W))X=this.accumulateDelta(X,W);else if(Array.isArray(X)&&Array.isArray(W)){if(X.every((Y)=>typeof Y==="string"||typeof Y==="number")){X.push(...W);continue}for(let Y of W){if(!dX(Y))throw new Error(`Expected array delta entry to be an object but got: ${Y}`);let F=Y.index;if(F==null)throw console.error(Y),new Error("Expected array delta entry to have an `index` property");if(typeof F!=="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${F}`);let G=X[F];if(G==null)X.push(Y);else X[F]=this.accumulateDelta(G,Y)}continue}else throw Error(`Unhandled record type: ${J}, deltaValue: ${W}, accValue: ${X}`);T[J]=X}return T}_addRun(T){return T}async _threadAssistantStream(T,$,J){return await this._createThreadAssistantStream($,T,J)}async _runAssistantStream(T,$,J,W){return await this._createAssistantStream($,T,J,W)}async _runToolAssistantStream(T,$,J,W,X){return await this._createToolAssistantStream(J,T,$,W,X)}}T2=function T($){if(this.ended)return;switch(GJ(this,B4,$,"f"),r(this,C$,"m",f3).call(this,$),$.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":r(this,C$,"m",q3).call(this,$);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":r(this,C$,"m",B3).call(this,$);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":r(this,C$,"m",L3).call(this,$);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:ZK($)}},$2=function T(){if(this.ended)throw new t("stream has ended, this shouldn't happen");if(!r(this,N0,"f"))throw Error("Final run has not been received");return r(this,N0,"f")},L3=function T($){let[J,W]=r(this,C$,"m",C3).call(this,$,r(this,jJ,"f"));GJ(this,jJ,J,"f"),r(this,L4,"f")[J.id]=J;for(let X of W){let Y=J.content[X.index];if(Y?.type=="text")this._emit("textCreated",Y.text)}switch($.event){case"thread.message.created":this._emit("messageCreated",$.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",$.data.delta,J),$.data.delta.content)for(let X of $.data.delta.content){if(X.type=="text"&&X.text){let Y=X.text,F=J.content[X.index];if(F&&F.type=="text")this._emit("textDelta",Y,F.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(X.index!=r(this,UW,"f")){if(r(this,f0,"f"))switch(r(this,f0,"f").type){case"text":this._emit("textDone",r(this,f0,"f").text,r(this,jJ,"f"));break;case"image_file":this._emit("imageFileDone",r(this,f0,"f").image_file,r(this,jJ,"f"));break}GJ(this,UW,X.index,"f")}GJ(this,f0,J.content[X.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(r(this,UW,"f")!==void 0){let X=$.data.content[r(this,UW,"f")];if(X)switch(X.type){case"image_file":this._emit("imageFileDone",X.image_file,r(this,jJ,"f"));break;case"text":this._emit("textDone",X.text,r(this,jJ,"f"));break}}if(r(this,jJ,"f"))this._emit("messageDone",$.data);GJ(this,jJ,void 0,"f")}},B3=function T($){let J=r(this,C$,"m",N3).call(this,$);switch(GJ(this,J2,J,"f"),$.event){case"thread.run.step.created":this._emit("runStepCreated",$.data);break;case"thread.run.step.delta":let W=$.data.delta;if(W.step_details&&W.step_details.type=="tool_calls"&&W.step_details.tool_calls&&J.step_details.type=="tool_calls")for(let Y of W.step_details.tool_calls)if(Y.index==r(this,N4,"f"))this._emit("toolCallDelta",Y,J.step_details.tool_calls[Y.index]);else{if(r(this,HJ,"f"))this._emit("toolCallDone",r(this,HJ,"f"));if(GJ(this,N4,Y.index,"f"),GJ(this,HJ,J.step_details.tool_calls[Y.index],"f"),r(this,HJ,"f"))this._emit("toolCallCreated",r(this,HJ,"f"))}this._emit("runStepDelta",$.data.delta,J);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(GJ(this,J2,void 0,"f"),$.data.step_details.type=="tool_calls"){if(r(this,HJ,"f"))this._emit("toolCallDone",r(this,HJ,"f")),GJ(this,HJ,void 0,"f")}this._emit("runStepDone",$.data,J);break;case"thread.run.step.in_progress":break}},f3=function T($){r(this,WF,"f").push($),this._emit("event",$)},N3=function T($){switch($.event){case"thread.run.step.created":return r(this,tJ,"f")[$.data.id]=$.data,$.data;case"thread.run.step.delta":let J=r(this,tJ,"f")[$.data.id];if(!J)throw Error("Received a RunStepDelta before creation of a snapshot");let W=$.data;if(W.delta){let X=MJ.accumulateDelta(J,W.delta);r(this,tJ,"f")[$.data.id]=X}return r(this,tJ,"f")[$.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":r(this,tJ,"f")[$.data.id]=$.data;break}if(r(this,tJ,"f")[$.data.id])return r(this,tJ,"f")[$.data.id];throw new Error("No snapshot available")},C3=function T($,J){let W=[];switch($.event){case"thread.message.created":return[$.data,W];case"thread.message.delta":if(!J)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let X=$.data;if(X.delta.content)for(let Y of X.delta.content)if(Y.index in J.content){let F=J.content[Y.index];J.content[Y.index]=r(this,C$,"m",Z3).call(this,Y,F)}else J.content[Y.index]=Y,W.push(Y);return[J,W];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(J)return[J,W];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},Z3=function T($,J){return MJ.accumulateDelta(J,$)},q3=function T($){switch(GJ(this,f4,$.data,"f"),$.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":if(GJ(this,N0,$.data,"f"),r(this,HJ,"f"))this._emit("toolCallDone",r(this,HJ,"f")),GJ(this,HJ,void 0,"f");break;case"thread.run.cancelling":break}};function ZK(T){}class _W extends b{create(T,$){return this._client.post("/assistants",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(T,$){return this._client.get(`/assistants/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(T,$,J){return this._client.post(`/assistants/${T}`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}list(T={},$){if(zT(T))return this.list({},T);return this._client.getAPIList("/assistants",W2,{query:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(T,$){return this._client.delete(`/assistants/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class W2 extends BT{}_W.AssistantsPage=W2;function XF(T){return typeof T.parse==="function"}var u1=(T)=>{return T?.role==="assistant"},YF=(T)=>{return T?.role==="function"},FF=(T)=>{return T?.role==="tool"};function X2(T){return T?.$brand==="auto-parseable-response-format"}function C0(T){return T?.$brand==="auto-parseable-tool"}function k3(T,$){if(!$||!GF($))return{...T,choices:T.choices.map((J)=>({...J,message:{...J.message,parsed:null,...J.message.tool_calls?{tool_calls:J.message.tool_calls}:void 0}}))};return Y2(T,$)}function Y2(T,$){let J=T.choices.map((W)=>{if(W.finish_reason==="length")throw new pX;if(W.finish_reason==="content_filter")throw new uX;return{...W,message:{...W.message,...W.message.tool_calls?{tool_calls:W.message.tool_calls?.map((X)=>yK($,X))??void 0}:void 0,parsed:W.message.content&&!W.message.refusal?kK($,W.message.content):null}}});return{...T,choices:J}}function kK(T,$){if(T.response_format?.type!=="json_schema")return null;if(T.response_format?.type==="json_schema"){if("$parseRaw"in T.response_format)return T.response_format.$parseRaw($);return JSON.parse($)}return null}function yK(T,$){let J=T.tools?.find((W)=>W.function?.name===$.function.name);return{...$,function:{...$.function,parsed_arguments:C0(J)?J.$parseRaw($.function.arguments):J?.function.strict?JSON.parse($.function.arguments):null}}}function y3(T,$){if(!T)return!1;let J=T.tools?.find((W)=>W.function?.name===$.function.name);return C0(J)||J?.function.strict||!1}function GF(T){if(X2(T.response_format))return!0;return T.tools?.some(($)=>C0($)||$.type==="function"&&$.function.strict===!0)??!1}function I3(T){for(let $ of T??[]){if($.type!=="function")throw new t(`Currently only \`function\` tool types support auto-parsing; Received \`${$.type}\``);if($.function.strict!==!0)throw new t(`The \`${$.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var t$=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},x$,HF,C4,MF,AF,zF,x3,wF,j3=10;class F2 extends B0{constructor(){super(...arguments);x$.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(T){this._chatCompletions.push(T),this._emit("chatCompletion",T);let $=T.choices[0]?.message;if($)this._addMessage($);return T}_addMessage(T,$=!0){if(!("content"in T))T.content=null;if(this.messages.push(T),$){if(this._emit("message",T),(YF(T)||FF(T))&&T.content)this._emit("functionCallResult",T.content);else if(u1(T)&&T.function_call)this._emit("functionCall",T.function_call);else if(u1(T)&&T.tool_calls){for(let J of T.tool_calls)if(J.type==="function")this._emit("functionCall",J.function)}}}async finalChatCompletion(){await this.done();let T=this._chatCompletions[this._chatCompletions.length-1];if(!T)throw new t("stream ended without producing a ChatCompletion");return T}async finalContent(){return await this.done(),t$(this,x$,"m",HF).call(this)}async finalMessage(){return await this.done(),t$(this,x$,"m",C4).call(this)}async finalFunctionCall(){return await this.done(),t$(this,x$,"m",MF).call(this)}async finalFunctionCallResult(){return await this.done(),t$(this,x$,"m",AF).call(this)}async totalUsage(){return await this.done(),t$(this,x$,"m",zF).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let T=this._chatCompletions[this._chatCompletions.length-1];if(T)this._emit("finalChatCompletion",T);let $=t$(this,x$,"m",C4).call(this);if($)this._emit("finalMessage",$);let J=t$(this,x$,"m",HF).call(this);if(J)this._emit("finalContent",J);let W=t$(this,x$,"m",MF).call(this);if(W)this._emit("finalFunctionCall",W);let X=t$(this,x$,"m",AF).call(this);if(X!=null)this._emit("finalFunctionCallResult",X);if(this._chatCompletions.some((Y)=>Y.usage))this._emit("totalUsage",t$(this,x$,"m",zF).call(this))}async _createChatCompletion(T,$,J){let W=J?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}t$(this,x$,"m",x3).call(this,$);let X=await T.chat.completions.create({...$,stream:!1},{...J,signal:this.controller.signal});return this._connected(),this._addChatCompletion(Y2(X,$))}async _runChatCompletion(T,$,J){for(let W of $.messages)this._addMessage(W,!1);return await this._createChatCompletion(T,$,J)}async _runFunctions(T,$,J){let{function_call:X="auto",stream:Y,...F}=$,G=typeof X!=="string"&&X?.name,{maxChatCompletions:H=j3}=J||{},M={};for(let z of $.functions)M[z.name||z.function.name]=z;let A=$.functions.map((z)=>({name:z.name||z.function.name,parameters:z.parameters,description:z.description}));for(let z of $.messages)this._addMessage(z,!1);for(let z=0;z<H;++z){let _=(await this._createChatCompletion(T,{...F,function_call:X,functions:A,messages:[...this.messages]},J)).choices[0]?.message;if(!_)throw new t("missing message in ChatCompletion response");if(!_.function_call)return;let{name:K,arguments:V}=_.function_call,Z=M[K];if(!Z){let S=`Invalid function_call: ${JSON.stringify(K)}. Available options are: ${A.map((f)=>JSON.stringify(f.name)).join(", ")}. Please try again`;this._addMessage({role:"function",name:K,content:S});continue}else if(G&&G!==K){let S=`Invalid function_call: ${JSON.stringify(K)}. ${JSON.stringify(G)} requested. Please try again`;this._addMessage({role:"function",name:K,content:S});continue}let q;try{q=XF(Z)?await Z.parse(V):V}catch(S){this._addMessage({role:"function",name:K,content:S instanceof Error?S.message:String(S)});continue}let N=await Z.function(q,this),y=t$(this,x$,"m",wF).call(this,N);if(this._addMessage({role:"function",name:K,content:y}),G)return}}async _runTools(T,$,J){let{tool_choice:X="auto",stream:Y,...F}=$,G=typeof X!=="string"&&X?.function?.name,{maxChatCompletions:H=j3}=J||{},M=$.tools.map((w)=>{if(C0(w)){if(!w.$callback)throw new t("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:w.$callback,name:w.function.name,description:w.function.description||"",parameters:w.function.parameters,parse:w.$parseRaw,strict:!0}}}return w}),A={};for(let w of M)if(w.type==="function")A[w.function.name||w.function.function.name]=w.function;let z="tools"in $?M.map((w)=>w.type==="function"?{type:"function",function:{name:w.function.name||w.function.function.name,parameters:w.function.parameters,description:w.function.description,strict:w.function.strict}}:w):void 0;for(let w of $.messages)this._addMessage(w,!1);for(let w=0;w<H;++w){let K=(await this._createChatCompletion(T,{...F,tool_choice:X,tools:z,messages:[...this.messages]},J)).choices[0]?.message;if(!K)throw new t("missing message in ChatCompletion response");if(!K.tool_calls?.length)return;for(let V of K.tool_calls){if(V.type!=="function")continue;let Z=V.id,{name:q,arguments:N}=V.function,y=A[q];if(!y){let B=`Invalid tool_call: ${JSON.stringify(q)}. Available options are: ${Object.keys(A).map((g)=>JSON.stringify(g)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:Z,content:B});continue}else if(G&&G!==q){let B=`Invalid tool_call: ${JSON.stringify(q)}. ${JSON.stringify(G)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:Z,content:B});continue}let S;try{S=XF(y)?await y.parse(N):N}catch(B){let g=B instanceof Error?B.message:String(B);this._addMessage({role:"tool",tool_call_id:Z,content:g});continue}let f=await y.function(S,this),C=t$(this,x$,"m",wF).call(this,f);if(this._addMessage({role:"tool",tool_call_id:Z,content:C}),G)return}}return}}x$=new WeakSet,HF=function T(){return t$(this,x$,"m",C4).call(this).content??null},C4=function T(){let $=this.messages.length;while($-- >0){let J=this.messages[$];if(u1(J)){let{function_call:W,...X}=J,Y={...X,content:J.content??null,refusal:J.refusal??null};if(W)Y.function_call=W;return Y}}throw new t("stream ended without producing a ChatCompletionMessage with role=assistant")},MF=function T(){for(let $=this.messages.length-1;$>=0;$--){let J=this.messages[$];if(u1(J)&&J?.function_call)return J.function_call;if(u1(J)&&J?.tool_calls?.length)return J.tool_calls.at(-1)?.function}return},AF=function T(){for(let $=this.messages.length-1;$>=0;$--){let J=this.messages[$];if(YF(J)&&J.content!=null)return J.content;if(FF(J)&&J.content!=null&&typeof J.content==="string"&&this.messages.some((W)=>W.role==="assistant"&&W.tool_calls?.some((X)=>X.type==="function"&&X.id===J.tool_call_id)))return J.content}return},zF=function T(){let $={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:J}of this._chatCompletions)if(J)$.completion_tokens+=J.completion_tokens,$.prompt_tokens+=J.prompt_tokens,$.total_tokens+=J.total_tokens;return $},x3=function T($){if($.n!=null&&$.n>1)throw new t("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},wF=function T($){return typeof $==="string"?$:$===void 0?"undefined":JSON.stringify($)};class KW extends F2{static runFunctions(T,$,J){let W=new KW,X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return W._run(()=>W._runFunctions(T,$,X)),W}static runTools(T,$,J){let W=new KW,X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools(T,$,X)),W}_addMessage(T,$=!0){if(super._addMessage(T,$),u1(T)&&T.content)this._emit("content",T.content)}}var L$={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};class P3 extends Error{}class b3 extends Error{}function IK(T,$=L$.ALL){if(typeof T!=="string")throw new TypeError(`expecting str, got ${typeof T}`);if(!T.trim())throw new Error(`${T} is empty`);return jK(T.trim(),$)}var jK=(T,$)=>{let J=T.length,W=0,X=(w)=>{throw new P3(`${w} at position ${W}`)},Y=(w)=>{throw new b3(`${w} at position ${W}`)},F=()=>{if(z(),W>=J)X("Unexpected end of input");if(T[W]==='"')return G();if(T[W]==="{")return H();if(T[W]==="[")return M();if(T.substring(W,W+4)==="null"||L$.NULL&$&&J-W<4&&"null".startsWith(T.substring(W)))return W+=4,null;if(T.substring(W,W+4)==="true"||L$.BOOL&$&&J-W<4&&"true".startsWith(T.substring(W)))return W+=4,!0;if(T.substring(W,W+5)==="false"||L$.BOOL&$&&J-W<5&&"false".startsWith(T.substring(W)))return W+=5,!1;if(T.substring(W,W+8)==="Infinity"||L$.INFINITY&$&&J-W<8&&"Infinity".startsWith(T.substring(W)))return W+=8,1/0;if(T.substring(W,W+9)==="-Infinity"||L$.MINUS_INFINITY&$&&1<J-W&&J-W<9&&"-Infinity".startsWith(T.substring(W)))return W+=9,-1/0;if(T.substring(W,W+3)==="NaN"||L$.NAN&$&&J-W<3&&"NaN".startsWith(T.substring(W)))return W+=3,NaN;return A()},G=()=>{let w=W,_=!1;W++;while(W<J&&(T[W]!=='"'||_&&T[W-1]==="\\"))_=T[W]==="\\"?!_:!1,W++;if(T.charAt(W)=='"')try{return JSON.parse(T.substring(w,++W-Number(_)))}catch(K){Y(String(K))}else if(L$.STR&$)try{return JSON.parse(T.substring(w,W-Number(_))+'"')}catch(K){return JSON.parse(T.substring(w,T.lastIndexOf("\\"))+'"')}X("Unterminated string literal")},H=()=>{W++,z();let w={};try{while(T[W]!=="}"){if(z(),W>=J&&L$.OBJ&$)return w;let _=G();z(),W++;try{let K=F();Object.defineProperty(w,_,{value:K,writable:!0,enumerable:!0,configurable:!0})}catch(K){if(L$.OBJ&$)return w;else throw K}if(z(),T[W]===",")W++}}catch(_){if(L$.OBJ&$)return w;else X("Expected '}' at end of object")}return W++,w},M=()=>{W++;let w=[];try{while(T[W]!=="]")if(w.push(F()),z(),T[W]===",")W++}catch(_){if(L$.ARR&$)return w;X("Expected ']' at end of array")}return W++,w},A=()=>{if(W===0){if(T==="-"&&L$.NUM&$)X("Not sure what '-' is");try{return JSON.parse(T)}catch(_){if(L$.NUM&$)try{if(T[T.length-1]===".")return JSON.parse(T.substring(0,T.lastIndexOf(".")));return JSON.parse(T.substring(0,T.lastIndexOf("e")))}catch(K){}Y(String(_))}}let w=W;if(T[W]==="-")W++;while(T[W]&&!",]}".includes(T[W]))W++;if(W==J&&!(L$.NUM&$))X("Unterminated number literal");try{return JSON.parse(T.substring(w,W))}catch(_){if(T.substring(w,W)==="-"&&L$.NUM&$)X("Not sure what '-' is");try{return JSON.parse(T.substring(w,T.lastIndexOf("e")))}catch(K){Y(String(K))}}},z=()=>{while(W<J&&`
|
|
30
|
+
\r `.includes(T[W]))W++};return F()},QF=(T)=>IK(T,L$.ALL^L$.NUM);var DW=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},jT=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},U$,K1,VW,c1,OF,Z4,UF,_F,KF,q4,DF,v3;class Z0 extends F2{constructor(T){super();U$.add(this),K1.set(this,void 0),VW.set(this,void 0),c1.set(this,void 0),DW(this,K1,T,"f"),DW(this,VW,[],"f")}get currentChatCompletionSnapshot(){return jT(this,c1,"f")}static fromReadableStream(T){let $=new Z0(null);return $._run(()=>$._fromReadableStream(T)),$}static createChatCompletion(T,$,J){let W=new Z0($);return W._run(()=>W._runChatCompletion(T,{...$,stream:!0},{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),W}async _createChatCompletion(T,$,J){super._createChatCompletion;let W=J?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}jT(this,U$,"m",OF).call(this);let X=await T.chat.completions.create({...$,stream:!0},{...J,signal:this.controller.signal});this._connected();for await(let Y of X)jT(this,U$,"m",UF).call(this,Y);if(X.controller.signal?.aborted)throw new O$;return this._addChatCompletion(jT(this,U$,"m",q4).call(this))}async _fromReadableStream(T,$){let J=$?.signal;if(J){if(J.aborted)this.controller.abort();J.addEventListener("abort",()=>this.controller.abort())}jT(this,U$,"m",OF).call(this),this._connected();let W=FJ.fromReadableStream(T,this.controller),X;for await(let Y of W){if(X&&X!==Y.id)this._addChatCompletion(jT(this,U$,"m",q4).call(this));jT(this,U$,"m",UF).call(this,Y),X=Y.id}if(W.controller.signal?.aborted)throw new O$;return this._addChatCompletion(jT(this,U$,"m",q4).call(this))}[(K1=new WeakMap,VW=new WeakMap,c1=new WeakMap,U$=new WeakSet,OF=function T(){if(this.ended)return;DW(this,c1,void 0,"f")},Z4=function T($){let J=jT(this,VW,"f")[$.index];if(J)return J;return J={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},jT(this,VW,"f")[$.index]=J,J},UF=function T($){if(this.ended)return;let J=jT(this,U$,"m",v3).call(this,$);this._emit("chunk",$,J);for(let W of $.choices){let X=J.choices[W.index];if(W.delta.content!=null&&X.message?.role==="assistant"&&X.message?.content)this._emit("content",W.delta.content,X.message.content),this._emit("content.delta",{delta:W.delta.content,snapshot:X.message.content,parsed:X.message.parsed});if(W.delta.refusal!=null&&X.message?.role==="assistant"&&X.message?.refusal)this._emit("refusal.delta",{delta:W.delta.refusal,snapshot:X.message.refusal});if(W.logprobs?.content!=null&&X.message?.role==="assistant")this._emit("logprobs.content.delta",{content:W.logprobs?.content,snapshot:X.logprobs?.content??[]});if(W.logprobs?.refusal!=null&&X.message?.role==="assistant")this._emit("logprobs.refusal.delta",{refusal:W.logprobs?.refusal,snapshot:X.logprobs?.refusal??[]});let Y=jT(this,U$,"m",Z4).call(this,X);if(X.finish_reason){if(jT(this,U$,"m",KF).call(this,X),Y.current_tool_call_index!=null)jT(this,U$,"m",_F).call(this,X,Y.current_tool_call_index)}for(let F of W.delta.tool_calls??[]){if(Y.current_tool_call_index!==F.index){if(jT(this,U$,"m",KF).call(this,X),Y.current_tool_call_index!=null)jT(this,U$,"m",_F).call(this,X,Y.current_tool_call_index)}Y.current_tool_call_index=F.index}for(let F of W.delta.tool_calls??[]){let G=X.message.tool_calls?.[F.index];if(!G?.type)continue;if(G?.type==="function")this._emit("tool_calls.function.arguments.delta",{name:G.function?.name,index:F.index,arguments:G.function.arguments,parsed_arguments:G.function.parsed_arguments,arguments_delta:F.function?.arguments??""});else g3(G?.type)}}},_F=function T($,J){if(jT(this,U$,"m",Z4).call(this,$).done_tool_calls.has(J))return;let X=$.message.tool_calls?.[J];if(!X)throw new Error("no tool call snapshot");if(!X.type)throw new Error("tool call snapshot missing `type`");if(X.type==="function"){let Y=jT(this,K1,"f")?.tools?.find((F)=>F.type==="function"&&F.function.name===X.function.name);this._emit("tool_calls.function.arguments.done",{name:X.function.name,index:J,arguments:X.function.arguments,parsed_arguments:C0(Y)?Y.$parseRaw(X.function.arguments):Y?.function.strict?JSON.parse(X.function.arguments):null})}else g3(X.type)},KF=function T($){let J=jT(this,U$,"m",Z4).call(this,$);if($.message.content&&!J.content_done){J.content_done=!0;let W=jT(this,U$,"m",DF).call(this);this._emit("content.done",{content:$.message.content,parsed:W?W.$parseRaw($.message.content):null})}if($.message.refusal&&!J.refusal_done)J.refusal_done=!0,this._emit("refusal.done",{refusal:$.message.refusal});if($.logprobs?.content&&!J.logprobs_content_done)J.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:$.logprobs.content});if($.logprobs?.refusal&&!J.logprobs_refusal_done)J.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:$.logprobs.refusal})},q4=function T(){if(this.ended)throw new t("stream has ended, this shouldn't happen");let $=jT(this,c1,"f");if(!$)throw new t("request ended without sending any chunks");return DW(this,c1,void 0,"f"),DW(this,VW,[],"f"),xK($,jT(this,K1,"f"))},DF=function T(){let $=jT(this,K1,"f")?.response_format;if(X2($))return $;return null},v3=function T($){var J,W,X,Y;let F=jT(this,c1,"f"),{choices:G,...H}=$;if(!F)F=DW(this,c1,{...H,choices:[]},"f");else Object.assign(F,H);for(let{delta:M,finish_reason:A,index:z,logprobs:w=null,..._}of $.choices){let K=F.choices[z];if(!K)K=F.choices[z]={finish_reason:A,index:z,message:{},logprobs:w,..._};if(w)if(!K.logprobs)K.logprobs=Object.assign({},w);else{let{content:f,refusal:C,...B}=w;if(h3(B),Object.assign(K.logprobs,B),f)(J=K.logprobs).content??(J.content=[]),K.logprobs.content.push(...f);if(C)(W=K.logprobs).refusal??(W.refusal=[]),K.logprobs.refusal.push(...C)}if(A){if(K.finish_reason=A,jT(this,K1,"f")&&GF(jT(this,K1,"f"))){if(A==="length")throw new pX;if(A==="content_filter")throw new uX}}if(Object.assign(K,_),!M)continue;let{content:V,refusal:Z,function_call:q,role:N,tool_calls:y,...S}=M;if(h3(S),Object.assign(K.message,S),Z)K.message.refusal=(K.message.refusal||"")+Z;if(N)K.message.role=N;if(q)if(!K.message.function_call)K.message.function_call=q;else{if(q.name)K.message.function_call.name=q.name;if(q.arguments)(X=K.message.function_call).arguments??(X.arguments=""),K.message.function_call.arguments+=q.arguments}if(V){if(K.message.content=(K.message.content||"")+V,!K.message.refusal&&jT(this,U$,"m",DF).call(this))K.message.parsed=QF(K.message.content)}if(y){if(!K.message.tool_calls)K.message.tool_calls=[];for(let{index:f,id:C,type:B,function:g,...$T}of y){let R=(Y=K.message.tool_calls)[f]??(Y[f]={});if(Object.assign(R,$T),C)R.id=C;if(B)R.type=B;if(g)R.function??(R.function={name:g.name??"",arguments:""});if(g?.name)R.function.name=g.name;if(g?.arguments){if(R.function.arguments+=g.arguments,y3(jT(this,K1,"f"),R))R.function.parsed_arguments=QF(R.function.arguments)}}}}return F},Symbol.asyncIterator)](){let T=[],$=[],J=!1;return this.on("chunk",(W)=>{let X=$.shift();if(X)X.resolve(W);else T.push(W)}),this.on("end",()=>{J=!0;for(let W of $)W.resolve(void 0);$.length=0}),this.on("abort",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),this.on("error",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),{next:async()=>{if(!T.length){if(J)return{value:void 0,done:!0};return new Promise((X,Y)=>$.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:T.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new FJ(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function xK(T,$){let{id:J,choices:W,created:X,model:Y,system_fingerprint:F,...G}=T,H={...G,id:J,choices:W.map(({message:M,finish_reason:A,index:z,logprobs:w,..._})=>{if(!A)throw new t(`missing finish_reason for choice ${z}`);let{content:K=null,function_call:V,tool_calls:Z,...q}=M,N=M.role;if(!N)throw new t(`missing role for choice ${z}`);if(V){let{arguments:y,name:S}=V;if(y==null)throw new t(`missing function_call.arguments for choice ${z}`);if(!S)throw new t(`missing function_call.name for choice ${z}`);return{..._,message:{content:K,function_call:{arguments:y,name:S},role:N,refusal:M.refusal??null},finish_reason:A,index:z,logprobs:w}}if(Z)return{..._,index:z,finish_reason:A,logprobs:w,message:{...q,role:N,content:K,refusal:M.refusal??null,tool_calls:Z.map((y,S)=>{let{function:f,type:C,id:B,...g}=y,{arguments:$T,name:R,...XT}=f||{};if(B==null)throw new t(`missing choices[${z}].tool_calls[${S}].id
|
|
31
|
+
${k4(T)}`);if(C==null)throw new t(`missing choices[${z}].tool_calls[${S}].type
|
|
32
|
+
${k4(T)}`);if(R==null)throw new t(`missing choices[${z}].tool_calls[${S}].function.name
|
|
33
|
+
${k4(T)}`);if($T==null)throw new t(`missing choices[${z}].tool_calls[${S}].function.arguments
|
|
34
|
+
${k4(T)}`);return{...g,id:B,type:C,function:{...XT,name:R,arguments:$T}}})}};return{..._,message:{...q,content:K,role:N,refusal:M.refusal??null},finish_reason:A,index:z,logprobs:w}}),created:X,model:Y,object:"chat.completion",...F?{system_fingerprint:F}:{}};return k3(H,$)}function k4(T){return JSON.stringify(T)}function h3(T){return}function g3(T){}class q0 extends Z0{static fromReadableStream(T){let $=new q0(null);return $._run(()=>$._fromReadableStream(T)),$}static runFunctions(T,$,J){let W=new q0(null),X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return W._run(()=>W._runFunctions(T,$,X)),W}static runTools(T,$,J){let W=new q0($),X={...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools(T,$,X)),W}}class y4 extends b{parse(T,$){return I3(T.tools),this._client.chat.completions.create(T,{...$,headers:{...$?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap((J)=>Y2(J,T))}runFunctions(T,$){if(T.stream)return q0.runFunctions(this._client,T,$);return KW.runFunctions(this._client,T,$)}runTools(T,$){if(T.stream)return q0.runTools(this._client,T,$);return KW.runTools(this._client,T,$)}stream(T,$){return Z0.createChatCompletion(this._client,T,$)}}class G2 extends b{constructor(){super(...arguments);this.completions=new y4(this._client)}}(function(T){T.Completions=y4})(G2||(G2={}));class H2 extends b{create(T,$){return this._client.post("/realtime/sessions",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class M2 extends b{create(T,$){return this._client.post("/realtime/transcription_sessions",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class k0 extends b{constructor(){super(...arguments);this.sessions=new H2(this._client),this.transcriptionSessions=new M2(this._client)}}k0.Sessions=H2;k0.TranscriptionSessions=M2;class SW extends b{create(T,$,J){return this._client.post(`/threads/${T}/messages`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}retrieve(T,$,J){return this._client.get(`/threads/${T}/messages/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}update(T,$,J,W){return this._client.post(`/threads/${T}/messages/${$}`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}list(T,$={},J){if(zT($))return this.list(T,{},$);return this._client.getAPIList(`/threads/${T}/messages`,A2,{query:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}del(T,$,J){return this._client.delete(`/threads/${T}/messages/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}}class A2 extends BT{}SW.MessagesPage=A2;class RW extends b{retrieve(T,$,J,W={},X){if(zT(W))return this.retrieve(T,$,J,{},W);return this._client.get(`/threads/${T}/runs/${$}/steps/${J}`,{query:W,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}list(T,$,J={},W){if(zT(J))return this.list(T,$,{},J);return this._client.getAPIList(`/threads/${T}/runs/${$}/steps`,z2,{query:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}}class z2 extends BT{}RW.RunStepsPage=z2;class o1 extends b{constructor(){super(...arguments);this.steps=new RW(this._client)}create(T,$,J){let{include:W,...X}=$;return this._client.post(`/threads/${T}/runs`,{query:{include:W},body:X,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers},stream:$.stream??!1})}retrieve(T,$,J){return this._client.get(`/threads/${T}/runs/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}update(T,$,J,W){return this._client.post(`/threads/${T}/runs/${$}`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}list(T,$={},J){if(zT($))return this.list(T,{},$);return this._client.getAPIList(`/threads/${T}/runs`,w2,{query:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}cancel(T,$,J){return this._client.post(`/threads/${T}/runs/${$}/cancel`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}async createAndPoll(T,$,J){let W=await this.create(T,$,J);return await this.poll(T,W.id,J)}createAndStream(T,$,J){return MJ.createAssistantStream(T,this._client.beta.threads.runs,$,J)}async poll(T,$,J){let W={...J?.headers,"X-Stainless-Poll-Helper":"true"};if(J?.pollIntervalMs)W["X-Stainless-Custom-Poll-Interval"]=J.pollIntervalMs.toString();while(!0){let{data:X,response:Y}=await this.retrieve(T,$,{...J,headers:{...J?.headers,...W}}).withResponse();switch(X.status){case"queued":case"in_progress":case"cancelling":let F=5000;if(J?.pollIntervalMs)F=J.pollIntervalMs;else{let G=Y.headers.get("openai-poll-after-ms");if(G){let H=parseInt(G);if(!isNaN(H))F=H}}await Q1(F);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return X}}}stream(T,$,J){return MJ.createAssistantStream(T,this._client.beta.threads.runs,$,J)}submitToolOutputs(T,$,J,W){return this._client.post(`/threads/${T}/runs/${$}/submit_tool_outputs`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers},stream:J.stream??!1})}async submitToolOutputsAndPoll(T,$,J,W){let X=await this.submitToolOutputs(T,$,J,W);return await this.poll(T,X.id,W)}submitToolOutputsStream(T,$,J,W){return MJ.createToolAssistantStream(T,$,this._client.beta.threads.runs,J,W)}}class w2 extends BT{}o1.RunsPage=w2;o1.Steps=RW;o1.RunStepsPage=z2;class D1 extends b{constructor(){super(...arguments);this.runs=new o1(this._client),this.messages=new SW(this._client)}create(T={},$){if(zT(T))return this.create({},T);return this._client.post("/threads",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(T,$){return this._client.get(`/threads/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(T,$,J){return this._client.post(`/threads/${T}`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}del(T,$){return this._client.delete(`/threads/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}createAndRun(T,$){return this._client.post("/threads/runs",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers},stream:T.stream??!1})}async createAndRunPoll(T,$){let J=await this.createAndRun(T,$);return await this.runs.poll(J.thread_id,J.id,$)}createAndRunStream(T,$){return MJ.createThreadAssistantStream(T,this._client.beta.threads,$)}}D1.Runs=o1;D1.RunsPage=w2;D1.Messages=SW;D1.MessagesPage=A2;class rJ extends b{constructor(){super(...arguments);this.realtime=new k0(this._client),this.chat=new G2(this._client),this.assistants=new _W(this._client),this.threads=new D1(this._client)}}rJ.Realtime=k0;rJ.Assistants=_W;rJ.AssistantsPage=W2;rJ.Threads=D1;class EW extends b{create(T,$){return this._client.post("/completions",{body:T,...$,stream:T.stream??!1})}}class LW extends b{create(T,$){let J=!!T.encoding_format,W=J?T.encoding_format:"base64";if(J)w1("Request","User defined encoding_format:",T.encoding_format);let X=this._client.post("/embeddings",{body:{...T,encoding_format:W},...$});if(J)return X;return w1("response","Decoding base64 embeddings to float32 array"),X._thenUnwrap((Y)=>{if(Y&&Y.data)Y.data.forEach((F)=>{let G=F.embedding;F.embedding=R3(G)});return Y})}}class BW extends b{retrieve(T,$,J,W){return this._client.get(`/evals/${T}/runs/${$}/output_items/${J}`,W)}list(T,$,J={},W){if(zT(J))return this.list(T,$,{},J);return this._client.getAPIList(`/evals/${T}/runs/${$}/output_items`,Q2,{query:J,...W})}}class Q2 extends BT{}BW.OutputItemListResponsesPage=Q2;class d1 extends b{constructor(){super(...arguments);this.outputItems=new BW(this._client)}create(T,$,J){return this._client.post(`/evals/${T}/runs`,{body:$,...J})}retrieve(T,$,J){return this._client.get(`/evals/${T}/runs/${$}`,J)}list(T,$={},J){if(zT($))return this.list(T,{},$);return this._client.getAPIList(`/evals/${T}/runs`,O2,{query:$,...J})}del(T,$,J){return this._client.delete(`/evals/${T}/runs/${$}`,J)}cancel(T,$,J){return this._client.post(`/evals/${T}/runs/${$}`,J)}}class O2 extends BT{}d1.RunListResponsesPage=O2;d1.OutputItems=BW;d1.OutputItemListResponsesPage=Q2;class V1 extends b{constructor(){super(...arguments);this.runs=new d1(this._client)}create(T,$){return this._client.post("/evals",{body:T,...$})}retrieve(T,$){return this._client.get(`/evals/${T}`,$)}update(T,$,J){return this._client.post(`/evals/${T}`,{body:$,...J})}list(T={},$){if(zT(T))return this.list({},T);return this._client.getAPIList("/evals",fW,{query:T,...$})}del(T,$){return this._client.delete(`/evals/${T}`,$)}}class fW extends BT{}V1.EvalListResponsesPage=fW;V1.Runs=d1;V1.RunListResponsesPage=O2;class y0 extends b{create(T,$){return this._client.post("/files",DJ({body:T,...$}))}retrieve(T,$){return this._client.get(`/files/${T}`,$)}list(T={},$){if(zT(T))return this.list({},T);return this._client.getAPIList("/files",NW,{query:T,...$})}del(T,$){return this._client.delete(`/files/${T}`,$)}content(T,$){return this._client.get(`/files/${T}/content`,{...$,headers:{Accept:"application/binary",...$?.headers},__binaryResponse:!0})}retrieveContent(T,$){return this._client.get(`/files/${T}/content`,$)}async waitForProcessing(T,{pollInterval:$=5000,maxWait:J=1800000}={}){let W=new Set(["processed","error","deleted"]),X=Date.now(),Y=await this.retrieve(T);while(!Y.status||!W.has(Y.status))if(await Q1($),Y=await this.retrieve(T),Date.now()-X>J)throw new V0({message:`Giving up on waiting for file ${T} to finish processing after ${J} milliseconds.`});return Y}}class NW extends BT{}y0.FileObjectsPage=NW;class CW extends b{create(T,$,J){return this._client.getAPIList(`/fine_tuning/checkpoints/${T}/permissions`,U2,{body:$,method:"post",...J})}retrieve(T,$={},J){if(zT($))return this.retrieve(T,{},$);return this._client.get(`/fine_tuning/checkpoints/${T}/permissions`,{query:$,...J})}del(T,$,J){return this._client.delete(`/fine_tuning/checkpoints/${T}/permissions/${$}`,J)}}class U2 extends O1{}CW.PermissionCreateResponsesPage=U2;class I0 extends b{constructor(){super(...arguments);this.permissions=new CW(this._client)}}I0.Permissions=CW;I0.PermissionCreateResponsesPage=U2;class ZW extends b{list(T,$={},J){if(zT($))return this.list(T,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${T}/checkpoints`,_2,{query:$,...J})}}class _2 extends BT{}ZW.FineTuningJobCheckpointsPage=_2;class S1 extends b{constructor(){super(...arguments);this.checkpoints=new ZW(this._client)}create(T,$){return this._client.post("/fine_tuning/jobs",{body:T,...$})}retrieve(T,$){return this._client.get(`/fine_tuning/jobs/${T}`,$)}list(T={},$){if(zT(T))return this.list({},T);return this._client.getAPIList("/fine_tuning/jobs",K2,{query:T,...$})}cancel(T,$){return this._client.post(`/fine_tuning/jobs/${T}/cancel`,$)}listEvents(T,$={},J){if(zT($))return this.listEvents(T,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${T}/events`,D2,{query:$,...J})}}class K2 extends BT{}class D2 extends BT{}S1.FineTuningJobsPage=K2;S1.FineTuningJobEventsPage=D2;S1.Checkpoints=ZW;S1.FineTuningJobCheckpointsPage=_2;class aJ extends b{constructor(){super(...arguments);this.jobs=new S1(this._client),this.checkpoints=new I0(this._client)}}aJ.Jobs=S1;aJ.FineTuningJobsPage=K2;aJ.FineTuningJobEventsPage=D2;aJ.Checkpoints=I0;class qW extends b{createVariation(T,$){return this._client.post("/images/variations",DJ({body:T,...$}))}edit(T,$){return this._client.post("/images/edits",DJ({body:T,...$}))}generate(T,$){return this._client.post("/images/generations",{body:T,...$})}}class j0 extends b{retrieve(T,$){return this._client.get(`/models/${T}`,$)}list(T){return this._client.getAPIList("/models",kW,T)}del(T,$){return this._client.delete(`/models/${T}`,$)}}class kW extends O1{}j0.ModelsPage=kW;class yW extends b{create(T,$){return this._client.post("/moderations",{body:T,...$})}}function m3(T,$){if(!$||!aK($))return{...T,output_parsed:null,output:T.output.map((J)=>{if(J.type==="function_call")return{...J,parsed_arguments:null};if(J.type==="message")return{...J,content:J.content.map((W)=>({...W,parsed:null}))};else return J})};return VF(T,$)}function VF(T,$){let J=T.output.map((X)=>{if(X.type==="function_call")return{...X,parsed_arguments:TD($,X)};if(X.type==="message"){let Y=X.content.map((F)=>{if(F.type==="output_text")return{...F,parsed:rK($,F.text)};return F});return{...X,content:Y}}return X}),W=Object.assign({},T,{output:J});if(!Object.getOwnPropertyDescriptor(T,"output_text"))SF(W);return Object.defineProperty(W,"output_parsed",{enumerable:!0,get(){for(let X of W.output){if(X.type!=="message")continue;for(let Y of X.content)if(Y.type==="output_text"&&Y.parsed!==null)return Y.parsed}return null}}),W}function rK(T,$){if(T.text?.format?.type!=="json_schema")return null;if("$parseRaw"in T.text?.format)return(T.text?.format).$parseRaw($);return JSON.parse($)}function aK(T){if(X2(T.text?.format))return!0;return!1}function sK(T){return T?.$brand==="auto-parseable-tool"}function eK(T,$){return T.find((J)=>J.type==="function"&&J.name===$)}function TD(T,$){let J=eK(T.tools??[],$.name);return{...$,...$,parsed_arguments:sK(J)?J.$parseRaw($.arguments):J?.strict?JSON.parse($.arguments):null}}function SF(T){let $=[];for(let J of T.output){if(J.type!=="message")continue;for(let W of J.content)if(W.type==="output_text")$.push(W.text)}T.output_text=$.join("")}class V2 extends b{list(T,$={},J){if(zT($))return this.list(T,{},$);return this._client.getAPIList(`/responses/${T}/input_items`,RF,{query:$,...J})}}var IW=function(T,$,J,W,X){if(W==="m")throw new TypeError("Private method is not writable");if(W==="a"&&!X)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?T!==$||!X:!$.has(T))throw new TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call(T,J):X?X.value=J:$.set(T,J),J},l1=function(T,$,J,W){if(J==="a"&&!W)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?T!==$||!W:!$.has(T))throw new TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?W:J==="a"?W.call(T):W?W.value:$.get(T)},jW,I4,n1,j4,p3,u3,c3,o3;class x4 extends B0{constructor(T){super();jW.add(this),I4.set(this,void 0),n1.set(this,void 0),j4.set(this,void 0),IW(this,I4,T,"f")}static createResponse(T,$,J){let W=new x4($);return W._run(()=>W._createResponse(T,$,{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),W}async _createResponse(T,$,J){let W=J?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}l1(this,jW,"m",p3).call(this);let X=await T.responses.create({...$,stream:!0},{...J,signal:this.controller.signal});this._connected();for await(let Y of X)l1(this,jW,"m",u3).call(this,Y);if(X.controller.signal?.aborted)throw new O$;return l1(this,jW,"m",c3).call(this)}[(I4=new WeakMap,n1=new WeakMap,j4=new WeakMap,jW=new WeakSet,p3=function T(){if(this.ended)return;IW(this,n1,void 0,"f")},u3=function T($){if(this.ended)return;let J=l1(this,jW,"m",o3).call(this,$);switch(this._emit("event",$),$.type){case"response.output_text.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="message"){let X=W.content[$.content_index];if(!X)throw new t(`missing content at index ${$.content_index}`);if(X.type!=="output_text")throw new t(`expected content to be 'output_text', got ${X.type}`);this._emit("response.output_text.delta",{...$,snapshot:X.text})}break}case"response.function_call_arguments.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="function_call")this._emit("response.function_call_arguments.delta",{...$,snapshot:W.arguments});break}default:this._emit($.type,$);break}},c3=function T(){if(this.ended)throw new t("stream has ended, this shouldn't happen");let $=l1(this,n1,"f");if(!$)throw new t("request ended without sending any events");IW(this,n1,void 0,"f");let J=JD($,l1(this,I4,"f"));return IW(this,j4,J,"f"),J},o3=function T($){let J=l1(this,n1,"f");if(!J){if($.type!=="response.created")throw new t(`When snapshot hasn't been set yet, expected 'response.created' event, got ${$.type}`);return J=IW(this,n1,$.response,"f"),J}switch($.type){case"response.output_item.added":{J.output.push($.item);break}case"response.content_part.added":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="message")W.content.push($.part);break}case"response.output_text.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="message"){let X=W.content[$.content_index];if(!X)throw new t(`missing content at index ${$.content_index}`);if(X.type!=="output_text")throw new t(`expected content to be 'output_text', got ${X.type}`);X.text+=$.delta}break}case"response.function_call_arguments.delta":{let W=J.output[$.output_index];if(!W)throw new t(`missing output at index ${$.output_index}`);if(W.type==="function_call")W.arguments+=$.delta;break}case"response.completed":{IW(this,n1,$.response,"f");break}}return J},Symbol.asyncIterator)](){let T=[],$=[],J=!1;return this.on("event",(W)=>{let X=$.shift();if(X)X.resolve(W);else T.push(W)}),this.on("end",()=>{J=!0;for(let W of $)W.resolve(void 0);$.length=0}),this.on("abort",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),this.on("error",(W)=>{J=!0;for(let X of $)X.reject(W);$.length=0}),{next:async()=>{if(!T.length){if(J)return{value:void 0,done:!0};return new Promise((X,Y)=>$.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:T.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}async finalResponse(){await this.done();let T=l1(this,j4,"f");if(!T)throw new t("stream ended without producing a ChatCompletion");return T}}function JD(T,$){return m3(T,$)}class x0 extends b{constructor(){super(...arguments);this.inputItems=new V2(this._client)}create(T,$){return this._client.post("/responses",{body:T,...$,stream:T.stream??!1})._thenUnwrap((J)=>{if("object"in J&&J.object==="response")SF(J);return J})}retrieve(T,$={},J){if(zT($))return this.retrieve(T,{},$);return this._client.get(`/responses/${T}`,{query:$,...J})}del(T,$){return this._client.delete(`/responses/${T}`,{...$,headers:{Accept:"*/*",...$?.headers}})}parse(T,$){return this._client.responses.create(T,$)._thenUnwrap((J)=>VF(J,T))}stream(T,$){return x4.createResponse(this._client,T,$)}}class RF extends BT{}x0.InputItems=V2;class S2 extends b{create(T,$,J){return this._client.post(`/uploads/${T}/parts`,DJ({body:$,...J}))}}class P0 extends b{constructor(){super(...arguments);this.parts=new S2(this._client)}create(T,$){return this._client.post("/uploads",{body:T,...$})}cancel(T,$){return this._client.post(`/uploads/${T}/cancel`,$)}complete(T,$,J){return this._client.post(`/uploads/${T}/complete`,{body:$,...J})}}P0.Parts=S2;var d3=async(T)=>{let $=await Promise.allSettled(T),J=$.filter((X)=>X.status==="rejected");if(J.length){for(let X of J)console.error(X.reason);throw new Error(`${J.length} promise(s) failed - see the above errors`)}let W=[];for(let X of $)if(X.status==="fulfilled")W.push(X.value);return W};class b0 extends b{create(T,$,J){return this._client.post(`/vector_stores/${T}/files`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}retrieve(T,$,J){return this._client.get(`/vector_stores/${T}/files/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}update(T,$,J,W){return this._client.post(`/vector_stores/${T}/files/${$}`,{body:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}list(T,$={},J){if(zT($))return this.list(T,{},$);return this._client.getAPIList(`/vector_stores/${T}/files`,v0,{query:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}del(T,$,J){return this._client.delete(`/vector_stores/${T}/files/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}async createAndPoll(T,$,J){let W=await this.create(T,$,J);return await this.poll(T,W.id,J)}async poll(T,$,J){let W={...J?.headers,"X-Stainless-Poll-Helper":"true"};if(J?.pollIntervalMs)W["X-Stainless-Custom-Poll-Interval"]=J.pollIntervalMs.toString();while(!0){let X=await this.retrieve(T,$,{...J,headers:W}).withResponse(),Y=X.data;switch(Y.status){case"in_progress":let F=5000;if(J?.pollIntervalMs)F=J.pollIntervalMs;else{let G=X.response.headers.get("openai-poll-after-ms");if(G){let H=parseInt(G);if(!isNaN(H))F=H}}await Q1(F);break;case"failed":case"completed":return Y}}}async upload(T,$,J){let W=await this._client.files.create({file:$,purpose:"assistants"},J);return this.create(T,{file_id:W.id},J)}async uploadAndPoll(T,$,J){let W=await this.upload(T,$,J);return await this.poll(T,W.id,J)}content(T,$,J){return this._client.getAPIList(`/vector_stores/${T}/files/${$}/content`,R2,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}}class v0 extends BT{}class R2 extends O1{}b0.VectorStoreFilesPage=v0;b0.FileContentResponsesPage=R2;class E2 extends b{create(T,$,J){return this._client.post(`/vector_stores/${T}/file_batches`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}retrieve(T,$,J){return this._client.get(`/vector_stores/${T}/file_batches/${$}`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}cancel(T,$,J){return this._client.post(`/vector_stores/${T}/file_batches/${$}/cancel`,{...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}async createAndPoll(T,$,J){let W=await this.create(T,$);return await this.poll(T,W.id,J)}listFiles(T,$,J={},W){if(zT(J))return this.listFiles(T,$,{},J);return this._client.getAPIList(`/vector_stores/${T}/file_batches/${$}/files`,v0,{query:J,...W,headers:{"OpenAI-Beta":"assistants=v2",...W?.headers}})}async poll(T,$,J){let W={...J?.headers,"X-Stainless-Poll-Helper":"true"};if(J?.pollIntervalMs)W["X-Stainless-Custom-Poll-Interval"]=J.pollIntervalMs.toString();while(!0){let{data:X,response:Y}=await this.retrieve(T,$,{...J,headers:W}).withResponse();switch(X.status){case"in_progress":let F=5000;if(J?.pollIntervalMs)F=J.pollIntervalMs;else{let G=Y.headers.get("openai-poll-after-ms");if(G){let H=parseInt(G);if(!isNaN(H))F=H}}await Q1(F);break;case"failed":case"cancelled":case"completed":return X}}}async uploadAndPoll(T,{files:$,fileIds:J=[]},W){if($==null||$.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let X=W?.maxConcurrency??5,Y=Math.min(X,$.length),F=this._client,G=$.values(),H=[...J];async function M(z){for(let w of z){let _=await F.files.create({file:w,purpose:"assistants"},W);H.push(_.id)}}let A=Array(Y).fill(G).map(M);return await d3(A),await this.createAndPoll(T,{file_ids:H})}}class VJ extends b{constructor(){super(...arguments);this.files=new b0(this._client),this.fileBatches=new E2(this._client)}create(T,$){return this._client.post("/vector_stores",{body:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(T,$){return this._client.get(`/vector_stores/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(T,$,J){return this._client.post(`/vector_stores/${T}`,{body:$,...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}list(T={},$){if(zT(T))return this.list({},T);return this._client.getAPIList("/vector_stores",xW,{query:T,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(T,$){return this._client.delete(`/vector_stores/${T}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}search(T,$,J){return this._client.getAPIList(`/vector_stores/${T}/search`,PW,{body:$,method:"post",...J,headers:{"OpenAI-Beta":"assistants=v2",...J?.headers}})}}class xW extends BT{}class PW extends O1{}VJ.VectorStoresPage=xW;VJ.VectorStoreSearchResponsesPage=PW;VJ.Files=b0;VJ.VectorStoreFilesPage=v0;VJ.FileContentResponsesPage=R2;VJ.FileBatches=E2;var l3;class wT extends TF{constructor({baseURL:T=oX("OPENAI_BASE_URL"),apiKey:$=oX("OPENAI_API_KEY"),organization:J=oX("OPENAI_ORG_ID")??null,project:W=oX("OPENAI_PROJECT_ID")??null,...X}={}){if($===void 0)throw new t("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let Y={apiKey:$,organization:J,project:W,...X,baseURL:T||"https://api.openai.com/v1"};if(!Y.dangerouslyAllowBrowser&&S3())throw new t(`It looks like you're running in a browser-like environment.
|
|
35
35
|
|
|
36
36
|
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
37
37
|
If you understand the risks and have appropriate mitigations in place,
|
|
@@ -40,16 +40,16 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
|
40
40
|
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
41
41
|
|
|
42
42
|
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
43
|
-
`);super({baseURL:
|
|
43
|
+
`);super({baseURL:Y.baseURL,timeout:Y.timeout??600000,httpAgent:Y.httpAgent,maxRetries:Y.maxRetries,fetch:Y.fetch});this.completions=new EW(this),this.chat=new p1(this),this.embeddings=new LW(this),this.files=new y0(this),this.images=new qW(this),this.audio=new U1(this),this.moderations=new yW(this),this.models=new j0(this),this.fineTuning=new aJ(this),this.vectorStores=new VJ(this),this.beta=new rJ(this),this.batches=new L0(this),this.uploads=new P0(this),this.responses=new x0(this),this.evals=new V1(this),this._options=Y,this.apiKey=$,this.organization=J,this.project=W}defaultQuery(){return this._options.defaultQuery}defaultHeaders(T){return{...super.defaultHeaders(T),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(T){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(T){return hY(T,{arrayFormat:"brackets"})}}l3=wT;wT.OpenAI=l3;wT.DEFAULT_TIMEOUT=600000;wT.OpenAIError=t;wT.APIError=Y$;wT.APIConnectionError=D0;wT.APIConnectionTimeoutError=V0;wT.APIUserAbortError=O$;wT.NotFoundError=G4;wT.ConflictError=H4;wT.RateLimitError=A4;wT.BadRequestError=X4;wT.AuthenticationError=Y4;wT.InternalServerError=z4;wT.PermissionDeniedError=F4;wT.UnprocessableEntityError=M4;wT.toFile=aY;wT.fileFromPath=W4;wT.Completions=EW;wT.Chat=p1;wT.ChatCompletionsPage=E0;wT.Embeddings=LW;wT.Files=y0;wT.FileObjectsPage=NW;wT.Images=qW;wT.Audio=U1;wT.Moderations=yW;wT.Models=j0;wT.ModelsPage=kW;wT.FineTuning=aJ;wT.VectorStores=VJ;wT.VectorStoresPage=xW;wT.VectorStoreSearchResponsesPage=PW;wT.Beta=rJ;wT.Batches=L0;wT.BatchesPage=QW;wT.Uploads=P0;wT.Responses=x0;wT.Evals=V1;wT.EvalListResponsesPage=fW;var n3=wT;var JH=T_(r3(),1);import*as r$ from"fs";import*as bW from"path";import{resolve as wD}from"path";import{createHash as QD}from"crypto";import{copyFile as OD}from"fs/promises";import{existsSync as EF,mkdirSync as a3,readFileSync as AD,readdirSync as s3,rmSync as e3,statSync as TH,writeFileSync as zD}from"fs";import{resolve as LF}from"path";var $H=class{rootDir;get initialized(){return EF(this.rootDir)}initialize(){if(!this.initialized)a3(this.rootDir,{recursive:!0})}constructor(T){if(this.rootDir=T.path,T.eagerInit)this.initialize()}getItem(T){let $=LF(this.rootDir,T);if(EF($))return AD($,"utf-8");return null}setItem(T,$){this.initialize();let J=LF(this.rootDir,T);zD(J,$)}removeItem(T){let $=LF(this.rootDir,T);if(EF($))this.initialize(),e3($)}key(T){return s3(this.rootDir).sort((W,X)=>{let Y=TH(W);return TH(X).ctimeMs-Y.ctimeMs})[T]??null}clear(){e3(this.rootDir,{recursive:!0}),a3(this.rootDir,{recursive:!0})}get length(){return s3(this.rootDir).length}};var WH=/[^a-zA-Z0-9\-._]/g;function N2(T,$=64){if($%2===1)$+=1;let J=T.replace(WH,"-");if(J.length<=$)return J;let W=QD("sha256").update(T).digest("base64").slice(0,8).replace("/","_"),X=J;if(X.length>$){let Y=X.slice(0,$/2),F=X.slice(-$/2);X=Y+"_"+F}return X+"+"+W}var UD=JH.default("varmint"),f2=N2(process.cwd(),150),BF=wD(UD,f2),_$="_-$-_-$-_",XH=`file${_$}`,YH=`list${_$}`,FH=`root${_$}`,_D=`unmatched${_$}`,mT={storage:new $H({path:BF,eagerInit:!1}),startGlobalTracking(){if(console.log(`\uD83D\uDC3F\uFE0F Starting global tracking of varmint files using project identifier "${f2}"`),mT.storage.initialized)console.error(`\uD83D\uDCA5 The global cache for the project "${f2}" was found already initialized. Clearing it and starting fresh.`),mT.storage.clear();mT.storage.initialize()},async prepareUploads(T){console.log(`\uD83D\uDC3F\uFE0F Moving unmatched inputs to /tmp/varmint-uploads using project identifier "${f2}"`);let $=[];for(let J of r$.readdirSync(mT.storage.rootDir))if(P4(`unmatched${_$}`,J))$.push(J);if($.length===0){console.log("\uD83D\uDC3F\uFE0F ","No unmatched input files found.");return}if(console.log("\uD83D\uDC3F\uFE0F ","Found the following unmatched files:",`
|
|
44
44
|
- ${$.join(`
|
|
45
45
|
`)}
|
|
46
46
|
`,`in root folder:
|
|
47
|
-
`,
|
|
47
|
+
`,BF),process.env[T])r$.mkdirSync("/tmp/varmint-uploads",{recursive:!0}),await Promise.all($.map(async(J)=>{let W=bW.join(BF,J),X=bW.join("/tmp/varmint-uploads",J);await OD(W,X)}));else console.warn("\uD83D\uDCA5 Skipping artifact upload because process.env.CI is not set.")},endGlobalTrackingAndFlushUnusedFiles(){if(console.log(`\uD83D\uDC3F\uFE0F Ending global tracking of varmint files using project identifier "${f2}" and starting cleanup of untouched files.`),!mT.storage.initialized){console.error("\uD83D\uDCA5 called flushGlobal, but the global cache wasn't initialized with startGlobalTracking");return}let T=r$.readdirSync(mT.storage.rootDir),$=new Map,J=[],W=[],X=[];for(let F of T)if(P4(`root${_$}`,F))J.push(F);else if(P4(`list${_$}`,F))W.push(F);else if(P4(`file${_$}`,F))X.push(F);if(mT.storage.getItem("DID_CACHE_MISS"))console.log("\uD83D\uDC3F\uFE0F ","Cache miss detected. Since this likely prevented the cache from being fully utilized, we will not attempt to flush unused files.");else{let F=new Map;for(let G of J){let H=G.replace(FH,"");F.set(H,new Map);let M=mT.storage.getItem(G);if(M)$.set(H,M);else console.error(`\uD83D\uDCA5 Could not find folder ${M} referenced in the global cache`)}for(let G of W){let H=G.replace(YH,""),[M,A]=H.split(_$),z=F.get(M);if(z)z.set(A,new Set);else console.error(`\uD83D\uDCA5 Could not find root ${M} for list ${A}`)}for(let G of X){let H=G.replace(XH,""),[M,A,z]=H.split(_$),w=F.get(M);if(w){let _=w.get(A);if(_)_.add(z);else console.error(`\uD83D\uDCA5 Could not find list ${A} for file ${H}`)}else console.error(`\uD83D\uDCA5 Could not find root ${M} for file ${H}`)}console.log("\uD83D\uDC3F\uFE0F ",F);for(let[G,H]of F.entries()){let M=$.get(G);if(!M){console.error(`\uD83D\uDCA5 Could not find root ${G}`);continue}if(!r$.existsSync(M)){console.warn(`\uD83D\uDCA5 Root folder ${M}, identified as being used during tracking, no longer exists during cleanup.`);continue}let z=r$.readdirSync(M);for(let w of z)if(w!==".ferret"&&!H.has(w)){let _=bW.join(M,w);console.log(`\uD83E\uDDF9 globalFlush: removing directory ${_}`),r$.rmSync(_,{recursive:!0})}for(let[w,_]of H.entries()){let K=bW.join(M,w);if(!r$.existsSync(K)){console.warn(`\uD83D\uDCA5 List folder ${K}, identified as being used during tracking, no longer exists.`);continue}let Z=r$.readdirSync(K);for(let q of Z){let N=q.replace(".input.json","").replace(".output.json","").replace(".stream.txt","");if(!_.has(N)){let y=bW.join(K,q);console.log(`\uD83E\uDDF9 globalFlush: removing file ${y}`),r$.rmSync(y)}}}}}r$.rmSync(mT.storage.rootDir,{recursive:!0})}};function P4(T,$){return $.startsWith(T)}import*as $$ from"fs";import*as xJ from"path";import{inspect as GH}from"util";var HH=class{filenameCache=new Map;filesTouched=new Map;mode;baseDir;rootName;constructor(T="off",$=xJ.join(process.cwd(),".varmint")){if(this.mode=T,this.baseDir=$,this.rootName=N2(this.baseDir),mT.storage.initialized&&!mT.storage.getItem(`root${_$}${this.rootName}`))mT.storage.setItem(`root${_$}${this.rootName}`,this.baseDir)}read(T,$,J){let W=xJ.join(this.baseDir,T),X=`${$}.input.json`,Y=xJ.join(W,X);if(!$$.existsSync(Y)){if(!$$.existsSync(W)){if(mT.storage.initialized&&this.mode==="read")mT.storage.setItem("DID_CACHE_MISS","true");throw new Error(`Squirrel: input file for key "${T}" with "${$}" was not found. Directory "${W}" does not exist.`)}let z=$$.readdirSync(W).map((K)=>[K,$$.readFileSync(xJ.join(W,K),"utf-8")]).filter(([K])=>K.endsWith(".input.json")),w=[];for(let[K,V]of z){let Z=` ${K}`,q=` ${GH(JSON.parse(V),{depth:Number.POSITIVE_INFINITY,colors:!0}).split(`
|
|
48
48
|
`).join(`
|
|
49
49
|
`)}`;w.push(Z,q)}let _=` ${X}
|
|
50
50
|
${GH(J,{depth:Number.POSITIVE_INFINITY,colors:!0}).split(`
|
|
51
51
|
`).join(`
|
|
52
|
-
`)}`;if(
|
|
52
|
+
`)}`;if(mT.storage.initialized&&this.mode==="read")mT.storage.setItem(`unmatched${_$}${X}`,JSON.stringify(J,null,"\t")),mT.storage.setItem("DID_CACHE_MISS","true");throw new Error(`Squirrel: input file for key "${T}" with subKey "${$}" (${Y}) was not found. Directory "${W}" exists, but the file does not. Below is a list of CACHED INPUT FILES from that directory and their contents, followed by YOUR INPUT DATA.
|
|
53
53
|
|
|
54
54
|
CACHED INPUT FILES:
|
|
55
55
|
${w.join(`
|
|
@@ -57,25 +57,25 @@ ${w.join(`
|
|
|
57
57
|
|
|
58
58
|
YOUR INPUT DATA:
|
|
59
59
|
${_}
|
|
60
|
-
`)}let
|
|
60
|
+
`)}let F=$$.readFileSync(Y,"utf-8"),G=JSON.stringify(J,null,"\t");if(G!==F){if(mT.storage.initialized&&this.mode==="read")mT.storage.setItem("DID_CACHE_MISS","true");throw new Error(`Squirrel: the content of the cached input file ${Y} does not match the input provided.
|
|
61
61
|
|
|
62
62
|
Provided:
|
|
63
63
|
${G}
|
|
64
64
|
|
|
65
65
|
Cached:
|
|
66
|
-
${
|
|
67
|
-
`)});return{model:T,messages:Y}}var NY={"gpt-4o":{promptPricePerToken:0.0000025,promptPricePerTokenCached:0.00000125,completionPricePerToken:0.00001},"gpt-4o-2024-08-06":{promptPricePerToken:0.0000025,promptPricePerTokenCached:0.00000125,completionPricePerToken:0.00001},"gpt-4o-2024-05-13":{promptPricePerToken:0.000005,promptPricePerTokenCached:0.000005,completionPricePerToken:0.000014999999999999999},"gpt-4o-mini":{promptPricePerToken:0.00000015,promptPricePerTokenCached:0.000000075,completionPricePerToken:0.0000006},"gpt-4o-mini-2024-07-18":{promptPricePerToken:0.00000015,promptPricePerTokenCached:0.000000075,completionPricePerToken:0.0000006},"o1-preview":{promptPricePerToken:0.000014999999999999999,promptPricePerTokenCached:0.000007499999999999999,completionPricePerToken:0.000059999999999999995},"o1-preview-2024-09-12":{promptPricePerToken:0.000014999999999999999,promptPricePerTokenCached:0.000007499999999999999,completionPricePerToken:0.000059999999999999995}};function KK(T){return async function $(J,W){if(!T)throw new Error("This is a bug in safegen. OpenAI client not available to the json generator.");let X=await T.chat.completions.create({...J,stream:!1,response_format:{type:"json_object"}},W),F=X.choices[0].message?.content,{usage:Y}=X;if(F&&Y){let G=Y.prompt_tokens,H=Y.prompt_tokens_details?.cached_tokens??0,M=G-H,z=Y.completion_tokens,A=G*NY[J.model].promptPricePerToken+M*NY[J.model].promptPricePerTokenCached+z*NY[J.model].completionPricePerToken;return{data:JSON.parse(F),usage:Y,usdPrice:A}}if(!F&&!Y)throw new Error("No content or usage found in completion");if(!F)throw new Error("No content found in completion");throw new Error("No usage found in completion")}}var MH=new Map,zH=class{usdBudget;usdMinimum;getUnknownJsonFromOpenAi;getUnknownJsonFromOpenAiSquirreled;squirrel;client;lastUsage;constructor({model:T,usdBudget:$,usdMinimum:J,apiKey:W,cachingMode:X,cacheKey:F="openai-safegen",logger:Y}){this.usdBudget=$,this.usdMinimum=J,this.squirrel=new HH(X);let G=MH.get(W);if(X!=="read"){if(!G)G=new i3({apiKey:W,dangerouslyAllowBrowser:!1}),MH.set(W,G);this.client=G}this.getUnknownJsonFromOpenAi=KK(this.client),this.getUnknownJsonFromOpenAiSquirreled=this.squirrel.add(F,this.getUnknownJsonFromOpenAi),this.from=iG(async(...H)=>{if(this.usdBudget<this.usdMinimum)return Y?.warn("SafeGen budget exhausted"),H[1];let M=DK(T,...H),z=H[0],A=H[3],{data:w,usage:_,usdPrice:D}=await this.getUnknownJsonFromOpenAiSquirreled.for(`${z.replace(/[^a-zA-Z0-9-_. ]/g,"_")}-${A.length}`).get(M);return this.lastUsage=_,this.usdBudget-=D,w},Y)}from};import{exec as NL}from"child_process";var CY=(T)=>{let $=XJ(T,{key:"\uD83D\uDD0D Atom Token Index (Internal)",default:()=>{let J=new Map;for(let[W,X]of T.atoms){if(v1(W))continue;let F=n$(X);if(X.family){let Y=J.get(X.family.key);if(!Y||!("familyMembers"in Y))Y={key:X.family.key,familyMembers:new Map},J.set(X.family.key,Y);Y.familyMembers.set(X.family.subKey,F)}else J.set(W,F)}return J},effects:[({setSelf:J})=>{T.on.atomCreation.subscribe("introspection",(W)=>{if(v1(W.key))return;J((X)=>{if(W.family){let{key:F,subKey:Y}=W.family,G=X.get(F);if(G===void 0||!("familyMembers"in G))G={key:F,familyMembers:new Map},X.set(F,G);G.familyMembers.set(Y,W)}else X.set(W.key,W);return X})}),T.on.atomDisposal.subscribe("introspection",(W)=>{J((X)=>{if(W.family){let{key:F,subKey:Y}=W.family,G=X.get(F);if(G&&"familyMembers"in G){if(G.familyMembers.delete(Y),G.familyMembers.size===0)X.delete(F)}}else X.delete(W.key);return X})})}]},void 0);return W1(T,{key:"\uD83D\uDD0D Atom Token Index",get:({get:J})=>J($)})};var ZY=(T)=>{let $=XJ(T,{key:"\uD83D\uDD0D Selector Token Index (Internal)",default:()=>{let J=new Map;for(let W of[T.readonlySelectors,T.selectors])for(let[X,F]of W){if(v1(X))continue;let Y=n$(F);if(F.family){let G=J.get(F.family.key);if(!G||!("familyMembers"in G))G={key:F.family.key,familyMembers:new Map},J.set(F.family.key,G);G.familyMembers.set(F.family.subKey,Y)}else J.set(X,Y)}return J},effects:[({setSelf:J})=>{T.on.selectorCreation.subscribe("introspection",(W)=>{if(v1(W.key))return;J((X)=>{if(W.family){let{key:F,subKey:Y}=W.family,G=X.get(F);if(G===void 0||!("familyMembers"in G))G={key:F,familyMembers:new Map},X.set(F,G);G.familyMembers.set(Y,W)}else X.set(W.key,W);return X})}),T.on.selectorDisposal.subscribe("introspection",(W)=>{J((X)=>{if(W.family){let{key:F,subKey:Y}=W.family,G=X.get(F);if(G&&"familyMembers"in G){if(G.familyMembers.delete(Y),G.familyMembers.size===0)X.delete(F)}}else X.delete(W.key);return X})})}]},void 0);return W1(T,{key:"\uD83D\uDD0D Selector Token Index",get:({get:J})=>J($)})};class x4{supported;constructor(T){this.supported=T}refine(T){for(let[$,J]of Object.entries(this.supported))try{if(J(T)===!0&&J!==Boolean)return{type:$,data:T}}catch(W){try{if(T instanceof J)return{type:$,data:T}}catch(X){}}return null}}var qY=new x4({number:(T)=>typeof T==="number",string:(T)=>typeof T==="string",boolean:(T)=>typeof T==="boolean",null:(T)=>T===null});function kY(T){if(!T)return!1;return Object.getPrototypeOf(T)===Object.prototype}var yY=new x4({object:kY,array:(T)=>Array.isArray(T)}),SK=new x4({...qY.supported,...yY.supported}),hW=(T)=>{if(T===void 0)return"undefined";let $=SK.refine(T);if($)return $.type;return Object.getPrototypeOf(T).constructor.name};class AH{store;auditorCreatedAt=performance.now();statesCreatedAt=new Map;atomIndex;selectorIndex;disposed=!1;unsubscribeFromAtomCreation;unsubscribeFromAtomDisposal;unsubscribeFromSelectorCreation;unsubscribeFromSelectorDisposal;constructor(T=KT.STORE){this.store=T,this.atomIndex=CY(this.store),this.selectorIndex=ZY(this.store),this.unsubscribeFromAtomCreation=this.store.on.atomCreation.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.set($,performance.now()-this.auditorCreatedAt)}),this.unsubscribeFromAtomDisposal=this.store.on.atomDisposal.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.delete($)}),this.unsubscribeFromSelectorCreation=this.store.on.selectorCreation.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.set($,performance.now()-this.auditorCreatedAt)}),this.unsubscribeFromSelectorDisposal=this.store.on.selectorDisposal.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.delete($)})}static DEFAULT_LIST_RESOURCES_PARAM={atomFamilies:!0,selectorFamilies:!0};listResources(T=AH.DEFAULT_LIST_RESOURCES_PARAM){if(this.disposed)throw new Error("This Auditor has been disposed");let $=WF(this.atomIndex),J=WF(this.selectorIndex),W=[...$.values()].filter((G)=>("familyMembers"in G)),X=[...J.values()].filter((G)=>("familyMembers"in G)),F=performance.now(),Y=[];if(T.atomFamilies)for(let G of W){let H=G.familyMembers.values();for(let M of H){let A=this.statesCreatedAt.get(M.key)??this.auditorCreatedAt,w=F-A;Y.push([M,w])}}if(T.selectorFamilies)for(let G of X){let H=G.familyMembers.values();for(let M of H){let A=this.statesCreatedAt.get(M.key)??this.auditorCreatedAt,w=F-A;Y.push([M,w])}}return Y}[Symbol.dispose](){this.unsubscribeFromAtomCreation(),this.unsubscribeFromAtomDisposal(),this.unsubscribeFromSelectorCreation(),this.unsubscribeFromSelectorDisposal(),this.disposed=!0}}var IY=(T,$)=>{let J=(W,X)=>{let Y=((H,M)=>{let z=$(H,M);if(z)return z;return null})(W,X);if(Y?.jobComplete??Y?.pathComplete)return Y;let G=Array.isArray(X)?X.map((H,M)=>[M,H]):kY(X)?Object.entries(X):[];for(let[H,M]of G){let z=J([...W,H],M);if(z?.jobComplete)return z}return{}};J([],T)};function VK(T,$){return{summary:`${T<$?"+":"-"}${Math.abs(T-$)} (${T} \u2192 ${$})`}}function EK(T,$){return{summary:`${T.length<$.length?"+":"-"}${Math.abs(T.length-$.length)} ("${T}" \u2192 "${$}")`}}function RK(T,$){return{summary:`${T} \u2192 ${$}`}}function wH(T,$,J){let W="",X=[],F=[],Y=[];return IY(T,(G,H)=>{let M;for(M of G){let z=$[M];if(z===void 0)F.push([M,JSON.stringify(H)]);else{let A=J(H,z);if(A.summary!=="No Change")Y.push([M,A])}}}),IY($,(G,H)=>{let M;for(M of G)if(T[M]===void 0)X.push([M,JSON.stringify(H)])}),W=`\uFF5E${Y.length} \uFF0B${X.length} \uFF0D${F.length}`,{summary:W,added:X,removed:F,changed:Y}}function LK(T,$,J){return wH(T,$,J)}class QH{leafRefinery;treeRefinery;leafDiffers;treeDiffers;constructor(T,$,J){this.leafRefinery=T,this.treeRefinery=$,this.leafDiffers={},this.treeDiffers={};for(let W of Object.keys(T.supported)){let X=J[W];this.leafDiffers[W]=X}for(let W of Object.keys($.supported)){let X=J[W];this.treeDiffers[W]=X}}diff(T,$){if(T===$)return{summary:"No Change"};let J=this.leafRefinery.refine(T)??this.treeRefinery.refine(T),W=this.leafRefinery.refine($)??this.treeRefinery.refine($);if(J!==null&&W!==null){if(J.type===W.type){if(J.type in this.leafDiffers)return this.leafDiffers[J.type](J.data,W.data);if(J.type in this.treeDiffers)return this.treeDiffers[J.type](J.data,W.data,(G,H)=>this.diff(G,H))}}let X=hW(T),F=hW($);if(X===F)return{summary:`${X} \u2192 ${F}`};return{summary:`Type change: ${X} \u2192 ${F}`}}}var Ru=new QH(qY,yY,{number:VK,string:EK,boolean:RK,null:()=>({summary:"No Change"}),object:wH,array:LK});var O=Symbol.for("drizzle:entityKind"),ku=Symbol.for("drizzle:hasOwnEntityKind");function L(T,$){if(!T||typeof T!=="object")return!1;if(T instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,O))throw new Error(`Class "${$.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let J=Object.getPrototypeOf(T).constructor;if(J)while(J){if(O in J&&J[O]===$[O])return!0;J=Object.getPrototypeOf(J)}return!1}class bT{constructor(T,$){this.table=T,this.config=$,this.name=$.name,this.keyAsName=$.keyAsName,this.notNull=$.notNull,this.default=$.default,this.defaultFn=$.defaultFn,this.onUpdateFn=$.onUpdateFn,this.hasDefault=$.hasDefault,this.primary=$.primaryKey,this.isUnique=$.isUnique,this.uniqueName=$.uniqueName,this.uniqueType=$.uniqueType,this.dataType=$.dataType,this.columnType=$.columnType,this.generated=$.generated,this.generatedIdentity=$.generatedIdentity}static[O]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(T){return T}mapToDriverValue(T){return T}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class jY{static[O]="ColumnBuilder";config;constructor(T,$,J){this.config={name:T,keyAsName:T==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:$,columnType:J,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(T){return this.config.default=T,this.config.hasDefault=!0,this}$defaultFn(T){return this.config.defaultFn=T,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(T){return this.config.onUpdateFn=T,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(T){if(this.config.name!=="")return;this.config.name=T}}var PJ=Symbol.for("drizzle:Name");class xY{static[O]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(T,$){if(this.reference=()=>{let{name:J,columns:W,foreignColumns:X}=T();return{name:J,columns:W,foreignTable:X[0].table,foreignColumns:X}},$)this._onUpdate=$.onUpdate,this._onDelete=$.onDelete}onUpdate(T){return this._onUpdate=T===void 0?"no action":T,this}onDelete(T){return this._onDelete=T===void 0?"no action":T,this}build(T){return new OH(T,this)}}class OH{constructor(T,$){this.table=T,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[O]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:T,columns:$,foreignColumns:J}=this.reference(),W=$.map((Y)=>Y.name),X=J.map((Y)=>Y.name),F=[this.table[PJ],...W,J[0].table[PJ],...X];return T??`${F.join("_")}_fk`}}function P4(T,...$){return T(...$)}function UH(T,$){return`${T[PJ]}_${$.join("_")}_unique`}function _H(T,$,J){for(let W=$;W<T.length;W++){let X=T[W];if(X==="\\"){W++;continue}if(X==='"')return[T.slice($,W).replace(/\\/g,""),W+1];if(J)continue;if(X===","||X==="}")return[T.slice($,W).replace(/\\/g,""),W]}return[T.slice($).replace(/\\/g,""),T.length]}function DH(T,$=0){let J=[],W=$,X=!1;while(W<T.length){let F=T[W];if(F===","){if(X||W===$)J.push("");X=!0,W++;continue}if(X=!1,F==="\\"){W+=2;continue}if(F==='"'){let[H,M]=_H(T,W+1,!0);J.push(H),W=M;continue}if(F==="}")return[J,W+1];if(F==="{"){let[H,M]=DH(T,W+1);J.push(H),W=M;continue}let[Y,G]=_H(T,W,!1);J.push(Y),W=G}return[J,W]}function KH(T){let[$]=DH(T,1);return $}function PY(T){return`{${T.map(($)=>{if(Array.isArray($))return PY($);if(typeof $==="string")return`"${$.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${$}`}).join(",")}}`}class d extends jY{foreignKeyConfigs=[];static[O]="PgColumnBuilder";array(T){return new VH(this.config.name,this,T)}references(T,$={}){return this.foreignKeyConfigs.push({ref:T,actions:$}),this}unique(T,$){return this.config.isUnique=!0,this.config.uniqueName=T,this.config.uniqueType=$?.nulls,this}generatedAlwaysAs(T){return this.config.generated={as:T,type:"always",mode:"stored"},this}buildForeignKeys(T,$){return this.foreignKeyConfigs.map(({ref:J,actions:W})=>{return P4((X,F)=>{let Y=new xY(()=>{let G=X();return{columns:[T],foreignColumns:[G]}});if(F.onUpdate)Y.onUpdate(F.onUpdate);if(F.onDelete)Y.onDelete(F.onDelete);return Y.build($)},J,W)})}buildExtraConfigColumn(T){return new SH(T,this.config)}}class P extends bT{constructor(T,$){if(!$.uniqueName)$.uniqueName=UH(T,[$.name]);super(T,$);this.table=T}static[O]="PgColumn"}class SH extends P{static[O]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(T){return this.indexConfig.opClass=T,this}}class C2{static[O]="IndexedColumn";constructor(T,$,J,W){this.name=T,this.keyAsName=$,this.type=J,this.indexConfig=W}name;keyAsName;type;indexConfig}class VH extends d{static[O]="PgArrayBuilder";constructor(T,$,J){super(T,"array","PgArray");this.config.baseBuilder=$,this.config.size=J}build(T){let $=this.config.baseBuilder.build(T);return new bY(T,this.config,$)}}class bY extends P{constructor(T,$,J,W){super(T,$);this.baseColumn=J,this.range=W,this.size=$.size}size;static[O]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(T){if(typeof T==="string")T=KH(T);return T.map(($)=>this.baseColumn.mapFromDriverValue($))}mapToDriverValue(T,$=!1){let J=T.map((W)=>W===null?null:L(this.baseColumn,bY)?this.baseColumn.mapToDriverValue(W,!0):this.baseColumn.mapToDriverValue(W));if($)return J;return PY(J)}}class EH extends d{static[O]="PgEnumObjectColumnBuilder";constructor(T,$){super(T,"string","PgEnumObjectColumn");this.config.enum=$}build(T){return new RH(T,this.config)}}class RH extends P{static[O]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(T,$){super(T,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}var b4=Symbol.for("drizzle:isPgEnum");function LH(T){return!!T&&typeof T==="function"&&b4 in T&&T[b4]===!0}class BH extends d{static[O]="PgEnumColumnBuilder";constructor(T,$){super(T,"string","PgEnumColumn");this.config.enum=$}build(T){return new fH(T,this.config)}}class fH extends P{static[O]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(T,$){super(T,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}function v4(T,$){return Array.isArray($)?BK(T,[...$],void 0):fK(T,$,void 0)}function BK(T,$,J){let W=Object.assign((X)=>new BH(X??"",W),{enumName:T,enumValues:$,schema:J,[b4]:!0});return W}function fK(T,$,J){let W=Object.assign((X)=>new EH(X??"",W),{enumName:T,enumValues:Object.values($),schema:J,[b4]:!0});return W}class D${static[O]="Subquery";constructor(T,$,J,W=!1){this._={brand:"Subquery",sql:T,selectedFields:$,alias:J,isWith:W}}}class Z2 extends D${static[O]="WithSubquery"}var NH="0.42.0";var vY,hY,vT={startActiveSpan(T,$){if(!vY)return $();if(!hY)hY=vY.trace.getTracer("drizzle-orm",NH);return P4((J,W)=>W.startActiveSpan(T,(X)=>{try{return $(X)}catch(F){throw X.setStatus({code:J.SpanStatusCode.ERROR,message:F instanceof Error?F.message:"Unknown error"}),F}finally{X.end()}}),vY,hY)}};var pT=Symbol.for("drizzle:ViewBaseConfig");var h4=Symbol.for("drizzle:Schema"),m4=Symbol.for("drizzle:Columns"),CH=Symbol.for("drizzle:ExtraConfigColumns"),mY=Symbol.for("drizzle:OriginalName"),gY=Symbol.for("drizzle:BaseName"),q2=Symbol.for("drizzle:IsAlias"),ZH=Symbol.for("drizzle:ExtraConfigBuilder"),NK=Symbol.for("drizzle:IsDrizzleTable");class u{static[O]="Table";static Symbol={Name:PJ,Schema:h4,OriginalName:mY,Columns:m4,ExtraConfigColumns:CH,BaseName:gY,IsAlias:q2,ExtraConfigBuilder:ZH};[PJ];[mY];[h4];[m4];[CH];[gY];[q2]=!1;[NK]=!0;[ZH]=void 0;constructor(T,$,J){this[PJ]=this[mY]=T,this[h4]=$,this[gY]=J}}function B$(T){return T[PJ]}function h0(T){return`${T[h4]??"public"}.${T[PJ]}`}function pY(T){return T!==null&&T!==void 0&&typeof T.getSQL==="function"}function CK(T){let $={sql:"",params:[]};for(let J of T)if($.sql+=J.sql,$.params.push(...J.params),J.typings?.length){if(!$.typings)$.typings=[];$.typings.push(...J.typings)}return $}class K${static[O]="StringChunk";value;constructor(T){this.value=Array.isArray(T)?T:[T]}getSQL(){return new c([this])}}class c{constructor(T){this.queryChunks=T}static[O]="SQL";decoder=kH;shouldInlineParams=!1;append(T){return this.queryChunks.push(...T.queryChunks),this}toQuery(T){return vT.startActiveSpan("drizzle.buildSQL",($)=>{let J=this.buildQueryFromSourceParams(this.queryChunks,T);return $?.setAttributes({"drizzle.query.text":J.sql,"drizzle.query.params":JSON.stringify(J.params)}),J})}buildQueryFromSourceParams(T,$){let J=Object.assign({},$,{inlineParams:$.inlineParams||this.shouldInlineParams,paramStartIndex:$.paramStartIndex||{value:0}}),{casing:W,escapeName:X,escapeParam:F,prepareTyping:Y,inlineParams:G,paramStartIndex:H}=J;return CK(T.map((M)=>{if(L(M,K$))return{sql:M.value.join(""),params:[]};if(L(M,g4))return{sql:X(M.value),params:[]};if(M===void 0)return{sql:"",params:[]};if(Array.isArray(M)){let z=[new K$("(")];for(let[A,w]of M.entries())if(z.push(w),A<M.length-1)z.push(new K$(", "));return z.push(new K$(")")),this.buildQueryFromSourceParams(z,J)}if(L(M,c))return this.buildQueryFromSourceParams(M.queryChunks,{...J,inlineParams:G||M.shouldInlineParams});if(L(M,u)){let z=M[u.Symbol.Schema],A=M[u.Symbol.Name];return{sql:z===void 0||M[q2]?X(A):X(z)+"."+X(A),params:[]}}if(L(M,bT)){let z=W.getColumnCasing(M);if($.invokeSource==="indexes")return{sql:X(z),params:[]};let A=M.table[u.Symbol.Schema];return{sql:M.table[q2]||A===void 0?X(M.table[u.Symbol.Name])+"."+X(z):X(A)+"."+X(M.table[u.Symbol.Name])+"."+X(z),params:[]}}if(L(M,a$)){let z=M[pT].schema,A=M[pT].name;return{sql:z===void 0||M[pT].isAlias?X(A):X(z)+"."+X(A),params:[]}}if(L(M,zJ)){if(L(M.value,i1))return{sql:F(H.value++,M),params:[M],typings:["none"]};let z=M.value===null?null:M.encoder.mapToDriverValue(M.value);if(L(z,c))return this.buildQueryFromSourceParams([z],J);if(G)return{sql:this.mapInlineParam(z,J),params:[]};let A=["none"];if(Y)A=[Y(M.encoder)];return{sql:F(H.value++,z),params:[z],typings:A}}if(L(M,i1))return{sql:F(H.value++,M),params:[M],typings:["none"]};if(L(M,c.Aliased)&&M.fieldAlias!==void 0)return{sql:X(M.fieldAlias),params:[]};if(L(M,D$)){if(M._.isWith)return{sql:X(M._.alias),params:[]};return this.buildQueryFromSourceParams([new K$("("),M._.sql,new K$(") "),new g4(M._.alias)],J)}if(LH(M)){if(M.schema)return{sql:X(M.schema)+"."+X(M.enumName),params:[]};return{sql:X(M.enumName),params:[]}}if(pY(M)){if(M.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([M.getSQL()],J);return this.buildQueryFromSourceParams([new K$("("),M.getSQL(),new K$(")")],J)}if(G)return{sql:this.mapInlineParam(M,J),params:[]};return{sql:F(H.value++,M),params:[M],typings:["none"]}}))}mapInlineParam(T,{escapeString:$}){if(T===null)return"null";if(typeof T==="number"||typeof T==="boolean")return T.toString();if(typeof T==="string")return $(T);if(typeof T==="object"){let J=T.toString();if(J==="[object Object]")return $(JSON.stringify(T));return $(J)}throw new Error("Unexpected param value: "+T)}getSQL(){return this}as(T){if(T===void 0)return this;return new c.Aliased(this,T)}mapWith(T){return this.decoder=typeof T==="function"?{mapFromDriverValue:T}:T,this}inlineParams(){return this.shouldInlineParams=!0,this}if(T){return T?this:void 0}}class g4{constructor(T){this.value=T}static[O]="Name";brand;getSQL(){return new c([this])}}function qH(T){return typeof T==="object"&&T!==null&&"mapToDriverValue"in T&&typeof T.mapToDriverValue==="function"}var kH={mapFromDriverValue:(T)=>T},yH={mapToDriverValue:(T)=>T},Kc={...kH,...yH};class zJ{constructor(T,$=yH){this.value=T,this.encoder=$}static[O]="Param";brand;getSQL(){return new c([this])}}function U(T,...$){let J=[];if($.length>0||T.length>0&&T[0]!=="")J.push(new K$(T[0]));for(let[W,X]of $.entries())J.push(X,new K$(T[W+1]));return new c(J)}((T)=>{function $(){return new c([])}T.empty=$;function J(H){return new c(H)}T.fromList=J;function W(H){return new c([new K$(H)])}T.raw=W;function X(H,M){let z=[];for(let[A,w]of H.entries()){if(A>0&&M!==void 0)z.push(M);z.push(w)}return new c(z)}T.join=X;function F(H){return new g4(H)}T.identifier=F;function Y(H){return new i1(H)}T.placeholder=Y;function G(H,M){return new zJ(H,M)}T.param=G})(U||(U={}));((T)=>{class ${constructor(J,W){this.sql=J,this.fieldAlias=W}static[O]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}T.Aliased=$})(c||(c={}));class i1{constructor(T){this.name=T}static[O]="Placeholder";getSQL(){return new c([this])}}function uY(T,$){return T.map((J)=>{if(L(J,i1)){if(!(J.name in $))throw new Error(`No value for placeholder "${J.name}" was provided`);return $[J.name]}if(L(J,zJ)&&L(J.value,i1)){if(!(J.value.name in $))throw new Error(`No value for placeholder "${J.value.name}" was provided`);return J.encoder.mapToDriverValue($[J.value.name])}return J})}var ZK=Symbol.for("drizzle:IsDrizzleView");class a${static[O]="View";[pT];[ZK]=!0;constructor({name:T,schema:$,selectedFields:J,query:W}){this[pT]={name:T,originalName:T,schema:$,selectedFields:J,query:W,isExisting:!W,isAlias:!1}}getSQL(){return new c([this])}}bT.prototype.getSQL=function(){return new c([this])};u.prototype.getSQL=function(){return new c([this])};D$.prototype.getSQL=function(){return new c([this])};class mW{constructor(T){this.table=T}static[O]="ColumnAliasProxyHandler";get(T,$){if($==="table")return this.table;return T[$]}}class k2{constructor(T,$){this.alias=T,this.replaceOriginalName=$}static[O]="TableAliasProxyHandler";get(T,$){if($===u.Symbol.IsAlias)return!0;if($===u.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===u.Symbol.OriginalName)return this.alias;if($===pT)return{...T[pT],name:this.alias,isAlias:!0};if($===u.Symbol.Columns){let W=T[u.Symbol.Columns];if(!W)return W;let X={};return Object.keys(W).map((F)=>{X[F]=new Proxy(W[F],new mW(new Proxy(T,this)))}),X}let J=T[$];if(L(J,bT))return new Proxy(J,new mW(new Proxy(T,this)));return J}}function p4(T,$){return new Proxy(T,new k2($,!1))}function aJ(T,$){return new Proxy(T,new mW(new Proxy(T.table,new k2($,!1))))}function cY(T,$){return new c.Aliased(y2(T.sql,$),T.fieldAlias)}function y2(T,$){return U.join(T.queryChunks.map((J)=>{if(L(J,bT))return aJ(J,$);if(L(J,c))return y2(J,$);if(L(J,c.Aliased))return cY(J,$);return J}))}class u4 extends Error{static[O]="DrizzleError";constructor({message:T,cause:$}){super(T);this.name="DrizzleError",this.cause=$}}class oY extends u4{static[O]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class IH{static[O]="ConsoleLogWriter";write(T){console.log(T)}}class dY{static[O]="DefaultLogger";writer;constructor(T){this.writer=T?.writer??new IH}logQuery(T,$){let J=$.map((X)=>{try{return JSON.stringify(X)}catch{return String(X)}}),W=J.length?` -- params: [${J.join(", ")}]`:"";this.writer.write(`Query: ${T}${W}`)}}class lY{static[O]="NoopLogger";logQuery(){}}class u${static[O]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(T){return this.then(void 0,T)}finally(T){return this.then(($)=>{return T?.(),$},($)=>{throw T?.(),$})}then(T,$){return this.execute().then(T,$)}}function jH(T,$,J){let W={},X=T.reduce((F,{path:Y,field:G},H)=>{let M;if(L(G,bT))M=G;else if(L(G,c))M=G.decoder;else M=G.sql.decoder;let z=F;for(let[A,w]of Y.entries())if(A<Y.length-1){if(!(w in z))z[w]={};z=z[w]}else{let _=$[H],D=z[w]=_===null?null:M.mapFromDriverValue(_);if(J&&L(G,bT)&&Y.length===2){let S=Y[0];if(!(S in W))W[S]=D===null?B$(G.table):!1;else if(typeof W[S]==="string"&&W[S]!==B$(G.table))W[S]=!1}}return F},{});if(J&&Object.keys(W).length>0){for(let[F,Y]of Object.entries(W))if(typeof Y==="string"&&!J[Y])X[F]=null}return X}function EJ(T,$){return Object.entries(T).reduce((J,[W,X])=>{if(typeof W!=="string")return J;let F=$?[...$,W]:[W];if(L(X,bT)||L(X,c)||L(X,c.Aliased))J.push({path:F,field:X});else if(L(X,u))J.push(...EJ(X[u.Symbol.Columns],F));else J.push(...EJ(X,F));return J},[])}function I2(T,$){let J=Object.keys(T),W=Object.keys($);if(J.length!==W.length)return!1;for(let[X,F]of J.entries())if(F!==W[X])return!1;return!0}function c4(T,$){let J=Object.entries($).filter(([,W])=>W!==void 0).map(([W,X])=>{if(L(X,c)||L(X,bT))return[W,X];else return[W,new zJ(X,T[u.Symbol.Columns][W])]});if(J.length===0)throw new Error("No values to set");return Object.fromEntries(J)}function xH(T,$){for(let J of $)for(let W of Object.getOwnPropertyNames(J.prototype)){if(W==="constructor")continue;Object.defineProperty(T.prototype,W,Object.getOwnPropertyDescriptor(J.prototype,W)||Object.create(null))}}function PH(T){return T[u.Symbol.Columns]}function V1(T){return L(T,D$)?T._.alias:L(T,a$)?T[pT].name:L(T,c)?void 0:T[u.Symbol.IsAlias]?T[u.Symbol.Name]:T[u.Symbol.BaseName]}function VT(T,$){return{name:typeof T==="string"&&T.length>0?T:"",config:typeof T==="object"?T:$}}function bH(T){if(typeof T!=="object"||T===null)return!1;if(T.constructor.name!=="Object")return!1;if("logger"in T){let $=typeof T.logger;if($!=="boolean"&&($!=="object"||typeof T.logger.logQuery!=="function")&&$!=="undefined")return!1;return!0}if("schema"in T){let $=typeof T.schema;if($!=="object"&&$!=="undefined")return!1;return!0}if("casing"in T){let $=typeof T.casing;if($!=="string"&&$!=="undefined")return!1;return!0}if("mode"in T){if(T.mode!=="default"||T.mode!=="planetscale"||T.mode!==void 0)return!1;return!0}if("connection"in T){let $=typeof T.connection;if($!=="string"&&$!=="object"&&$!=="undefined")return!1;return!0}if("client"in T){let $=typeof T.client;if($!=="object"&&$!=="function"&&$!=="undefined")return!1;return!0}if(Object.keys(T).length===0)return!0;return!1}class t1 extends d{static[O]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(T){if(T){let{name:$,...J}=T;this.config.generatedIdentity={type:"always",sequenceName:$,sequenceOptions:J}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(T){if(T){let{name:$,...J}=T;this.config.generatedIdentity={type:"byDefault",sequenceName:$,sequenceOptions:J}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class vH extends t1{static[O]="PgBigInt53Builder";constructor(T){super(T,"number","PgBigInt53")}build(T){return new hH(T,this.config)}}class hH extends P{static[O]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class mH extends t1{static[O]="PgBigInt64Builder";constructor(T){super(T,"bigint","PgBigInt64")}build(T){return new gH(T,this.config)}}class gH extends P{static[O]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(T){return BigInt(T)}}function pH(T,$){let{name:J,config:W}=VT(T,$);if(W.mode==="number")return new vH(J);return new mH(J)}class uH extends d{static[O]="PgBigSerial53Builder";constructor(T){super(T,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new cH(T,this.config)}}class cH extends P{static[O]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class oH extends d{static[O]="PgBigSerial64Builder";constructor(T){super(T,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(T){return new dH(T,this.config)}}class dH extends P{static[O]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(T){return BigInt(T)}}function lH(T,$){let{name:J,config:W}=VT(T,$);if(W.mode==="number")return new uH(J);return new oH(J)}class nH extends d{static[O]="PgBooleanBuilder";constructor(T){super(T,"boolean","PgBoolean")}build(T){return new iH(T,this.config)}}class iH extends P{static[O]="PgBoolean";getSQLType(){return"boolean"}}function j2(T){return new nH(T??"")}class tH extends d{static[O]="PgCharBuilder";constructor(T,$){super(T,"string","PgChar");this.config.length=$.length,this.config.enumValues=$.enum}build(T){return new rH(T,this.config)}}class rH extends P{static[O]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function aH(T,$={}){let{name:J,config:W}=VT(T,$);return new tH(J,W)}class sH extends d{static[O]="PgCidrBuilder";constructor(T){super(T,"string","PgCidr")}build(T){return new eH(T,this.config)}}class eH extends P{static[O]="PgCidr";getSQLType(){return"cidr"}}function TM(T){return new sH(T??"")}class $M extends d{static[O]="PgCustomColumnBuilder";constructor(T,$,J){super(T,"custom","PgCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=J}build(T){return new JM(T,this.config)}}class JM extends P{static[O]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(T,$){super(T,$);this.sqlName=$.customTypeParams.dataType($.fieldConfig),this.mapTo=$.customTypeParams.toDriver,this.mapFrom=$.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(T){return typeof this.mapFrom==="function"?this.mapFrom(T):T}mapToDriverValue(T){return typeof this.mapTo==="function"?this.mapTo(T):T}}function WM(T){return($,J)=>{let{name:W,config:X}=VT($,J);return new $M(W,X,T)}}class E1 extends d{static[O]="PgDateColumnBaseBuilder";defaultNow(){return this.default(U`now()`)}}class XM extends E1{static[O]="PgDateBuilder";constructor(T){super(T,"date","PgDate")}build(T){return new o4(T,this.config)}}class o4 extends P{static[O]="PgDate";getSQLType(){return"date"}mapFromDriverValue(T){return new Date(T)}mapToDriverValue(T){return T.toISOString()}}class FM extends E1{static[O]="PgDateStringBuilder";constructor(T){super(T,"string","PgDateString")}build(T){return new d4(T,this.config)}}class d4 extends P{static[O]="PgDateString";getSQLType(){return"date"}}function YM(T,$){let{name:J,config:W}=VT(T,$);if(W?.mode==="date")return new XM(J);return new FM(J)}class GM extends d{static[O]="PgDoublePrecisionBuilder";constructor(T){super(T,"number","PgDoublePrecision")}build(T){return new HM(T,this.config)}}class HM extends P{static[O]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseFloat(T);return T}}function MM(T){return new GM(T??"")}class zM extends d{static[O]="PgInetBuilder";constructor(T){super(T,"string","PgInet")}build(T){return new AM(T,this.config)}}class AM extends P{static[O]="PgInet";getSQLType(){return"inet"}}function wM(T){return new zM(T??"")}class QM extends t1{static[O]="PgIntegerBuilder";constructor(T){super(T,"number","PgInteger")}build(T){return new OM(T,this.config)}}class OM extends P{static[O]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseInt(T);return T}}function l4(T){return new QM(T??"")}class UM extends d{static[O]="PgIntervalBuilder";constructor(T,$){super(T,"string","PgInterval");this.config.intervalConfig=$}build(T){return new _M(T,this.config)}}class _M extends P{static[O]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let T=this.fields?` ${this.fields}`:"",$=this.precision?`(${this.precision})`:"";return`interval${T}${$}`}}function DM(T,$={}){let{name:J,config:W}=VT(T,$);return new UM(J,W)}class KM extends d{static[O]="PgJsonBuilder";constructor(T){super(T,"json","PgJson")}build(T){return new n4(T,this.config)}}class n4 extends P{static[O]="PgJson";constructor(T,$){super(T,$)}getSQLType(){return"json"}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){if(typeof T==="string")try{return JSON.parse(T)}catch{return T}return T}}function SM(T){return new KM(T??"")}class VM extends d{static[O]="PgJsonbBuilder";constructor(T){super(T,"json","PgJsonb")}build(T){return new i4(T,this.config)}}class i4 extends P{static[O]="PgJsonb";constructor(T,$){super(T,$)}getSQLType(){return"jsonb"}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){if(typeof T==="string")try{return JSON.parse(T)}catch{return T}return T}}function EM(T){return new VM(T??"")}class RM extends d{static[O]="PgLineBuilder";constructor(T){super(T,"array","PgLine")}build(T){return new LM(T,this.config)}}class LM extends P{static[O]="PgLine";getSQLType(){return"line"}mapFromDriverValue(T){let[$,J,W]=T.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(J),Number.parseFloat(W)]}mapToDriverValue(T){return`{${T[0]},${T[1]},${T[2]}}`}}class BM extends d{static[O]="PgLineABCBuilder";constructor(T){super(T,"json","PgLineABC")}build(T){return new fM(T,this.config)}}class fM extends P{static[O]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(T){let[$,J,W]=T.slice(1,-1).split(",");return{a:Number.parseFloat($),b:Number.parseFloat(J),c:Number.parseFloat(W)}}mapToDriverValue(T){return`{${T.a},${T.b},${T.c}}`}}function NM(T,$){let{name:J,config:W}=VT(T,$);if(!W?.mode||W.mode==="tuple")return new RM(J);return new BM(J)}class CM extends d{static[O]="PgMacaddrBuilder";constructor(T){super(T,"string","PgMacaddr")}build(T){return new ZM(T,this.config)}}class ZM extends P{static[O]="PgMacaddr";getSQLType(){return"macaddr"}}function qM(T){return new CM(T??"")}class kM extends d{static[O]="PgMacaddr8Builder";constructor(T){super(T,"string","PgMacaddr8")}build(T){return new yM(T,this.config)}}class yM extends P{static[O]="PgMacaddr8";getSQLType(){return"macaddr8"}}function IM(T){return new kM(T??"")}class jM extends d{static[O]="PgNumericBuilder";constructor(T,$,J){super(T,"string","PgNumeric");this.config.precision=$,this.config.scale=J}build(T){return new t4(T,this.config)}}class t4 extends P{static[O]="PgNumeric";precision;scale;constructor(T,$){super(T,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(T){if(typeof T==="string")return T;return String(T)}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class xM extends d{static[O]="PgNumericNumberBuilder";constructor(T,$,J){super(T,"number","PgNumericNumber");this.config.precision=$,this.config.scale=J}build(T){return new PM(T,this.config)}}class PM extends P{static[O]="PgNumericNumber";precision;scale;constructor(T,$){super(T,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class bM extends d{static[O]="PgNumericBigIntBuilder";constructor(T,$,J){super(T,"bigint","PgNumericBigInt");this.config.precision=$,this.config.scale=J}build(T){return new vM(T,this.config)}}class vM extends P{static[O]="PgNumericBigInt";precision;scale;constructor(T,$){super(T,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function hM(T,$){let{name:J,config:W}=VT(T,$),X=W?.mode;return X==="number"?new xM(J,W?.precision,W?.scale):X==="bigint"?new bM(J,W?.precision,W?.scale):new jM(J,W?.precision,W?.scale)}class mM extends d{static[O]="PgPointTupleBuilder";constructor(T){super(T,"array","PgPointTuple")}build(T){return new gM(T,this.config)}}class gM extends P{static[O]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[$,J]=T.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(J)]}return[T.x,T.y]}mapToDriverValue(T){return`(${T[0]},${T[1]})`}}class pM extends d{static[O]="PgPointObjectBuilder";constructor(T){super(T,"json","PgPointObject")}build(T){return new uM(T,this.config)}}class uM extends P{static[O]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[$,J]=T.slice(1,-1).split(",");return{x:Number.parseFloat($),y:Number.parseFloat(J)}}return T}mapToDriverValue(T){return`(${T.x},${T.y})`}}function cM(T,$){let{name:J,config:W}=VT(T,$);if(!W?.mode||W.mode==="tuple")return new mM(J);return new pM(J)}function qK(T){let $=[];for(let J=0;J<T.length;J+=2)$.push(Number.parseInt(T.slice(J,J+2),16));return new Uint8Array($)}function oM(T,$){let J=new ArrayBuffer(8),W=new DataView(J);for(let X=0;X<8;X++)W.setUint8(X,T[$+X]);return W.getFloat64(0,!0)}function nY(T){let $=qK(T),J=0,W=$[J];J+=1;let X=new DataView($.buffer),F=X.getUint32(J,W===1);J+=4;let Y;if(F&536870912)Y=X.getUint32(J,W===1),J+=4;if((F&65535)===1){let G=oM($,J);J+=8;let H=oM($,J);return J+=8,[G,H]}throw new Error("Unsupported geometry type")}class dM extends d{static[O]="PgGeometryBuilder";constructor(T){super(T,"array","PgGeometry")}build(T){return new lM(T,this.config)}}class lM extends P{static[O]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){return nY(T)}mapToDriverValue(T){return`point(${T[0]} ${T[1]})`}}class nM extends d{static[O]="PgGeometryObjectBuilder";constructor(T){super(T,"json","PgGeometryObject")}build(T){return new iM(T,this.config)}}class iM extends P{static[O]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){let $=nY(T);return{x:$[0],y:$[1]}}mapToDriverValue(T){return`point(${T.x} ${T.y})`}}function tM(T,$){let{name:J,config:W}=VT(T,$);if(!W?.mode||W.mode==="tuple")return new dM(J);return new nM(J)}class rM extends d{static[O]="PgRealBuilder";constructor(T,$){super(T,"number","PgReal");this.config.length=$}build(T){return new aM(T,this.config)}}class aM extends P{static[O]="PgReal";constructor(T,$){super(T,$)}getSQLType(){return"real"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number.parseFloat(T);return T}}function sM(T){return new rM(T??"")}class eM extends d{static[O]="PgSerialBuilder";constructor(T){super(T,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new Tz(T,this.config)}}class Tz extends P{static[O]="PgSerial";getSQLType(){return"serial"}}function $z(T){return new eM(T??"")}class Jz extends t1{static[O]="PgSmallIntBuilder";constructor(T){super(T,"number","PgSmallInt")}build(T){return new Wz(T,this.config)}}class Wz extends P{static[O]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number(T);return T}}function Xz(T){return new Jz(T??"")}class Fz extends d{static[O]="PgSmallSerialBuilder";constructor(T){super(T,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new Yz(T,this.config)}}class Yz extends P{static[O]="PgSmallSerial";getSQLType(){return"smallserial"}}function Gz(T){return new Fz(T??"")}class Hz extends d{static[O]="PgTextBuilder";constructor(T,$){super(T,"string","PgText");this.config.enumValues=$.enum}build(T){return new Mz(T,this.config)}}class Mz extends P{static[O]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function zz(T,$={}){let{name:J,config:W}=VT(T,$);return new Hz(J,W)}class Az extends E1{constructor(T,$,J){super(T,"string","PgTime");this.withTimezone=$,this.precision=J,this.config.withTimezone=$,this.config.precision=J}static[O]="PgTimeBuilder";build(T){return new r4(T,this.config)}}class r4 extends P{static[O]="PgTime";withTimezone;precision;constructor(T,$){super(T,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function wz(T,$={}){let{name:J,config:W}=VT(T,$);return new Az(J,W.withTimezone??!1,W.precision)}class Qz extends E1{static[O]="PgTimestampBuilder";constructor(T,$,J){super(T,"date","PgTimestamp");this.config.withTimezone=$,this.config.precision=J}build(T){return new a4(T,this.config)}}class a4 extends P{static[O]="PgTimestamp";withTimezone;precision;constructor(T,$){super(T,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(T)=>{return new Date(this.withTimezone?T:T+"+0000")};mapToDriverValue=(T)=>{return T.toISOString()}}class Oz extends E1{static[O]="PgTimestampStringBuilder";constructor(T,$,J){super(T,"string","PgTimestampString");this.config.withTimezone=$,this.config.precision=J}build(T){return new s4(T,this.config)}}class s4 extends P{static[O]="PgTimestampString";withTimezone;precision;constructor(T,$){super(T,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function bJ(T,$={}){let{name:J,config:W}=VT(T,$);if(W?.mode==="string")return new Oz(J,W.withTimezone??!1,W.precision);return new Qz(J,W?.withTimezone??!1,W?.precision)}class Uz extends d{static[O]="PgUUIDBuilder";constructor(T){super(T,"string","PgUUID")}defaultRandom(){return this.default(U`gen_random_uuid()`)}build(T){return new e4(T,this.config)}}class e4 extends P{static[O]="PgUUID";getSQLType(){return"uuid"}}function AJ(T){return new Uz(T??"")}class _z extends d{static[O]="PgVarcharBuilder";constructor(T,$){super(T,"string","PgVarchar");this.config.length=$.length,this.config.enumValues=$.enum}build(T){return new Dz(T,this.config)}}class Dz extends P{static[O]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function P$(T,$={}){let{name:J,config:W}=VT(T,$);return new _z(J,W)}class Kz extends d{static[O]="PgBinaryVectorBuilder";constructor(T,$){super(T,"string","PgBinaryVector");this.config.dimensions=$.dimensions}build(T){return new Sz(T,this.config)}}class Sz extends P{static[O]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function Vz(T,$){let{name:J,config:W}=VT(T,$);return new Kz(J,W)}class Ez extends d{static[O]="PgHalfVectorBuilder";constructor(T,$){super(T,"array","PgHalfVector");this.config.dimensions=$.dimensions}build(T){return new Rz(T,this.config)}}class Rz extends P{static[O]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){return T.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function Lz(T,$){let{name:J,config:W}=VT(T,$);return new Ez(J,W)}class Bz extends d{static[O]="PgSparseVectorBuilder";constructor(T,$){super(T,"string","PgSparseVector");this.config.dimensions=$.dimensions}build(T){return new fz(T,this.config)}}class fz extends P{static[O]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function Nz(T,$){let{name:J,config:W}=VT(T,$);return new Bz(J,W)}class Cz extends d{static[O]="PgVectorBuilder";constructor(T,$){super(T,"array","PgVector");this.config.dimensions=$.dimensions}build(T){return new Zz(T,this.config)}}class Zz extends P{static[O]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){return T.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function qz(T,$){let{name:J,config:W}=VT(T,$);return new Cz(J,W)}function kz(){return{bigint:pH,bigserial:lH,boolean:j2,char:aH,cidr:TM,customType:WM,date:YM,doublePrecision:MM,inet:wM,integer:l4,interval:DM,json:SM,jsonb:EM,line:NM,macaddr:qM,macaddr8:IM,numeric:hM,point:cM,geometry:tM,real:sM,serial:$z,smallint:Xz,smallserial:Gz,text:zz,time:wz,timestamp:bJ,uuid:AJ,varchar:P$,bit:Vz,halfvec:Lz,sparsevec:Nz,vector:qz}}var iY=Symbol.for("drizzle:PgInlineForeignKeys"),yz=Symbol.for("drizzle:EnableRLS");class Z$ extends u{static[O]="PgTable";static Symbol=Object.assign({},u.Symbol,{InlineForeignKeys:iY,EnableRLS:yz});[iY]=[];[yz]=!1;[u.Symbol.ExtraConfigBuilder]=void 0;[u.Symbol.ExtraConfigColumns]={}}function kK(T,$,J,W,X=T){let F=new Z$(T,W,X),Y=typeof $==="function"?$(kz()):$,G=Object.fromEntries(Object.entries(Y).map(([z,A])=>{let w=A;w.setName(z);let _=w.build(F);return F[iY].push(...w.buildForeignKeys(_,F)),[z,_]})),H=Object.fromEntries(Object.entries(Y).map(([z,A])=>{let w=A;w.setName(z);let _=w.buildExtraConfigColumn(F);return[z,_]})),M=Object.assign(F,G);if(M[u.Symbol.Columns]=G,M[u.Symbol.ExtraConfigColumns]=H,J)M[Z$.Symbol.ExtraConfigBuilder]=J;return Object.assign(M,{enableRLS:()=>{return M[Z$.Symbol.EnableRLS]=!0,M}})}var r1=(T,$,J)=>{return kK(T,$,J,void 0)};function Iz(...T){if(T[0].columns)return new x2(T[0].columns,T[0].name);return new x2(T)}class x2{static[O]="PgPrimaryKeyBuilder";columns;name;constructor(T,$){this.columns=T,this.name=$}build(T){return new jz(T,this.columns,this.name)}}class jz{constructor(T,$,J){this.table=T,this.columns=$,this.name=J}static[O]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[Z$.Symbol.Name]}_${this.columns.map((T)=>T.name).join("_")}_pk`}}function s$(T,$){if(qH($)&&!pY(T)&&!L(T,zJ)&&!L(T,i1)&&!L(T,bT)&&!L(T,u)&&!L(T,a$))return new zJ(T,$);return T}var T6=(T,$)=>{return U`${T} = ${s$($,T)}`},xz=(T,$)=>{return U`${T} <> ${s$($,T)}`};function P2(...T){let $=T.filter((J)=>J!==void 0);if($.length===0)return;if($.length===1)return new c($);return new c([new K$("("),U.join($,new K$(" and ")),new K$(")")])}function Pz(...T){let $=T.filter((J)=>J!==void 0);if($.length===0)return;if($.length===1)return new c($);return new c([new K$("("),U.join($,new K$(" or ")),new K$(")")])}function bz(T){return U`not ${T}`}var $6=(T,$)=>{return U`${T} > ${s$($,T)}`},vz=(T,$)=>{return U`${T} >= ${s$($,T)}`},hz=(T,$)=>{return U`${T} < ${s$($,T)}`},mz=(T,$)=>{return U`${T} <= ${s$($,T)}`};function gz(T,$){if(Array.isArray($)){if($.length===0)return U`false`;return U`${T} in ${$.map((J)=>s$(J,T))}`}return U`${T} in ${s$($,T)}`}function pz(T,$){if(Array.isArray($)){if($.length===0)return U`true`;return U`${T} not in ${$.map((J)=>s$(J,T))}`}return U`${T} not in ${s$($,T)}`}function uz(T){return U`${T} is null`}function cz(T){return U`${T} is not null`}function oz(T){return U`exists ${T}`}function dz(T){return U`not exists ${T}`}function lz(T,$,J){return U`${T} between ${s$($,T)} and ${s$(J,T)}`}function nz(T,$,J){return U`${T} not between ${s$($,T)} and ${s$(J,T)}`}function iz(T,$){return U`${T} like ${$}`}function tz(T,$){return U`${T} not like ${$}`}function rz(T,$){return U`${T} ilike ${$}`}function az(T,$){return U`${T} not ilike ${$}`}function sz(T){return U`${T} asc`}function ez(T){return U`${T} desc`}class tY{constructor(T,$,J){this.sourceTable=T,this.referencedTable=$,this.relationName=J,this.referencedTableName=$[u.Symbol.Name]}static[O]="Relation";referencedTableName;fieldName}class TA{constructor(T,$){this.table=T,this.config=$}static[O]="Relations"}class a1 extends tY{constructor(T,$,J,W){super(T,$,J?.relationName);this.config=J,this.isNullable=W}static[O]="One";withFieldName(T){let $=new a1(this.sourceTable,this.referencedTable,this.config,this.isNullable);return $.fieldName=T,$}}class b2 extends tY{constructor(T,$,J){super(T,$,J?.relationName);this.config=J}static[O]="Many";withFieldName(T){let $=new b2(this.sourceTable,this.referencedTable,this.config);return $.fieldName=T,$}}function $A(){return{and:P2,between:lz,eq:T6,exists:oz,gt:$6,gte:vz,ilike:rz,inArray:gz,isNull:uz,isNotNull:cz,like:iz,lt:hz,lte:mz,ne:xz,not:bz,notBetween:nz,notExists:dz,notLike:tz,notIlike:az,notInArray:pz,or:Pz,sql:U}}function JA(){return{sql:U,asc:sz,desc:ez}}function WA(T,$){if(Object.keys(T).length===1&&"default"in T&&!L(T.default,u))T=T.default;let J={},W={},X={};for(let[F,Y]of Object.entries(T))if(L(Y,u)){let G=h0(Y),H=W[G];J[G]=F,X[F]={tsName:F,dbName:Y[u.Symbol.Name],schema:Y[u.Symbol.Schema],columns:Y[u.Symbol.Columns],relations:H?.relations??{},primaryKey:H?.primaryKey??[]};for(let z of Object.values(Y[u.Symbol.Columns]))if(z.primary)X[F].primaryKey.push(z);let M=Y[u.Symbol.ExtraConfigBuilder]?.(Y[u.Symbol.ExtraConfigColumns]);if(M){for(let z of Object.values(M))if(L(z,x2))X[F].primaryKey.push(...z.columns)}}else if(L(Y,TA)){let G=h0(Y.table),H=J[G],M=Y.config($(Y.table)),z;for(let[A,w]of Object.entries(M))if(H){let _=X[H];if(_.relations[A]=w,z)_.primaryKey.push(...z)}else{if(!(G in W))W[G]={relations:{},primaryKey:z};W[G].relations[A]=w}}return{tables:X,tableNamesMap:J}}function yK(T){return function $(J,W){return new a1(T,J,W,W?.fields.reduce((X,F)=>X&&F.notNull,!0)??!1)}}function IK(T){return function $(J,W){return new b2(T,J,W)}}function XA(T,$,J){if(L(J,a1)&&J.config)return{fields:J.config.fields,references:J.config.references};let W=$[h0(J.referencedTable)];if(!W)throw new Error(`Table "${J.referencedTable[u.Symbol.Name]}" not found in schema`);let X=T[W];if(!X)throw new Error(`Table "${W}" not found in schema`);let F=J.sourceTable,Y=$[h0(F)];if(!Y)throw new Error(`Table "${F[u.Symbol.Name]}" not found in schema`);let G=[];for(let H of Object.values(X.relations))if(J.relationName&&J!==H&&H.relationName===J.relationName||!J.relationName&&H.referencedTable===J.sourceTable)G.push(H);if(G.length>1)throw J.relationName?new Error(`There are multiple relations with name "${J.relationName}" in table "${W}"`):new Error(`There are multiple relations between "${W}" and "${J.sourceTable[u.Symbol.Name]}". Please specify relation name`);if(G[0]&&L(G[0],a1)&&G[0].config)return{fields:G[0].config.references,references:G[0].config.fields};throw new Error(`There is not enough information to infer relation "${Y}.${J.fieldName}"`)}function FA(T){return{one:yK(T),many:IK(T)}}function J6(T,$,J,W,X=(F)=>F){let F={};for(let[Y,G]of W.entries())if(G.isJson){let H=$.relations[G.tsKey],M=J[Y],z=typeof M==="string"?JSON.parse(M):M;F[G.tsKey]=L(H,a1)?z&&J6(T,T[G.relationTableTsKey],z,G.selection,X):z.map((A)=>J6(T,T[G.relationTableTsKey],A,G.selection,X))}else{let H=X(J[Y]),M=G.field,z;if(L(M,bT))z=M;else if(L(M,c))z=M.decoder;else z=M.sql.decoder;F[G.tsKey]=H===null?null:z.mapFromDriverValue(H)}return F}import VL from"path";import JS from"os";import WS from"fs";var W6=new Map,rY=new Map,aY=Symbol("OriginError"),gW={};class RJ extends Promise{constructor(T,$,J,W,X={}){let F,Y;super((G,H)=>{F=G,Y=H});this.tagged=Array.isArray(T.raw),this.strings=T,this.args=$,this.handler=J,this.canceller=W,this.options=X,this.state=null,this.statement=null,this.resolve=(G)=>(this.active=!1,F(G)),this.reject=(G)=>(this.active=!1,Y(G)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[aY]=this.handler.debug?new Error:this.tagged&&jK(this.strings)}get origin(){return(this.handler.debug?this[aY].stack:this.tagged&&rY.has(this.strings)?rY.get(this.strings):rY.set(this.strings,this[aY].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(T=1,$){if(this.options.simple=!1,typeof T==="function")$=T,T=1;if(this.cursorRows=T,typeof $==="function")return this.cursorFn=$,this;let J;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};J&&J();let W=new Promise((X,F)=>{this.cursorFn=(Y)=>{return X({value:Y,done:!1}),new Promise((G)=>J=G)},this.resolve=()=>(this.active=!1,X({done:!0})),this.reject=(Y)=>(this.active=!1,F(Y))});return this.execute(),W},return(){return J&&J(gW),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(T){return this.forEachFn=T,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function jK(T){if(W6.has(T))return W6.get(T);let $=Error.stackTraceLimit;return Error.stackTraceLimit=4,W6.set(T,new Error),Error.stackTraceLimit=$,W6.get(T)}class pW extends Error{constructor(T){super(T.message);this.name=this.constructor.name,Object.assign(this,T)}}var G$={connection:YA,postgres:GA,generic:HA,notSupported:MA};function YA(T,$,J){let{host:W,port:X}=J||$,F=Object.assign(new Error("write "+T+" "+($.path||W+":"+X)),{code:T,errno:T,address:$.path||W},$.path?{}:{port:X});return Error.captureStackTrace(F,YA),F}function GA(T){let $=new pW(T);return Error.captureStackTrace($,GA),$}function HA(T,$){let J=Object.assign(new Error(T+": "+$),{code:T});return Error.captureStackTrace(J,HA),J}function MA(T){let $=Object.assign(new Error(T+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:T});return Error.captureStackTrace($,MA),$}var xK={string:{to:25,from:null,serialize:(T)=>""+T},number:{to:0,from:[21,23,26,700,701],serialize:(T)=>""+T,parse:(T)=>+T},json:{to:114,from:[114,3802],serialize:(T)=>JSON.stringify(T),parse:(T)=>JSON.parse(T)},boolean:{to:16,from:16,serialize:(T)=>T===!0?"t":"f",parse:(T)=>T==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(T)=>(T instanceof Date?T:new Date(T)).toISOString(),parse:(T)=>new Date(T)},bytea:{to:17,from:17,serialize:(T)=>"\\x"+Buffer.from(T).toString("hex"),parse:(T)=>Buffer.from(T.slice(2),"hex")}};class Y6{then(){sY()}catch(){sY()}finally(){sY()}}class g2 extends Y6{constructor(T){super();this.value=M6(T)}}class sJ extends Y6{constructor(T,$,J){super();this.value=T,this.type=$,this.array=J}}class G6 extends Y6{constructor(T,$){super();this.first=T,this.rest=$}build(T,$,J,W){let X=PK.map(([F,Y])=>({fn:Y,i:T.search(F)})).sort((F,Y)=>F.i-Y.i).pop();return X.i===-1?W9(this.first,W):X.fn(this.first,this.rest,$,J,W)}}function H6(T,$,J,W){let X=T instanceof sJ?T.value:T;if(X===void 0){if(T instanceof sJ?T.value=W.transform.undefined:X=T=W.transform.undefined,X===void 0)throw G$.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+J.push(T instanceof sJ?($.push(T.value),T.array?T.array[T.type||F6(T.value)]||T.type||QA(T.value):T.type):($.push(T),F6(T)))}var AA=UA(xK);function $9(T,$,J,W,X,F){for(let Y=1;Y<T.strings.length;Y++)$+=J9($,J,W,X,F)+T.strings[Y],J=T.args[Y];return $}function J9(T,$,J,W,X){return $ instanceof G6?$.build(T,J,W,X):$ instanceof RJ?T9($,J,W,X):$ instanceof g2?$.value:$&&$[0]instanceof RJ?$.reduce((F,Y)=>F+" "+T9(Y,J,W,X),""):H6($,J,W,X)}function T9(T,$,J,W){return T.fragment=!0,$9(T,T.strings[0],T.args[0],$,J,W)}function wA(T,$,J,W,X){return T.map((F)=>"("+W.map((Y)=>J9("values",F[Y],$,J,X)).join(",")+")").join(",")}function zA(T,$,J,W,X){let F=Array.isArray(T[0]),Y=$.length?$.flat():Object.keys(F?T[0]:T);return wA(F?T:[T],J,W,Y,X)}function X6(T,$,J,W,X){if(typeof T==="string"&&(T=[T].concat($)),Array.isArray(T))return W9(T,X);let F;return($.length?$.flat():Object.keys(T)).map((G)=>{return F=T[G],(F instanceof RJ?T9(F,J,W,X):F instanceof g2?F.value:H6(F,J,W,X))+" as "+M6(X.transform.column.to?X.transform.column.to(G):G)}).join(",")}var PK=Object.entries({values:zA,in:(...T)=>{let $=zA(...T);return $==="()"?"(null)":$},select:X6,as:X6,returning:X6,"\\(":X6,update(T,$,J,W,X){return($.length?$.flat():Object.keys(T)).map((F)=>M6(X.transform.column.to?X.transform.column.to(F):F)+"="+J9("values",T[F],J,W,X))},insert(T,$,J,W,X){let F=$.length?$.flat():Object.keys(Array.isArray(T)?T[0]:T);return"("+W9(F,X)+")values"+wA(Array.isArray(T)?T:[T],J,W,F,X)}}).map(([T,$])=>[new RegExp("((?:^|[\\s(])"+T+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),$]);function sY(){throw G$.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:bK,parsers:vK}=AA;function QA(T){if(Array.isArray(T))return QA(T[0]);return typeof T==="string"?1009:0}var OA=function(T){let $=UA(T||{});return{serializers:Object.assign({},bK,$.serializers),parsers:Object.assign({},vK,$.parsers)}};function UA(T){return Object.keys(T).reduce(($,J)=>{if(T[J].from&&[].concat(T[J].from).forEach((W)=>$.parsers[W]=T[J].parse),T[J].serialize)$.serializers[T[J].to]=T[J].serialize,T[J].from&&[].concat(T[J].from).forEach((W)=>$.serializers[W]=T[J].serialize);return $},{parsers:{},serializers:{}})}function W9(T,{transform:{column:$}}){return T.map((J)=>M6($.to?$.to(J):J)).join(",")}var M6=function T($){return'"'+$.replace(/"/g,'""').replace(/\./g,'"."')+'"'},F6=function T($){return $ instanceof sJ?$.type:$ instanceof Date?1184:$ instanceof Uint8Array?17:$===!0||$===!1?16:typeof $==="bigint"?20:Array.isArray($)?T($[0]):0},hK=/\\/g,mK=/"/g;function gK(T){return T.replace(hK,"\\\\").replace(mK,"\\\"")}var _A=function T($,J,W,X){if(Array.isArray($)===!1)return $;if(!$.length)return"{}";let F=$[0],Y=X===1020?";":",";if(Array.isArray(F)&&!F.type)return"{"+$.map((G)=>T(G,J,W,X)).join(Y)+"}";return"{"+$.map((G)=>{if(G===void 0){if(G=W.transform.undefined,G===void 0)throw G$.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return G===null?"null":'"'+gK(J?J(G.type?G.value:G):""+G)+'"'}).join(Y)+"}"},eY={i:0,char:null,str:"",quoted:!1,last:0},DA=function T($,J,W){return eY.i=eY.last=0,KA(eY,$,J,W)};function KA(T,$,J,W){let X=[],F=W===1020?";":",";for(;T.i<$.length;T.i++){if(T.char=$[T.i],T.quoted)if(T.char==="\\")T.str+=$[++T.i];else if(T.char==='"')X.push(J?J(T.str):T.str),T.str="",T.quoted=$[T.i+1]==='"',T.last=T.i+2;else T.str+=T.char;else if(T.char==='"')T.quoted=!0;else if(T.char==="{")T.last=++T.i,X.push(KA(T,$,J,W));else if(T.char==="}"){T.quoted=!1,T.last<T.i&&X.push(J?J($.slice(T.last,T.i)):$.slice(T.last,T.i)),T.last=T.i+1;break}else if(T.char===F&&T.p!=="}"&&T.p!=='"')X.push(J?J($.slice(T.last,T.i)):$.slice(T.last,T.i)),T.last=T.i+1;T.p=T.char}return T.last<T.i&&X.push(J?J($.slice(T.last,T.i+1)):$.slice(T.last,T.i+1)),X}var m0=(T)=>{let $=T[0];for(let J=1;J<T.length;J++)$+=T[J]==="_"?T[++J].toUpperCase():T[J];return $},g0=(T)=>{let $=T[0].toUpperCase();for(let J=1;J<T.length;J++)$+=T[J]==="_"?T[++J].toUpperCase():T[J];return $},p0=(T)=>T.replace(/_/g,"-"),v2=(T)=>T.replace(/([A-Z])/g,"_$1").toLowerCase(),h2=(T)=>(T.slice(0,1)+T.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),m2=(T)=>T.replace(/-/g,"_");function X9(T){return function $(J,W){return typeof J==="object"&&J!==null&&(W.type===114||W.type===3802)?Array.isArray(J)?J.map((X)=>$(X,W)):Object.entries(J).reduce((X,[F,Y])=>Object.assign(X,{[T(F)]:$(Y,W)}),{}):J}}m0.column={from:m0};m0.value={from:X9(m0)};v2.column={to:v2};var F9={...m0};F9.column.to=v2;g0.column={from:g0};g0.value={from:X9(g0)};h2.column={to:h2};var Y9={...g0};Y9.column.to=h2;p0.column={from:p0};p0.value={from:X9(p0)};m2.column={to:m2};var G9={...p0};G9.column.to=m2;import SA from"net";import oK from"tls";import p2 from"crypto";import H9 from"stream";import{performance as VA}from"perf_hooks";class u0 extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var wJ=pK;function pK(T=[]){let $=T.slice(),J=0;return{get length(){return $.length-J},remove:(W)=>{let X=$.indexOf(W);return X===-1?null:($.splice(X,1),W)},push:(W)=>($.push(W),W),shift:()=>{let W=$[J++];if(J===$.length)J=0,$=[];else $[J-1]=void 0;return W}}}var b$=Buffer.allocUnsafe(256),uK="BCcDdEFfHPpQSX".split("").reduce((T,$)=>{let J=$.charCodeAt(0);return T[$]=()=>{return b$[0]=J,xT.i=5,xT},T},{}),xT=Object.assign(cK,uK,{N:String.fromCharCode(0),i:0,inc(T){return xT.i+=T,xT},str(T){let $=Buffer.byteLength(T);return z6($),xT.i+=b$.write(T,xT.i,$,"utf8"),xT},i16(T){return z6(2),b$.writeUInt16BE(T,xT.i),xT.i+=2,xT},i32(T,$){if($||$===0)return b$.writeUInt32BE(T,$),xT;return z6(4),b$.writeUInt32BE(T,xT.i),xT.i+=4,xT},z(T){return z6(T),b$.fill(0,xT.i,xT.i+T),xT.i+=T,xT},raw(T){return b$=Buffer.concat([b$.subarray(0,xT.i),T]),xT.i=b$.length,xT},end(T=1){b$.writeUInt32BE(xT.i-T,T);let $=b$.subarray(0,xT.i);return xT.i=0,b$=Buffer.allocUnsafe(256),$}}),s=xT;function z6(T){if(b$.length-xT.i<T){let $=b$,J=$.length;b$=Buffer.allocUnsafe(J+(J>>1)+T),$.copy(b$)}}function cK(){return xT.i=0,xT}var A9=LA,dK=1,s1=s().S().end(),EA=s().H().end(),lK=s().i32(8).i32(80877103).end(8),nK=Buffer.concat([s().E().str(s.N).i32(0).end(),s1]),iK=s().D().str("S").str(s.N).end(),uW=()=>{},tK=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),rK={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function LA(T,$={},{onopen:J=uW,onend:W=uW,onclose:X=uW}={}){let{ssl:F,max:Y,user:G,host:H,port:M,database:z,parsers:A,transform:w,onnotice:_,onnotify:D,onparameter:S,max_pipeline:Z,keep_alive:q,backoff:N,target_session_attrs:y}=T,V=wJ(),f=dK++,C={pid:null,secret:null},B=z9(e6,T.idle_timeout),m=z9(e6,T.max_lifetime),$T=z9(MU,T.connect_timeout),E=null,XT,n=new u0,MT=Buffer.alloc(0),kT=T.fetch_types,eT={},l$={},J1=Math.random().toString(36).slice(2),I=1,a=0,NT=0,tT=0,M$=0,UT=0,mT=0,X$=0,rT=null,oT=null,q$=!1,gT=null,CJ=null,k$=null,x1=null,z$=null,dT=null,ZJ=null,pJ=null,h=null,AX=null,y$={queue:$.closed,idleTimer:B,connect(Q){k$=Q||!0,$7()},terminate:QX,execute:wX,cancel:FU,end:e6,count:0,id:f};return $.closed&&$.closed.push(y$),y$;async function XU(){let Q;try{Q=T.socket?await Promise.resolve(T.socket(T)):new SA.Socket}catch(K){s0(K);return}return Q.on("error",s0),Q.on("close",J7),Q.on("drain",e5),Q}async function FU({pid:Q,secret:K},TT,CT){try{XT=s().i32(16).i32(80877102).i32(Q).i32(K).end(16),await T7(),E.once("error",CT),E.once("close",TT)}catch(T$){CT(T$)}}function wX(Q){if(q$)return L8(Q,G$.connection("CONNECTION_DESTROYED",T));if(Q.cancelled)return;try{return Q.state=C,h?V.push(Q):(h=Q,h.active=!0),HU(Q),f$(YU(Q))&&!Q.describeFirst&&!Q.cursorFn&&V.length<Z&&(!Q.options.onexecute||Q.options.onexecute(y$))}catch(K){return V.length===0&&f$(s1),uJ(K),!0}}function YU(Q){if(Q.parameters.length>=65534)throw G$.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return Q.options.simple?s().Q().str(Q.statement.string+s.N).end():Q.describeFirst?Buffer.concat([r5(Q),EA]):Q.prepare?Q.prepared?R8(Q):Buffer.concat([r5(Q),R8(Q)]):GU(Q)}function r5(Q){return Buffer.concat([X7(Q.statement.string,Q.parameters,Q.statement.types,Q.statement.name),nU("S",Q.statement.name)])}function R8(Q){return Buffer.concat([lU(Q.parameters,Q.statement.types,Q.statement.name,Q.cursorName),Q.cursorFn?F7("",Q.cursorRows):nK])}function GU(Q){return Buffer.concat([X7(Q.statement.string,Q.parameters,Q.statement.types),iK,R8(Q)])}function HU(Q){let K=[],TT=[],CT=$9(Q,Q.strings[0],Q.args[0],K,TT,T);!Q.tagged&&Q.args.forEach((T$)=>H6(T$,K,TT,T)),Q.prepare=T.prepare&&("prepare"in Q.options?Q.options.prepare:!0),Q.string=CT,Q.signature=Q.prepare&&TT+CT,Q.onlyDescribe&&delete l$[Q.signature],Q.parameters=Q.parameters||K,Q.prepared=Q.prepare&&Q.signature in l$,Q.describeFirst=Q.onlyDescribe||K.length&&!Q.prepared,Q.statement=Q.prepared?l$[Q.signature]:{string:CT,types:TT,name:Q.prepare?J1+I++:""},typeof T.debug==="function"&&T.debug(f,CT,K,TT)}function f$(Q,K){if(dT=dT?Buffer.concat([dT,Q]):Buffer.from(Q),K||dT.length>=1024)return a5(K);return oT===null&&(oT=setImmediate(a5)),!0}function a5(Q){let K=E.write(dT,Q);return oT!==null&&clearImmediate(oT),dT=oT=null,K}function MU(){uJ(G$.connection("CONNECT_TIMEOUT",T,E)),E.destroy()}async function s5(){if(f$(lK),!await new Promise((K)=>E.once("data",(TT)=>K(TT[0]===83)))&&F==="prefer")return a0();E.removeAllListeners(),E=oK.connect({socket:E,servername:SA.isIP(E.host)?void 0:E.host,...F==="require"||F==="allow"||F==="prefer"?{rejectUnauthorized:!1}:F==="verify-full"?{}:typeof F==="object"?F:{}}),E.on("secureConnect",a0),E.on("error",s0),E.on("close",J7),E.on("drain",e5)}function e5(){!h&&J(y$)}function s6(Q){if(gT){if(gT.push(Q),NT-=Q.length,NT>=0)return}MT=gT?Buffer.concat(gT,UT-NT):MT.length===0?Q:Buffer.concat([MT,Q],MT.length+Q.length);while(MT.length>4){if(UT=MT.readUInt32BE(1),UT>=MT.length){NT=UT-MT.length,gT=[MT];break}try{zU(MT.subarray(0,UT+1))}catch(K){h&&(h.cursorFn||h.describeFirst)&&f$(s1),uJ(K)}MT=MT.subarray(UT+1),NT=0,gT=null}}async function T7(){if(q$=!1,eT={},E||(E=await XU()),!E)return;if($T.start(),T.socket)return F?s5():a0();if(E.on("connect",F?s5:a0),T.path)return E.connect(T.path);E.ssl=F,E.connect(M[tT],H[tT]),E.host=H[tT],E.port=M[tT],tT=(tT+1)%M.length}function $7(){setTimeout(T7,a?a+mT-VA.now():0)}function a0(){try{l$={},kT=T.fetch_types,J1=Math.random().toString(36).slice(2),I=1,m.start(),E.on("data",s6),q&&E.setKeepAlive&&E.setKeepAlive(!0,1000*q);let Q=tU();f$(Q)}catch(Q){s0(Q)}}function s0(Q){if(y$.queue===$.connecting&&T.host[M$+1])return;uJ(Q);while(V.length)L8(V.shift(),Q)}function uJ(Q){z$&&(z$.destroy(Q),z$=null),h&&L8(h,Q),k$&&(L8(k$,Q),k$=null)}function L8(Q,K){"query"in K||"parameters"in K||Object.defineProperties(K,{stack:{value:K.stack+Q.origin.replace(/.*\n/,`
|
|
68
|
-
`),enumerable:T.debug},query:{value:Q.string,enumerable:T.debug},parameters:{value:Q.parameters,enumerable:T.debug},args:{value:Q.args,enumerable:T.debug},types:{value:Q.statement&&Q.statement.types,enumerable:T.debug}}),Q.reject(
|
|
66
|
+
${F}`)}let H=xJ.join(this.baseDir,`${T}/${$}.output.json`);return JSON.parse($$.readFileSync(H,"utf-8"))}async write(T,$,J,W){let X=xJ.join(this.baseDir,T),Y=xJ.join(X,`${$}.input.json`),F=xJ.join(X,`${$}.output.json`),G=JSON.stringify(J,null,"\t");if(!$$.existsSync(this.baseDir))$$.mkdirSync(this.baseDir,{recursive:!0});if(!$$.existsSync(X))$$.mkdirSync(X);if($$.writeFileSync(Y,G),$$.existsSync(F))$$.unlinkSync(F);let H=await W(...J),M=JSON.stringify(H,null,"\t");return $$.writeFileSync(F,M),H}add(T,$){let J=`${this.rootName}${_$}${N2(T)}`;return{flush:()=>{this.flush(T)},for:(W)=>{if(this.mode!=="off"){if(this.filesTouched.set(T,new Set),mT.storage.initialized&&!mT.storage.getItem(`list${_$}${J}`))mT.storage.setItem(`list${_$}${J}`,"true")}return{get:async(...X)=>{let Y=W;if(this.mode!=="off"){let F=this.filenameCache.get(W);if(!F)F=N2(W),this.filenameCache.set(W,F);Y=F,this.filesTouched.get(T)?.add(Y);let G=`${J}${_$}${Y}`,H=`file${_$}${G}`;if(mT.storage.initialized&&!mT.storage.getItem(H))mT.storage.setItem(H,"true")}switch(this.mode){case"off":return $(...X);case"read":return this.read(T,Y,X);case"write":return this.write(T,Y,X,$);case"read-write":try{return this.read(T,Y,X)}catch(F){if(F instanceof Error)return this.write(T,Y,X,$);throw F}}}}}}}flush(...T){console.log(this.filesTouched);for(let[$,J]of this.filesTouched.entries())if(T.length===0||T.includes($)){let W=xJ.join(this.baseDir,$),X=$$.readdirSync(W);for(let Y of X){let F=Y.replace(".input.json","").replace(".output.json","");if(!J.has(F))console.info(`\uD83E\uDDF9 Flushing ${F}`),$$.unlinkSync(xJ.join(W,Y))}}}};function KD(T,...$){let[J,W,X,Y]=$,F=[{role:"user",content:iG(W)},{role:"user",content:J}],G=Y.at(-1);if(G)F.push({role:"user",content:["Oops! That didn't work. Here's what was returned last time:",JSON.stringify(G.response,null,2),"Here's the error message:",JSON.stringify(G.error.issues,null,2)].join(`
|
|
67
|
+
`)});return{model:T,messages:F}}var fF={"gpt-4o":{promptPricePerToken:0.0000025,promptPricePerTokenCached:0.00000125,completionPricePerToken:0.00001},"gpt-4o-2024-08-06":{promptPricePerToken:0.0000025,promptPricePerTokenCached:0.00000125,completionPricePerToken:0.00001},"gpt-4o-2024-05-13":{promptPricePerToken:0.000005,promptPricePerTokenCached:0.000005,completionPricePerToken:0.000014999999999999999},"gpt-4o-mini":{promptPricePerToken:0.00000015,promptPricePerTokenCached:0.000000075,completionPricePerToken:0.0000006},"gpt-4o-mini-2024-07-18":{promptPricePerToken:0.00000015,promptPricePerTokenCached:0.000000075,completionPricePerToken:0.0000006},"o1-preview":{promptPricePerToken:0.000014999999999999999,promptPricePerTokenCached:0.000007499999999999999,completionPricePerToken:0.000059999999999999995},"o1-preview-2024-09-12":{promptPricePerToken:0.000014999999999999999,promptPricePerTokenCached:0.000007499999999999999,completionPricePerToken:0.000059999999999999995}};function DD(T){return async function $(J,W){if(!T)throw new Error("This is a bug in safegen. OpenAI client not available to the json generator.");let X=await T.chat.completions.create({...J,stream:!1,response_format:{type:"json_object"}},W),Y=X.choices[0].message?.content,{usage:F}=X;if(Y&&F){let G=F.prompt_tokens,H=F.prompt_tokens_details?.cached_tokens??0,M=G-H,A=F.completion_tokens,z=G*fF[J.model].promptPricePerToken+M*fF[J.model].promptPricePerTokenCached+A*fF[J.model].completionPricePerToken;return{data:JSON.parse(Y),usage:F,usdPrice:z}}if(!Y&&!F)throw new Error("No content or usage found in completion");if(!Y)throw new Error("No content found in completion");throw new Error("No usage found in completion")}}var MH=new Map,AH=class{usdBudget;usdMinimum;getUnknownJsonFromOpenAi;getUnknownJsonFromOpenAiSquirreled;squirrel;client;lastUsage;constructor({model:T,usdBudget:$,usdMinimum:J,apiKey:W,cachingMode:X,cacheKey:Y="openai-safegen",logger:F}){this.usdBudget=$,this.usdMinimum=J,this.squirrel=new HH(X);let G=MH.get(W);if(X!=="read"){if(!G)G=new n3({apiKey:W,dangerouslyAllowBrowser:!1}),MH.set(W,G);this.client=G}this.getUnknownJsonFromOpenAi=DD(this.client),this.getUnknownJsonFromOpenAiSquirreled=this.squirrel.add(Y,this.getUnknownJsonFromOpenAi),this.from=nG(async(...H)=>{if(this.usdBudget<this.usdMinimum)return F?.warn("SafeGen budget exhausted"),H[1];let M=KD(T,...H),A=H[0],z=H[3],{data:w,usage:_,usdPrice:K}=await this.getUnknownJsonFromOpenAiSquirreled.for(`${A.replace(/[^a-zA-Z0-9-_. ]/g,"_")}-${z.length}`).get(M);return this.lastUsage=_,this.usdBudget-=K,w},F)}from};import{exec as CL}from"child_process";var NF=(T)=>{let $=XJ(T,{key:"\uD83D\uDD0D Atom Token Index (Internal)",default:()=>{let J=new Map;for(let[W,X]of T.atoms){if(v1(W))continue;let Y=n$(X);if(X.family){let F=J.get(X.family.key);if(!F||!("familyMembers"in F))F={key:X.family.key,familyMembers:new Map},J.set(X.family.key,F);F.familyMembers.set(X.family.subKey,Y)}else J.set(W,Y)}return J},effects:[({setSelf:J})=>{T.on.atomCreation.subscribe("introspection",(W)=>{if(v1(W.key))return;J((X)=>{if(W.family){let{key:Y,subKey:F}=W.family,G=X.get(Y);if(G===void 0||!("familyMembers"in G))G={key:Y,familyMembers:new Map},X.set(Y,G);G.familyMembers.set(F,W)}else X.set(W.key,W);return X})}),T.on.atomDisposal.subscribe("introspection",(W)=>{J((X)=>{if(W.family){let{key:Y,subKey:F}=W.family,G=X.get(Y);if(G&&"familyMembers"in G){if(G.familyMembers.delete(F),G.familyMembers.size===0)X.delete(Y)}}else X.delete(W.key);return X})})}]},void 0);return X1(T,{key:"\uD83D\uDD0D Atom Token Index",get:({get:J})=>J($)})};var CF=(T)=>{let $=XJ(T,{key:"\uD83D\uDD0D Selector Token Index (Internal)",default:()=>{let J=new Map;for(let W of[T.readonlySelectors,T.selectors])for(let[X,Y]of W){if(v1(X))continue;let F=n$(Y);if(Y.family){let G=J.get(Y.family.key);if(!G||!("familyMembers"in G))G={key:Y.family.key,familyMembers:new Map},J.set(Y.family.key,G);G.familyMembers.set(Y.family.subKey,F)}else J.set(X,F)}return J},effects:[({setSelf:J})=>{T.on.selectorCreation.subscribe("introspection",(W)=>{if(v1(W.key))return;J((X)=>{if(W.family){let{key:Y,subKey:F}=W.family,G=X.get(Y);if(G===void 0||!("familyMembers"in G))G={key:Y,familyMembers:new Map},X.set(Y,G);G.familyMembers.set(F,W)}else X.set(W.key,W);return X})}),T.on.selectorDisposal.subscribe("introspection",(W)=>{J((X)=>{if(W.family){let{key:Y,subKey:F}=W.family,G=X.get(Y);if(G&&"familyMembers"in G){if(G.familyMembers.delete(F),G.familyMembers.size===0)X.delete(Y)}}else X.delete(W.key);return X})})}]},void 0);return X1(T,{key:"\uD83D\uDD0D Selector Token Index",get:({get:J})=>J($)})};class b4{supported;constructor(T){this.supported=T}refine(T){for(let[$,J]of Object.entries(this.supported))try{if(J(T)===!0&&J!==Boolean)return{type:$,data:T}}catch(W){try{if(T instanceof J)return{type:$,data:T}}catch(X){}}return null}}var ZF=new b4({number:(T)=>typeof T==="number",string:(T)=>typeof T==="string",boolean:(T)=>typeof T==="boolean",null:(T)=>T===null});function qF(T){if(!T)return!1;return Object.getPrototypeOf(T)===Object.prototype}var kF=new b4({object:qF,array:(T)=>Array.isArray(T)}),VD=new b4({...ZF.supported,...kF.supported}),vW=(T)=>{if(T===void 0)return"undefined";let $=VD.refine(T);if($)return $.type;return Object.getPrototypeOf(T).constructor.name};class zH{store;auditorCreatedAt=performance.now();statesCreatedAt=new Map;atomIndex;selectorIndex;disposed=!1;unsubscribeFromAtomCreation;unsubscribeFromAtomDisposal;unsubscribeFromSelectorCreation;unsubscribeFromSelectorDisposal;constructor(T=DT.STORE){this.store=T,this.atomIndex=NF(this.store),this.selectorIndex=CF(this.store),this.unsubscribeFromAtomCreation=this.store.on.atomCreation.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.set($,performance.now()-this.auditorCreatedAt)}),this.unsubscribeFromAtomDisposal=this.store.on.atomDisposal.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.delete($)}),this.unsubscribeFromSelectorCreation=this.store.on.selectorCreation.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.set($,performance.now()-this.auditorCreatedAt)}),this.unsubscribeFromSelectorDisposal=this.store.on.selectorDisposal.subscribe(`auditor-${this.auditorCreatedAt}`,({key:$})=>{this.statesCreatedAt.delete($)})}static DEFAULT_LIST_RESOURCES_PARAM={atomFamilies:!0,selectorFamilies:!0};listResources(T=zH.DEFAULT_LIST_RESOURCES_PARAM){if(this.disposed)throw new Error("This Auditor has been disposed");let $=WY(this.atomIndex),J=WY(this.selectorIndex),W=[...$.values()].filter((G)=>("familyMembers"in G)),X=[...J.values()].filter((G)=>("familyMembers"in G)),Y=performance.now(),F=[];if(T.atomFamilies)for(let G of W){let H=G.familyMembers.values();for(let M of H){let z=this.statesCreatedAt.get(M.key)??this.auditorCreatedAt,w=Y-z;F.push([M,w])}}if(T.selectorFamilies)for(let G of X){let H=G.familyMembers.values();for(let M of H){let z=this.statesCreatedAt.get(M.key)??this.auditorCreatedAt,w=Y-z;F.push([M,w])}}return F}[Symbol.dispose](){this.unsubscribeFromAtomCreation(),this.unsubscribeFromAtomDisposal(),this.unsubscribeFromSelectorCreation(),this.unsubscribeFromSelectorDisposal(),this.disposed=!0}}var yF=(T,$)=>{let J=(W,X)=>{let F=((H,M)=>{let A=$(H,M);if(A)return A;return null})(W,X);if(F?.jobComplete??F?.pathComplete)return F;let G=Array.isArray(X)?X.map((H,M)=>[M,H]):qF(X)?Object.entries(X):[];for(let[H,M]of G){let A=J([...W,H],M);if(A?.jobComplete)return A}return{}};J([],T)};function SD(T,$){return{summary:`${T<$?"+":"-"}${Math.abs(T-$)} (${T} \u2192 ${$})`}}function RD(T,$){return{summary:`${T.length<$.length?"+":"-"}${Math.abs(T.length-$.length)} ("${T}" \u2192 "${$}")`}}function ED(T,$){return{summary:`${T} \u2192 ${$}`}}function wH(T,$,J){let W="",X=[],Y=[],F=[];return yF(T,(G,H)=>{let M;for(M of G){let A=$[M];if(A===void 0)Y.push([M,JSON.stringify(H)]);else{let z=J(H,A);if(z.summary!=="No Change")F.push([M,z])}}}),yF($,(G,H)=>{let M;for(M of G)if(T[M]===void 0)X.push([M,JSON.stringify(H)])}),W=`\uFF5E${F.length} \uFF0B${X.length} \uFF0D${Y.length}`,{summary:W,added:X,removed:Y,changed:F}}function LD(T,$,J){return wH(T,$,J)}class QH{leafRefinery;treeRefinery;leafDiffers;treeDiffers;constructor(T,$,J){this.leafRefinery=T,this.treeRefinery=$,this.leafDiffers={},this.treeDiffers={};for(let W of Object.keys(T.supported)){let X=J[W];this.leafDiffers[W]=X}for(let W of Object.keys($.supported)){let X=J[W];this.treeDiffers[W]=X}}diff(T,$){if(T===$)return{summary:"No Change"};let J=this.leafRefinery.refine(T)??this.treeRefinery.refine(T),W=this.leafRefinery.refine($)??this.treeRefinery.refine($);if(J!==null&&W!==null){if(J.type===W.type){if(J.type in this.leafDiffers)return this.leafDiffers[J.type](J.data,W.data);if(J.type in this.treeDiffers)return this.treeDiffers[J.type](J.data,W.data,(G,H)=>this.diff(G,H))}}let X=vW(T),Y=vW($);if(X===Y)return{summary:`${X} \u2192 ${Y}`};return{summary:`Type change: ${X} \u2192 ${Y}`}}}var Bu=new QH(ZF,kF,{number:SD,string:RD,boolean:ED,null:()=>({summary:"No Change"}),object:wH,array:LD});var O=Symbol.for("drizzle:entityKind"),Iu=Symbol.for("drizzle:hasOwnEntityKind");function L(T,$){if(!T||typeof T!=="object")return!1;if(T instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,O))throw new Error(`Class "${$.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let J=Object.getPrototypeOf(T).constructor;if(J)while(J){if(O in J&&J[O]===$[O])return!0;J=Object.getPrototypeOf(J)}return!1}class PT{constructor(T,$){this.table=T,this.config=$,this.name=$.name,this.keyAsName=$.keyAsName,this.notNull=$.notNull,this.default=$.default,this.defaultFn=$.defaultFn,this.onUpdateFn=$.onUpdateFn,this.hasDefault=$.hasDefault,this.primary=$.primaryKey,this.isUnique=$.isUnique,this.uniqueName=$.uniqueName,this.uniqueType=$.uniqueType,this.dataType=$.dataType,this.columnType=$.columnType,this.generated=$.generated,this.generatedIdentity=$.generatedIdentity}static[O]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(T){return T}mapToDriverValue(T){return T}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class IF{static[O]="ColumnBuilder";config;constructor(T,$,J){this.config={name:T,keyAsName:T==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:$,columnType:J,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(T){return this.config.default=T,this.config.hasDefault=!0,this}$defaultFn(T){return this.config.defaultFn=T,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(T){return this.config.onUpdateFn=T,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(T){if(this.config.name!=="")return;this.config.name=T}}var PJ=Symbol.for("drizzle:Name");class jF{static[O]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(T,$){if(this.reference=()=>{let{name:J,columns:W,foreignColumns:X}=T();return{name:J,columns:W,foreignTable:X[0].table,foreignColumns:X}},$)this._onUpdate=$.onUpdate,this._onDelete=$.onDelete}onUpdate(T){return this._onUpdate=T===void 0?"no action":T,this}onDelete(T){return this._onDelete=T===void 0?"no action":T,this}build(T){return new OH(T,this)}}class OH{constructor(T,$){this.table=T,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[O]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:T,columns:$,foreignColumns:J}=this.reference(),W=$.map((F)=>F.name),X=J.map((F)=>F.name),Y=[this.table[PJ],...W,J[0].table[PJ],...X];return T??`${Y.join("_")}_fk`}}function v4(T,...$){return T(...$)}function UH(T,$){return`${T[PJ]}_${$.join("_")}_unique`}function _H(T,$,J){for(let W=$;W<T.length;W++){let X=T[W];if(X==="\\"){W++;continue}if(X==='"')return[T.slice($,W).replace(/\\/g,""),W+1];if(J)continue;if(X===","||X==="}")return[T.slice($,W).replace(/\\/g,""),W]}return[T.slice($).replace(/\\/g,""),T.length]}function KH(T,$=0){let J=[],W=$,X=!1;while(W<T.length){let Y=T[W];if(Y===","){if(X||W===$)J.push("");X=!0,W++;continue}if(X=!1,Y==="\\"){W+=2;continue}if(Y==='"'){let[H,M]=_H(T,W+1,!0);J.push(H),W=M;continue}if(Y==="}")return[J,W+1];if(Y==="{"){let[H,M]=KH(T,W+1);J.push(H),W=M;continue}let[F,G]=_H(T,W,!1);J.push(F),W=G}return[J,W]}function DH(T){let[$]=KH(T,1);return $}function xF(T){return`{${T.map(($)=>{if(Array.isArray($))return xF($);if(typeof $==="string")return`"${$.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${$}`}).join(",")}}`}class d extends IF{foreignKeyConfigs=[];static[O]="PgColumnBuilder";array(T){return new SH(this.config.name,this,T)}references(T,$={}){return this.foreignKeyConfigs.push({ref:T,actions:$}),this}unique(T,$){return this.config.isUnique=!0,this.config.uniqueName=T,this.config.uniqueType=$?.nulls,this}generatedAlwaysAs(T){return this.config.generated={as:T,type:"always",mode:"stored"},this}buildForeignKeys(T,$){return this.foreignKeyConfigs.map(({ref:J,actions:W})=>{return v4((X,Y)=>{let F=new jF(()=>{let G=X();return{columns:[T],foreignColumns:[G]}});if(Y.onUpdate)F.onUpdate(Y.onUpdate);if(Y.onDelete)F.onDelete(Y.onDelete);return F.build($)},J,W)})}buildExtraConfigColumn(T){return new VH(T,this.config)}}class P extends PT{constructor(T,$){if(!$.uniqueName)$.uniqueName=UH(T,[$.name]);super(T,$);this.table=T}static[O]="PgColumn"}class VH extends P{static[O]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(T){return this.indexConfig.opClass=T,this}}class C2{static[O]="IndexedColumn";constructor(T,$,J,W){this.name=T,this.keyAsName=$,this.type=J,this.indexConfig=W}name;keyAsName;type;indexConfig}class SH extends d{static[O]="PgArrayBuilder";constructor(T,$,J){super(T,"array","PgArray");this.config.baseBuilder=$,this.config.size=J}build(T){let $=this.config.baseBuilder.build(T);return new PF(T,this.config,$)}}class PF extends P{constructor(T,$,J,W){super(T,$);this.baseColumn=J,this.range=W,this.size=$.size}size;static[O]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(T){if(typeof T==="string")T=DH(T);return T.map(($)=>this.baseColumn.mapFromDriverValue($))}mapToDriverValue(T,$=!1){let J=T.map((W)=>W===null?null:L(this.baseColumn,PF)?this.baseColumn.mapToDriverValue(W,!0):this.baseColumn.mapToDriverValue(W));if($)return J;return xF(J)}}class RH extends d{static[O]="PgEnumObjectColumnBuilder";constructor(T,$){super(T,"string","PgEnumObjectColumn");this.config.enum=$}build(T){return new EH(T,this.config)}}class EH extends P{static[O]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(T,$){super(T,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}var h4=Symbol.for("drizzle:isPgEnum");function LH(T){return!!T&&typeof T==="function"&&h4 in T&&T[h4]===!0}class BH extends d{static[O]="PgEnumColumnBuilder";constructor(T,$){super(T,"string","PgEnumColumn");this.config.enum=$}build(T){return new fH(T,this.config)}}class fH extends P{static[O]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(T,$){super(T,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}function Z2(T,$){return Array.isArray($)?BD(T,[...$],void 0):fD(T,$,void 0)}function BD(T,$,J){let W=Object.assign((X)=>new BH(X??"",W),{enumName:T,enumValues:$,schema:J,[h4]:!0});return W}function fD(T,$,J){let W=Object.assign((X)=>new RH(X??"",W),{enumName:T,enumValues:Object.values($),schema:J,[h4]:!0});return W}class K${static[O]="Subquery";constructor(T,$,J,W=!1){this._={brand:"Subquery",sql:T,selectedFields:$,alias:J,isWith:W}}}class q2 extends K${static[O]="WithSubquery"}var NH="0.43.1";var bF,vF,bT={startActiveSpan(T,$){if(!bF)return $();if(!vF)vF=bF.trace.getTracer("drizzle-orm",NH);return v4((J,W)=>W.startActiveSpan(T,(X)=>{try{return $(X)}catch(Y){throw X.setStatus({code:J.SpanStatusCode.ERROR,message:Y instanceof Error?Y.message:"Unknown error"}),Y}finally{X.end()}}),bF,vF)}};var pT=Symbol.for("drizzle:ViewBaseConfig");var g4=Symbol.for("drizzle:Schema"),m4=Symbol.for("drizzle:Columns"),CH=Symbol.for("drizzle:ExtraConfigColumns"),hF=Symbol.for("drizzle:OriginalName"),gF=Symbol.for("drizzle:BaseName"),k2=Symbol.for("drizzle:IsAlias"),ZH=Symbol.for("drizzle:ExtraConfigBuilder"),ND=Symbol.for("drizzle:IsDrizzleTable");class u{static[O]="Table";static Symbol={Name:PJ,Schema:g4,OriginalName:hF,Columns:m4,ExtraConfigColumns:CH,BaseName:gF,IsAlias:k2,ExtraConfigBuilder:ZH};[PJ];[hF];[g4];[m4];[CH];[gF];[k2]=!1;[ND]=!0;[ZH]=void 0;constructor(T,$,J){this[PJ]=this[hF]=T,this[g4]=$,this[gF]=J}}function B$(T){return T[PJ]}function h0(T){return`${T[g4]??"public"}.${T[PJ]}`}function mF(T){return T!==null&&T!==void 0&&typeof T.getSQL==="function"}function CD(T){let $={sql:"",params:[]};for(let J of T)if($.sql+=J.sql,$.params.push(...J.params),J.typings?.length){if(!$.typings)$.typings=[];$.typings.push(...J.typings)}return $}class D${static[O]="StringChunk";value;constructor(T){this.value=Array.isArray(T)?T:[T]}getSQL(){return new c([this])}}class c{constructor(T){this.queryChunks=T}static[O]="SQL";decoder=kH;shouldInlineParams=!1;append(T){return this.queryChunks.push(...T.queryChunks),this}toQuery(T){return bT.startActiveSpan("drizzle.buildSQL",($)=>{let J=this.buildQueryFromSourceParams(this.queryChunks,T);return $?.setAttributes({"drizzle.query.text":J.sql,"drizzle.query.params":JSON.stringify(J.params)}),J})}buildQueryFromSourceParams(T,$){let J=Object.assign({},$,{inlineParams:$.inlineParams||this.shouldInlineParams,paramStartIndex:$.paramStartIndex||{value:0}}),{casing:W,escapeName:X,escapeParam:Y,prepareTyping:F,inlineParams:G,paramStartIndex:H}=J;return CD(T.map((M)=>{if(L(M,D$))return{sql:M.value.join(""),params:[]};if(L(M,p4))return{sql:X(M.value),params:[]};if(M===void 0)return{sql:"",params:[]};if(Array.isArray(M)){let A=[new D$("(")];for(let[z,w]of M.entries())if(A.push(w),z<M.length-1)A.push(new D$(", "));return A.push(new D$(")")),this.buildQueryFromSourceParams(A,J)}if(L(M,c))return this.buildQueryFromSourceParams(M.queryChunks,{...J,inlineParams:G||M.shouldInlineParams});if(L(M,u)){let A=M[u.Symbol.Schema],z=M[u.Symbol.Name];return{sql:A===void 0||M[k2]?X(z):X(A)+"."+X(z),params:[]}}if(L(M,PT)){let A=W.getColumnCasing(M);if($.invokeSource==="indexes")return{sql:X(A),params:[]};let z=M.table[u.Symbol.Schema];return{sql:M.table[k2]||z===void 0?X(M.table[u.Symbol.Name])+"."+X(A):X(z)+"."+X(M.table[u.Symbol.Name])+"."+X(A),params:[]}}if(L(M,a$)){let A=M[pT].schema,z=M[pT].name;return{sql:A===void 0||M[pT].isAlias?X(z):X(A)+"."+X(z),params:[]}}if(L(M,AJ)){if(L(M.value,i1))return{sql:Y(H.value++,M),params:[M],typings:["none"]};let A=M.value===null?null:M.encoder.mapToDriverValue(M.value);if(L(A,c))return this.buildQueryFromSourceParams([A],J);if(G)return{sql:this.mapInlineParam(A,J),params:[]};let z=["none"];if(F)z=[F(M.encoder)];return{sql:Y(H.value++,A),params:[A],typings:z}}if(L(M,i1))return{sql:Y(H.value++,M),params:[M],typings:["none"]};if(L(M,c.Aliased)&&M.fieldAlias!==void 0)return{sql:X(M.fieldAlias),params:[]};if(L(M,K$)){if(M._.isWith)return{sql:X(M._.alias),params:[]};return this.buildQueryFromSourceParams([new D$("("),M._.sql,new D$(") "),new p4(M._.alias)],J)}if(LH(M)){if(M.schema)return{sql:X(M.schema)+"."+X(M.enumName),params:[]};return{sql:X(M.enumName),params:[]}}if(mF(M)){if(M.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([M.getSQL()],J);return this.buildQueryFromSourceParams([new D$("("),M.getSQL(),new D$(")")],J)}if(G)return{sql:this.mapInlineParam(M,J),params:[]};return{sql:Y(H.value++,M),params:[M],typings:["none"]}}))}mapInlineParam(T,{escapeString:$}){if(T===null)return"null";if(typeof T==="number"||typeof T==="boolean")return T.toString();if(typeof T==="string")return $(T);if(typeof T==="object"){let J=T.toString();if(J==="[object Object]")return $(JSON.stringify(T));return $(J)}throw new Error("Unexpected param value: "+T)}getSQL(){return this}as(T){if(T===void 0)return this;return new c.Aliased(this,T)}mapWith(T){return this.decoder=typeof T==="function"?{mapFromDriverValue:T}:T,this}inlineParams(){return this.shouldInlineParams=!0,this}if(T){return T?this:void 0}}class p4{constructor(T){this.value=T}static[O]="Name";brand;getSQL(){return new c([this])}}function qH(T){return typeof T==="object"&&T!==null&&"mapToDriverValue"in T&&typeof T.mapToDriverValue==="function"}var kH={mapFromDriverValue:(T)=>T},yH={mapToDriverValue:(T)=>T},Sc={...kH,...yH};class AJ{constructor(T,$=yH){this.value=T,this.encoder=$}static[O]="Param";brand;getSQL(){return new c([this])}}function U(T,...$){let J=[];if($.length>0||T.length>0&&T[0]!=="")J.push(new D$(T[0]));for(let[W,X]of $.entries())J.push(X,new D$(T[W+1]));return new c(J)}((T)=>{function $(){return new c([])}T.empty=$;function J(H){return new c(H)}T.fromList=J;function W(H){return new c([new D$(H)])}T.raw=W;function X(H,M){let A=[];for(let[z,w]of H.entries()){if(z>0&&M!==void 0)A.push(M);A.push(w)}return new c(A)}T.join=X;function Y(H){return new p4(H)}T.identifier=Y;function F(H){return new i1(H)}T.placeholder=F;function G(H,M){return new AJ(H,M)}T.param=G})(U||(U={}));((T)=>{class ${constructor(J,W){this.sql=J,this.fieldAlias=W}static[O]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}T.Aliased=$})(c||(c={}));class i1{constructor(T){this.name=T}static[O]="Placeholder";getSQL(){return new c([this])}}function pF(T,$){return T.map((J)=>{if(L(J,i1)){if(!(J.name in $))throw new Error(`No value for placeholder "${J.name}" was provided`);return $[J.name]}if(L(J,AJ)&&L(J.value,i1)){if(!(J.value.name in $))throw new Error(`No value for placeholder "${J.value.name}" was provided`);return J.encoder.mapToDriverValue($[J.value.name])}return J})}var ZD=Symbol.for("drizzle:IsDrizzleView");class a${static[O]="View";[pT];[ZD]=!0;constructor({name:T,schema:$,selectedFields:J,query:W}){this[pT]={name:T,originalName:T,schema:$,selectedFields:J,query:W,isExisting:!W,isAlias:!1}}getSQL(){return new c([this])}}PT.prototype.getSQL=function(){return new c([this])};u.prototype.getSQL=function(){return new c([this])};K$.prototype.getSQL=function(){return new c([this])};class hW{constructor(T){this.table=T}static[O]="ColumnAliasProxyHandler";get(T,$){if($==="table")return this.table;return T[$]}}class y2{constructor(T,$){this.alias=T,this.replaceOriginalName=$}static[O]="TableAliasProxyHandler";get(T,$){if($===u.Symbol.IsAlias)return!0;if($===u.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===u.Symbol.OriginalName)return this.alias;if($===pT)return{...T[pT],name:this.alias,isAlias:!0};if($===u.Symbol.Columns){let W=T[u.Symbol.Columns];if(!W)return W;let X={};return Object.keys(W).map((Y)=>{X[Y]=new Proxy(W[Y],new hW(new Proxy(T,this)))}),X}let J=T[$];if(L(J,PT))return new Proxy(J,new hW(new Proxy(T,this)));return J}}function u4(T,$){return new Proxy(T,new y2($,!1))}function sJ(T,$){return new Proxy(T,new hW(new Proxy(T.table,new y2($,!1))))}function uF(T,$){return new c.Aliased(I2(T.sql,$),T.fieldAlias)}function I2(T,$){return U.join(T.queryChunks.map((J)=>{if(L(J,PT))return sJ(J,$);if(L(J,c))return I2(J,$);if(L(J,c.Aliased))return uF(J,$);return J}))}class c4 extends Error{static[O]="DrizzleError";constructor({message:T,cause:$}){super(T);this.name="DrizzleError",this.cause=$}}class cF extends c4{static[O]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class IH{static[O]="ConsoleLogWriter";write(T){console.log(T)}}class oF{static[O]="DefaultLogger";writer;constructor(T){this.writer=T?.writer??new IH}logQuery(T,$){let J=$.map((X)=>{try{return JSON.stringify(X)}catch{return String(X)}}),W=J.length?` -- params: [${J.join(", ")}]`:"";this.writer.write(`Query: ${T}${W}`)}}class dF{static[O]="NoopLogger";logQuery(){}}class p${static[O]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(T){return this.then(void 0,T)}finally(T){return this.then(($)=>{return T?.(),$},($)=>{throw T?.(),$})}then(T,$){return this.execute().then(T,$)}}function jH(T,$,J){let W={},X=T.reduce((Y,{path:F,field:G},H)=>{let M;if(L(G,PT))M=G;else if(L(G,c))M=G.decoder;else M=G.sql.decoder;let A=Y;for(let[z,w]of F.entries())if(z<F.length-1){if(!(w in A))A[w]={};A=A[w]}else{let _=$[H],K=A[w]=_===null?null:M.mapFromDriverValue(_);if(J&&L(G,PT)&&F.length===2){let V=F[0];if(!(V in W))W[V]=K===null?B$(G.table):!1;else if(typeof W[V]==="string"&&W[V]!==B$(G.table))W[V]=!1}}return Y},{});if(J&&Object.keys(W).length>0){for(let[Y,F]of Object.entries(W))if(typeof F==="string"&&!J[F])X[Y]=null}return X}function SJ(T,$){return Object.entries(T).reduce((J,[W,X])=>{if(typeof W!=="string")return J;let Y=$?[...$,W]:[W];if(L(X,PT)||L(X,c)||L(X,c.Aliased))J.push({path:Y,field:X});else if(L(X,u))J.push(...SJ(X[u.Symbol.Columns],Y));else J.push(...SJ(X,Y));return J},[])}function j2(T,$){let J=Object.keys(T),W=Object.keys($);if(J.length!==W.length)return!1;for(let[X,Y]of J.entries())if(Y!==W[X])return!1;return!0}function o4(T,$){let J=Object.entries($).filter(([,W])=>W!==void 0).map(([W,X])=>{if(L(X,c)||L(X,PT))return[W,X];else return[W,new AJ(X,T[u.Symbol.Columns][W])]});if(J.length===0)throw new Error("No values to set");return Object.fromEntries(J)}function xH(T,$){for(let J of $)for(let W of Object.getOwnPropertyNames(J.prototype)){if(W==="constructor")continue;Object.defineProperty(T.prototype,W,Object.getOwnPropertyDescriptor(J.prototype,W)||Object.create(null))}}function PH(T){return T[u.Symbol.Columns]}function R1(T){return L(T,K$)?T._.alias:L(T,a$)?T[pT].name:L(T,c)?void 0:T[u.Symbol.IsAlias]?T[u.Symbol.Name]:T[u.Symbol.BaseName]}function ST(T,$){return{name:typeof T==="string"&&T.length>0?T:"",config:typeof T==="object"?T:$}}function bH(T){if(typeof T!=="object"||T===null)return!1;if(T.constructor.name!=="Object")return!1;if("logger"in T){let $=typeof T.logger;if($!=="boolean"&&($!=="object"||typeof T.logger.logQuery!=="function")&&$!=="undefined")return!1;return!0}if("schema"in T){let $=typeof T.schema;if($!=="object"&&$!=="undefined")return!1;return!0}if("casing"in T){let $=typeof T.casing;if($!=="string"&&$!=="undefined")return!1;return!0}if("mode"in T){if(T.mode!=="default"||T.mode!=="planetscale"||T.mode!==void 0)return!1;return!0}if("connection"in T){let $=typeof T.connection;if($!=="string"&&$!=="object"&&$!=="undefined")return!1;return!0}if("client"in T){let $=typeof T.client;if($!=="object"&&$!=="function"&&$!=="undefined")return!1;return!0}if(Object.keys(T).length===0)return!0;return!1}class t1 extends d{static[O]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(T){if(T){let{name:$,...J}=T;this.config.generatedIdentity={type:"always",sequenceName:$,sequenceOptions:J}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(T){if(T){let{name:$,...J}=T;this.config.generatedIdentity={type:"byDefault",sequenceName:$,sequenceOptions:J}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class vH extends t1{static[O]="PgBigInt53Builder";constructor(T){super(T,"number","PgBigInt53")}build(T){return new hH(T,this.config)}}class hH extends P{static[O]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class gH extends t1{static[O]="PgBigInt64Builder";constructor(T){super(T,"bigint","PgBigInt64")}build(T){return new mH(T,this.config)}}class mH extends P{static[O]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(T){return BigInt(T)}}function pH(T,$){let{name:J,config:W}=ST(T,$);if(W.mode==="number")return new vH(J);return new gH(J)}class uH extends d{static[O]="PgBigSerial53Builder";constructor(T){super(T,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new cH(T,this.config)}}class cH extends P{static[O]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class oH extends d{static[O]="PgBigSerial64Builder";constructor(T){super(T,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(T){return new dH(T,this.config)}}class dH extends P{static[O]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(T){return BigInt(T)}}function lH(T,$){let{name:J,config:W}=ST(T,$);if(W.mode==="number")return new uH(J);return new oH(J)}class nH extends d{static[O]="PgBooleanBuilder";constructor(T){super(T,"boolean","PgBoolean")}build(T){return new iH(T,this.config)}}class iH extends P{static[O]="PgBoolean";getSQLType(){return"boolean"}}function x2(T){return new nH(T??"")}class tH extends d{static[O]="PgCharBuilder";constructor(T,$){super(T,"string","PgChar");this.config.length=$.length,this.config.enumValues=$.enum}build(T){return new rH(T,this.config)}}class rH extends P{static[O]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function aH(T,$={}){let{name:J,config:W}=ST(T,$);return new tH(J,W)}class sH extends d{static[O]="PgCidrBuilder";constructor(T){super(T,"string","PgCidr")}build(T){return new eH(T,this.config)}}class eH extends P{static[O]="PgCidr";getSQLType(){return"cidr"}}function TM(T){return new sH(T??"")}class $M extends d{static[O]="PgCustomColumnBuilder";constructor(T,$,J){super(T,"custom","PgCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=J}build(T){return new JM(T,this.config)}}class JM extends P{static[O]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(T,$){super(T,$);this.sqlName=$.customTypeParams.dataType($.fieldConfig),this.mapTo=$.customTypeParams.toDriver,this.mapFrom=$.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(T){return typeof this.mapFrom==="function"?this.mapFrom(T):T}mapToDriverValue(T){return typeof this.mapTo==="function"?this.mapTo(T):T}}function WM(T){return($,J)=>{let{name:W,config:X}=ST($,J);return new $M(W,X,T)}}class E1 extends d{static[O]="PgDateColumnBaseBuilder";defaultNow(){return this.default(U`now()`)}}class XM extends E1{static[O]="PgDateBuilder";constructor(T){super(T,"date","PgDate")}build(T){return new d4(T,this.config)}}class d4 extends P{static[O]="PgDate";getSQLType(){return"date"}mapFromDriverValue(T){return new Date(T)}mapToDriverValue(T){return T.toISOString()}}class YM extends E1{static[O]="PgDateStringBuilder";constructor(T){super(T,"string","PgDateString")}build(T){return new l4(T,this.config)}}class l4 extends P{static[O]="PgDateString";getSQLType(){return"date"}}function FM(T,$){let{name:J,config:W}=ST(T,$);if(W?.mode==="date")return new XM(J);return new YM(J)}class GM extends d{static[O]="PgDoublePrecisionBuilder";constructor(T){super(T,"number","PgDoublePrecision")}build(T){return new HM(T,this.config)}}class HM extends P{static[O]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseFloat(T);return T}}function MM(T){return new GM(T??"")}class AM extends d{static[O]="PgInetBuilder";constructor(T){super(T,"string","PgInet")}build(T){return new zM(T,this.config)}}class zM extends P{static[O]="PgInet";getSQLType(){return"inet"}}function wM(T){return new AM(T??"")}class QM extends t1{static[O]="PgIntegerBuilder";constructor(T){super(T,"number","PgInteger")}build(T){return new OM(T,this.config)}}class OM extends P{static[O]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseInt(T);return T}}function P2(T){return new QM(T??"")}class UM extends d{static[O]="PgIntervalBuilder";constructor(T,$){super(T,"string","PgInterval");this.config.intervalConfig=$}build(T){return new _M(T,this.config)}}class _M extends P{static[O]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let T=this.fields?` ${this.fields}`:"",$=this.precision?`(${this.precision})`:"";return`interval${T}${$}`}}function KM(T,$={}){let{name:J,config:W}=ST(T,$);return new UM(J,W)}class DM extends d{static[O]="PgJsonBuilder";constructor(T){super(T,"json","PgJson")}build(T){return new n4(T,this.config)}}class n4 extends P{static[O]="PgJson";constructor(T,$){super(T,$)}getSQLType(){return"json"}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){if(typeof T==="string")try{return JSON.parse(T)}catch{return T}return T}}function VM(T){return new DM(T??"")}class SM extends d{static[O]="PgJsonbBuilder";constructor(T){super(T,"json","PgJsonb")}build(T){return new i4(T,this.config)}}class i4 extends P{static[O]="PgJsonb";constructor(T,$){super(T,$)}getSQLType(){return"jsonb"}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){if(typeof T==="string")try{return JSON.parse(T)}catch{return T}return T}}function RM(T){return new SM(T??"")}class EM extends d{static[O]="PgLineBuilder";constructor(T){super(T,"array","PgLine")}build(T){return new LM(T,this.config)}}class LM extends P{static[O]="PgLine";getSQLType(){return"line"}mapFromDriverValue(T){let[$,J,W]=T.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(J),Number.parseFloat(W)]}mapToDriverValue(T){return`{${T[0]},${T[1]},${T[2]}}`}}class BM extends d{static[O]="PgLineABCBuilder";constructor(T){super(T,"json","PgLineABC")}build(T){return new fM(T,this.config)}}class fM extends P{static[O]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(T){let[$,J,W]=T.slice(1,-1).split(",");return{a:Number.parseFloat($),b:Number.parseFloat(J),c:Number.parseFloat(W)}}mapToDriverValue(T){return`{${T.a},${T.b},${T.c}}`}}function NM(T,$){let{name:J,config:W}=ST(T,$);if(!W?.mode||W.mode==="tuple")return new EM(J);return new BM(J)}class CM extends d{static[O]="PgMacaddrBuilder";constructor(T){super(T,"string","PgMacaddr")}build(T){return new ZM(T,this.config)}}class ZM extends P{static[O]="PgMacaddr";getSQLType(){return"macaddr"}}function qM(T){return new CM(T??"")}class kM extends d{static[O]="PgMacaddr8Builder";constructor(T){super(T,"string","PgMacaddr8")}build(T){return new yM(T,this.config)}}class yM extends P{static[O]="PgMacaddr8";getSQLType(){return"macaddr8"}}function IM(T){return new kM(T??"")}class jM extends d{static[O]="PgNumericBuilder";constructor(T,$,J){super(T,"string","PgNumeric");this.config.precision=$,this.config.scale=J}build(T){return new t4(T,this.config)}}class t4 extends P{static[O]="PgNumeric";precision;scale;constructor(T,$){super(T,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(T){if(typeof T==="string")return T;return String(T)}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class xM extends d{static[O]="PgNumericNumberBuilder";constructor(T,$,J){super(T,"number","PgNumericNumber");this.config.precision=$,this.config.scale=J}build(T){return new PM(T,this.config)}}class PM extends P{static[O]="PgNumericNumber";precision;scale;constructor(T,$){super(T,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class bM extends d{static[O]="PgNumericBigIntBuilder";constructor(T,$,J){super(T,"bigint","PgNumericBigInt");this.config.precision=$,this.config.scale=J}build(T){return new vM(T,this.config)}}class vM extends P{static[O]="PgNumericBigInt";precision;scale;constructor(T,$){super(T,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function hM(T,$){let{name:J,config:W}=ST(T,$),X=W?.mode;return X==="number"?new xM(J,W?.precision,W?.scale):X==="bigint"?new bM(J,W?.precision,W?.scale):new jM(J,W?.precision,W?.scale)}class gM extends d{static[O]="PgPointTupleBuilder";constructor(T){super(T,"array","PgPointTuple")}build(T){return new mM(T,this.config)}}class mM extends P{static[O]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[$,J]=T.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(J)]}return[T.x,T.y]}mapToDriverValue(T){return`(${T[0]},${T[1]})`}}class pM extends d{static[O]="PgPointObjectBuilder";constructor(T){super(T,"json","PgPointObject")}build(T){return new uM(T,this.config)}}class uM extends P{static[O]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[$,J]=T.slice(1,-1).split(",");return{x:Number.parseFloat($),y:Number.parseFloat(J)}}return T}mapToDriverValue(T){return`(${T.x},${T.y})`}}function cM(T,$){let{name:J,config:W}=ST(T,$);if(!W?.mode||W.mode==="tuple")return new gM(J);return new pM(J)}function qD(T){let $=[];for(let J=0;J<T.length;J+=2)$.push(Number.parseInt(T.slice(J,J+2),16));return new Uint8Array($)}function oM(T,$){let J=new ArrayBuffer(8),W=new DataView(J);for(let X=0;X<8;X++)W.setUint8(X,T[$+X]);return W.getFloat64(0,!0)}function lF(T){let $=qD(T),J=0,W=$[J];J+=1;let X=new DataView($.buffer),Y=X.getUint32(J,W===1);J+=4;let F;if(Y&536870912)F=X.getUint32(J,W===1),J+=4;if((Y&65535)===1){let G=oM($,J);J+=8;let H=oM($,J);return J+=8,[G,H]}throw new Error("Unsupported geometry type")}class dM extends d{static[O]="PgGeometryBuilder";constructor(T){super(T,"array","PgGeometry")}build(T){return new lM(T,this.config)}}class lM extends P{static[O]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){return lF(T)}mapToDriverValue(T){return`point(${T[0]} ${T[1]})`}}class nM extends d{static[O]="PgGeometryObjectBuilder";constructor(T){super(T,"json","PgGeometryObject")}build(T){return new iM(T,this.config)}}class iM extends P{static[O]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){let $=lF(T);return{x:$[0],y:$[1]}}mapToDriverValue(T){return`point(${T.x} ${T.y})`}}function tM(T,$){let{name:J,config:W}=ST(T,$);if(!W?.mode||W.mode==="tuple")return new dM(J);return new nM(J)}class rM extends d{static[O]="PgRealBuilder";constructor(T,$){super(T,"number","PgReal");this.config.length=$}build(T){return new aM(T,this.config)}}class aM extends P{static[O]="PgReal";constructor(T,$){super(T,$)}getSQLType(){return"real"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number.parseFloat(T);return T}}function sM(T){return new rM(T??"")}class eM extends d{static[O]="PgSerialBuilder";constructor(T){super(T,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new TA(T,this.config)}}class TA extends P{static[O]="PgSerial";getSQLType(){return"serial"}}function $A(T){return new eM(T??"")}class JA extends t1{static[O]="PgSmallIntBuilder";constructor(T){super(T,"number","PgSmallInt")}build(T){return new WA(T,this.config)}}class WA extends P{static[O]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number(T);return T}}function XA(T){return new JA(T??"")}class YA extends d{static[O]="PgSmallSerialBuilder";constructor(T){super(T,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new FA(T,this.config)}}class FA extends P{static[O]="PgSmallSerial";getSQLType(){return"smallserial"}}function GA(T){return new YA(T??"")}class HA extends d{static[O]="PgTextBuilder";constructor(T,$){super(T,"string","PgText");this.config.enumValues=$.enum}build(T){return new MA(T,this.config)}}class MA extends P{static[O]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function AA(T,$={}){let{name:J,config:W}=ST(T,$);return new HA(J,W)}class zA extends E1{constructor(T,$,J){super(T,"string","PgTime");this.withTimezone=$,this.precision=J,this.config.withTimezone=$,this.config.precision=J}static[O]="PgTimeBuilder";build(T){return new r4(T,this.config)}}class r4 extends P{static[O]="PgTime";withTimezone;precision;constructor(T,$){super(T,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function wA(T,$={}){let{name:J,config:W}=ST(T,$);return new zA(J,W.withTimezone??!1,W.precision)}class QA extends E1{static[O]="PgTimestampBuilder";constructor(T,$,J){super(T,"date","PgTimestamp");this.config.withTimezone=$,this.config.precision=J}build(T){return new a4(T,this.config)}}class a4 extends P{static[O]="PgTimestamp";withTimezone;precision;constructor(T,$){super(T,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(T)=>{return new Date(this.withTimezone?T:T+"+0000")};mapToDriverValue=(T)=>{return T.toISOString()}}class OA extends E1{static[O]="PgTimestampStringBuilder";constructor(T,$,J){super(T,"string","PgTimestampString");this.config.withTimezone=$,this.config.precision=J}build(T){return new s4(T,this.config)}}class s4 extends P{static[O]="PgTimestampString";withTimezone;precision;constructor(T,$){super(T,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function bJ(T,$={}){let{name:J,config:W}=ST(T,$);if(W?.mode==="string")return new OA(J,W.withTimezone??!1,W.precision);return new QA(J,W?.withTimezone??!1,W?.precision)}class UA extends d{static[O]="PgUUIDBuilder";constructor(T){super(T,"string","PgUUID")}defaultRandom(){return this.default(U`gen_random_uuid()`)}build(T){return new e4(T,this.config)}}class e4 extends P{static[O]="PgUUID";getSQLType(){return"uuid"}}function RJ(T){return new UA(T??"")}class _A extends d{static[O]="PgVarcharBuilder";constructor(T,$){super(T,"string","PgVarchar");this.config.length=$.length,this.config.enumValues=$.enum}build(T){return new KA(T,this.config)}}class KA extends P{static[O]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function u$(T,$={}){let{name:J,config:W}=ST(T,$);return new _A(J,W)}class DA extends d{static[O]="PgBinaryVectorBuilder";constructor(T,$){super(T,"string","PgBinaryVector");this.config.dimensions=$.dimensions}build(T){return new VA(T,this.config)}}class VA extends P{static[O]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function SA(T,$){let{name:J,config:W}=ST(T,$);return new DA(J,W)}class RA extends d{static[O]="PgHalfVectorBuilder";constructor(T,$){super(T,"array","PgHalfVector");this.config.dimensions=$.dimensions}build(T){return new EA(T,this.config)}}class EA extends P{static[O]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){return T.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function LA(T,$){let{name:J,config:W}=ST(T,$);return new RA(J,W)}class BA extends d{static[O]="PgSparseVectorBuilder";constructor(T,$){super(T,"string","PgSparseVector");this.config.dimensions=$.dimensions}build(T){return new fA(T,this.config)}}class fA extends P{static[O]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function NA(T,$){let{name:J,config:W}=ST(T,$);return new BA(J,W)}class CA extends d{static[O]="PgVectorBuilder";constructor(T,$){super(T,"array","PgVector");this.config.dimensions=$.dimensions}build(T){return new ZA(T,this.config)}}class ZA extends P{static[O]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(T){return JSON.stringify(T)}mapFromDriverValue(T){return T.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function qA(T,$){let{name:J,config:W}=ST(T,$);return new CA(J,W)}function kA(){return{bigint:pH,bigserial:lH,boolean:x2,char:aH,cidr:TM,customType:WM,date:FM,doublePrecision:MM,inet:wM,integer:P2,interval:KM,json:VM,jsonb:RM,line:NM,macaddr:qM,macaddr8:IM,numeric:hM,point:cM,geometry:tM,real:sM,serial:$A,smallint:XA,smallserial:GA,text:AA,time:wA,timestamp:bJ,uuid:RJ,varchar:u$,bit:SA,halfvec:LA,sparsevec:NA,vector:qA}}var nF=Symbol.for("drizzle:PgInlineForeignKeys"),yA=Symbol.for("drizzle:EnableRLS");class Z$ extends u{static[O]="PgTable";static Symbol=Object.assign({},u.Symbol,{InlineForeignKeys:nF,EnableRLS:yA});[nF]=[];[yA]=!1;[u.Symbol.ExtraConfigBuilder]=void 0;[u.Symbol.ExtraConfigColumns]={}}function kD(T,$,J,W,X=T){let Y=new Z$(T,W,X),F=typeof $==="function"?$(kA()):$,G=Object.fromEntries(Object.entries(F).map(([A,z])=>{let w=z;w.setName(A);let _=w.build(Y);return Y[nF].push(...w.buildForeignKeys(_,Y)),[A,_]})),H=Object.fromEntries(Object.entries(F).map(([A,z])=>{let w=z;w.setName(A);let _=w.buildExtraConfigColumn(Y);return[A,_]})),M=Object.assign(Y,G);if(M[u.Symbol.Columns]=G,M[u.Symbol.ExtraConfigColumns]=H,J)M[Z$.Symbol.ExtraConfigBuilder]=J;return Object.assign(M,{enableRLS:()=>{return M[Z$.Symbol.EnableRLS]=!0,M}})}var r1=(T,$,J)=>{return kD(T,$,J,void 0)};function IA(...T){if(T[0].columns)return new b2(T[0].columns,T[0].name);return new b2(T)}class b2{static[O]="PgPrimaryKeyBuilder";columns;name;constructor(T,$){this.columns=T,this.name=$}build(T){return new jA(T,this.columns,this.name)}}class jA{constructor(T,$,J){this.table=T,this.columns=$,this.name=J}static[O]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[Z$.Symbol.Name]}_${this.columns.map((T)=>T.name).join("_")}_pk`}}function s$(T,$){if(qH($)&&!mF(T)&&!L(T,AJ)&&!L(T,i1)&&!L(T,PT)&&!L(T,u)&&!L(T,a$))return new AJ(T,$);return T}var T6=(T,$)=>{return U`${T} = ${s$($,T)}`},xA=(T,$)=>{return U`${T} <> ${s$($,T)}`};function v2(...T){let $=T.filter((J)=>J!==void 0);if($.length===0)return;if($.length===1)return new c($);return new c([new D$("("),U.join($,new D$(" and ")),new D$(")")])}function PA(...T){let $=T.filter((J)=>J!==void 0);if($.length===0)return;if($.length===1)return new c($);return new c([new D$("("),U.join($,new D$(" or ")),new D$(")")])}function bA(T){return U`not ${T}`}var $6=(T,$)=>{return U`${T} > ${s$($,T)}`},vA=(T,$)=>{return U`${T} >= ${s$($,T)}`},hA=(T,$)=>{return U`${T} < ${s$($,T)}`},gA=(T,$)=>{return U`${T} <= ${s$($,T)}`};function mA(T,$){if(Array.isArray($)){if($.length===0)return U`false`;return U`${T} in ${$.map((J)=>s$(J,T))}`}return U`${T} in ${s$($,T)}`}function pA(T,$){if(Array.isArray($)){if($.length===0)return U`true`;return U`${T} not in ${$.map((J)=>s$(J,T))}`}return U`${T} not in ${s$($,T)}`}function uA(T){return U`${T} is null`}function cA(T){return U`${T} is not null`}function oA(T){return U`exists ${T}`}function dA(T){return U`not exists ${T}`}function lA(T,$,J){return U`${T} between ${s$($,T)} and ${s$(J,T)}`}function nA(T,$,J){return U`${T} not between ${s$($,T)} and ${s$(J,T)}`}function iA(T,$){return U`${T} like ${$}`}function tA(T,$){return U`${T} not like ${$}`}function rA(T,$){return U`${T} ilike ${$}`}function aA(T,$){return U`${T} not ilike ${$}`}function sA(T){return U`${T} asc`}function eA(T){return U`${T} desc`}class iF{constructor(T,$,J){this.sourceTable=T,this.referencedTable=$,this.relationName=J,this.referencedTableName=$[u.Symbol.Name]}static[O]="Relation";referencedTableName;fieldName}class Tz{constructor(T,$){this.table=T,this.config=$}static[O]="Relations"}class a1 extends iF{constructor(T,$,J,W){super(T,$,J?.relationName);this.config=J,this.isNullable=W}static[O]="One";withFieldName(T){let $=new a1(this.sourceTable,this.referencedTable,this.config,this.isNullable);return $.fieldName=T,$}}class h2 extends iF{constructor(T,$,J){super(T,$,J?.relationName);this.config=J}static[O]="Many";withFieldName(T){let $=new h2(this.sourceTable,this.referencedTable,this.config);return $.fieldName=T,$}}function $z(){return{and:v2,between:lA,eq:T6,exists:oA,gt:$6,gte:vA,ilike:rA,inArray:mA,isNull:uA,isNotNull:cA,like:iA,lt:hA,lte:gA,ne:xA,not:bA,notBetween:nA,notExists:dA,notLike:tA,notIlike:aA,notInArray:pA,or:PA,sql:U}}function Jz(){return{sql:U,asc:sA,desc:eA}}function Wz(T,$){if(Object.keys(T).length===1&&"default"in T&&!L(T.default,u))T=T.default;let J={},W={},X={};for(let[Y,F]of Object.entries(T))if(L(F,u)){let G=h0(F),H=W[G];J[G]=Y,X[Y]={tsName:Y,dbName:F[u.Symbol.Name],schema:F[u.Symbol.Schema],columns:F[u.Symbol.Columns],relations:H?.relations??{},primaryKey:H?.primaryKey??[]};for(let A of Object.values(F[u.Symbol.Columns]))if(A.primary)X[Y].primaryKey.push(A);let M=F[u.Symbol.ExtraConfigBuilder]?.(F[u.Symbol.ExtraConfigColumns]);if(M){for(let A of Object.values(M))if(L(A,b2))X[Y].primaryKey.push(...A.columns)}}else if(L(F,Tz)){let G=h0(F.table),H=J[G],M=F.config($(F.table)),A;for(let[z,w]of Object.entries(M))if(H){let _=X[H];if(_.relations[z]=w,A)_.primaryKey.push(...A)}else{if(!(G in W))W[G]={relations:{},primaryKey:A};W[G].relations[z]=w}}return{tables:X,tableNamesMap:J}}function yD(T){return function $(J,W){return new a1(T,J,W,W?.fields.reduce((X,Y)=>X&&Y.notNull,!0)??!1)}}function ID(T){return function $(J,W){return new h2(T,J,W)}}function Xz(T,$,J){if(L(J,a1)&&J.config)return{fields:J.config.fields,references:J.config.references};let W=$[h0(J.referencedTable)];if(!W)throw new Error(`Table "${J.referencedTable[u.Symbol.Name]}" not found in schema`);let X=T[W];if(!X)throw new Error(`Table "${W}" not found in schema`);let Y=J.sourceTable,F=$[h0(Y)];if(!F)throw new Error(`Table "${Y[u.Symbol.Name]}" not found in schema`);let G=[];for(let H of Object.values(X.relations))if(J.relationName&&J!==H&&H.relationName===J.relationName||!J.relationName&&H.referencedTable===J.sourceTable)G.push(H);if(G.length>1)throw J.relationName?new Error(`There are multiple relations with name "${J.relationName}" in table "${W}"`):new Error(`There are multiple relations between "${W}" and "${J.sourceTable[u.Symbol.Name]}". Please specify relation name`);if(G[0]&&L(G[0],a1)&&G[0].config)return{fields:G[0].config.references,references:G[0].config.fields};throw new Error(`There is not enough information to infer relation "${F}.${J.fieldName}"`)}function Yz(T){return{one:yD(T),many:ID(T)}}function J6(T,$,J,W,X=(Y)=>Y){let Y={};for(let[F,G]of W.entries())if(G.isJson){let H=$.relations[G.tsKey],M=J[F],A=typeof M==="string"?JSON.parse(M):M;Y[G.tsKey]=L(H,a1)?A&&J6(T,T[G.relationTableTsKey],A,G.selection,X):A.map((z)=>J6(T,T[G.relationTableTsKey],z,G.selection,X))}else{let H=X(J[F]),M=G.field,A;if(L(M,PT))A=M;else if(L(M,c))A=M.decoder;else A=M.sql.decoder;Y[G.tsKey]=H===null?null:A.mapFromDriverValue(H)}return Y}import RL from"path";import JV from"os";import WV from"fs";var W6=new Map,tF=new Map,rF=Symbol("OriginError"),gW={};class EJ extends Promise{constructor(T,$,J,W,X={}){let Y,F;super((G,H)=>{Y=G,F=H});this.tagged=Array.isArray(T.raw),this.strings=T,this.args=$,this.handler=J,this.canceller=W,this.options=X,this.state=null,this.statement=null,this.resolve=(G)=>(this.active=!1,Y(G)),this.reject=(G)=>(this.active=!1,F(G)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[rF]=this.handler.debug?new Error:this.tagged&&jD(this.strings)}get origin(){return(this.handler.debug?this[rF].stack:this.tagged&&tF.has(this.strings)?tF.get(this.strings):tF.set(this.strings,this[rF].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(T=1,$){if(this.options.simple=!1,typeof T==="function")$=T,T=1;if(this.cursorRows=T,typeof $==="function")return this.cursorFn=$,this;let J;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};J&&J();let W=new Promise((X,Y)=>{this.cursorFn=(F)=>{return X({value:F,done:!1}),new Promise((G)=>J=G)},this.resolve=()=>(this.active=!1,X({done:!0})),this.reject=(F)=>(this.active=!1,Y(F))});return this.execute(),W},return(){return J&&J(gW),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(T){return this.forEachFn=T,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function jD(T){if(W6.has(T))return W6.get(T);let $=Error.stackTraceLimit;return Error.stackTraceLimit=4,W6.set(T,new Error),Error.stackTraceLimit=$,W6.get(T)}class mW extends Error{constructor(T){super(T.message);this.name=this.constructor.name,Object.assign(this,T)}}var F$={connection:Fz,postgres:Gz,generic:Hz,notSupported:Mz};function Fz(T,$,J){let{host:W,port:X}=J||$,Y=Object.assign(new Error("write "+T+" "+($.path||W+":"+X)),{code:T,errno:T,address:$.path||W},$.path?{}:{port:X});return Error.captureStackTrace(Y,Fz),Y}function Gz(T){let $=new mW(T);return Error.captureStackTrace($,Gz),$}function Hz(T,$){let J=Object.assign(new Error(T+": "+$),{code:T});return Error.captureStackTrace(J,Hz),J}function Mz(T){let $=Object.assign(new Error(T+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:T});return Error.captureStackTrace($,Mz),$}var xD={string:{to:25,from:null,serialize:(T)=>""+T},number:{to:0,from:[21,23,26,700,701],serialize:(T)=>""+T,parse:(T)=>+T},json:{to:114,from:[114,3802],serialize:(T)=>JSON.stringify(T),parse:(T)=>JSON.parse(T)},boolean:{to:16,from:16,serialize:(T)=>T===!0?"t":"f",parse:(T)=>T==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(T)=>(T instanceof Date?T:new Date(T)).toISOString(),parse:(T)=>new Date(T)},bytea:{to:17,from:17,serialize:(T)=>"\\x"+Buffer.from(T).toString("hex"),parse:(T)=>Buffer.from(T.slice(2),"hex")}};class F6{then(){aF()}catch(){aF()}finally(){aF()}}class u2 extends F6{constructor(T){super();this.value=M6(T)}}class eJ extends F6{constructor(T,$,J){super();this.value=T,this.type=$,this.array=J}}class G6 extends F6{constructor(T,$){super();this.first=T,this.rest=$}build(T,$,J,W){let X=PD.map(([Y,F])=>({fn:F,i:T.search(Y)})).sort((Y,F)=>Y.i-F.i).pop();return X.i===-1?J9(this.first,W):X.fn(this.first,this.rest,$,J,W)}}function H6(T,$,J,W){let X=T instanceof eJ?T.value:T;if(X===void 0){if(T instanceof eJ?T.value=W.transform.undefined:X=T=W.transform.undefined,X===void 0)throw F$.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+J.push(T instanceof eJ?($.push(T.value),T.array?T.array[T.type||Y6(T.value)]||T.type||Qz(T.value):T.type):($.push(T),Y6(T)))}var zz=Uz(xD);function T9(T,$,J,W,X,Y){for(let F=1;F<T.strings.length;F++)$+=$9($,J,W,X,Y)+T.strings[F],J=T.args[F];return $}function $9(T,$,J,W,X){return $ instanceof G6?$.build(T,J,W,X):$ instanceof EJ?eF($,J,W,X):$ instanceof u2?$.value:$&&$[0]instanceof EJ?$.reduce((Y,F)=>Y+" "+eF(F,J,W,X),""):H6($,J,W,X)}function eF(T,$,J,W){return T.fragment=!0,T9(T,T.strings[0],T.args[0],$,J,W)}function wz(T,$,J,W,X){return T.map((Y)=>"("+W.map((F)=>$9("values",Y[F],$,J,X)).join(",")+")").join(",")}function Az(T,$,J,W,X){let Y=Array.isArray(T[0]),F=$.length?$.flat():Object.keys(Y?T[0]:T);return wz(Y?T:[T],J,W,F,X)}function X6(T,$,J,W,X){if(typeof T==="string"&&(T=[T].concat($)),Array.isArray(T))return J9(T,X);let Y;return($.length?$.flat():Object.keys(T)).map((G)=>{return Y=T[G],(Y instanceof EJ?eF(Y,J,W,X):Y instanceof u2?Y.value:H6(Y,J,W,X))+" as "+M6(X.transform.column.to?X.transform.column.to(G):G)}).join(",")}var PD=Object.entries({values:Az,in:(...T)=>{let $=Az(...T);return $==="()"?"(null)":$},select:X6,as:X6,returning:X6,"\\(":X6,update(T,$,J,W,X){return($.length?$.flat():Object.keys(T)).map((Y)=>M6(X.transform.column.to?X.transform.column.to(Y):Y)+"="+$9("values",T[Y],J,W,X))},insert(T,$,J,W,X){let Y=$.length?$.flat():Object.keys(Array.isArray(T)?T[0]:T);return"("+J9(Y,X)+")values"+wz(Array.isArray(T)?T:[T],J,W,Y,X)}}).map(([T,$])=>[new RegExp("((?:^|[\\s(])"+T+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),$]);function aF(){throw F$.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:bD,parsers:vD}=zz;function Qz(T){if(Array.isArray(T))return Qz(T[0]);return typeof T==="string"?1009:0}var Oz=function(T){let $=Uz(T||{});return{serializers:Object.assign({},bD,$.serializers),parsers:Object.assign({},vD,$.parsers)}};function Uz(T){return Object.keys(T).reduce(($,J)=>{if(T[J].from&&[].concat(T[J].from).forEach((W)=>$.parsers[W]=T[J].parse),T[J].serialize)$.serializers[T[J].to]=T[J].serialize,T[J].from&&[].concat(T[J].from).forEach((W)=>$.serializers[W]=T[J].serialize);return $},{parsers:{},serializers:{}})}function J9(T,{transform:{column:$}}){return T.map((J)=>M6($.to?$.to(J):J)).join(",")}var M6=function T($){return'"'+$.replace(/"/g,'""').replace(/\./g,'"."')+'"'},Y6=function T($){return $ instanceof eJ?$.type:$ instanceof Date?1184:$ instanceof Uint8Array?17:$===!0||$===!1?16:typeof $==="bigint"?20:Array.isArray($)?T($[0]):0},hD=/\\/g,gD=/"/g;function mD(T){return T.replace(hD,"\\\\").replace(gD,"\\\"")}var _z=function T($,J,W,X){if(Array.isArray($)===!1)return $;if(!$.length)return"{}";let Y=$[0],F=X===1020?";":",";if(Array.isArray(Y)&&!Y.type)return"{"+$.map((G)=>T(G,J,W,X)).join(F)+"}";return"{"+$.map((G)=>{if(G===void 0){if(G=W.transform.undefined,G===void 0)throw F$.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return G===null?"null":'"'+mD(J?J(G.type?G.value:G):""+G)+'"'}).join(F)+"}"},sF={i:0,char:null,str:"",quoted:!1,last:0},Kz=function T($,J,W){return sF.i=sF.last=0,Dz(sF,$,J,W)};function Dz(T,$,J,W){let X=[],Y=W===1020?";":",";for(;T.i<$.length;T.i++){if(T.char=$[T.i],T.quoted)if(T.char==="\\")T.str+=$[++T.i];else if(T.char==='"')X.push(J?J(T.str):T.str),T.str="",T.quoted=$[T.i+1]==='"',T.last=T.i+2;else T.str+=T.char;else if(T.char==='"')T.quoted=!0;else if(T.char==="{")T.last=++T.i,X.push(Dz(T,$,J,W));else if(T.char==="}"){T.quoted=!1,T.last<T.i&&X.push(J?J($.slice(T.last,T.i)):$.slice(T.last,T.i)),T.last=T.i+1;break}else if(T.char===Y&&T.p!=="}"&&T.p!=='"')X.push(J?J($.slice(T.last,T.i)):$.slice(T.last,T.i)),T.last=T.i+1;T.p=T.char}return T.last<T.i&&X.push(J?J($.slice(T.last,T.i+1)):$.slice(T.last,T.i+1)),X}var g0=(T)=>{let $=T[0];for(let J=1;J<T.length;J++)$+=T[J]==="_"?T[++J].toUpperCase():T[J];return $},m0=(T)=>{let $=T[0].toUpperCase();for(let J=1;J<T.length;J++)$+=T[J]==="_"?T[++J].toUpperCase():T[J];return $},p0=(T)=>T.replace(/_/g,"-"),g2=(T)=>T.replace(/([A-Z])/g,"_$1").toLowerCase(),m2=(T)=>(T.slice(0,1)+T.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),p2=(T)=>T.replace(/-/g,"_");function W9(T){return function $(J,W){return typeof J==="object"&&J!==null&&(W.type===114||W.type===3802)?Array.isArray(J)?J.map((X)=>$(X,W)):Object.entries(J).reduce((X,[Y,F])=>Object.assign(X,{[T(Y)]:$(F,W)}),{}):J}}g0.column={from:g0};g0.value={from:W9(g0)};g2.column={to:g2};var X9={...g0};X9.column.to=g2;m0.column={from:m0};m0.value={from:W9(m0)};m2.column={to:m2};var Y9={...m0};Y9.column.to=m2;p0.column={from:p0};p0.value={from:W9(p0)};p2.column={to:p2};var F9={...p0};F9.column.to=p2;import Vz from"net";import oD from"tls";import c2 from"crypto";import G9 from"stream";import{performance as Sz}from"perf_hooks";class u0 extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var zJ=pD;function pD(T=[]){let $=T.slice(),J=0;return{get length(){return $.length-J},remove:(W)=>{let X=$.indexOf(W);return X===-1?null:($.splice(X,1),W)},push:(W)=>($.push(W),W),shift:()=>{let W=$[J++];if(J===$.length)J=0,$=[];else $[J-1]=void 0;return W}}}var P$=Buffer.allocUnsafe(256),uD="BCcDdEFfHPpQSX".split("").reduce((T,$)=>{let J=$.charCodeAt(0);return T[$]=()=>{return P$[0]=J,xT.i=5,xT},T},{}),xT=Object.assign(cD,uD,{N:String.fromCharCode(0),i:0,inc(T){return xT.i+=T,xT},str(T){let $=Buffer.byteLength(T);return A6($),xT.i+=P$.write(T,xT.i,$,"utf8"),xT},i16(T){return A6(2),P$.writeUInt16BE(T,xT.i),xT.i+=2,xT},i32(T,$){if($||$===0)return P$.writeUInt32BE(T,$),xT;return A6(4),P$.writeUInt32BE(T,xT.i),xT.i+=4,xT},z(T){return A6(T),P$.fill(0,xT.i,xT.i+T),xT.i+=T,xT},raw(T){return P$=Buffer.concat([P$.subarray(0,xT.i),T]),xT.i=P$.length,xT},end(T=1){P$.writeUInt32BE(xT.i-T,T);let $=P$.subarray(0,xT.i);return xT.i=0,P$=Buffer.allocUnsafe(256),$}}),s=xT;function A6(T){if(P$.length-xT.i<T){let $=P$,J=$.length;P$=Buffer.allocUnsafe(J+(J>>1)+T),$.copy(P$)}}function cD(){return xT.i=0,xT}var A9=Lz,dD=1,s1=s().S().end(),Rz=s().H().end(),lD=s().i32(8).i32(80877103).end(8),nD=Buffer.concat([s().E().str(s.N).i32(0).end(),s1]),iD=s().D().str("S").str(s.N).end(),pW=()=>{},tD=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),rD={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function Lz(T,$={},{onopen:J=pW,onend:W=pW,onclose:X=pW}={}){let{ssl:Y,max:F,user:G,host:H,port:M,database:A,parsers:z,transform:w,onnotice:_,onnotify:K,onparameter:V,max_pipeline:Z,keep_alive:q,backoff:N,target_session_attrs:y}=T,S=zJ(),f=dD++,C={pid:null,secret:null},B=M9(e6,T.idle_timeout),g=M9(e6,T.max_lifetime),$T=M9(MU,T.connect_timeout),R=null,XT,n=new u0,MT=Buffer.alloc(0),kT=T.fetch_types,sT={},l$={},W1=Math.random().toString(36).slice(2),I=1,a=0,NT=0,iT=0,H$=0,UT=0,hT=0,X$=0,tT=null,oT=null,q$=!1,gT=null,CJ=null,k$=null,x1=null,M$=null,dT=null,ZJ=null,uJ=null,h=null,AX=null,y$={queue:$.closed,idleTimer:B,connect(Q){k$=Q||!0,T7()},terminate:wX,execute:zX,cancel:YU,end:e6,count:0,id:f};return $.closed&&$.closed.push(y$),y$;async function XU(){let Q;try{Q=T.socket?await Promise.resolve(T.socket(T)):new Vz.Socket}catch(D){s0(D);return}return Q.on("error",s0),Q.on("close",$7),Q.on("drain",s5),Q}async function YU({pid:Q,secret:D},TT,CT){try{XT=s().i32(16).i32(80877102).i32(Q).i32(D).end(16),await e5(),R.once("error",CT),R.once("close",TT)}catch(eT){CT(eT)}}function zX(Q){if(q$)return f8(Q,F$.connection("CONNECTION_DESTROYED",T));if(Q.cancelled)return;try{return Q.state=C,h?S.push(Q):(h=Q,h.active=!0),HU(Q),f$(FU(Q))&&!Q.describeFirst&&!Q.cursorFn&&S.length<Z&&(!Q.options.onexecute||Q.options.onexecute(y$))}catch(D){return S.length===0&&f$(s1),cJ(D),!0}}function FU(Q){if(Q.parameters.length>=65534)throw F$.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return Q.options.simple?s().Q().str(Q.statement.string+s.N).end():Q.describeFirst?Buffer.concat([t5(Q),Rz]):Q.prepare?Q.prepared?B8(Q):Buffer.concat([t5(Q),B8(Q)]):GU(Q)}function t5(Q){return Buffer.concat([W7(Q.statement.string,Q.parameters,Q.statement.types,Q.statement.name),nU("S",Q.statement.name)])}function B8(Q){return Buffer.concat([lU(Q.parameters,Q.statement.types,Q.statement.name,Q.cursorName),Q.cursorFn?X7("",Q.cursorRows):nD])}function GU(Q){return Buffer.concat([W7(Q.statement.string,Q.parameters,Q.statement.types),iD,B8(Q)])}function HU(Q){let D=[],TT=[],CT=T9(Q,Q.strings[0],Q.args[0],D,TT,T);!Q.tagged&&Q.args.forEach((eT)=>H6(eT,D,TT,T)),Q.prepare=T.prepare&&("prepare"in Q.options?Q.options.prepare:!0),Q.string=CT,Q.signature=Q.prepare&&TT+CT,Q.onlyDescribe&&delete l$[Q.signature],Q.parameters=Q.parameters||D,Q.prepared=Q.prepare&&Q.signature in l$,Q.describeFirst=Q.onlyDescribe||D.length&&!Q.prepared,Q.statement=Q.prepared?l$[Q.signature]:{string:CT,types:TT,name:Q.prepare?W1+I++:""},typeof T.debug==="function"&&T.debug(f,CT,D,TT)}function f$(Q,D){if(dT=dT?Buffer.concat([dT,Q]):Buffer.from(Q),D||dT.length>=1024)return r5(D);return oT===null&&(oT=setImmediate(r5)),!0}function r5(Q){let D=R.write(dT,Q);return oT!==null&&clearImmediate(oT),dT=oT=null,D}function MU(){cJ(F$.connection("CONNECT_TIMEOUT",T,R)),R.destroy()}async function a5(){if(f$(lD),!await new Promise((D)=>R.once("data",(TT)=>D(TT[0]===83)))&&Y==="prefer")return a0();R.removeAllListeners(),R=oD.connect({socket:R,servername:Vz.isIP(R.host)?void 0:R.host,...Y==="require"||Y==="allow"||Y==="prefer"?{rejectUnauthorized:!1}:Y==="verify-full"?{}:typeof Y==="object"?Y:{}}),R.on("secureConnect",a0),R.on("error",s0),R.on("close",$7),R.on("drain",s5)}function s5(){!h&&J(y$)}function s6(Q){if(gT){if(gT.push(Q),NT-=Q.length,NT>=0)return}MT=gT?Buffer.concat(gT,UT-NT):MT.length===0?Q:Buffer.concat([MT,Q],MT.length+Q.length);while(MT.length>4){if(UT=MT.readUInt32BE(1),UT>=MT.length){NT=UT-MT.length,gT=[MT];break}try{AU(MT.subarray(0,UT+1))}catch(D){h&&(h.cursorFn||h.describeFirst)&&f$(s1),cJ(D)}MT=MT.subarray(UT+1),NT=0,gT=null}}async function e5(){if(q$=!1,sT={},R||(R=await XU()),!R)return;if($T.start(),T.socket)return Y?a5():a0();if(R.on("connect",Y?a5:a0),T.path)return R.connect(T.path);R.ssl=Y,R.connect(M[iT],H[iT]),R.host=H[iT],R.port=M[iT],iT=(iT+1)%M.length}function T7(){setTimeout(e5,a?a+hT-Sz.now():0)}function a0(){try{l$={},kT=T.fetch_types,W1=Math.random().toString(36).slice(2),I=1,g.start(),R.on("data",s6),q&&R.setKeepAlive&&R.setKeepAlive(!0,1000*q);let Q=tU();f$(Q)}catch(Q){s0(Q)}}function s0(Q){if(y$.queue===$.connecting&&T.host[H$+1])return;cJ(Q);while(S.length)f8(S.shift(),Q)}function cJ(Q){M$&&(M$.destroy(Q),M$=null),h&&f8(h,Q),k$&&(f8(k$,Q),k$=null)}function f8(Q,D){"query"in D||"parameters"in D||Object.defineProperties(D,{stack:{value:D.stack+Q.origin.replace(/.*\n/,`
|
|
68
|
+
`),enumerable:T.debug},query:{value:Q.string,enumerable:T.debug},parameters:{value:Q.parameters,enumerable:T.debug},args:{value:Q.args,enumerable:T.debug},types:{value:Q.statement&&Q.statement.types,enumerable:T.debug}}),Q.reject(D)}function e6(){return x1||(!y$.reserved&&W(y$),!y$.reserved&&!k$&&!h&&S.length===0?(wX(),new Promise((Q)=>R&&R.readyState!=="closed"?R.once("close",Q):Q())):x1=new Promise((Q)=>ZJ=Q))}function wX(){if(q$=!0,M$||h||k$||S.length)s0(F$.connection("CONNECTION_DESTROYED",T));if(clearImmediate(oT),R)R.removeListener("data",s6),R.removeListener("connect",a0),R.readyState==="open"&&R.end(s().X().end());ZJ&&(ZJ(),x1=ZJ=null)}async function $7(Q){if(MT=Buffer.alloc(0),NT=0,gT=null,clearImmediate(oT),R.removeListener("data",s6),R.removeListener("connect",a0),B.cancel(),g.cancel(),$T.cancel(),R.removeAllListeners(),R=null,k$)return T7();!Q&&(h||S.length)&&s0(F$.connection("CONNECTION_CLOSED",T,R)),a=Sz.now(),Q&&T.shared.retries++,hT=(typeof N==="function"?N(T.shared.retries):N)*1000,X(y$,F$.connection("CONNECTION_CLOSED",T,R))}function AU(Q,D=Q[0]){(D===68?zU:D===100?hU:D===65?IU:D===83?wU:D===90?QU:D===67?OU:D===50?J7:D===49?UU:D===116?_U:D===84?KU:D===82?DU:D===110?BU:D===75?fU:D===69?kU:D===115?jU:D===51?xU:D===71?PU:D===78?mU:D===72?bU:D===99?gU:D===73?pU:D===86?uU:D===118?cU:D===87?vU:oU)(Q)}function zU(Q){let D=7,TT,CT,eT,I$=h.isRaw?new Array(h.statement.columns.length):{};for(let h$=0;h$<h.statement.columns.length;h$++)CT=h.statement.columns[h$],TT=Q.readInt32BE(D),D+=4,eT=TT===-1?null:h.isRaw===!0?Q.subarray(D,D+=TT):CT.parser===void 0?Q.toString("utf8",D,D+=TT):CT.parser.array===!0?CT.parser(Q.toString("utf8",D+1,D+=TT)):CT.parser(Q.toString("utf8",D,D+=TT)),h.isRaw?I$[h$]=h.isRaw===!0?eT:w.value.from?w.value.from(eT,CT):eT:I$[CT.name]=w.value.from?w.value.from(eT,CT):eT;h.forEachFn?h.forEachFn(w.row.from?w.row.from(I$):I$,n):n[X$++]=w.row.from?w.row.from(I$):I$}function wU(Q){let[D,TT]=Q.toString("utf8",5,Q.length-1).split(s.N);if(sT[D]=TT,T.parameters[D]!==TT)T.parameters[D]=TT,V&&V(D,TT)}function QU(Q){if(h&&h.options.simple&&h.resolve(CJ||n),h=CJ=null,n=new u0,$T.cancel(),k$){if(y){if(!sT.in_hot_standby||!sT.default_transaction_read_only)return qU();else if(ZU(y,sT))return wX()}if(kT)return k$===!0&&(k$=null),NU();k$!==!0&&zX(k$),T.shared.retries=H$=0,k$=null;return}while(S.length&&(h=S.shift())&&(h.active=!0,h.cancelled))Lz(T).cancel(h.state,h.cancelled.resolve,h.cancelled.reject);if(h)return;y$.reserved?!y$.reserved.release&&Q[5]===73?x1?wX():(y$.reserved=null,J(y$)):y$.reserved():x1?wX():J(y$)}function OU(Q){X$=0;for(let D=Q.length-1;D>0;D--){if(Q[D]===32&&Q[D+1]<58&&n.count===null)n.count=+Q.toString("utf8",D+1,Q.length-1);if(Q[D-1]>=65){n.command=Q.toString("utf8",5,D),n.state=C;break}}if(AX&&(AX(),AX=null),n.command==="BEGIN"&&F!==1&&!y$.reserved)return cJ(F$.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(h.options.simple)return J7();if(h.cursorFn)n.count&&h.cursorFn(n),f$(s1);h.resolve(n)}function UU(){h.parsing=!1}function J7(){!n.statement&&(n.statement=h.statement),n.columns=h.statement.columns}function _U(Q){let D=Q.readUInt16BE(5);for(let TT=0;TT<D;++TT)!h.statement.types[TT]&&(h.statement.types[TT]=Q.readUInt32BE(7+TT*4));h.prepare&&(l$[h.signature]=h.statement),h.describeFirst&&!h.onlyDescribe&&(f$(B8(h)),h.describeFirst=!1)}function KU(Q){if(n.command)CJ=CJ||[n],CJ.push(n=new u0),n.count=null,h.statement.columns=null;let D=Q.readUInt16BE(5),TT=7,CT;h.statement.columns=Array(D);for(let eT=0;eT<D;++eT){CT=TT;while(Q[TT++]!==0);let I$=Q.readUInt32BE(TT),h$=Q.readUInt16BE(TT+4),P1=Q.readUInt32BE(TT+6);h.statement.columns[eT]={name:w.column.from?w.column.from(Q.toString("utf8",CT,TT-1)):Q.toString("utf8",CT,TT-1),parser:z[P1],table:I$,number:h$,type:P1},TT+=18}if(n.statement=h.statement,h.onlyDescribe)return h.resolve(h.statement),f$(s1)}async function DU(Q,D=Q.readUInt32BE(5)){(D===3?VU:D===5?SU:D===10?RU:D===11?EU:D===12?LU:D!==0?dU:pW)(Q,D)}async function VU(){let Q=await TY();f$(s().p().str(Q).z(1).end())}async function SU(Q){let D="md5"+await Ez(Buffer.concat([Buffer.from(await Ez(await TY()+G)),Q.subarray(9)]));f$(s().p().str(D).z(1).end())}async function RU(){uJ=(await c2.randomBytes(18)).toString("base64"),s().p().str("SCRAM-SHA-256"+s.N);let Q=s.i;f$(s.inc(4).str("n,,n=*,r="+uJ).i32(s.i-Q-4,Q).end())}async function EU(Q){let D=Q.toString("utf8",9).split(",").reduce((h$,P1)=>(h$[P1[0]]=P1.slice(2),h$),{}),TT=await c2.pbkdf2Sync(await TY(),Buffer.from(D.s,"base64"),parseInt(D.i),32,"sha256"),CT=await z6(TT,"Client Key"),eT="n=*,r="+uJ+",r="+D.r+",s="+D.s+",i="+D.i+",c=biws,r="+D.r;tT=(await z6(await z6(TT,"Server Key"),eT)).toString("base64");let I$="c=biws,r="+D.r+",p="+sD(CT,Buffer.from(await z6(await aD(CT),eT))).toString("base64");f$(s().p().str(I$).end())}function LU(Q){if(Q.toString("utf8",9).split(s.N,1)[0].slice(2)===tT)return;cJ(F$.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),R.destroy()}function TY(){return Promise.resolve(typeof T.pass==="function"?T.pass():T.pass)}function BU(){if(n.statement=h.statement,n.statement.columns=[],h.onlyDescribe)return h.resolve(h.statement),f$(s1)}function fU(Q){C.pid=Q.readUInt32BE(5),C.secret=Q.readUInt32BE(9)}async function NU(){kT=!1,(await new EJ([`
|
|
69
69
|
select b.oid, b.typarray
|
|
70
70
|
from pg_catalog.pg_type a
|
|
71
71
|
left join pg_catalog.pg_type b on b.oid = a.typelem
|
|
72
72
|
where a.typcategory = 'A'
|
|
73
73
|
group by b.oid, b.typarray
|
|
74
74
|
order by b.oid
|
|
75
|
-
`],[],
|
|
75
|
+
`],[],zX)).forEach(({oid:D,typarray:TT})=>CU(D,TT))}function CU(Q,D){if(!!T.parsers[D]&&!!T.serializers[D])return;let TT=T.parsers[Q];T.shared.typeArrayMap[Q]=D,T.parsers[D]=(CT)=>Kz(CT,TT,D),T.parsers[D].array=!0,T.serializers[D]=(CT)=>_z(CT,T.serializers[Q],T,D)}function ZU(Q,D){return Q==="read-write"&&D.default_transaction_read_only==="on"||Q==="read-only"&&D.default_transaction_read_only==="off"||Q==="primary"&&D.in_hot_standby==="on"||Q==="standby"&&D.in_hot_standby==="off"||Q==="prefer-standby"&&D.in_hot_standby==="off"&&T.host[H$]}function qU(){let Q=new EJ([`
|
|
76
76
|
show transaction_read_only;
|
|
77
77
|
select pg_catalog.pg_is_in_recovery()
|
|
78
|
-
`],[],
|
|
78
|
+
`],[],zX,null,{simple:!0});Q.resolve=([[D],[TT]])=>{sT.default_transaction_read_only=D.transaction_read_only,sT.in_hot_standby=TT.pg_is_in_recovery?"on":"off"},Q.execute()}function kU(Q){h&&(h.cursorFn||h.describeFirst)&&f$(s1);let D=F$.postgres(H9(Q));h&&h.retried?cJ(h.retried):h&&h.prepared&&tD.has(D.routine)?yU(h,D):cJ(D)}function yU(Q,D){delete l$[Q.signature],Q.retried=D,zX(Q)}function IU(Q){if(!K)return;let D=9;while(Q[D++]!==0);K(Q.toString("utf8",9,D-1),Q.toString("utf8",D,Q.length-1))}async function jU(){try{let Q=await Promise.resolve(h.cursorFn(n));X$=0,Q===gW?f$(iU(h.portal)):(n=new u0,f$(X7("",h.cursorRows)))}catch(Q){f$(s1),h.reject(Q)}}function xU(){n.count&&h.cursorFn(n),h.resolve(n)}function PU(){M$=new G9.Writable({autoDestroy:!0,write(Q,D,TT){R.write(s().d().raw(Q).end(),TT)},destroy(Q,D){D(Q),R.write(s().f().str(Q+s.N).end()),M$=null},final(Q){R.write(s().c().end()),AX=Q}}),h.resolve(M$)}function bU(){M$=new G9.Readable({read(){R.resume()}}),h.resolve(M$)}function vU(){M$=new G9.Duplex({autoDestroy:!0,read(){R.resume()},write(Q,D,TT){R.write(s().d().raw(Q).end(),TT)},destroy(Q,D){D(Q),R.write(s().f().str(Q+s.N).end()),M$=null},final(Q){R.write(s().c().end()),AX=Q}}),h.resolve(M$)}function hU(Q){M$&&(M$.push(Q.subarray(5))||R.pause())}function gU(){M$&&M$.push(null),M$=null}function mU(Q){_?_(H9(Q)):console.log(H9(Q))}function pU(){}function uU(){cJ(F$.notSupported("FunctionCallResponse"))}function cU(){cJ(F$.notSupported("NegotiateProtocolVersion"))}function oU(Q){console.error("Postgres.js : Unknown Message:",Q[0])}function dU(Q,D){console.error("Postgres.js : Unknown Auth:",D)}function lU(Q,D,TT="",CT=""){let eT,I$;return s().B().str(CT+s.N).str(TT+s.N).i16(0).i16(Q.length),Q.forEach((h$,P1)=>{if(h$===null)return s.i32(4294967295);I$=D[P1],Q[P1]=h$=I$ in T.serializers?T.serializers[I$](h$):""+h$,eT=s.i,s.inc(4).str(h$).i32(s.i-eT-4,eT)}),s.i16(0),s.end()}function W7(Q,D,TT,CT=""){return s().P().str(CT+s.N).str(Q+s.N).i16(D.length),D.forEach((eT,I$)=>s.i32(TT[I$]||0)),s.end()}function nU(Q,D=""){return s().D().str(Q).str(D+s.N).end()}function X7(Q="",D=0){return Buffer.concat([s().E().str(Q+s.N).i32(D).end(),Rz])}function iU(Q=""){return Buffer.concat([s().C().str("P").str(Q+s.N).end(),s().S().end()])}function tU(){return XT||s().inc(4).i16(3).z(2).str(Object.entries(Object.assign({user:G,database:A,client_encoding:"UTF8"},T.connection)).filter(([,Q])=>Q).map(([Q,D])=>Q+s.N+D).join(s.N)).z(2).end(0)}}function H9(T){let $={},J=5;for(let W=5;W<T.length-1;W++)if(T[W]===0)$[rD[T[J]]]=T.toString("utf8",J+1,W),J=W+1;return $}function Ez(T){return c2.createHash("md5").update(T).digest("hex")}function z6(T,$){return c2.createHmac("sha256",T).update($).digest()}function aD(T){return c2.createHash("sha256").update(T).digest()}function sD(T,$){let J=Math.max(T.length,$.length),W=Buffer.allocUnsafe(J);for(let X=0;X<J;X++)W[X]=T[X]^$[X];return W}function M9(T,$){if($=typeof $==="function"?$():$,!$)return{cancel:pW,start:pW};let J;return{cancel(){J&&(clearTimeout(J),J=null)},start(){J&&clearTimeout(J),J=setTimeout(W,$*1000,arguments)}};function W(X){T.apply(null,X),J=null}}var Bz=()=>{};function z9(T,$){let J=new Map,W="postgresjs_"+Math.random().toString(36).slice(2),X={},Y,F,G=!1,H=z.sql=T({...$,transform:{column:{},value:{},row:{}},max:1,fetch_types:!1,idle_timeout:null,max_lifetime:null,connection:{...$.connection,replication:"database"},onclose:async function(){if(G)return;F=null,X.pid=X.secret=void 0,w(await _(H,W,$.publications)),J.forEach((V)=>V.forEach(({onsubscribe:Z})=>Z()))},no_subscribe:!0}),M=H.end,A=H.close;return H.end=async()=>{return G=!0,F&&await new Promise((V)=>(F.once("close",V),F.end())),M()},H.close=async()=>{return F&&await new Promise((V)=>(F.once("close",V),F.end())),A()},z;async function z(V,Z,q=Bz,N=Bz){if(V=$V(V),!Y)Y=_(H,W,$.publications);let y={fn:Z,onsubscribe:q},S=J.has(V)?J.get(V).add(y):J.set(V,new Set([y])).get(V),f=()=>{S.delete(y),S.size===0&&J.delete(V)};return Y.then((C)=>{return w(C),q(),F&&F.on("error",N),{unsubscribe:f,state:X,sql:H}})}function w(V){F=V.stream,X.pid=V.state.pid,X.secret=V.state.secret}async function _(V,Z,q){if(!q)throw new Error("Missing publication names");let N=await V.unsafe(`CREATE_REPLICATION_SLOT ${Z} TEMPORARY LOGICAL pgoutput NOEXPORT_SNAPSHOT`),[y]=N,S=await V.unsafe(`START_REPLICATION SLOT ${Z} LOGICAL ${y.consistent_point} (proto_version '1', publication_names '${q}')`).writable(),f={lsn:Buffer.concat(y.consistent_point.split("/").map((R)=>Buffer.from(("00000000"+R).slice(-8),"hex")))};return S.on("data",B),S.on("error",C),S.on("close",V.close),{stream:S,state:N.state};function C(R){console.error("Unexpected error during logical streaming - reconnecting",R)}function B(R){if(R[0]===119)TV(R.subarray(25),f,V.options.parsers,g,$.transform);else if(R[0]===107&&R[17])f.lsn=R.subarray(1,9),$T()}function g(R,XT){let n=XT.relation.schema+"."+XT.relation.table;K("*",R,XT),K("*:"+n,R,XT),XT.relation.keys.length&&K("*:"+n+"="+XT.relation.keys.map((MT)=>R[MT.name]),R,XT),K(XT.command,R,XT),K(XT.command+":"+n,R,XT),XT.relation.keys.length&&K(XT.command+":"+n+"="+XT.relation.keys.map((MT)=>R[MT.name]),R,XT)}function $T(){let R=Buffer.alloc(34);R[0]=114,R.fill(f.lsn,1),R.writeBigInt64BE(BigInt(Date.now()-Date.UTC(2000,0,1))*BigInt(1000),25),S.write(R)}}function K(V,Z,q){J.has(V)&&J.get(V).forEach(({fn:N})=>N(Z,q,V))}}function eD(T){return new Date(Date.UTC(2000,0,1)+Number(T/BigInt(1000)))}function TV(T,$,J,W,X){let Y=(F,[G,H])=>(F[G.charCodeAt(0)]=H,F);Object.entries({R:(F)=>{let G=1,H=$[F.readUInt32BE(G)]={schema:F.toString("utf8",G+=4,G=F.indexOf(0,G))||"pg_catalog",table:F.toString("utf8",G+1,G=F.indexOf(0,G+1)),columns:Array(F.readUInt16BE(G+=2)),keys:[]};G+=2;let M=0,A;while(G<F.length)A=H.columns[M++]={key:F[G++],name:X.column.from?X.column.from(F.toString("utf8",G,G=F.indexOf(0,G))):F.toString("utf8",G,G=F.indexOf(0,G)),type:F.readUInt32BE(G+=1),parser:J[F.readUInt32BE(G)],atttypmod:F.readUInt32BE(G+=4)},A.key&&H.keys.push(A),G+=4},Y:()=>{},O:()=>{},B:(F)=>{$.date=eD(F.readBigInt64BE(9)),$.lsn=F.subarray(1,9)},I:(F)=>{let G=1,H=$[F.readUInt32BE(G)],{row:M}=w6(F,H.columns,G+=7,X);W(M,{command:"insert",relation:H})},D:(F)=>{let G=1,H=$[F.readUInt32BE(G)];G+=4;let M=F[G]===75;W(M||F[G]===79?w6(F,H.columns,G+=3,X).row:null,{command:"delete",relation:H,key:M})},U:(F)=>{let G=1,H=$[F.readUInt32BE(G)];G+=4;let M=F[G]===75,A=M||F[G]===79?w6(F,H.columns,G+=3,X):null;A&&(G=A.i);let{row:z}=w6(F,H.columns,G+3,X);W(z,{command:"update",relation:H,key:M,old:A&&A.row})},T:()=>{},C:()=>{}}).reduce(Y,{})[T[0]](T)}function w6(T,$,J,W){let X,Y,F,G=W.raw?new Array($.length):{};for(let H=0;H<$.length;H++)X=T[J++],Y=$[H],F=X===110?null:X===117?void 0:Y.parser===void 0?T.toString("utf8",J+4,J+=4+T.readUInt32BE(J)):Y.parser.array===!0?Y.parser(T.toString("utf8",J+5,J+=4+T.readUInt32BE(J))):Y.parser(T.toString("utf8",J+4,J+=4+T.readUInt32BE(J))),W.raw?G[H]=W.raw===!0?F:W.value.from?W.value.from(F,Y):F:G[Y.name]=W.value.from?W.value.from(F,Y):F;return{i:J,row:W.row.from?W.row.from(G):G}}function $V(T){let $=T.match(/^(\*|insert|update|delete)?:?([^.]+?\.?[^=]+)?=?(.+)?/i)||[];if(!$)throw new Error("Malformed subscribe pattern: "+T);let[,J,W,X]=$;return(J||"*")+(W?":"+(W.indexOf(".")===-1?"public."+W:W):"")+(X?"="+X:"")}import fz from"stream";function w9(T,$,J=393216){return new Promise(async(W,X)=>{await T.begin(async(Y)=>{let F;!$&&([{oid:$}]=await Y`select lo_creat(-1) as oid`);let[{fd:G}]=await Y`select lo_open(${$}, ${J}) as fd`,H={writable:A,readable:M,close:()=>Y`select lo_close(${G})`.then(F),tell:()=>Y`select lo_tell64(${G})`,read:(z)=>Y`select loread(${G}, ${z}) as data`,write:(z)=>Y`select lowrite(${G}, ${z})`,truncate:(z)=>Y`select lo_truncate64(${G}, ${z})`,seek:(z,w=0)=>Y`select lo_lseek64(${G}, ${z}, ${w})`,size:()=>Y`
|
|
79
79
|
select
|
|
80
80
|
lo_lseek64(${G}, location, 0) as position,
|
|
81
81
|
seek.size
|
|
@@ -85,62 +85,62 @@ ${Y}`)}let H=xJ.join(this.baseDir,`${T}/${$}.output.json`);return JSON.parse(lT.
|
|
|
85
85
|
tell.location
|
|
86
86
|
from (select lo_tell64($1) as location) tell
|
|
87
87
|
) seek
|
|
88
|
-
`};return W(H),new Promise(async(A)=>Y=A);async function M({highWaterMark:A=16384,start:w=0,end:_=1/0}={}){let D=_-w;return w&&await H.seek(w),new fA.Readable({highWaterMark:A,async read(S){let Z=S>D?S-D:S;D-=S;let[{data:q}]=await H.read(Z);if(this.push(q),q.length<S)this.push(null)}})}async function z({highWaterMark:A=16384,start:w=0}={}){return w&&await H.seek(w),new fA.Writable({highWaterMark:A,write(_,D,S){H.write(_).then(()=>S(),S)}})}}).catch(X)})}Object.assign(Q6,{PostgresError:pW,toPascal:g0,pascal:Y9,toCamel:m0,camel:F9,toKebab:p0,kebab:G9,fromPascal:h2,fromCamel:v2,fromKebab:m2,BigInt:{to:20,from:[20],parse:(T)=>BigInt(T),serialize:(T)=>T.toString()}});var cW=Q6;function Q6(T,$){let J=XS(T,$),W=J.no_subscribe||w9(Q6,{...J}),X=!1,F=wJ(),Y=wJ(),G=wJ(),H=wJ(),M=wJ(),z=wJ(),A=wJ(),w=wJ(),_={connecting:Y,reserved:G,closed:H,ended:M,open:z,busy:A,full:w},D=[...Array(J.max)].map(()=>A9(J,_,{onopen:l$,onend:eT,onclose:J1})),S=Z(m);return Object.assign(S,{get parameters(){return J.parameters},largeObject:Q9.bind(null,S),subscribe:W,CLOSE:gW,END:gW,PostgresError:pW,options:J,reserve:y,listen:q,begin:V,close:n,end:XT}),S;function Z(I){return I.debug=J.debug,Object.entries(J.types).reduce((UT,[mT,X$])=>{return UT[mT]=(rT)=>new sJ(rT,X$.to),UT},a),Object.assign(NT,{types:a,typed:a,unsafe:tT,notify:N,array:B,json:C,file:M$}),NT;function a(UT,mT){return new sJ(UT,mT)}function NT(UT,...mT){return UT&&Array.isArray(UT.raw)?new RJ(UT,mT,I,E):typeof UT==="string"&&!mT.length?new g2(J.transform.column.to?J.transform.column.to(UT):UT):new G6(UT,mT)}function tT(UT,mT=[],X$={}){return arguments.length===2&&!Array.isArray(mT)&&(X$=mT,mT=[]),new RJ([UT],mT,I,E,{prepare:!1,...X$,simple:"simple"in X$?X$.simple:mT.length===0})}function M$(UT,mT=[],X$={}){return arguments.length===2&&!Array.isArray(mT)&&(X$=mT,mT=[]),new RJ([],mT,(oT)=>{WS.readFile(UT,"utf8",(q$,gT)=>{if(q$)return oT.reject(q$);oT.strings=[gT],I(oT)})},E,{...X$,simple:"simple"in X$?X$.simple:mT.length===0})}}async function q(I,a,NT){let tT={fn:a,onlisten:NT},M$=q.sql||(q.sql=Q6({...J,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(q.channels).forEach(([oT,{listeners:q$}])=>{delete q.channels[oT],Promise.all(q$.map((gT)=>q(oT,gT.fn,gT.onlisten).catch(()=>{})))})},onnotify(oT,q$){oT in q.channels&&q.channels[oT].listeners.forEach((gT)=>gT.fn(q$))}})),UT=q.channels||(q.channels={});if(I in UT){UT[I].listeners.push(tT);let oT=await UT[I].result;return tT.onlisten&&tT.onlisten(),{state:oT.state,unlisten:rT}}UT[I]={result:M$`listen ${M$.unsafe('"'+I.replace(/"/g,'""')+'"')}`,listeners:[tT]};let X$=await UT[I].result;return tT.onlisten&&tT.onlisten(),{state:X$.state,unlisten:rT};async function rT(){if(I in UT===!1)return;if(UT[I].listeners=UT[I].listeners.filter((oT)=>oT!==tT),UT[I].listeners.length)return;return delete UT[I],M$`unlisten ${M$.unsafe('"'+I.replace(/"/g,'""')+'"')}`}}async function N(I,a){return await S`select pg_notify(${I}, ${""+a})`}async function y(){let I=wJ(),a=z.length?z.shift():await new Promise((M$)=>{F.push({reserve:M$}),H.length&&kT(H.shift())});f(a,G),a.reserved=()=>I.length?a.execute(I.shift()):f(a,G),a.reserved.release=!0;let NT=Z(tT);return NT.release=()=>{a.reserved=null,l$(a)},NT;function tT(M$){a.queue===w?I.push(M$):a.execute(M$)||f(a,w)}}async function V(I,a){!a&&(a=I,I="");let NT=wJ(),tT=0,M$,UT=null;try{return await S.unsafe("begin "+I.replace(/[^a-z ]/ig,""),[],{onexecute:X$}).execute(),await Promise.race([mT(M$,a),new Promise((rT,oT)=>M$.onclose=oT)])}catch(rT){throw rT}async function mT(rT,oT,q$){let gT=Z(z$);gT.savepoint=x1,gT.prepare=(dT)=>UT=dT.replace(/[^a-z0-9$-_. ]/gi);let CJ,k$;q$&&await gT`savepoint ${gT(q$)}`;try{if(k$=await new Promise((dT,ZJ)=>{let pJ=oT(gT);Promise.resolve(Array.isArray(pJ)?Promise.all(pJ):pJ).then(dT,ZJ)}),CJ)throw CJ}catch(dT){throw await(q$?gT`rollback to ${gT(q$)}`:gT`rollback`),dT instanceof pW&&dT.code==="25P02"&&CJ||dT}if(!q$)UT?await gT`prepare transaction '${gT.unsafe(UT)}'`:await gT`commit`;return k$;function x1(dT,ZJ){if(dT&&Array.isArray(dT.raw))return x1((pJ)=>pJ.apply(pJ,arguments));return arguments.length===1&&(ZJ=dT,dT=null),mT(rT,ZJ,"s"+tT+++(dT?"_"+dT:""))}function z$(dT){dT.catch((ZJ)=>CJ||(CJ=ZJ)),rT.queue===w?NT.push(dT):rT.execute(dT)||f(rT,w)}}function X$(rT){M$=rT,f(rT,G),rT.reserved=()=>NT.length?rT.execute(NT.shift()):f(rT,G)}}function f(I,a){return I.queue.remove(I),a.push(I),I.queue=a,a===z?I.idleTimer.start():I.idleTimer.cancel(),I}function C(I){return new sJ(I,3802)}function B(I,a){if(!Array.isArray(I))return B(Array.from(arguments));return new sJ(I,a||(I.length?F6(I)||25:0),J.shared.typeArrayMap)}function m(I){if(X)return I.reject(G$.connection("CONNECTION_ENDED",J,J));if(z.length)return $T(z.shift(),I);if(H.length)return kT(H.shift(),I);A.length?$T(A.shift(),I):F.push(I)}function $T(I,a){return I.execute(a)?f(I,A):f(I,w)}function E(I){return new Promise((a,NT)=>{I.state?I.active?A9(J).cancel(I.state,a,NT):I.cancelled={resolve:a,reject:NT}:(F.remove(I),I.cancelled=!0,I.reject(G$.generic("57014","canceling statement due to user request")),a())})}async function XT({timeout:I=null}={}){if(X)return X;await 1;let a;return X=Promise.race([new Promise((NT)=>I!==null&&(a=setTimeout(MT,I*1000,NT))),Promise.all(D.map((NT)=>NT.end()).concat(q.sql?q.sql.end({timeout:0}):[],W.sql?W.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(a))}async function n(){await Promise.all(D.map((I)=>I.end()))}async function MT(I){await Promise.all(D.map((a)=>a.terminate()));while(F.length)F.shift().reject(G$.connection("CONNECTION_DESTROYED",J));I()}function kT(I,a){return f(I,Y),I.connect(a),I}function eT(I){f(I,M)}function l$(I){if(F.length===0)return f(I,z);let a=Math.ceil(F.length/(Y.length+1)),NT=!0;while(NT&&F.length&&a-- >0){let tT=F.shift();if(tT.reserve)return tT.reserve(I);NT=I.execute(tT)}NT?f(I,A):f(I,w)}function J1(I,a){f(I,H),I.reserved=null,I.onclose&&(I.onclose(a),I.onclose=null),J.onclose&&J.onclose(I.id),F.length&&kT(I,F.shift())}}function XS(T,$){if(T&&T.shared)return T;let J=process.env,W=(!T||typeof T==="string"?$:T)||{},{url:X,multihost:F}=MS(T),Y=[...X.searchParams].reduce((w,[_,D])=>(w[_]=D,w),{}),G=W.hostname||W.host||F||X.hostname||J.PGHOST||"localhost",H=W.port||X.port||J.PGPORT||5432,M=W.user||W.username||X.username||J.PGUSERNAME||J.PGUSER||zS();W.no_prepare&&(W.prepare=!1),Y.sslmode&&(Y.ssl=Y.sslmode,delete Y.sslmode),"timeout"in W&&(console.log("The timeout option is deprecated, use idle_timeout instead"),W.idle_timeout=W.timeout),Y.sslrootcert==="system"&&(Y.ssl="verify-full");let z=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],A={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:GS,max_pipeline:100,backoff:YS,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(G)?G:G.split(",").map((w)=>w.split(":")[0]),port:Array.isArray(H)?H:G.split(",").map((w)=>parseInt(w.split(":")[1]||H)),path:W.path||G.indexOf("/")>-1&&G+"/.s.PGSQL."+H,database:W.database||W.db||(X.pathname||"").slice(1)||J.PGDATABASE||M,user:M,pass:W.pass||W.password||X.password||J.PGPASSWORD||"",...Object.entries(A).reduce((w,[_,D])=>{let S=_ in W?W[_]:(_ in Y)?Y[_]==="disable"||Y[_]==="false"?!1:Y[_]:J["PG"+_.toUpperCase()]||D;return w[_]=typeof S==="string"&&z.includes(_)?+S:S,w},{}),connection:{application_name:"postgres.js",...W.connection,...Object.entries(Y).reduce((w,[_,D])=>((_ in A)||(w[_]=D),w),{})},types:W.types||{},target_session_attrs:FS(W,X,J),onnotice:W.onnotice,onnotify:W.onnotify,onclose:W.onclose,onparameter:W.onparameter,socket:W.socket,transform:HS(W.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...OA(W.types)}}function FS(T,$,J){let W=T.target_session_attrs||$.searchParams.get("target_session_attrs")||J.PGTARGETSESSIONATTRS;if(!W||["read-write","read-only","primary","standby","prefer-standby"].includes(W))return W;throw new Error("target_session_attrs "+W+" is not supported")}function YS(T){return(0.5+Math.random()/2)*Math.min(3**T/100,20)}function GS(){return 60*(30+Math.random()*30)}function HS(T){return{undefined:T.undefined,column:{from:typeof T.column==="function"?T.column:T.column&&T.column.from,to:T.column&&T.column.to},value:{from:typeof T.value==="function"?T.value:T.value&&T.value.from,to:T.value&&T.value.to},row:{from:typeof T.row==="function"?T.row:T.row&&T.row.from,to:T.row&&T.row.to}}}function MS(T){if(!T||typeof T!=="string")return{url:{searchParams:new Map}};let $=T;$=$.slice($.indexOf("://")+3).split(/[?/]/)[0],$=decodeURIComponent($.slice($.indexOf("@")+1));let J=new URL(T.replace($,$.split(",")[0]));return{url:{username:decodeURIComponent(J.username),password:decodeURIComponent(J.password),host:J.host,hostname:J.hostname,port:J.port,pathname:J.pathname,searchParams:J.searchParams},multihost:$.indexOf(",")>-1&&$}}function zS(){try{return JS.userInfo().username}catch(T){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}class J${static[O]="SelectionProxyHandler";config;constructor(T){this.config={...T}}get(T,$){if($==="_")return{...T._,selectedFields:new Proxy(T._.selectedFields,this)};if($===pT)return{...T[pT],selectedFields:new Proxy(T[pT].selectedFields,this)};if(typeof $==="symbol")return T[$];let W=(L(T,D$)?T._.selectedFields:L(T,a$)?T[pT].selectedFields:T)[$];if(L(W,c.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!W.isSelectionField)return W.sql;let X=W.clone();return X.isSelectionField=!0,X}if(L(W,c)){if(this.config.sqlBehavior==="sql")return W;throw new Error(`You tried to reference "${$}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(L(W,bT)){if(this.config.alias)return new Proxy(W,new mW(new Proxy(W.table,new k2(this.config.alias,this.config.replaceOriginalName??!1))));return W}if(typeof W!=="object"||W===null)return W;return new Proxy(W,new J$(this.config))}}class O6 extends u${constructor(T,$,J,W){super();this.session=$,this.dialect=J,this.config={table:T,withList:W}}static[O]="PgDelete";config;where(T){return this.config.where=T,this}returning(T=this.config.table[u.Symbol.Columns]){return this.config.returningFields=T,this.config.returning=EJ(T),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){return vT.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,T,!0)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return vT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new J$({alias:B$(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}function AS(T){return(T.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((J)=>J.toLowerCase()).join("_")}function wS(T){return(T.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((J,W,X)=>{let F=X===0?W.toLowerCase():`${W[0].toUpperCase()}${W.slice(1)}`;return J+F},"")}function QS(T){return T}class O9{static[O]="CasingCache";cache={};cachedTables={};convert;constructor(T){this.convert=T==="snake_case"?AS:T==="camelCase"?wS:QS}getColumnCasing(T){if(!T.keyAsName)return T.name;let $=T.table[u.Symbol.Schema]??"public",J=T.table[u.Symbol.OriginalName],W=`${$}.${J}.${T.name}`;if(!this.cache[W])this.cacheTable(T.table);return this.cache[W]}cacheTable(T){let $=T[u.Symbol.Schema]??"public",J=T[u.Symbol.OriginalName],W=`${$}.${J}`;if(!this.cachedTables[W]){for(let X of Object.values(T[u.Symbol.Columns])){let F=`${W}.${X.name}`;this.cache[F]=this.convert(X.name)}this.cachedTables[W]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class u2 extends a${static[O]="PgViewBase"}class c0{static[O]="PgDialect";casing;constructor(T){this.casing=new O9(T?.casing)}async migrate(T,$,J){let W=typeof J==="string"?"__drizzle_migrations":J.migrationsTable??"__drizzle_migrations",X=typeof J==="string"?"drizzle":J.migrationsSchema??"drizzle",F=U`
|
|
88
|
+
`};return W(H),new Promise(async(z)=>F=z);async function M({highWaterMark:z=16384,start:w=0,end:_=1/0}={}){let K=_-w;return w&&await H.seek(w),new fz.Readable({highWaterMark:z,async read(V){let Z=V>K?V-K:V;K-=V;let[{data:q}]=await H.read(Z);if(this.push(q),q.length<V)this.push(null)}})}async function A({highWaterMark:z=16384,start:w=0}={}){return w&&await H.seek(w),new fz.Writable({highWaterMark:z,write(_,K,V){H.write(_).then(()=>V(),V)}})}}).catch(X)})}Object.assign(Q6,{PostgresError:mW,toPascal:m0,pascal:Y9,toCamel:g0,camel:X9,toKebab:p0,kebab:F9,fromPascal:m2,fromCamel:g2,fromKebab:p2,BigInt:{to:20,from:[20],parse:(T)=>BigInt(T),serialize:(T)=>T.toString()}});var uW=Q6;function Q6(T,$){let J=XV(T,$),W=J.no_subscribe||z9(Q6,{...J}),X=!1,Y=zJ(),F=zJ(),G=zJ(),H=zJ(),M=zJ(),A=zJ(),z=zJ(),w=zJ(),_={connecting:F,reserved:G,closed:H,ended:M,open:A,busy:z,full:w},K=[...Array(J.max)].map(()=>A9(J,_,{onopen:l$,onend:sT,onclose:W1})),V=Z(g);return Object.assign(V,{get parameters(){return J.parameters},largeObject:w9.bind(null,V),subscribe:W,CLOSE:gW,END:gW,PostgresError:mW,options:J,reserve:y,listen:q,begin:S,close:n,end:XT}),V;function Z(I){return I.debug=J.debug,Object.entries(J.types).reduce((UT,[hT,X$])=>{return UT[hT]=(tT)=>new eJ(tT,X$.to),UT},a),Object.assign(NT,{types:a,typed:a,unsafe:iT,notify:N,array:B,json:C,file:H$}),NT;function a(UT,hT){return new eJ(UT,hT)}function NT(UT,...hT){return UT&&Array.isArray(UT.raw)?new EJ(UT,hT,I,R):typeof UT==="string"&&!hT.length?new u2(J.transform.column.to?J.transform.column.to(UT):UT):new G6(UT,hT)}function iT(UT,hT=[],X$={}){return arguments.length===2&&!Array.isArray(hT)&&(X$=hT,hT=[]),new EJ([UT],hT,I,R,{prepare:!1,...X$,simple:"simple"in X$?X$.simple:hT.length===0})}function H$(UT,hT=[],X$={}){return arguments.length===2&&!Array.isArray(hT)&&(X$=hT,hT=[]),new EJ([],hT,(oT)=>{WV.readFile(UT,"utf8",(q$,gT)=>{if(q$)return oT.reject(q$);oT.strings=[gT],I(oT)})},R,{...X$,simple:"simple"in X$?X$.simple:hT.length===0})}}async function q(I,a,NT){let iT={fn:a,onlisten:NT},H$=q.sql||(q.sql=Q6({...J,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(q.channels).forEach(([oT,{listeners:q$}])=>{delete q.channels[oT],Promise.all(q$.map((gT)=>q(oT,gT.fn,gT.onlisten).catch(()=>{})))})},onnotify(oT,q$){oT in q.channels&&q.channels[oT].listeners.forEach((gT)=>gT.fn(q$))}})),UT=q.channels||(q.channels={});if(I in UT){UT[I].listeners.push(iT);let oT=await UT[I].result;return iT.onlisten&&iT.onlisten(),{state:oT.state,unlisten:tT}}UT[I]={result:H$`listen ${H$.unsafe('"'+I.replace(/"/g,'""')+'"')}`,listeners:[iT]};let X$=await UT[I].result;return iT.onlisten&&iT.onlisten(),{state:X$.state,unlisten:tT};async function tT(){if(I in UT===!1)return;if(UT[I].listeners=UT[I].listeners.filter((oT)=>oT!==iT),UT[I].listeners.length)return;return delete UT[I],H$`unlisten ${H$.unsafe('"'+I.replace(/"/g,'""')+'"')}`}}async function N(I,a){return await V`select pg_notify(${I}, ${""+a})`}async function y(){let I=zJ(),a=A.length?A.shift():await new Promise((H$)=>{Y.push({reserve:H$}),H.length&&kT(H.shift())});f(a,G),a.reserved=()=>I.length?a.execute(I.shift()):f(a,G),a.reserved.release=!0;let NT=Z(iT);return NT.release=()=>{a.reserved=null,l$(a)},NT;function iT(H$){a.queue===w?I.push(H$):a.execute(H$)||f(a,w)}}async function S(I,a){!a&&(a=I,I="");let NT=zJ(),iT=0,H$,UT=null;try{return await V.unsafe("begin "+I.replace(/[^a-z ]/ig,""),[],{onexecute:X$}).execute(),await Promise.race([hT(H$,a),new Promise((tT,oT)=>H$.onclose=oT)])}catch(tT){throw tT}async function hT(tT,oT,q$){let gT=Z(M$);gT.savepoint=x1,gT.prepare=(dT)=>UT=dT.replace(/[^a-z0-9$-_. ]/gi);let CJ,k$;q$&&await gT`savepoint ${gT(q$)}`;try{if(k$=await new Promise((dT,ZJ)=>{let uJ=oT(gT);Promise.resolve(Array.isArray(uJ)?Promise.all(uJ):uJ).then(dT,ZJ)}),CJ)throw CJ}catch(dT){throw await(q$?gT`rollback to ${gT(q$)}`:gT`rollback`),dT instanceof mW&&dT.code==="25P02"&&CJ||dT}if(!q$)UT?await gT`prepare transaction '${gT.unsafe(UT)}'`:await gT`commit`;return k$;function x1(dT,ZJ){if(dT&&Array.isArray(dT.raw))return x1((uJ)=>uJ.apply(uJ,arguments));return arguments.length===1&&(ZJ=dT,dT=null),hT(tT,ZJ,"s"+iT+++(dT?"_"+dT:""))}function M$(dT){dT.catch((ZJ)=>CJ||(CJ=ZJ)),tT.queue===w?NT.push(dT):tT.execute(dT)||f(tT,w)}}function X$(tT){H$=tT,f(tT,G),tT.reserved=()=>NT.length?tT.execute(NT.shift()):f(tT,G)}}function f(I,a){return I.queue.remove(I),a.push(I),I.queue=a,a===A?I.idleTimer.start():I.idleTimer.cancel(),I}function C(I){return new eJ(I,3802)}function B(I,a){if(!Array.isArray(I))return B(Array.from(arguments));return new eJ(I,a||(I.length?Y6(I)||25:0),J.shared.typeArrayMap)}function g(I){if(X)return I.reject(F$.connection("CONNECTION_ENDED",J,J));if(A.length)return $T(A.shift(),I);if(H.length)return kT(H.shift(),I);z.length?$T(z.shift(),I):Y.push(I)}function $T(I,a){return I.execute(a)?f(I,z):f(I,w)}function R(I){return new Promise((a,NT)=>{I.state?I.active?A9(J).cancel(I.state,a,NT):I.cancelled={resolve:a,reject:NT}:(Y.remove(I),I.cancelled=!0,I.reject(F$.generic("57014","canceling statement due to user request")),a())})}async function XT({timeout:I=null}={}){if(X)return X;await 1;let a;return X=Promise.race([new Promise((NT)=>I!==null&&(a=setTimeout(MT,I*1000,NT))),Promise.all(K.map((NT)=>NT.end()).concat(q.sql?q.sql.end({timeout:0}):[],W.sql?W.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(a))}async function n(){await Promise.all(K.map((I)=>I.end()))}async function MT(I){await Promise.all(K.map((a)=>a.terminate()));while(Y.length)Y.shift().reject(F$.connection("CONNECTION_DESTROYED",J));I()}function kT(I,a){return f(I,F),I.connect(a),I}function sT(I){f(I,M)}function l$(I){if(Y.length===0)return f(I,A);let a=Math.ceil(Y.length/(F.length+1)),NT=!0;while(NT&&Y.length&&a-- >0){let iT=Y.shift();if(iT.reserve)return iT.reserve(I);NT=I.execute(iT)}NT?f(I,z):f(I,w)}function W1(I,a){f(I,H),I.reserved=null,I.onclose&&(I.onclose(a),I.onclose=null),J.onclose&&J.onclose(I.id),Y.length&&kT(I,Y.shift())}}function XV(T,$){if(T&&T.shared)return T;let J=process.env,W=(!T||typeof T==="string"?$:T)||{},{url:X,multihost:Y}=MV(T),F=[...X.searchParams].reduce((w,[_,K])=>(w[_]=K,w),{}),G=W.hostname||W.host||Y||X.hostname||J.PGHOST||"localhost",H=W.port||X.port||J.PGPORT||5432,M=W.user||W.username||X.username||J.PGUSERNAME||J.PGUSER||AV();W.no_prepare&&(W.prepare=!1),F.sslmode&&(F.ssl=F.sslmode,delete F.sslmode),"timeout"in W&&(console.log("The timeout option is deprecated, use idle_timeout instead"),W.idle_timeout=W.timeout),F.sslrootcert==="system"&&(F.ssl="verify-full");let A=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],z={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:GV,max_pipeline:100,backoff:FV,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(G)?G:G.split(",").map((w)=>w.split(":")[0]),port:Array.isArray(H)?H:G.split(",").map((w)=>parseInt(w.split(":")[1]||H)),path:W.path||G.indexOf("/")>-1&&G+"/.s.PGSQL."+H,database:W.database||W.db||(X.pathname||"").slice(1)||J.PGDATABASE||M,user:M,pass:W.pass||W.password||X.password||J.PGPASSWORD||"",...Object.entries(z).reduce((w,[_,K])=>{let V=_ in W?W[_]:(_ in F)?F[_]==="disable"||F[_]==="false"?!1:F[_]:J["PG"+_.toUpperCase()]||K;return w[_]=typeof V==="string"&&A.includes(_)?+V:V,w},{}),connection:{application_name:"postgres.js",...W.connection,...Object.entries(F).reduce((w,[_,K])=>((_ in z)||(w[_]=K),w),{})},types:W.types||{},target_session_attrs:YV(W,X,J),onnotice:W.onnotice,onnotify:W.onnotify,onclose:W.onclose,onparameter:W.onparameter,socket:W.socket,transform:HV(W.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...Oz(W.types)}}function YV(T,$,J){let W=T.target_session_attrs||$.searchParams.get("target_session_attrs")||J.PGTARGETSESSIONATTRS;if(!W||["read-write","read-only","primary","standby","prefer-standby"].includes(W))return W;throw new Error("target_session_attrs "+W+" is not supported")}function FV(T){return(0.5+Math.random()/2)*Math.min(3**T/100,20)}function GV(){return 60*(30+Math.random()*30)}function HV(T){return{undefined:T.undefined,column:{from:typeof T.column==="function"?T.column:T.column&&T.column.from,to:T.column&&T.column.to},value:{from:typeof T.value==="function"?T.value:T.value&&T.value.from,to:T.value&&T.value.to},row:{from:typeof T.row==="function"?T.row:T.row&&T.row.from,to:T.row&&T.row.to}}}function MV(T){if(!T||typeof T!=="string")return{url:{searchParams:new Map}};let $=T;$=$.slice($.indexOf("://")+3).split(/[?/]/)[0],$=decodeURIComponent($.slice($.indexOf("@")+1));let J=new URL(T.replace($,$.split(",")[0]));return{url:{username:decodeURIComponent(J.username),password:decodeURIComponent(J.password),host:J.host,hostname:J.hostname,port:J.port,pathname:J.pathname,searchParams:J.searchParams},multihost:$.indexOf(",")>-1&&$}}function AV(){try{return JV.userInfo().username}catch(T){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}class J${static[O]="SelectionProxyHandler";config;constructor(T){this.config={...T}}get(T,$){if($==="_")return{...T._,selectedFields:new Proxy(T._.selectedFields,this)};if($===pT)return{...T[pT],selectedFields:new Proxy(T[pT].selectedFields,this)};if(typeof $==="symbol")return T[$];let W=(L(T,K$)?T._.selectedFields:L(T,a$)?T[pT].selectedFields:T)[$];if(L(W,c.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!W.isSelectionField)return W.sql;let X=W.clone();return X.isSelectionField=!0,X}if(L(W,c)){if(this.config.sqlBehavior==="sql")return W;throw new Error(`You tried to reference "${$}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(L(W,PT)){if(this.config.alias)return new Proxy(W,new hW(new Proxy(W.table,new y2(this.config.alias,this.config.replaceOriginalName??!1))));return W}if(typeof W!=="object"||W===null)return W;return new Proxy(W,new J$(this.config))}}class O6 extends p${constructor(T,$,J,W){super();this.session=$,this.dialect=J,this.config={table:T,withList:W}}static[O]="PgDelete";config;where(T){return this.config.where=T,this}returning(T=this.config.table[u.Symbol.Columns]){return this.config.returningFields=T,this.config.returning=SJ(T),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){return bT.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,T,!0)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return bT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new J$({alias:B$(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}function zV(T){return(T.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((J)=>J.toLowerCase()).join("_")}function wV(T){return(T.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((J,W,X)=>{let Y=X===0?W.toLowerCase():`${W[0].toUpperCase()}${W.slice(1)}`;return J+Y},"")}function QV(T){return T}class Q9{static[O]="CasingCache";cache={};cachedTables={};convert;constructor(T){this.convert=T==="snake_case"?zV:T==="camelCase"?wV:QV}getColumnCasing(T){if(!T.keyAsName)return T.name;let $=T.table[u.Symbol.Schema]??"public",J=T.table[u.Symbol.OriginalName],W=`${$}.${J}.${T.name}`;if(!this.cache[W])this.cacheTable(T.table);return this.cache[W]}cacheTable(T){let $=T[u.Symbol.Schema]??"public",J=T[u.Symbol.OriginalName],W=`${$}.${J}`;if(!this.cachedTables[W]){for(let X of Object.values(T[u.Symbol.Columns])){let Y=`${W}.${X.name}`;this.cache[Y]=this.convert(X.name)}this.cachedTables[W]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class o2 extends a${static[O]="PgViewBase"}class c0{static[O]="PgDialect";casing;constructor(T){this.casing=new Q9(T?.casing)}async migrate(T,$,J){let W=typeof J==="string"?"__drizzle_migrations":J.migrationsTable??"__drizzle_migrations",X=typeof J==="string"?"drizzle":J.migrationsSchema??"drizzle",Y=U`
|
|
89
89
|
CREATE TABLE IF NOT EXISTS ${U.identifier(X)}.${U.identifier(W)} (
|
|
90
90
|
id SERIAL PRIMARY KEY,
|
|
91
91
|
hash text NOT NULL,
|
|
92
92
|
created_at bigint
|
|
93
93
|
)
|
|
94
|
-
`;await $.execute(U`CREATE SCHEMA IF NOT EXISTS ${U.identifier(X)}`),await $.execute(F);let G=(await $.all(U`select id, hash, created_at from ${U.identifier(X)}.${U.identifier(W)} order by created_at desc limit 1`))[0];await $.transaction(async(H)=>{for await(let M of T)if(!G||Number(G.created_at)<M.folderMillis){for(let z of M.sql)await H.execute(U.raw(z));await H.execute(U`insert into ${U.identifier(X)}.${U.identifier(W)} ("hash", "created_at") values(${M.hash}, ${M.folderMillis})`)}})}escapeName(T){return`"${T}"`}escapeParam(T){return`$${T+1}`}escapeString(T){return`'${T.replace(/'/g,"''")}'`}buildWithCTE(T){if(!T?.length)return;let $=[U`with `];for(let[J,W]of T.entries())if($.push(U`${U.identifier(W._.alias)} as (${W._.sql})`),J<T.length-1)$.push(U`, `);return $.push(U` `),U.join($)}buildDeleteQuery({table:T,where:$,returning:J,withList:W}){let X=this.buildWithCTE(W),F=J?U` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,Y=$?U` where ${$}`:void 0;return U`${X}delete from ${T}${Y}${F}`}buildUpdateSet(T,$){let J=T[u.Symbol.Columns],W=Object.keys(J).filter((F)=>$[F]!==void 0||J[F]?.onUpdateFn!==void 0),X=W.length;return U.join(W.flatMap((F,Y)=>{let G=J[F],H=$[F]??U.param(G.onUpdateFn(),G),M=U`${U.identifier(this.casing.getColumnCasing(G))} = ${H}`;if(Y<X-1)return[M,U.raw(", ")];return[M]}))}buildUpdateQuery({table:T,set:$,where:J,returning:W,withList:X,from:F,joins:Y}){let G=this.buildWithCTE(X),H=T[Z$.Symbol.Name],M=T[Z$.Symbol.Schema],z=T[Z$.Symbol.OriginalName],A=H===z?void 0:H,w=U`${M?U`${U.identifier(M)}.`:void 0}${U.identifier(z)}${A&&U` ${U.identifier(A)}`}`,_=this.buildUpdateSet(T,$),D=F&&U.join([U.raw(" from "),this.buildFromTable(F)]),S=this.buildJoins(Y),Z=W?U` returning ${this.buildSelection(W,{isSingleTable:!F})}`:void 0,q=J?U` where ${J}`:void 0;return U`${G}update ${w} set ${_}${D}${S}${q}${Z}`}buildSelection(T,{isSingleTable:$=!1}={}){let J=T.length,W=T.flatMap(({field:X},F)=>{let Y=[];if(L(X,c.Aliased)&&X.isSelectionField)Y.push(U.identifier(X.fieldAlias));else if(L(X,c.Aliased)||L(X,c)){let G=L(X,c.Aliased)?X.sql:X;if($)Y.push(new c(G.queryChunks.map((H)=>{if(L(H,P))return U.identifier(this.casing.getColumnCasing(H));return H})));else Y.push(G);if(L(X,c.Aliased))Y.push(U` as ${U.identifier(X.fieldAlias)}`)}else if(L(X,bT))if($)Y.push(U.identifier(this.casing.getColumnCasing(X)));else Y.push(X);if(F<J-1)Y.push(U`, `);return Y});return U.join(W)}buildJoins(T){if(!T||T.length===0)return;let $=[];for(let[J,W]of T.entries()){if(J===0)$.push(U` `);let X=W.table,F=W.lateral?U` lateral`:void 0;if(L(X,Z$)){let Y=X[Z$.Symbol.Name],G=X[Z$.Symbol.Schema],H=X[Z$.Symbol.OriginalName],M=Y===H?void 0:W.alias;$.push(U`${U.raw(W.joinType)} join${F} ${G?U`${U.identifier(G)}.`:void 0}${U.identifier(H)}${M&&U` ${U.identifier(M)}`} on ${W.on}`)}else if(L(X,a$)){let Y=X[pT].name,G=X[pT].schema,H=X[pT].originalName,M=Y===H?void 0:W.alias;$.push(U`${U.raw(W.joinType)} join${F} ${G?U`${U.identifier(G)}.`:void 0}${U.identifier(H)}${M&&U` ${U.identifier(M)}`} on ${W.on}`)}else $.push(U`${U.raw(W.joinType)} join${F} ${X} on ${W.on}`);if(J<T.length-1)$.push(U` `)}return U.join($)}buildFromTable(T){if(L(T,u)&&T[u.Symbol.IsAlias]){let $=U`${U.identifier(T[u.Symbol.OriginalName])}`;if(T[u.Symbol.Schema])$=U`${U.identifier(T[u.Symbol.Schema])}.${$}`;return U`${$} ${U.identifier(T[u.Symbol.Name])}`}return T}buildSelectQuery({withList:T,fields:$,fieldsFlat:J,where:W,having:X,table:F,joins:Y,orderBy:G,groupBy:H,limit:M,offset:z,lockingClause:A,distinct:w,setOperators:_}){let D=J??EJ($);for(let MT of D)if(L(MT.field,bT)&&B$(MT.field.table)!==(L(F,D$)?F._.alias:L(F,u2)?F[pT].name:L(F,c)?void 0:B$(F))&&!((kT)=>Y?.some(({alias:eT})=>eT===(kT[u.Symbol.IsAlias]?B$(kT):kT[u.Symbol.BaseName])))(MT.field.table)){let kT=B$(MT.field.table);throw new Error(`Your "${MT.path.join("->")}" field references a column "${kT}"."${MT.field.name}", but the table "${kT}" is not part of the query! Did you forget to join it?`)}let S=!Y||Y.length===0,Z=this.buildWithCTE(T),q;if(w)q=w===!0?U` distinct`:U` distinct on (${U.join(w.on,U`, `)})`;let N=this.buildSelection(D,{isSingleTable:S}),y=this.buildFromTable(F),V=this.buildJoins(Y),f=W?U` where ${W}`:void 0,C=X?U` having ${X}`:void 0,B;if(G&&G.length>0)B=U` order by ${U.join(G,U`, `)}`;let m;if(H&&H.length>0)m=U` group by ${U.join(H,U`, `)}`;let $T=typeof M==="object"||typeof M==="number"&&M>=0?U` limit ${M}`:void 0,E=z?U` offset ${z}`:void 0,XT=U.empty();if(A){let MT=U` for ${U.raw(A.strength)}`;if(A.config.of)MT.append(U` of ${U.join(Array.isArray(A.config.of)?A.config.of:[A.config.of],U`, `)}`);if(A.config.noWait)MT.append(U` no wait`);else if(A.config.skipLocked)MT.append(U` skip locked`);XT.append(MT)}let n=U`${Z}select${q} ${N} from ${y}${V}${f}${m}${C}${B}${$T}${E}${XT}`;if(_.length>0)return this.buildSetOperations(n,_);return n}buildSetOperations(T,$){let[J,...W]=$;if(!J)throw new Error("Cannot pass undefined values to any set operator");if(W.length===0)return this.buildSetOperationQuery({leftSelect:T,setOperator:J});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:T,setOperator:J}),W)}buildSetOperationQuery({leftSelect:T,setOperator:{type:$,isAll:J,rightSelect:W,limit:X,orderBy:F,offset:Y}}){let G=U`(${T.getSQL()}) `,H=U`(${W.getSQL()})`,M;if(F&&F.length>0){let _=[];for(let D of F)if(L(D,P))_.push(U.identifier(D.name));else if(L(D,c)){for(let S=0;S<D.queryChunks.length;S++){let Z=D.queryChunks[S];if(L(Z,P))D.queryChunks[S]=U.identifier(Z.name)}_.push(U`${D}`)}else _.push(U`${D}`);M=U` order by ${U.join(_,U`, `)} `}let z=typeof X==="object"||typeof X==="number"&&X>=0?U` limit ${X}`:void 0,A=U.raw(`${$} ${J?"all ":""}`),w=Y?U` offset ${Y}`:void 0;return U`${G}${A}${H}${M}${z}${w}`}buildInsertQuery({table:T,values:$,onConflict:J,returning:W,withList:X,select:F,overridingSystemValue_:Y}){let G=[],H=T[u.Symbol.Columns],M=Object.entries(H).filter(([Z,q])=>!q.shouldDisableInsert()),z=M.map(([,Z])=>U.identifier(this.casing.getColumnCasing(Z)));if(F){let Z=$;if(L(Z,c))G.push(Z);else G.push(Z.getSQL())}else{let Z=$;G.push(U.raw("values "));for(let[q,N]of Z.entries()){let y=[];for(let[V,f]of M){let C=N[V];if(C===void 0||L(C,zJ)&&C.value===void 0)if(f.defaultFn!==void 0){let B=f.defaultFn(),m=L(B,c)?B:U.param(B,f);y.push(m)}else if(!f.default&&f.onUpdateFn!==void 0){let B=f.onUpdateFn(),m=L(B,c)?B:U.param(B,f);y.push(m)}else y.push(U`default`);else y.push(C)}if(G.push(y),q<Z.length-1)G.push(U`, `)}}let A=this.buildWithCTE(X),w=U.join(G),_=W?U` returning ${this.buildSelection(W,{isSingleTable:!0})}`:void 0,D=J?U` on conflict ${J}`:void 0,S=Y===!0?U`overriding system value `:void 0;return U`${A}insert into ${T} ${z} ${S}${w}${D}${_}`}buildRefreshMaterializedViewQuery({view:T,concurrently:$,withNoData:J}){let W=$?U` concurrently`:void 0,X=J?U` with no data`:void 0;return U`refresh materialized view${W} ${T}${X}`}prepareTyping(T){if(L(T,i4)||L(T,n4))return"json";else if(L(T,t4))return"decimal";else if(L(T,r4))return"time";else if(L(T,a4)||L(T,s4))return"timestamp";else if(L(T,o4)||L(T,d4))return"date";else if(L(T,e4))return"uuid";else return"none"}sqlToQuery(T,$){return T.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:$})}buildRelationalQueryWithoutPK({fullSchema:T,schema:$,tableNamesMap:J,table:W,tableConfig:X,queryConfig:F,tableAlias:Y,nestedQueryRelation:G,joinOn:H}){let M=[],z,A,w=[],_,D=[];if(F===!0)M=Object.entries(X.columns).map(([q,N])=>({dbKey:N.name,tsKey:q,field:aJ(N,Y),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let Z=Object.fromEntries(Object.entries(X.columns).map(([C,B])=>[C,aJ(B,Y)]));if(F.where){let C=typeof F.where==="function"?F.where(Z,$A()):F.where;_=C&&y2(C,Y)}let q=[],N=[];if(F.columns){let C=!1;for(let[B,m]of Object.entries(F.columns)){if(m===void 0)continue;if(B in X.columns){if(!C&&m===!0)C=!0;N.push(B)}}if(N.length>0)N=C?N.filter((B)=>F.columns?.[B]===!0):Object.keys(X.columns).filter((B)=>!N.includes(B))}else N=Object.keys(X.columns);for(let C of N){let B=X.columns[C];q.push({tsKey:C,value:B})}let y=[];if(F.with)y=Object.entries(F.with).filter((C)=>!!C[1]).map(([C,B])=>({tsKey:C,queryConfig:B,relation:X.relations[C]}));let V;if(F.extras){V=typeof F.extras==="function"?F.extras(Z,{sql:U}):F.extras;for(let[C,B]of Object.entries(V))q.push({tsKey:C,value:cY(B,Y)})}for(let{tsKey:C,value:B}of q)M.push({dbKey:L(B,c.Aliased)?B.fieldAlias:X.columns[C].name,tsKey:C,field:L(B,bT)?aJ(B,Y):B,relationTableTsKey:void 0,isJson:!1,selection:[]});let f=typeof F.orderBy==="function"?F.orderBy(Z,JA()):F.orderBy??[];if(!Array.isArray(f))f=[f];w=f.map((C)=>{if(L(C,bT))return aJ(C,Y);return y2(C,Y)}),z=F.limit,A=F.offset;for(let{tsKey:C,queryConfig:B,relation:m}of y){let $T=XA($,J,m),E=h0(m.referencedTable),XT=J[E],n=`${Y}_${C}`,MT=P2(...$T.fields.map((l$,J1)=>T6(aJ($T.references[J1],n),aJ(l$,Y)))),kT=this.buildRelationalQueryWithoutPK({fullSchema:T,schema:$,tableNamesMap:J,table:T[XT],tableConfig:$[XT],queryConfig:L(m,a1)?B===!0?{limit:1}:{...B,limit:1}:B,tableAlias:n,joinOn:MT,nestedQueryRelation:m}),eT=U`${U.identifier(n)}.${U.identifier("data")}`.as(C);D.push({on:U`true`,table:new D$(kT.sql,{},n),alias:n,joinType:"left",lateral:!0}),M.push({dbKey:C,tsKey:C,field:eT,relationTableTsKey:XT,isJson:!0,selection:kT.selection})}}if(M.length===0)throw new u4({message:`No fields selected for table "${X.tsName}" ("${Y}")`});let S;if(_=P2(H,_),G){let Z=U`json_build_array(${U.join(M.map(({field:y,tsKey:V,isJson:f})=>f?U`${U.identifier(`${Y}_${V}`)}.${U.identifier("data")}`:L(y,c.Aliased)?y.sql:y),U`, `)})`;if(L(G,b2))Z=U`coalesce(json_agg(${Z}${w.length>0?U` order by ${U.join(w,U`, `)}`:void 0}), '[]'::json)`;let q=[{dbKey:"data",tsKey:"data",field:Z.as("data"),isJson:!0,relationTableTsKey:X.tsName,selection:M}];if(z!==void 0||A!==void 0||w.length>0)S=this.buildSelectQuery({table:p4(W,Y),fields:{},fieldsFlat:[{path:[],field:U.raw("*")}],where:_,limit:z,offset:A,orderBy:w,setOperators:[]}),_=void 0,z=void 0,A=void 0,w=[];else S=p4(W,Y);S=this.buildSelectQuery({table:L(S,Z$)?S:new D$(S,{},Y),fields:{},fieldsFlat:q.map(({field:y})=>({path:[],field:L(y,bT)?aJ(y,Y):y})),joins:D,where:_,limit:z,offset:A,orderBy:w,setOperators:[]})}else S=this.buildSelectQuery({table:p4(W,Y),fields:{},fieldsFlat:M.map(({field:Z})=>({path:[],field:L(Z,bT)?aJ(Z,Y):Z})),joins:D,where:_,limit:z,offset:A,orderBy:w,setOperators:[]});return{tableTsKey:X.tsName,sql:S,selection:M}}}class U9{static[O]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class c${static[O]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(T){if(this.fields=T.fields,this.session=T.session,this.dialect=T.dialect,T.withList)this.withList=T.withList;this.distinct=T.distinct}authToken;setToken(T){return this.authToken=T,this}from(T){let $=!!this.fields,J=T,W;if(this.fields)W=this.fields;else if(L(J,D$))W=Object.fromEntries(Object.keys(J._.selectedFields).map((X)=>[X,J[X]]));else if(L(J,u2))W=J[pT].selectedFields;else if(L(J,c))W={};else W=PH(J);return new _9({table:J,fields:W,isPartialSelect:$,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class NA extends U9{static[O]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:T,fields:$,isPartialSelect:J,session:W,dialect:X,withList:F,distinct:Y}){super();this.config={withList:F,table:T,fields:{...$},distinct:Y,setOperators:[]},this.isPartialSelect=J,this.session=W,this.dialect=X,this._={selectedFields:$},this.tableName=V1(T),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(T){return($,J)=>{let W=this.tableName,X=V1($);if(typeof X==="string"&&this.config.joins?.some((F)=>F.alias===X))throw new Error(`Alias "${X}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof W==="string")this.config.fields={[W]:this.config.fields};if(typeof X==="string"&&!L($,c)){let F=L($,D$)?$._.selectedFields:L($,a$)?$[pT].selectedFields:$[u.Symbol.Columns];this.config.fields[X]=F}}if(typeof J==="function")J=J(new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:J,table:$,joinType:T,alias:X}),typeof X==="string")switch(T){case"left":{this.joinsNotNullableMap[X]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([F])=>[F,!1])),this.joinsNotNullableMap[X]=!0;break}case"inner":{this.joinsNotNullableMap[X]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([F])=>[F,!1])),this.joinsNotNullableMap[X]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");createSetOperator(T,$){return(J)=>{let W=typeof J==="function"?J(OS()):J;if(!I2(this.getSelectedFields(),W.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:T,isAll:$,rightSelect:W}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(T){return this.config.setOperators.push(...T),this}where(T){if(typeof T==="function")T=T(new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=T,this}having(T){if(typeof T==="function")T=T(new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=T,this}groupBy(...T){if(typeof T[0]==="function"){let $=T[0](new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray($)?$:[$]}else this.config.groupBy=T;return this}orderBy(...T){if(typeof T[0]==="function"){let $=T[0](new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),J=Array.isArray($)?$:[$];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=J;else this.config.orderBy=J}else{let $=T;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=$;else this.config.orderBy=$}return this}limit(T){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=T;else this.config.limit=T;return this}offset(T){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=T;else this.config.offset=T;return this}for(T,$={}){return this.config.lockingClause={strength:T,config:$},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}as(T){return new Proxy(new D$(this.getSQL(),this.config.fields,T),new J$({alias:T,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new J$({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class _9 extends NA{static[O]="PgSelect";_prepare(T){let{session:$,config:J,dialect:W,joinsNotNullableMap:X,authToken:F}=this;if(!$)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return vT.startActiveSpan("drizzle.prepareQuery",()=>{let Y=EJ(J.fields),G=$.prepareQuery(W.sqlToQuery(this.getSQL()),Y,T,!0);return G.joinsNotNullableMap=X,G.setToken(F)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return vT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})}}xH(_9,[u$]);function oW(T,$){return(J,W,...X)=>{let F=[W,...X].map((Y)=>({type:T,isAll:$,rightSelect:Y}));for(let Y of F)if(!I2(J.getSelectedFields(),Y.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return J.addSetOperators(F)}}var OS=()=>({union:US,unionAll:_S,intersect:DS,intersectAll:KS,except:SS,exceptAll:VS}),US=oW("union",!1),_S=oW("union",!0),DS=oW("intersect",!1),KS=oW("intersect",!0),SS=oW("except",!1),VS=oW("except",!0);class c2{static[O]="PgQueryBuilder";dialect;dialectConfig;constructor(T){this.dialect=L(T,c0)?T:void 0,this.dialectConfig=L(T,c0)?void 0:T}$with=(T,$)=>{let J=this;return{as:(X)=>{if(typeof X==="function")X=X(J);return new Proxy(new Z2(X.getSQL(),$??("getSelectedFields"in X?X.getSelectedFields()??{}:{}),T,!0),new J$({alias:T,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...T){let $=this;function J(F){return new c$({fields:F??void 0,session:void 0,dialect:$.getDialect(),withList:T})}function W(F){return new c$({fields:F??void 0,session:void 0,dialect:$.getDialect(),distinct:!0})}function X(F,Y){return new c$({fields:Y??void 0,session:void 0,dialect:$.getDialect(),distinct:{on:F}})}return{select:J,selectDistinct:W,selectDistinctOn:X}}select(T){return new c$({fields:T??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(T){return new c$({fields:T??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(T,$){return new c$({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:T}})}getDialect(){if(!this.dialect)this.dialect=new c0(this.dialectConfig);return this.dialect}}class U6{constructor(T,$,J,W,X){this.table=T,this.session=$,this.dialect=J,this.withList=W,this.overridingSystemValue_=X}static[O]="PgInsertBuilder";authToken;setToken(T){return this.authToken=T,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(T){if(T=Array.isArray(T)?T:[T],T.length===0)throw new Error("values() must be called with at least one value");let $=T.map((J)=>{let W={},X=this.table[u.Symbol.Columns];for(let F of Object.keys(J)){let Y=J[F];W[F]=L(Y,c)?Y:new zJ(Y,X[F])}return W});return new D9(this.table,$,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(T){let $=typeof T==="function"?T(new c2):T;if(!L($,c)&&!I2(this.table[m4],$._.selectedFields))throw new Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new D9(this.table,$,this.session,this.dialect,this.withList,!0)}}class D9 extends u${constructor(T,$,J,W,X,F,Y){super();this.session=J,this.dialect=W,this.config={table:T,values:$,withList:X,select:F,overridingSystemValue_:Y}}static[O]="PgInsert";config;returning(T=this.config.table[u.Symbol.Columns]){return this.config.returningFields=T,this.config.returning=EJ(T),this}onConflictDoNothing(T={}){if(T.target===void 0)this.config.onConflict=U`do nothing`;else{let $="";$=Array.isArray(T.target)?T.target.map((W)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(W))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(T.target));let J=T.where?U` where ${T.where}`:void 0;this.config.onConflict=U`(${U.raw($)})${J} do nothing`}return this}onConflictDoUpdate(T){if(T.where&&(T.targetWhere||T.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let $=T.where?U` where ${T.where}`:void 0,J=T.targetWhere?U` where ${T.targetWhere}`:void 0,W=T.setWhere?U` where ${T.setWhere}`:void 0,X=this.dialect.buildUpdateSet(this.config.table,c4(this.config.table,T.set)),F="";return F=Array.isArray(T.target)?T.target.map((Y)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(Y))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(T.target)),this.config.onConflict=U`(${U.raw(F)})${J} do update set ${X}${$}${W}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){return vT.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,T,!0)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return vT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new J$({alias:B$(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class K9 extends u${constructor(T,$,J){super();this.session=$,this.dialect=J,this.config={view:T}}static[O]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){return vT.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,T,!0)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return vT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})}}class _6{constructor(T,$,J,W){this.table=T,this.session=$,this.dialect=J,this.withList=W}static[O]="PgUpdateBuilder";authToken;setToken(T){return this.authToken=T,this}set(T){return new CA(this.table,c4(this.table,T),this.session,this.dialect,this.withList).setToken(this.authToken)}}class CA extends u${constructor(T,$,J,W,X){super();this.session=J,this.dialect=W,this.config={set:$,table:T,withList:X,joins:[]},this.tableName=V1(T),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}static[O]="PgUpdate";config;tableName;joinsNotNullableMap;from(T){let $=T,J=V1($);if(typeof J==="string")this.joinsNotNullableMap[J]=!0;return this.config.from=$,this}getTableLikeFields(T){if(L(T,Z$))return T[u.Symbol.Columns];else if(L(T,D$))return T._.selectedFields;return T[pT].selectedFields}createJoin(T){return($,J)=>{let W=V1($);if(typeof W==="string"&&this.config.joins.some((X)=>X.alias===W))throw new Error(`Alias "${W}" is already used in this query`);if(typeof J==="function"){let X=this.config.from&&!L(this.config.from,c)?this.getTableLikeFields(this.config.from):void 0;J=J(new Proxy(this.config.table[u.Symbol.Columns],new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),X&&new Proxy(X,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:J,table:$,joinType:T,alias:W}),typeof W==="string")switch(T){case"left":{this.joinsNotNullableMap[W]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([X])=>[X,!1])),this.joinsNotNullableMap[W]=!0;break}case"inner":{this.joinsNotNullableMap[W]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([X])=>[X,!1])),this.joinsNotNullableMap[W]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(T){return this.config.where=T,this}returning(T){if(!T){if(T=Object.assign({},this.config.table[u.Symbol.Columns]),this.config.from){let $=V1(this.config.from);if(typeof $==="string"&&this.config.from&&!L(this.config.from,c)){let J=this.getTableLikeFields(this.config.from);T[$]=J}for(let J of this.config.joins){let W=V1(J.table);if(typeof W==="string"&&!L(J.table,c)){let X=this.getTableLikeFields(J.table);T[W]=X}}}}return this.config.returningFields=T,this.config.returning=EJ(T),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){let $=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,T,!0);return $.joinsNotNullableMap=this.joinsNotNullableMap,$}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return this._prepare().execute(T,this.authToken)};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new J$({alias:B$(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class o2 extends c{constructor(T){super(o2.buildEmbeddedCount(T.source,T.filters).queryChunks);this.params=T,this.mapWith(Number),this.session=T.session,this.sql=o2.buildCount(T.source,T.filters)}sql;token;static[O]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(T,$){return U`(select count(*) from ${T}${U.raw(" where ").if($)}${$})`}static buildCount(T,$){return U`select count(*) as count from ${T}${U.raw(" where ").if($)}${$};`}setToken(T){return this.token=T,this}then(T,$){return Promise.resolve(this.session.count(this.sql,this.token)).then(T,$)}catch(T){return this.then(void 0,T)}finally(T){return this.then(($)=>{return T?.(),$},($)=>{throw T?.(),$})}}class V9{constructor(T,$,J,W,X,F,Y){this.fullSchema=T,this.schema=$,this.tableNamesMap=J,this.table=W,this.tableConfig=X,this.dialect=F,this.session=Y}static[O]="PgRelationalQueryBuilder";findMany(T){return new S9(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,T?T:{},"many")}findFirst(T){return new S9(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,T?{...T,limit:1}:{limit:1},"first")}}class S9 extends u${constructor(T,$,J,W,X,F,Y,G,H){super();this.fullSchema=T,this.schema=$,this.tableNamesMap=J,this.table=W,this.tableConfig=X,this.dialect=F,this.session=Y,this.config=G,this.mode=H}static[O]="PgRelationalQuery";_prepare(T){return vT.startActiveSpan("drizzle.prepareQuery",()=>{let{query:$,builtQuery:J}=this._toSQL();return this.session.prepareQuery(J,void 0,T,!0,(W,X)=>{let F=W.map((Y)=>J6(this.schema,this.tableConfig,Y,$.selection,X));if(this.mode==="first")return F[0];return F})})}prepare(T){return this._prepare(T)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let T=this._getQuery(),$=this.dialect.sqlToQuery(T.sql);return{query:T,builtQuery:$}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(T){return this.authToken=T,this}execute(){return vT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(void 0,this.authToken)})}}class E9 extends u${constructor(T,$,J,W){super();this.execute=T,this.sql=$,this.query=J,this.mapBatchResult=W}static[O]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(T,$){return $?this.mapBatchResult(T):T}_prepare(){return this}isResponseInArrayMode(){return!1}}class d2{constructor(T,$,J){if(this.dialect=T,this.session=$,this._=J?{schema:J.schema,fullSchema:J.fullSchema,tableNamesMap:J.tableNamesMap,session:$}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:$},this.query={},this._.schema)for(let[W,X]of Object.entries(this._.schema))this.query[W]=new V9(J.fullSchema,this._.schema,this._.tableNamesMap,J.fullSchema[W],X,T,$)}static[O]="PgDatabase";query;$with=(T,$)=>{let J=this;return{as:(X)=>{if(typeof X==="function")X=X(new c2(J.dialect));return new Proxy(new Z2(X.getSQL(),$??("getSelectedFields"in X?X.getSelectedFields()??{}:{}),T,!0),new J$({alias:T,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(T,$){return new o2({source:T,filters:$,session:this.session})}with(...T){let $=this;function J(H){return new c$({fields:H??void 0,session:$.session,dialect:$.dialect,withList:T})}function W(H){return new c$({fields:H??void 0,session:$.session,dialect:$.dialect,withList:T,distinct:!0})}function X(H,M){return new c$({fields:M??void 0,session:$.session,dialect:$.dialect,withList:T,distinct:{on:H}})}function F(H){return new _6(H,$.session,$.dialect,T)}function Y(H){return new U6(H,$.session,$.dialect,T)}function G(H){return new O6(H,$.session,$.dialect,T)}return{select:J,selectDistinct:W,selectDistinctOn:X,update:F,insert:Y,delete:G}}select(T){return new c$({fields:T??void 0,session:this.session,dialect:this.dialect})}selectDistinct(T){return new c$({fields:T??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(T,$){return new c$({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:{on:T}})}update(T){return new _6(T,this.session,this.dialect)}insert(T){return new U6(T,this.session,this.dialect)}delete(T){return new O6(T,this.session,this.dialect)}refreshMaterializedView(T){return new K9(T,this.session,this.dialect)}authToken;execute(T){let $=typeof T==="string"?U.raw(T):T.getSQL(),J=this.dialect.sqlToQuery($),W=this.session.prepareQuery(J,void 0,void 0,!1);return new E9(()=>W.execute(void 0,this.authToken),$,J,(X)=>W.mapResult(X,!0))}transaction(T,$){return this.session.transaction(T,$)}}class ZA{constructor(T,$){this.unique=T,this.name=$}static[O]="PgIndexBuilderOn";on(...T){return new D6(T.map(($)=>{if(L($,c))return $;$=$;let J=new C2($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=JSON.parse(JSON.stringify($.defaultConfig)),J}),this.unique,!1,this.name)}onOnly(...T){return new D6(T.map(($)=>{if(L($,c))return $;$=$;let J=new C2($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=$.defaultConfig,J}),this.unique,!0,this.name)}using(T,...$){return new D6($.map((J)=>{if(L(J,c))return J;J=J;let W=new C2(J.name,!!J.keyAsName,J.columnType,J.indexConfig);return J.indexConfig=JSON.parse(JSON.stringify(J.defaultConfig)),W}),this.unique,!0,this.name,T)}}class D6{static[O]="PgIndexBuilder";config;constructor(T,$,J,W,X="btree"){this.config={name:W,columns:T,unique:$,only:J,method:X}}concurrently(){return this.config.concurrently=!0,this}with(T){return this.config.with=T,this}where(T){return this.config.where=T,this}build(T){return new qA(this.config,T)}}class qA{static[O]="PgIndex";config;constructor(T,$){this.config={...T,table:$}}}function R9(T){return new ZA(!0,T)}class L9{constructor(T){this.query=T}authToken;getQuery(){return this.query}mapResult(T,$){return T}setToken(T){return this.authToken=T,this}static[O]="PgPreparedQuery";joinsNotNullableMap}class B9{constructor(T){this.dialect=T}static[O]="PgSession";execute(T,$){return vT.startActiveSpan("drizzle.operation",()=>{return vT.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(T),void 0,void 0,!1)}).setToken($).execute(void 0,$)})}all(T){return this.prepareQuery(this.dialect.sqlToQuery(T),void 0,void 0,!1).all()}async count(T,$){let J=await this.execute(T,$);return Number(J[0].count)}}class f9 extends d2{constructor(T,$,J,W=0){super(T,$,J);this.schema=J,this.nestedIndex=W}static[O]="PgTransaction";rollback(){throw new oY}getTransactionConfigSQL(T){let $=[];if(T.isolationLevel)$.push(`isolation level ${T.isolationLevel}`);if(T.accessMode)$.push(T.accessMode);if(typeof T.deferrable==="boolean")$.push(T.deferrable?"deferrable":"not deferrable");return U.raw($.join(" "))}setTransaction(T){return this.session.execute(U`set transaction ${this.getTransactionConfigSQL(T)}`)}}class kA extends L9{constructor(T,$,J,W,X,F,Y){super({sql:$,params:J});this.client=T,this.queryString=$,this.params=J,this.logger=W,this.fields=X,this._isResponseInArrayMode=F,this.customResultMapper=Y}static[O]="PostgresJsPreparedQuery";async execute(T={}){return vT.startActiveSpan("drizzle.execute",async($)=>{let J=uY(this.params,T);$?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(J)}),this.logger.logQuery(this.queryString,J);let{fields:W,queryString:X,client:F,joinsNotNullableMap:Y,customResultMapper:G}=this;if(!W&&!G)return vT.startActiveSpan("drizzle.driver.execute",()=>{return F.unsafe(X,J)});let H=await vT.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":X,"drizzle.query.params":JSON.stringify(J)}),F.unsafe(X,J).values()});return vT.startActiveSpan("drizzle.mapResponse",()=>{return G?G(H):H.map((M)=>jH(W,M,Y))})})}all(T={}){return vT.startActiveSpan("drizzle.execute",async($)=>{let J=uY(this.params,T);return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(J)}),this.logger.logQuery(this.queryString,J),vT.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(J)}),this.client.unsafe(this.queryString,J)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class l2 extends B9{constructor(T,$,J,W={}){super($);this.client=T,this.schema=J,this.options=W,this.logger=W.logger??new lY}static[O]="PostgresJsSession";logger;prepareQuery(T,$,J,W,X){return new kA(this.client,T.sql,T.params,this.logger,$,W,X)}query(T,$){return this.logger.logQuery(T,$),this.client.unsafe(T,$).values()}queryObjects(T,$){return this.client.unsafe(T,$)}transaction(T,$){return this.client.begin(async(J)=>{let W=new l2(J,this.dialect,this.schema,this.options),X=new N9(this.dialect,W,this.schema);if($)await X.setTransaction($);return T(X)})}}class N9 extends f9{constructor(T,$,J,W=0){super(T,$,J,W);this.session=$}static[O]="PostgresJsTransaction";transaction(T){return this.session.client.savepoint(($)=>{let J=new l2($,this.dialect,this.schema,this.session.options),W=new N9(this.dialect,J,this.schema);return T(W)})}}class yA extends d2{static[O]="PostgresJsDatabase"}function dW(T,$={}){let J=(H)=>H;for(let H of["1184","1082","1083","1114","1182","1185","1115","1231"])T.options.parsers[H]=J,T.options.serializers[H]=J;T.options.serializers["114"]=J,T.options.serializers["3802"]=J;let W=new c0({casing:$.casing}),X;if($.logger===!0)X=new dY;else if($.logger!==!1)X=$.logger;let F;if($.schema){let H=WA($.schema,FA);F={fullSchema:$.schema,schema:H.tables,tableNamesMap:H.tableNamesMap}}let Y=new l2(T,W,F,{logger:X}),G=new yA(W,Y,F);return G.$client=T,G}function K6(...T){if(typeof T[0]==="string"){let $=cW(T[0]);return dW($,T[1])}if(bH(T[0])){let{connection:$,client:J,...W}=T[0];if(J)return dW(J,W);if(typeof $==="object"&&$.url!==void 0){let{url:F,...Y}=$,G=cW(F,Y);return dW(G,W)}let X=cW($);return dW(X,W)}return dW(T[0],T[1])}((T)=>{function $(J){return dW({options:{parsers:{},serializers:{}}},J)}T.mock=$})(K6||(K6={}));function IA(T,$){if(T instanceof Promise)throw new Error($)}function ES(T,$){let J={},W=[];for(let X in T){let F=T[X]["~standard"].validate($[X]);if(IA(F,`Validation must be synchronous, but ${X} returned a Promise.`),F.issues){W.push(...F.issues.map((Y)=>({...Y,path:[X,...Y.path??[]]})));continue}J[X]=F.value}if(W.length)return{issues:W};return{value:J}}function jA(T){let $=T.runtimeEnvStrict??T.runtimeEnv??process.env;if(T.emptyStringAsUndefined??!1){for(let[N,y]of Object.entries($))if(y==="")delete $[N]}if(!!T.skipValidation)return $;let X=typeof T.client==="object"?T.client:{},F=typeof T.server==="object"?T.server:{},Y=typeof T.shared==="object"?T.shared:{},G=T.isServer??(typeof window==="undefined"||("Deno"in window)),H=G?{...F,...Y,...X}:{...X,...Y},M=T.createFinalSchema?.(H,G)["~standard"].validate($)??ES(H,$);IA(M,"Validation must be synchronous");let z=T.onValidationError??((N)=>{throw console.error("\u274C Invalid environment variables:",N),new Error("Invalid environment variables")}),A=T.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(M.issues)return z(M.issues);let w=(N)=>{if(!T.clientPrefix)return!0;return!N.startsWith(T.clientPrefix)&&!(N in Y)},_=(N)=>{return G||!w(N)},D=(N)=>{return N==="__esModule"||N==="$$typeof"},S=(T.extends??[]).reduce((N,y)=>{return Object.assign(N,y)},{}),Z=Object.assign(S,M.value);return new Proxy(Z,{get(N,y){if(typeof y!=="string")return;if(D(y))return;if(!_(y))return A(y);return Reflect.get(N,y)}})}var e1=(T)=>Array.isArray(T)?T:[T],xA=(T,$)=>{let J=[[],[]];for(let W of T)if($(W))J[0].push(W);else J[1].push(W);return J},S6=Array,R1=(T,$)=>T.includes($),PA=(T,$=0)=>[...new Array(T)].map((J,W)=>W+$),ST=(T,$,J)=>{if(T===void 0)return $===void 0?[]:Array.isArray($)?$:[$];if(J?.prepend)if(Array.isArray($))T.unshift(...$);else T.unshift($);else if(Array.isArray($))T.push(...$);else T.push($);return T},L1=(T,$)=>{if($===void 0||$===null)return T??[];if(T===void 0||T===null)return e1($);return T.concat($)},bA=(...T)=>T.reduce(L1,[]),eJ=(T,$,J)=>{if(T===void 0)return Array.isArray($)?$:[$];let W=J?.isEqual??((X,F)=>X===F);for(let X of e1($))if(!T.some((F)=>W(F,X)))T.push(X);return T},vA=(T,$)=>T.reduce((J,W)=>{let X=W[$];return J[X]=ST(J[X],W),J},{}),B1=(T,$,J)=>T.length===$.length&&T.every(J?.isEqual?(W,X)=>J.isEqual(W,$[X]):(W,X)=>W===$[X]);var e$=(T,$)=>S$(T)===$,S$=(T)=>{let $=typeof T;return $==="object"?T===null?"null":"object":$==="function"?"object":$},TJ={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},hA={...TJ,function:"a function"};class mA extends Error{}var RT=(T)=>o0(T,mA),o0=(T,$=Error)=>{throw new $(T)};class n2 extends Error{name="ParseError"}var R=(T)=>o0(T,n2),vJ=(T)=>` ${T}`;var YT=(T,$)=>{let J={},W=Array.isArray(T),X=!1;for(let[F,Y]of Object.entries(T).entries()){let G=W?$(F,Y[1]):$(...Y,F);X||=typeof G[0]==="number";let H=Array.isArray(G[0])||G.length===0?G:[G];for(let[M,z]of H)if(typeof M==="object")J[M.group]=ST(J[M.group],z);else J[M]=z}return X?Object.values(J):J};var C9=Object.entries;var V$=(T,$)=>(T in $),lW=(T,$)=>($ in T);class Z9{constructor(T){Object.assign(this,T)}}var gA=class{};class i2 extends gA{}var RS=(T,$)=>{let J={},W={},X;for(X in T)if(X in $)J[X]=T[X];else W[X]=T[X];return[J,W]};var pA=(T,$)=>RS(T,$)[1],T1=(T)=>Object.keys(T).length===0,d0=(T)=>[...Object.entries(T),...Object.getOwnPropertySymbols(T).map(($)=>[$,T[$]])],uA=(T,$)=>Object.defineProperties(T,Object.getOwnPropertyDescriptors($)),cA=(T)=>{let $=Object.keys(T).sort(),J={};for(let W=0;W<$.length;W++)J[$[W]]=T[$[W]];return J};var QJ=vJ("represents an uninitialized value"),oA=(T)=>Object.values(T).filter(($)=>{if(typeof $==="number")return!0;return typeof T[$]!=="number"});var q9={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},k9=globalThis.File??Blob,y9={ArrayBuffer,Blob,File:k9,FormData,Headers,Request,Response,URL},LS={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},l0={...q9,...y9,...LS,String,Number,Boolean},t2=(T)=>{let $=Object.getPrototypeOf(T);while($?.constructor&&(!V$($.constructor.name,l0)||!(T instanceof l0[$.constructor.name])))$=Object.getPrototypeOf($);let J=$?.constructor?.name;if(J===void 0||J==="Object")return;return J},r2=(T)=>typeof T==="object"&&T!==null?t2(T)??"object":S$(T);var hT=Array.isArray,BS={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},fS={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},NS={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},dA={...BS,...fS,...NS},a2=(T)=>{let $=Object(T).name??null;return $&&V$($,l0)&&l0[$]===T?$:null};var I9=(T,$)=>{let J=T.prototype;while(J!==null){if(J===$.prototype)return!0;J=Object.getPrototypeOf(J)}return!1};var lA=(T)=>nA(T,new Map),nA=(T,$)=>{if(typeof T!=="object"||T===null)return T;if($?.has(T))return $.get(T);let J=a2(T.constructor);if(J==="Date")return new Date(T.getTime());if(J&&J!=="Array")return T;let W=Array.isArray(T)?T.slice():Object.create(Object.getPrototypeOf(T)),X=Object.getOwnPropertyDescriptors(T);if($){$.set(T,W);for(let F in X){let Y=X[F];if("get"in Y||"set"in Y)continue;Y.value=nA(Y.value,$)}}return Object.defineProperties(W,X),W};var CS=(T)=>{let $=QJ;return()=>$===QJ?$=T():$},T0=(T)=>typeof T==="function"&&T.length===0;var iA=class extends Function{constructor(...T){let $=T.slice(0,-1),J=T.at(-1);try{super(...$,J)}catch(W){return RT(`Encountered an unexpected error while compiling your definition:
|
|
94
|
+
`;await $.execute(U`CREATE SCHEMA IF NOT EXISTS ${U.identifier(X)}`),await $.execute(Y);let G=(await $.all(U`select id, hash, created_at from ${U.identifier(X)}.${U.identifier(W)} order by created_at desc limit 1`))[0];await $.transaction(async(H)=>{for await(let M of T)if(!G||Number(G.created_at)<M.folderMillis){for(let A of M.sql)await H.execute(U.raw(A));await H.execute(U`insert into ${U.identifier(X)}.${U.identifier(W)} ("hash", "created_at") values(${M.hash}, ${M.folderMillis})`)}})}escapeName(T){return`"${T}"`}escapeParam(T){return`$${T+1}`}escapeString(T){return`'${T.replace(/'/g,"''")}'`}buildWithCTE(T){if(!T?.length)return;let $=[U`with `];for(let[J,W]of T.entries())if($.push(U`${U.identifier(W._.alias)} as (${W._.sql})`),J<T.length-1)$.push(U`, `);return $.push(U` `),U.join($)}buildDeleteQuery({table:T,where:$,returning:J,withList:W}){let X=this.buildWithCTE(W),Y=J?U` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,F=$?U` where ${$}`:void 0;return U`${X}delete from ${T}${F}${Y}`}buildUpdateSet(T,$){let J=T[u.Symbol.Columns],W=Object.keys(J).filter((Y)=>$[Y]!==void 0||J[Y]?.onUpdateFn!==void 0),X=W.length;return U.join(W.flatMap((Y,F)=>{let G=J[Y],H=$[Y]??U.param(G.onUpdateFn(),G),M=U`${U.identifier(this.casing.getColumnCasing(G))} = ${H}`;if(F<X-1)return[M,U.raw(", ")];return[M]}))}buildUpdateQuery({table:T,set:$,where:J,returning:W,withList:X,from:Y,joins:F}){let G=this.buildWithCTE(X),H=T[Z$.Symbol.Name],M=T[Z$.Symbol.Schema],A=T[Z$.Symbol.OriginalName],z=H===A?void 0:H,w=U`${M?U`${U.identifier(M)}.`:void 0}${U.identifier(A)}${z&&U` ${U.identifier(z)}`}`,_=this.buildUpdateSet(T,$),K=Y&&U.join([U.raw(" from "),this.buildFromTable(Y)]),V=this.buildJoins(F),Z=W?U` returning ${this.buildSelection(W,{isSingleTable:!Y})}`:void 0,q=J?U` where ${J}`:void 0;return U`${G}update ${w} set ${_}${K}${V}${q}${Z}`}buildSelection(T,{isSingleTable:$=!1}={}){let J=T.length,W=T.flatMap(({field:X},Y)=>{let F=[];if(L(X,c.Aliased)&&X.isSelectionField)F.push(U.identifier(X.fieldAlias));else if(L(X,c.Aliased)||L(X,c)){let G=L(X,c.Aliased)?X.sql:X;if($)F.push(new c(G.queryChunks.map((H)=>{if(L(H,P))return U.identifier(this.casing.getColumnCasing(H));return H})));else F.push(G);if(L(X,c.Aliased))F.push(U` as ${U.identifier(X.fieldAlias)}`)}else if(L(X,PT))if($)F.push(U.identifier(this.casing.getColumnCasing(X)));else F.push(X);if(Y<J-1)F.push(U`, `);return F});return U.join(W)}buildJoins(T){if(!T||T.length===0)return;let $=[];for(let[J,W]of T.entries()){if(J===0)$.push(U` `);let X=W.table,Y=W.lateral?U` lateral`:void 0,F=W.on?U` on ${W.on}`:void 0;if(L(X,Z$)){let G=X[Z$.Symbol.Name],H=X[Z$.Symbol.Schema],M=X[Z$.Symbol.OriginalName],A=G===M?void 0:W.alias;$.push(U`${U.raw(W.joinType)} join${Y} ${H?U`${U.identifier(H)}.`:void 0}${U.identifier(M)}${A&&U` ${U.identifier(A)}`}${F}`)}else if(L(X,a$)){let G=X[pT].name,H=X[pT].schema,M=X[pT].originalName,A=G===M?void 0:W.alias;$.push(U`${U.raw(W.joinType)} join${Y} ${H?U`${U.identifier(H)}.`:void 0}${U.identifier(M)}${A&&U` ${U.identifier(A)}`}${F}`)}else $.push(U`${U.raw(W.joinType)} join${Y} ${X}${F}`);if(J<T.length-1)$.push(U` `)}return U.join($)}buildFromTable(T){if(L(T,u)&&T[u.Symbol.IsAlias]){let $=U`${U.identifier(T[u.Symbol.OriginalName])}`;if(T[u.Symbol.Schema])$=U`${U.identifier(T[u.Symbol.Schema])}.${$}`;return U`${$} ${U.identifier(T[u.Symbol.Name])}`}return T}buildSelectQuery({withList:T,fields:$,fieldsFlat:J,where:W,having:X,table:Y,joins:F,orderBy:G,groupBy:H,limit:M,offset:A,lockingClause:z,distinct:w,setOperators:_}){let K=J??SJ($);for(let MT of K)if(L(MT.field,PT)&&B$(MT.field.table)!==(L(Y,K$)?Y._.alias:L(Y,o2)?Y[pT].name:L(Y,c)?void 0:B$(Y))&&!((kT)=>F?.some(({alias:sT})=>sT===(kT[u.Symbol.IsAlias]?B$(kT):kT[u.Symbol.BaseName])))(MT.field.table)){let kT=B$(MT.field.table);throw new Error(`Your "${MT.path.join("->")}" field references a column "${kT}"."${MT.field.name}", but the table "${kT}" is not part of the query! Did you forget to join it?`)}let V=!F||F.length===0,Z=this.buildWithCTE(T),q;if(w)q=w===!0?U` distinct`:U` distinct on (${U.join(w.on,U`, `)})`;let N=this.buildSelection(K,{isSingleTable:V}),y=this.buildFromTable(Y),S=this.buildJoins(F),f=W?U` where ${W}`:void 0,C=X?U` having ${X}`:void 0,B;if(G&&G.length>0)B=U` order by ${U.join(G,U`, `)}`;let g;if(H&&H.length>0)g=U` group by ${U.join(H,U`, `)}`;let $T=typeof M==="object"||typeof M==="number"&&M>=0?U` limit ${M}`:void 0,R=A?U` offset ${A}`:void 0,XT=U.empty();if(z){let MT=U` for ${U.raw(z.strength)}`;if(z.config.of)MT.append(U` of ${U.join(Array.isArray(z.config.of)?z.config.of:[z.config.of],U`, `)}`);if(z.config.noWait)MT.append(U` nowait`);else if(z.config.skipLocked)MT.append(U` skip locked`);XT.append(MT)}let n=U`${Z}select${q} ${N} from ${y}${S}${f}${g}${C}${B}${$T}${R}${XT}`;if(_.length>0)return this.buildSetOperations(n,_);return n}buildSetOperations(T,$){let[J,...W]=$;if(!J)throw new Error("Cannot pass undefined values to any set operator");if(W.length===0)return this.buildSetOperationQuery({leftSelect:T,setOperator:J});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:T,setOperator:J}),W)}buildSetOperationQuery({leftSelect:T,setOperator:{type:$,isAll:J,rightSelect:W,limit:X,orderBy:Y,offset:F}}){let G=U`(${T.getSQL()}) `,H=U`(${W.getSQL()})`,M;if(Y&&Y.length>0){let _=[];for(let K of Y)if(L(K,P))_.push(U.identifier(K.name));else if(L(K,c)){for(let V=0;V<K.queryChunks.length;V++){let Z=K.queryChunks[V];if(L(Z,P))K.queryChunks[V]=U.identifier(Z.name)}_.push(U`${K}`)}else _.push(U`${K}`);M=U` order by ${U.join(_,U`, `)} `}let A=typeof X==="object"||typeof X==="number"&&X>=0?U` limit ${X}`:void 0,z=U.raw(`${$} ${J?"all ":""}`),w=F?U` offset ${F}`:void 0;return U`${G}${z}${H}${M}${A}${w}`}buildInsertQuery({table:T,values:$,onConflict:J,returning:W,withList:X,select:Y,overridingSystemValue_:F}){let G=[],H=T[u.Symbol.Columns],M=Object.entries(H).filter(([Z,q])=>!q.shouldDisableInsert()),A=M.map(([,Z])=>U.identifier(this.casing.getColumnCasing(Z)));if(Y){let Z=$;if(L(Z,c))G.push(Z);else G.push(Z.getSQL())}else{let Z=$;G.push(U.raw("values "));for(let[q,N]of Z.entries()){let y=[];for(let[S,f]of M){let C=N[S];if(C===void 0||L(C,AJ)&&C.value===void 0)if(f.defaultFn!==void 0){let B=f.defaultFn(),g=L(B,c)?B:U.param(B,f);y.push(g)}else if(!f.default&&f.onUpdateFn!==void 0){let B=f.onUpdateFn(),g=L(B,c)?B:U.param(B,f);y.push(g)}else y.push(U`default`);else y.push(C)}if(G.push(y),q<Z.length-1)G.push(U`, `)}}let z=this.buildWithCTE(X),w=U.join(G),_=W?U` returning ${this.buildSelection(W,{isSingleTable:!0})}`:void 0,K=J?U` on conflict ${J}`:void 0,V=F===!0?U`overriding system value `:void 0;return U`${z}insert into ${T} ${A} ${V}${w}${K}${_}`}buildRefreshMaterializedViewQuery({view:T,concurrently:$,withNoData:J}){let W=$?U` concurrently`:void 0,X=J?U` with no data`:void 0;return U`refresh materialized view${W} ${T}${X}`}prepareTyping(T){if(L(T,i4)||L(T,n4))return"json";else if(L(T,t4))return"decimal";else if(L(T,r4))return"time";else if(L(T,a4)||L(T,s4))return"timestamp";else if(L(T,d4)||L(T,l4))return"date";else if(L(T,e4))return"uuid";else return"none"}sqlToQuery(T,$){return T.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:$})}buildRelationalQueryWithoutPK({fullSchema:T,schema:$,tableNamesMap:J,table:W,tableConfig:X,queryConfig:Y,tableAlias:F,nestedQueryRelation:G,joinOn:H}){let M=[],A,z,w=[],_,K=[];if(Y===!0)M=Object.entries(X.columns).map(([q,N])=>({dbKey:N.name,tsKey:q,field:sJ(N,F),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let Z=Object.fromEntries(Object.entries(X.columns).map(([C,B])=>[C,sJ(B,F)]));if(Y.where){let C=typeof Y.where==="function"?Y.where(Z,$z()):Y.where;_=C&&I2(C,F)}let q=[],N=[];if(Y.columns){let C=!1;for(let[B,g]of Object.entries(Y.columns)){if(g===void 0)continue;if(B in X.columns){if(!C&&g===!0)C=!0;N.push(B)}}if(N.length>0)N=C?N.filter((B)=>Y.columns?.[B]===!0):Object.keys(X.columns).filter((B)=>!N.includes(B))}else N=Object.keys(X.columns);for(let C of N){let B=X.columns[C];q.push({tsKey:C,value:B})}let y=[];if(Y.with)y=Object.entries(Y.with).filter((C)=>!!C[1]).map(([C,B])=>({tsKey:C,queryConfig:B,relation:X.relations[C]}));let S;if(Y.extras){S=typeof Y.extras==="function"?Y.extras(Z,{sql:U}):Y.extras;for(let[C,B]of Object.entries(S))q.push({tsKey:C,value:uF(B,F)})}for(let{tsKey:C,value:B}of q)M.push({dbKey:L(B,c.Aliased)?B.fieldAlias:X.columns[C].name,tsKey:C,field:L(B,PT)?sJ(B,F):B,relationTableTsKey:void 0,isJson:!1,selection:[]});let f=typeof Y.orderBy==="function"?Y.orderBy(Z,Jz()):Y.orderBy??[];if(!Array.isArray(f))f=[f];w=f.map((C)=>{if(L(C,PT))return sJ(C,F);return I2(C,F)}),A=Y.limit,z=Y.offset;for(let{tsKey:C,queryConfig:B,relation:g}of y){let $T=Xz($,J,g),R=h0(g.referencedTable),XT=J[R],n=`${F}_${C}`,MT=v2(...$T.fields.map((l$,W1)=>T6(sJ($T.references[W1],n),sJ(l$,F)))),kT=this.buildRelationalQueryWithoutPK({fullSchema:T,schema:$,tableNamesMap:J,table:T[XT],tableConfig:$[XT],queryConfig:L(g,a1)?B===!0?{limit:1}:{...B,limit:1}:B,tableAlias:n,joinOn:MT,nestedQueryRelation:g}),sT=U`${U.identifier(n)}.${U.identifier("data")}`.as(C);K.push({on:U`true`,table:new K$(kT.sql,{},n),alias:n,joinType:"left",lateral:!0}),M.push({dbKey:C,tsKey:C,field:sT,relationTableTsKey:XT,isJson:!0,selection:kT.selection})}}if(M.length===0)throw new c4({message:`No fields selected for table "${X.tsName}" ("${F}")`});let V;if(_=v2(H,_),G){let Z=U`json_build_array(${U.join(M.map(({field:y,tsKey:S,isJson:f})=>f?U`${U.identifier(`${F}_${S}`)}.${U.identifier("data")}`:L(y,c.Aliased)?y.sql:y),U`, `)})`;if(L(G,h2))Z=U`coalesce(json_agg(${Z}${w.length>0?U` order by ${U.join(w,U`, `)}`:void 0}), '[]'::json)`;let q=[{dbKey:"data",tsKey:"data",field:Z.as("data"),isJson:!0,relationTableTsKey:X.tsName,selection:M}];if(A!==void 0||z!==void 0||w.length>0)V=this.buildSelectQuery({table:u4(W,F),fields:{},fieldsFlat:[{path:[],field:U.raw("*")}],where:_,limit:A,offset:z,orderBy:w,setOperators:[]}),_=void 0,A=void 0,z=void 0,w=[];else V=u4(W,F);V=this.buildSelectQuery({table:L(V,Z$)?V:new K$(V,{},F),fields:{},fieldsFlat:q.map(({field:y})=>({path:[],field:L(y,PT)?sJ(y,F):y})),joins:K,where:_,limit:A,offset:z,orderBy:w,setOperators:[]})}else V=this.buildSelectQuery({table:u4(W,F),fields:{},fieldsFlat:M.map(({field:Z})=>({path:[],field:L(Z,PT)?sJ(Z,F):Z})),joins:K,where:_,limit:A,offset:z,orderBy:w,setOperators:[]});return{tableTsKey:X.tsName,sql:V,selection:M}}}class O9{static[O]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class c${static[O]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(T){if(this.fields=T.fields,this.session=T.session,this.dialect=T.dialect,T.withList)this.withList=T.withList;this.distinct=T.distinct}authToken;setToken(T){return this.authToken=T,this}from(T){let $=!!this.fields,J=T,W;if(this.fields)W=this.fields;else if(L(J,K$))W=Object.fromEntries(Object.keys(J._.selectedFields).map((X)=>[X,J[X]]));else if(L(J,o2))W=J[pT].selectedFields;else if(L(J,c))W={};else W=PH(J);return new U9({table:J,fields:W,isPartialSelect:$,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class Nz extends O9{static[O]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:T,fields:$,isPartialSelect:J,session:W,dialect:X,withList:Y,distinct:F}){super();this.config={withList:Y,table:T,fields:{...$},distinct:F,setOperators:[]},this.isPartialSelect=J,this.session=W,this.dialect=X,this._={selectedFields:$},this.tableName=R1(T),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(T,$){return(J,W)=>{let X=this.tableName,Y=R1(J);if(typeof Y==="string"&&this.config.joins?.some((F)=>F.alias===Y))throw new Error(`Alias "${Y}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof X==="string")this.config.fields={[X]:this.config.fields};if(typeof Y==="string"&&!L(J,c)){let F=L(J,K$)?J._.selectedFields:L(J,a$)?J[pT].selectedFields:J[u.Symbol.Columns];this.config.fields[Y]=F}}if(typeof W==="function")W=W(new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:W,table:J,joinType:T,alias:Y,lateral:$}),typeof Y==="string")switch(T){case"left":{this.joinsNotNullableMap[Y]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([F])=>[F,!1])),this.joinsNotNullableMap[Y]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[Y]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([F])=>[F,!1])),this.joinsNotNullableMap[Y]=!1;break}}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(T,$){return(J)=>{let W=typeof J==="function"?J(OV()):J;if(!j2(this.getSelectedFields(),W.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:T,isAll:$,rightSelect:W}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(T){return this.config.setOperators.push(...T),this}where(T){if(typeof T==="function")T=T(new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=T,this}having(T){if(typeof T==="function")T=T(new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=T,this}groupBy(...T){if(typeof T[0]==="function"){let $=T[0](new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray($)?$:[$]}else this.config.groupBy=T;return this}orderBy(...T){if(typeof T[0]==="function"){let $=T[0](new Proxy(this.config.fields,new J$({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),J=Array.isArray($)?$:[$];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=J;else this.config.orderBy=J}else{let $=T;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=$;else this.config.orderBy=$}return this}limit(T){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=T;else this.config.limit=T;return this}offset(T){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=T;else this.config.offset=T;return this}for(T,$={}){return this.config.lockingClause={strength:T,config:$},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}as(T){return new Proxy(new K$(this.getSQL(),this.config.fields,T),new J$({alias:T,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new J$({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class U9 extends Nz{static[O]="PgSelect";_prepare(T){let{session:$,config:J,dialect:W,joinsNotNullableMap:X,authToken:Y}=this;if(!$)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return bT.startActiveSpan("drizzle.prepareQuery",()=>{let F=SJ(J.fields),G=$.prepareQuery(W.sqlToQuery(this.getSQL()),F,T,!0);return G.joinsNotNullableMap=X,G.setToken(Y)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return bT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})}}xH(U9,[p$]);function cW(T,$){return(J,W,...X)=>{let Y=[W,...X].map((F)=>({type:T,isAll:$,rightSelect:F}));for(let F of Y)if(!j2(J.getSelectedFields(),F.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return J.addSetOperators(Y)}}var OV=()=>({union:UV,unionAll:_V,intersect:KV,intersectAll:DV,except:VV,exceptAll:SV}),UV=cW("union",!1),_V=cW("union",!0),KV=cW("intersect",!1),DV=cW("intersect",!0),VV=cW("except",!1),SV=cW("except",!0);class d2{static[O]="PgQueryBuilder";dialect;dialectConfig;constructor(T){this.dialect=L(T,c0)?T:void 0,this.dialectConfig=L(T,c0)?void 0:T}$with=(T,$)=>{let J=this;return{as:(X)=>{if(typeof X==="function")X=X(J);return new Proxy(new q2(X.getSQL(),$??("getSelectedFields"in X?X.getSelectedFields()??{}:{}),T,!0),new J$({alias:T,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...T){let $=this;function J(Y){return new c$({fields:Y??void 0,session:void 0,dialect:$.getDialect(),withList:T})}function W(Y){return new c$({fields:Y??void 0,session:void 0,dialect:$.getDialect(),distinct:!0})}function X(Y,F){return new c$({fields:F??void 0,session:void 0,dialect:$.getDialect(),distinct:{on:Y}})}return{select:J,selectDistinct:W,selectDistinctOn:X}}select(T){return new c$({fields:T??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(T){return new c$({fields:T??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(T,$){return new c$({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:T}})}getDialect(){if(!this.dialect)this.dialect=new c0(this.dialectConfig);return this.dialect}}class U6{constructor(T,$,J,W,X){this.table=T,this.session=$,this.dialect=J,this.withList=W,this.overridingSystemValue_=X}static[O]="PgInsertBuilder";authToken;setToken(T){return this.authToken=T,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(T){if(T=Array.isArray(T)?T:[T],T.length===0)throw new Error("values() must be called with at least one value");let $=T.map((J)=>{let W={},X=this.table[u.Symbol.Columns];for(let Y of Object.keys(J)){let F=J[Y];W[Y]=L(F,c)?F:new AJ(F,X[Y])}return W});return new _9(this.table,$,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(T){let $=typeof T==="function"?T(new d2):T;if(!L($,c)&&!j2(this.table[m4],$._.selectedFields))throw new Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new _9(this.table,$,this.session,this.dialect,this.withList,!0)}}class _9 extends p${constructor(T,$,J,W,X,Y,F){super();this.session=J,this.dialect=W,this.config={table:T,values:$,withList:X,select:Y,overridingSystemValue_:F}}static[O]="PgInsert";config;returning(T=this.config.table[u.Symbol.Columns]){return this.config.returningFields=T,this.config.returning=SJ(T),this}onConflictDoNothing(T={}){if(T.target===void 0)this.config.onConflict=U`do nothing`;else{let $="";$=Array.isArray(T.target)?T.target.map((W)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(W))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(T.target));let J=T.where?U` where ${T.where}`:void 0;this.config.onConflict=U`(${U.raw($)})${J} do nothing`}return this}onConflictDoUpdate(T){if(T.where&&(T.targetWhere||T.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let $=T.where?U` where ${T.where}`:void 0,J=T.targetWhere?U` where ${T.targetWhere}`:void 0,W=T.setWhere?U` where ${T.setWhere}`:void 0,X=this.dialect.buildUpdateSet(this.config.table,o4(this.config.table,T.set)),Y="";return Y=Array.isArray(T.target)?T.target.map((F)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(F))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(T.target)),this.config.onConflict=U`(${U.raw(Y)})${J} do update set ${X}${$}${W}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){return bT.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,T,!0)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return bT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new J$({alias:B$(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class K9 extends p${constructor(T,$,J){super();this.session=$,this.dialect=J,this.config={view:T}}static[O]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){return bT.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,T,!0)})}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return bT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(T,this.authToken)})}}class _6{constructor(T,$,J,W){this.table=T,this.session=$,this.dialect=J,this.withList=W}static[O]="PgUpdateBuilder";authToken;setToken(T){return this.authToken=T,this}set(T){return new Cz(this.table,o4(this.table,T),this.session,this.dialect,this.withList).setToken(this.authToken)}}class Cz extends p${constructor(T,$,J,W,X){super();this.session=J,this.dialect=W,this.config={set:$,table:T,withList:X,joins:[]},this.tableName=R1(T),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}static[O]="PgUpdate";config;tableName;joinsNotNullableMap;from(T){let $=T,J=R1($);if(typeof J==="string")this.joinsNotNullableMap[J]=!0;return this.config.from=$,this}getTableLikeFields(T){if(L(T,Z$))return T[u.Symbol.Columns];else if(L(T,K$))return T._.selectedFields;return T[pT].selectedFields}createJoin(T){return($,J)=>{let W=R1($);if(typeof W==="string"&&this.config.joins.some((X)=>X.alias===W))throw new Error(`Alias "${W}" is already used in this query`);if(typeof J==="function"){let X=this.config.from&&!L(this.config.from,c)?this.getTableLikeFields(this.config.from):void 0;J=J(new Proxy(this.config.table[u.Symbol.Columns],new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),X&&new Proxy(X,new J$({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:J,table:$,joinType:T,alias:W}),typeof W==="string")switch(T){case"left":{this.joinsNotNullableMap[W]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([X])=>[X,!1])),this.joinsNotNullableMap[W]=!0;break}case"inner":{this.joinsNotNullableMap[W]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([X])=>[X,!1])),this.joinsNotNullableMap[W]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(T){return this.config.where=T,this}returning(T){if(!T){if(T=Object.assign({},this.config.table[u.Symbol.Columns]),this.config.from){let $=R1(this.config.from);if(typeof $==="string"&&this.config.from&&!L(this.config.from,c)){let J=this.getTableLikeFields(this.config.from);T[$]=J}for(let J of this.config.joins){let W=R1(J.table);if(typeof W==="string"&&!L(J.table,c)){let X=this.getTableLikeFields(J.table);T[W]=X}}}}return this.config.returningFields=T,this.config.returning=SJ(T),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:T,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(T){let $=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,T,!0);return $.joinsNotNullableMap=this.joinsNotNullableMap,$}prepare(T){return this._prepare(T)}authToken;setToken(T){return this.authToken=T,this}execute=(T)=>{return this._prepare().execute(T,this.authToken)};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new J$({alias:B$(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class l2 extends c{constructor(T){super(l2.buildEmbeddedCount(T.source,T.filters).queryChunks);this.params=T,this.mapWith(Number),this.session=T.session,this.sql=l2.buildCount(T.source,T.filters)}sql;token;static[O]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(T,$){return U`(select count(*) from ${T}${U.raw(" where ").if($)}${$})`}static buildCount(T,$){return U`select count(*) as count from ${T}${U.raw(" where ").if($)}${$};`}setToken(T){return this.token=T,this}then(T,$){return Promise.resolve(this.session.count(this.sql,this.token)).then(T,$)}catch(T){return this.then(void 0,T)}finally(T){return this.then(($)=>{return T?.(),$},($)=>{throw T?.(),$})}}class V9{constructor(T,$,J,W,X,Y,F){this.fullSchema=T,this.schema=$,this.tableNamesMap=J,this.table=W,this.tableConfig=X,this.dialect=Y,this.session=F}static[O]="PgRelationalQueryBuilder";findMany(T){return new D9(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,T?T:{},"many")}findFirst(T){return new D9(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,T?{...T,limit:1}:{limit:1},"first")}}class D9 extends p${constructor(T,$,J,W,X,Y,F,G,H){super();this.fullSchema=T,this.schema=$,this.tableNamesMap=J,this.table=W,this.tableConfig=X,this.dialect=Y,this.session=F,this.config=G,this.mode=H}static[O]="PgRelationalQuery";_prepare(T){return bT.startActiveSpan("drizzle.prepareQuery",()=>{let{query:$,builtQuery:J}=this._toSQL();return this.session.prepareQuery(J,void 0,T,!0,(W,X)=>{let Y=W.map((F)=>J6(this.schema,this.tableConfig,F,$.selection,X));if(this.mode==="first")return Y[0];return Y})})}prepare(T){return this._prepare(T)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let T=this._getQuery(),$=this.dialect.sqlToQuery(T.sql);return{query:T,builtQuery:$}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(T){return this.authToken=T,this}execute(){return bT.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(void 0,this.authToken)})}}class S9 extends p${constructor(T,$,J,W){super();this.execute=T,this.sql=$,this.query=J,this.mapBatchResult=W}static[O]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(T,$){return $?this.mapBatchResult(T):T}_prepare(){return this}isResponseInArrayMode(){return!1}}class n2{constructor(T,$,J){if(this.dialect=T,this.session=$,this._=J?{schema:J.schema,fullSchema:J.fullSchema,tableNamesMap:J.tableNamesMap,session:$}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:$},this.query={},this._.schema)for(let[W,X]of Object.entries(this._.schema))this.query[W]=new V9(J.fullSchema,this._.schema,this._.tableNamesMap,J.fullSchema[W],X,T,$)}static[O]="PgDatabase";query;$with=(T,$)=>{let J=this;return{as:(X)=>{if(typeof X==="function")X=X(new d2(J.dialect));return new Proxy(new q2(X.getSQL(),$??("getSelectedFields"in X?X.getSelectedFields()??{}:{}),T,!0),new J$({alias:T,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(T,$){return new l2({source:T,filters:$,session:this.session})}with(...T){let $=this;function J(H){return new c$({fields:H??void 0,session:$.session,dialect:$.dialect,withList:T})}function W(H){return new c$({fields:H??void 0,session:$.session,dialect:$.dialect,withList:T,distinct:!0})}function X(H,M){return new c$({fields:M??void 0,session:$.session,dialect:$.dialect,withList:T,distinct:{on:H}})}function Y(H){return new _6(H,$.session,$.dialect,T)}function F(H){return new U6(H,$.session,$.dialect,T)}function G(H){return new O6(H,$.session,$.dialect,T)}return{select:J,selectDistinct:W,selectDistinctOn:X,update:Y,insert:F,delete:G}}select(T){return new c$({fields:T??void 0,session:this.session,dialect:this.dialect})}selectDistinct(T){return new c$({fields:T??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(T,$){return new c$({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:{on:T}})}update(T){return new _6(T,this.session,this.dialect)}insert(T){return new U6(T,this.session,this.dialect)}delete(T){return new O6(T,this.session,this.dialect)}refreshMaterializedView(T){return new K9(T,this.session,this.dialect)}authToken;execute(T){let $=typeof T==="string"?U.raw(T):T.getSQL(),J=this.dialect.sqlToQuery($),W=this.session.prepareQuery(J,void 0,void 0,!1);return new S9(()=>W.execute(void 0,this.authToken),$,J,(X)=>W.mapResult(X,!0))}transaction(T,$){return this.session.transaction(T,$)}}class Zz{constructor(T,$){this.unique=T,this.name=$}static[O]="PgIndexBuilderOn";on(...T){return new K6(T.map(($)=>{if(L($,c))return $;$=$;let J=new C2($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=JSON.parse(JSON.stringify($.defaultConfig)),J}),this.unique,!1,this.name)}onOnly(...T){return new K6(T.map(($)=>{if(L($,c))return $;$=$;let J=new C2($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=$.defaultConfig,J}),this.unique,!0,this.name)}using(T,...$){return new K6($.map((J)=>{if(L(J,c))return J;J=J;let W=new C2(J.name,!!J.keyAsName,J.columnType,J.indexConfig);return J.indexConfig=JSON.parse(JSON.stringify(J.defaultConfig)),W}),this.unique,!0,this.name,T)}}class K6{static[O]="PgIndexBuilder";config;constructor(T,$,J,W,X="btree"){this.config={name:W,columns:T,unique:$,only:J,method:X}}concurrently(){return this.config.concurrently=!0,this}with(T){return this.config.with=T,this}where(T){return this.config.where=T,this}build(T){return new qz(this.config,T)}}class qz{static[O]="PgIndex";config;constructor(T,$){this.config={...T,table:$}}}function R9(T){return new Zz(!0,T)}class E9{constructor(T){this.query=T}authToken;getQuery(){return this.query}mapResult(T,$){return T}setToken(T){return this.authToken=T,this}static[O]="PgPreparedQuery";joinsNotNullableMap}class L9{constructor(T){this.dialect=T}static[O]="PgSession";execute(T,$){return bT.startActiveSpan("drizzle.operation",()=>{return bT.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(T),void 0,void 0,!1)}).setToken($).execute(void 0,$)})}all(T){return this.prepareQuery(this.dialect.sqlToQuery(T),void 0,void 0,!1).all()}async count(T,$){let J=await this.execute(T,$);return Number(J[0].count)}}class B9 extends n2{constructor(T,$,J,W=0){super(T,$,J);this.schema=J,this.nestedIndex=W}static[O]="PgTransaction";rollback(){throw new cF}getTransactionConfigSQL(T){let $=[];if(T.isolationLevel)$.push(`isolation level ${T.isolationLevel}`);if(T.accessMode)$.push(T.accessMode);if(typeof T.deferrable==="boolean")$.push(T.deferrable?"deferrable":"not deferrable");return U.raw($.join(" "))}setTransaction(T){return this.session.execute(U`set transaction ${this.getTransactionConfigSQL(T)}`)}}class kz extends E9{constructor(T,$,J,W,X,Y,F){super({sql:$,params:J});this.client=T,this.queryString=$,this.params=J,this.logger=W,this.fields=X,this._isResponseInArrayMode=Y,this.customResultMapper=F}static[O]="PostgresJsPreparedQuery";async execute(T={}){return bT.startActiveSpan("drizzle.execute",async($)=>{let J=pF(this.params,T);$?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(J)}),this.logger.logQuery(this.queryString,J);let{fields:W,queryString:X,client:Y,joinsNotNullableMap:F,customResultMapper:G}=this;if(!W&&!G)return bT.startActiveSpan("drizzle.driver.execute",()=>{return Y.unsafe(X,J)});let H=await bT.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":X,"drizzle.query.params":JSON.stringify(J)}),Y.unsafe(X,J).values()});return bT.startActiveSpan("drizzle.mapResponse",()=>{return G?G(H):H.map((M)=>jH(W,M,F))})})}all(T={}){return bT.startActiveSpan("drizzle.execute",async($)=>{let J=pF(this.params,T);return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(J)}),this.logger.logQuery(this.queryString,J),bT.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(J)}),this.client.unsafe(this.queryString,J)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class i2 extends L9{constructor(T,$,J,W={}){super($);this.client=T,this.schema=J,this.options=W,this.logger=W.logger??new dF}static[O]="PostgresJsSession";logger;prepareQuery(T,$,J,W,X){return new kz(this.client,T.sql,T.params,this.logger,$,W,X)}query(T,$){return this.logger.logQuery(T,$),this.client.unsafe(T,$).values()}queryObjects(T,$){return this.client.unsafe(T,$)}transaction(T,$){return this.client.begin(async(J)=>{let W=new i2(J,this.dialect,this.schema,this.options),X=new f9(this.dialect,W,this.schema);if($)await X.setTransaction($);return T(X)})}}class f9 extends B9{constructor(T,$,J,W=0){super(T,$,J,W);this.session=$}static[O]="PostgresJsTransaction";transaction(T){return this.session.client.savepoint(($)=>{let J=new i2($,this.dialect,this.schema,this.session.options),W=new f9(this.dialect,J,this.schema);return T(W)})}}class yz extends n2{static[O]="PostgresJsDatabase"}function oW(T,$={}){let J=(H)=>H;for(let H of["1184","1082","1083","1114","1182","1185","1115","1231"])T.options.parsers[H]=J,T.options.serializers[H]=J;T.options.serializers["114"]=J,T.options.serializers["3802"]=J;let W=new c0({casing:$.casing}),X;if($.logger===!0)X=new oF;else if($.logger!==!1)X=$.logger;let Y;if($.schema){let H=Wz($.schema,Yz);Y={fullSchema:$.schema,schema:H.tables,tableNamesMap:H.tableNamesMap}}let F=new i2(T,W,Y,{logger:X}),G=new yz(W,F,Y);return G.$client=T,G}function D6(...T){if(typeof T[0]==="string"){let $=uW(T[0]);return oW($,T[1])}if(bH(T[0])){let{connection:$,client:J,...W}=T[0];if(J)return oW(J,W);if(typeof $==="object"&&$.url!==void 0){let{url:Y,...F}=$,G=uW(Y,F);return oW(G,W)}let X=uW($);return oW(X,W)}return oW(T[0],T[1])}((T)=>{function $(J){return oW({options:{parsers:{},serializers:{}}},J)}T.mock=$})(D6||(D6={}));function Iz(T,$){if(T instanceof Promise)throw new Error($)}function RV(T,$){let J={},W=[];for(let X in T){let Y=T[X]["~standard"].validate($[X]);if(Iz(Y,`Validation must be synchronous, but ${X} returned a Promise.`),Y.issues){W.push(...Y.issues.map((F)=>({...F,path:[X,...F.path??[]]})));continue}J[X]=Y.value}if(W.length)return{issues:W};return{value:J}}function jz(T){let $=T.runtimeEnvStrict??T.runtimeEnv??process.env;if(T.emptyStringAsUndefined??!1){for(let[N,y]of Object.entries($))if(y==="")delete $[N]}if(!!T.skipValidation)return $;let X=typeof T.client==="object"?T.client:{},Y=typeof T.server==="object"?T.server:{},F=typeof T.shared==="object"?T.shared:{},G=T.isServer??(typeof window==="undefined"||("Deno"in window)),H=G?{...Y,...F,...X}:{...X,...F},M=T.createFinalSchema?.(H,G)["~standard"].validate($)??RV(H,$);Iz(M,"Validation must be synchronous");let A=T.onValidationError??((N)=>{throw console.error("\u274C Invalid environment variables:",N),new Error("Invalid environment variables")}),z=T.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(M.issues)return A(M.issues);let w=(N)=>{if(!T.clientPrefix)return!0;return!N.startsWith(T.clientPrefix)&&!(N in F)},_=(N)=>{return G||!w(N)},K=(N)=>{return N==="__esModule"||N==="$$typeof"},V=(T.extends??[]).reduce((N,y)=>{return Object.assign(N,y)},{}),Z=Object.assign(V,M.value);return new Proxy(Z,{get(N,y){if(typeof y!=="string")return;if(K(y))return;if(!_(y))return z(y);return Reflect.get(N,y)}})}var e1=(T)=>Array.isArray(T)?T:[T],xz=(T,$)=>{let J=[[],[]];for(let W of T)if($(W))J[0].push(W);else J[1].push(W);return J},V6=Array,L1=(T,$)=>T.includes($),Pz=(T,$=0)=>[...new Array(T)].map((J,W)=>W+$),VT=(T,$,J)=>{if(T===void 0)return $===void 0?[]:Array.isArray($)?$:[$];if(J?.prepend)if(Array.isArray($))T.unshift(...$);else T.unshift($);else if(Array.isArray($))T.push(...$);else T.push($);return T},B1=(T,$)=>{if($===void 0||$===null)return T??[];if(T===void 0||T===null)return e1($);return T.concat($)},bz=(...T)=>T.reduce(B1,[]),T1=(T,$,J)=>{if(T===void 0)return Array.isArray($)?$:[$];let W=J?.isEqual??((X,Y)=>X===Y);for(let X of e1($))if(!T.some((Y)=>W(Y,X)))T.push(X);return T},vz=(T,$)=>T.reduce((J,W)=>{let X=W[$];return J[X]=VT(J[X],W),J},{}),f1=(T,$,J)=>T.length===$.length&&T.every(J?.isEqual?(W,X)=>J.isEqual(W,$[X]):(W,X)=>W===$[X]);var e$=(T,$)=>V$(T)===$,V$=(T)=>{let $=typeof T;return $==="object"?T===null?"null":"object":$==="function"?"object":$},TJ={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},hz={...TJ,function:"a function"};class gz extends Error{}var ET=(T)=>o0(T,gz),o0=(T,$=Error)=>{throw new $(T)};class t2 extends Error{name="ParseError"}var E=(T)=>o0(T,t2),vJ=(T)=>` ${T}`;var FT=(T,$)=>{let J={},W=Array.isArray(T),X=!1;for(let[Y,F]of Object.entries(T).entries()){let G=W?$(Y,F[1]):$(...F,Y);X||=typeof G[0]==="number";let H=Array.isArray(G[0])||G.length===0?G:[G];for(let[M,A]of H)if(typeof M==="object")J[M.group]=VT(J[M.group],A);else J[M]=A}return X?Object.values(J):J};var N9=Object.entries;var S$=(T,$)=>(T in $),dW=(T,$)=>($ in T);class C9{constructor(T){Object.assign(this,T)}}var mz=class{};class r2 extends mz{}var EV=(T,$)=>{let J={},W={},X;for(X in T)if(X in $)J[X]=T[X];else W[X]=T[X];return[J,W]};var pz=(T,$)=>EV(T,$)[1],$1=(T)=>Object.keys(T).length===0,d0=(T)=>[...Object.entries(T),...Object.getOwnPropertySymbols(T).map(($)=>[$,T[$]])],uz=(T,$)=>Object.defineProperties(T,Object.getOwnPropertyDescriptors($)),cz=(T)=>{let $=Object.keys(T).sort(),J={};for(let W=0;W<$.length;W++)J[$[W]]=T[$[W]];return J};var wJ=vJ("represents an uninitialized value"),oz=(T)=>Object.values(T).filter(($)=>{if(typeof $==="number")return!0;return typeof T[$]!=="number"});var Z9={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},q9=globalThis.File??Blob,k9={ArrayBuffer,Blob,File:q9,FormData,Headers,Request,Response,URL},LV={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},l0={...Z9,...k9,...LV,String,Number,Boolean},a2=(T)=>{let $=Object.getPrototypeOf(T);while($?.constructor&&(!S$($.constructor.name,l0)||!(T instanceof l0[$.constructor.name])))$=Object.getPrototypeOf($);let J=$?.constructor?.name;if(J===void 0||J==="Object")return;return J},s2=(T)=>typeof T==="object"&&T!==null?a2(T)??"object":V$(T);var vT=Array.isArray,BV={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},fV={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},NV={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},dz={...BV,...fV,...NV},e2=(T)=>{let $=Object(T).name??null;return $&&S$($,l0)&&l0[$]===T?$:null};var y9=(T,$)=>{let J=T.prototype;while(J!==null){if(J===$.prototype)return!0;J=Object.getPrototypeOf(J)}return!1};var lz=(T)=>nz(T,new Map),nz=(T,$)=>{if(typeof T!=="object"||T===null)return T;if($?.has(T))return $.get(T);let J=e2(T.constructor);if(J==="Date")return new Date(T.getTime());if(J&&J!=="Array")return T;let W=Array.isArray(T)?T.slice():Object.create(Object.getPrototypeOf(T)),X=Object.getOwnPropertyDescriptors(T);if($){$.set(T,W);for(let Y in X){let F=X[Y];if("get"in F||"set"in F)continue;F.value=nz(F.value,$)}}return Object.defineProperties(W,X),W};var CV=(T)=>{let $=wJ;return()=>$===wJ?$=T():$},T0=(T)=>typeof T==="function"&&T.length===0;var iz=class extends Function{constructor(...T){let $=T.slice(0,-1),J=T.at(-1);try{super(...$,J)}catch(W){return ET(`Encountered an unexpected error while compiling your definition:
|
|
95
95
|
Message: ${W}
|
|
96
96
|
Source: (${T.slice(0,-1)}) => {
|
|
97
97
|
${T.at(-1)}
|
|
98
|
-
}`)}}};class hJ{constructor(T,...[$]){return Object.assign(Object.setPrototypeOf(T.bind($?.bind??this),this.constructor.prototype),$?.attach)}}var
|
|
99
|
-
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},
|
|
98
|
+
}`)}}};class hJ{constructor(T,...[$]){return Object.assign(Object.setPrototypeOf(T.bind($?.bind??this),this.constructor.prototype),$?.attach)}}var tz=CV(()=>{try{return new Function("return false")()}catch{return!0}});var kr=vJ("brand");var rz=vJ("arkInferred");var jr=vJ("args");class b${constructor(){}}var ZV=()=>{try{return((new Error().stack?.split(`
|
|
99
|
+
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},qV=globalThis.process?.env??{},az={fileName:ZV,env:qV};var sz=(T)=>T[0].toUpperCase()+T.slice(1);var I9=(T)=>new RegExp(kV(T),typeof T==="string"?"":T.flags);var kV=(T)=>{return`^(?:${typeof T==="string"?T:T.source})$`};var N1={negativeLookahead:(T)=>`(?!${T})`,nonCapturingGroup:(T)=>`(?:${T})`},T8="\\",$0={" ":1,"\n":1,"\t":1};var yV=/^-0\.?0*$/.source,Tw=/[1-9]\d*/.source,IV=/\.\d+/.source,jV=/\.\d*[1-9]/.source,$w=(T)=>I9(N1.negativeLookahead(yV)+N1.nonCapturingGroup("-?"+N1.nonCapturingGroup(N1.nonCapturingGroup("0|"+Tw)+N1.nonCapturingGroup(T.decimalPattern)+"?")+(T.allowDecimalOnly?"|"+T.decimalPattern:"")+"?")),ez=$w({decimalPattern:jV,allowDecimalOnly:!1}),xV=ez.test.bind(ez),S6=$w({decimalPattern:IV,allowDecimalOnly:!0}),mr=S6.test.bind(S6),PV=/^-?\d*\.?\d*$/,bV=(T)=>T.length!==0&&PV.test(T),$8=I9(N1.negativeLookahead("^-0$")+"-?"+N1.nonCapturingGroup(N1.nonCapturingGroup("0|"+Tw))),vV=$8.test.bind($8),j9=/^-?\d+$/,hV=j9.test.bind(j9),Jw={number:"a number",bigint:"a bigint",integer:"an integer"},Ww=(T,$)=>`'${T}' was parsed as ${Jw[$]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,gV=(T,$)=>$==="number"?xV(T):vV(T),mV=(T,$)=>$==="number"?Number(T):Number.parseInt(T),pV=(T,$)=>$==="number"?bV(T):hV(T),Xw=(T,$)=>x9(T,"number",$),Yw=(T,$)=>x9(T,"number",{...$,strict:!0}),Fw=(T,$)=>x9(T,"integer",$),x9=(T,$,J)=>{let W=mV(T,$);if(!Number.isNaN(W)){if(pV(T,$)){if(J?.strict)return gV(T,$)?W:E(Ww(T,$));return W}}return J?.errorOnFail?E(J?.errorOnFail===!0?`Failed to parse ${Jw[$]} from '${T}'`:J?.errorOnFail):void 0},Gw=(T)=>{if(T[T.length-1]!=="n")return;let $=T.slice(0,-1),J;try{J=BigInt($)}catch{return}if($8.test($))return J;if(j9.test($))return E(Ww(T,"bigint"))};var uV="0.46.0",cV={version:uV,filename:az.fileName(),FileConstructor:q9},n0=cV,Hw=new Map,P9=Object.create(null),J8=(T)=>{let $=Hw.get(T);if($)return $;let J=oV(T);if(P9[J])J=`${J}${P9[J]++}`;else P9[J]=1;return n0[J]=T,Hw.set(T,J),J},J0=(T)=>/^[$A-Z_a-z][\w$]*$/.test(T),oV=(T)=>{switch(typeof T){case"object":{if(T===null)break;let $=a2(T)??"object";return $[0].toLowerCase()+$.slice(1)}case"function":return J0(T.name)?T.name:"fn";case"symbol":return T.description&&J0(T.description)?T.description:"symbol"}return ET(`Unexpected attempt to register serializable value of type ${V$(T)}`)};var W8=(T)=>typeof T==="string"?JSON.stringify(T):typeof T==="bigint"?`${T}n`:`${T}`;var Mw=(T,$={})=>X8(T,{onUndefined:"$ark.undefined",onBigInt:(J)=>`$ark.bigint-${J}`,...$},[]);var GT=(T,$)=>{switch(V$(T)){case"object":let J=T,W=J.constructor.name;return W==="Object"||W==="Array"?$?.quoteKeys===!1?R6(J,$?.indent??0,""):JSON.stringify(X8(J,lW,[]),null,$?.indent):R6(J,$?.indent??0,"");case"symbol":return lW.onSymbol(T);default:return W8(T)}},R6=(T,$,J)=>{if(typeof T==="function")return lW.onFunction(T);if(typeof T!=="object"||T===null)return W8(T);let W=J+" ".repeat($);if(Array.isArray(T)){if(T.length===0)return"[]";let Y=T.map((F)=>R6(F,$,W)).join(`,
|
|
100
100
|
`+W);return $?`[
|
|
101
|
-
${W}${
|
|
102
|
-
${J}]`:`[${
|
|
103
|
-
${
|
|
101
|
+
${W}${Y}
|
|
102
|
+
${J}]`:`[${Y}]`}let X=T.constructor.name;if(X==="Object"){let Y=d0(T).map(([F,G])=>{let H=typeof F==="symbol"?lW.onSymbol(F):J0(F)?F:JSON.stringify(F),M=R6(G,$,W);return`${W}${H}: ${M}`});if(Y.length===0)return"{}";return $?`{
|
|
103
|
+
${Y.join(`,
|
|
104
104
|
`)}
|
|
105
|
-
${J}}`:`{${
|
|
105
|
+
${J}}`:`{${Y.join(", ")}}`}if(T instanceof Date)return i0(T);if("expression"in T&&typeof T.expression==="string")return T.expression;return X},lW={onCycle:()=>"(cycle)",onSymbol:(T)=>`Symbol(${J8(T)})`,onFunction:(T)=>`Function(${J8(T)})`},X8=(T,$,J)=>{switch(V$(T)){case"object":{let W=T;if("toJSON"in W&&typeof W.toJSON==="function")return W.toJSON();if(typeof W==="function")return lW.onFunction(W);if(J.includes(W))return"(cycle)";let X=[...J,W];if(Array.isArray(W))return W.map((F)=>X8(F,$,X));if(W instanceof Date)return W.toDateString();let Y={};for(let F in W)Y[F]=X8(W[F],$,X);for(let F of Object.getOwnPropertySymbols(W))Y[$.onSymbol?.(F)??F.toString()]=X8(W[F],$,X);return Y}case"symbol":return lW.onSymbol(T);case"bigint":return $.onBigInt?.(T)??`${T}n`;case"undefined":return $.onUndefined??"undefined";case"string":return T.replaceAll("\\","\\\\");default:return T}},i0=(T)=>{let $=T.getFullYear(),J=T.getMonth(),W=T.getDate(),X=T.getHours(),Y=T.getMinutes(),F=T.getSeconds(),G=T.getMilliseconds();if(J===0&&W===1&&X===0&&Y===0&&F===0&&G===0)return`${$}`;let H=`${dV[J]} ${W}, ${$}`;if(X===0&&Y===0&&F===0&&G===0)return H;let M=T.toLocaleTimeString(),A=M.endsWith(" AM")||M.endsWith(" PM")?M.slice(-3):"";if(A)M=M.slice(0,-A.length);if(G)M+=`.${nV(G,3)}`;else if(lV.test(M))M=M.slice(0,-3);return`${M+A}, ${H}`},dV=["January","February","March","April","May","June","July","August","September","October","November","December"],lV=/:\d\d:00$/,nV=(T,$)=>String(T).padStart($,"0");var Aw=(T,$,...[J])=>{let W=J?.stringifySymbol??GT,X=T;switch(typeof $){case"string":X=J0($)?T===""?$:`${T}.${$}`:`${T}[${JSON.stringify($)}]`;break;case"number":X=`${T}[${$}]`;break;case"symbol":X=`${T}[${W($)}]`;break;default:if(J?.stringifyNonKey)X=`${T}[${J.stringifyNonKey($)}]`;else E(`${GT($)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return X},C1=(T,...$)=>T.reduce((J,W)=>Aw(J,W,...$),"");class Y8 extends V6{cache={};constructor(...T){super();this.push(...T)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let T=0;T<this.length;T++)this.cache.json.push(typeof this[T]==="symbol"?GT(this[T]):this[T]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=C1(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let T="",$=[T];for(let J of this)T=Aw(T,J),$.push(T);return this.cache.stringifyAncestors=$}}class b9{chars;i;def;constructor(T){this.def=T,this.chars=[...T],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(T){let $="";while(this.lookahead){if(T(this,$))if($[$.length-1]===T8)$=$.slice(0,-1);else break;$+=this.shift()}return $}shiftUntilLookahead(T){return typeof T==="string"?this.shiftUntil(($)=>$.lookahead===T):this.shiftUntil(($)=>($.lookahead in T))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in $0))}jumpToIndex(T){this.i=T<0?this.length+T:T}jumpForward(T){this.i+=T}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(T,$){return this.chars.slice(T,$).join("")}lookaheadIs(T){return this.lookahead===T}lookaheadIsIn(T){return this.lookahead in T}}var za=vJ("implementedTraits");var v9="$ark",iV=2;while(v9 in globalThis)v9=`$ark${iV++}`;var zw=v9;globalThis[zw]=n0;var k=n0,tV=(T)=>`${zw}.${T}`,aT=(T)=>tV(J8(T));class E6 extends r2{argNames;body="";constructor(...T){super();this.argNames=T;for(let $ of T){if($ in this)throw new Error(`Arg name '${$}' would overwrite an existing property on FunctionBody`);this[$]=$}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(T,$=!1){return h9(T,$)}index(T,$=!1){return ww(`${T}`,$)}line(T){return this.body+=`${" ".repeat(this.indentation)}${T}
|
|
106
106
|
`,this}const(T,$){return this.line(`const ${T} = ${$}`),this}let(T,$){return this.line(`let ${T} = ${$}`)}set(T,$){return this.line(`${T} = ${$}`)}if(T,$){return this.block(`if (${T})`,$)}elseIf(T,$){return this.block(`else if (${T})`,$)}else(T){return this.block("else",T)}for(T,$,J=0){return this.block(`for (let i = ${J}; ${T}; i++)`,$)}forIn(T,$){return this.block(`for (const k in ${T})`,$)}block(T,$,J=""){return this.line(`${T} {`),this.indent(),$(this),this.dedent(),this.line(`}${J}`)}return(T=""){return this.line(`return ${T}`)}write(T="anonymous",$=0){return`${T}(${this.argNames.join(", ")}) { ${$?this.body.split(`
|
|
107
107
|
`).map((J)=>" ".repeat($)+`${J}`).join(`
|
|
108
|
-
`):this.body} }`}compile(){return new
|
|
109
|
-
`)}_add(T){let $=this.byPath[T.propString];if($){if($.hasCode("union")&&$.errors.length===0)return;let J=T.hasCode("union")&&T.errors.length===0?T:new X0({code:"intersection",errors:$.hasCode("intersection")?[...$.errors,T]:[$,T]},this.ctx),W=this.indexOf($);this.mutable[W===-1?this.length:W]=J,this.byPath[T.propString]=J,this.addAncestorPaths(T)}else this.byPath[T.propString]=T,this.addAncestorPaths(T),this.mutable.push(T);this.count++}addAncestorPaths(T){for(let $ of T.path.stringifyAncestors())this.byAncestorPath[$]=
|
|
110
|
-
`+T.map(($)=>` \u2022 ${
|
|
111
|
-
`));Object.defineProperty(this,"arkErrors",{value:T,enumerable:!1})}}var
|
|
108
|
+
`):this.body} }`}compile(){return new iz(...this.argNames,this.body)}}var Z1=(T)=>e$(T,"object")||typeof T==="symbol"?aT(T):W8(T),h9=(T,$=!1)=>{if(typeof T==="string"&&J0(T))return`${$?"?":""}.${T}`;return ww(rV(T),$)},rV=(T)=>typeof T==="symbol"?aT(T):JSON.stringify(T),ww=(T,$=!1)=>`${$?"?.":""}[${T}]`;class F8 extends E6{traversalKind;optimistic;constructor(T){super("data","ctx");this.traversalKind=T.kind,this.optimistic=T.optimistic===!0}invoke(T,$){let J=$?.arg??this.data,W=typeof T==="string"?!0:this.requiresContextFor(T),X=typeof T==="string"?T:T.id;if(W)return`${this.referenceToId(X,$)}(${J}, ${this.ctx})`;return`${this.referenceToId(X,$)}(${J})`}referenceToId(T,$){let J=$?.kind??this.traversalKind,W=`this.${T}${J}`;return $?.bind?`${W}.bind(${$?.bind})`:W}requiresContextFor(T){return this.traversalKind==="Apply"||T.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(T,$,J){let W=this.requiresContextFor(J);if(W)this.line(`${this.ctx}.path.push(${T})`);if(this.check(J,{arg:$}),W)this.line(`${this.ctx}.path.pop()`);return this}check(T,$){return this.traversalKind==="Allows"?this.if(`!${this.invoke(T,$)}`,()=>this.return(!1)):this.line(this.invoke(T,$))}}var L6=(T)=>FT(T,($,J)=>[$,vT(J)?[...J]:J]),o$=vJ("arkKind"),l=(T,$)=>T?.[o$]===$,uT=(T)=>l(T,"root")||l(T,"constraint");var Qw=["unit","proto","domain"],nW=["required","optional","index","sequence"],g9=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],B6=[...g9,...nW,"structure","predicate"],iW=["alias","union","morph","unit","intersection","proto","domain"],aV=[...iW,...B6],f6=FT(B6,(T,$)=>[$,1]),Ow=FT([...nW,"undeclared"],(T,$)=>[$,1]),Uw=FT(aV,(T,$)=>[$,T]),tW=(T)=>typeof T==="string"&&(T in Uw);var rW=(T)=>Uw[T],N6=(T)=>iW.slice(rW(T)+1),ia=[...N6("union"),"alias"],ta=[...N6("morph"),"alias"],LJ=(T)=>{if(typeof T==="string"||typeof T==="boolean"||T===null)return T;if(typeof T==="number"){if(Number.isNaN(T))return"NaN";if(T===Number.POSITIVE_INFINITY)return"Infinity";if(T===Number.NEGATIVE_INFINITY)return"-Infinity";return T}return Z1(T)},W0=(T)=>{let $="{ ";for(let[J,W]of Object.entries(T))$+=`${J}: ${Z1(W)}, `;return $+" }"},HT=(T)=>{let $=T;if($.hasAssociatedError)$.defaults.expected??=(J)=>("description"in J)?J.description:$.defaults.description(J),$.defaults.actual??=(J)=>GT(J),$.defaults.problem??=(J)=>`must be ${J.expected}${J.actual?` (was ${J.actual})`:""}`,$.defaults.message??=(J)=>{if(J.path.length===0)return J.problem;let W=`${J.propString} ${J.problem}`;if(W[0]==="[")return`value at ${W}`;return W};return $};class _w extends Error{name="ToJsonSchemaError";code;context;constructor(T,$){super(GT($,{quoteKeys:!1,indent:4}));this.code=T,this.context=$}hasCode(T){return this.code===T}}var sV={dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(T)=>lT.throw("arrayObject",T),arrayPostfix:(T)=>lT.throw("arrayPostfix",T),defaultValue:(T)=>lT.throw("defaultValue",T),domain:(T)=>lT.throw("domain",T),morph:(T)=>lT.throw("morph",T),patternIntersection:(T)=>lT.throw("patternIntersection",T),predicate:(T)=>lT.throw("predicate",T),proto:(T)=>lT.throw("proto",T),symbolKey:(T)=>lT.throw("symbolKey",T),unit:(T)=>lT.throw("unit",T),date:(T)=>lT.throw("date",T)}},lT={Error:_w,throw:(...T)=>{throw new lT.Error(...T)},throwInternalOperandError:(T,$)=>ET(`Unexpected JSON Schema input for ${T}: ${GT($)}`),defaultConfig:sV};k.config??={};var G8=(T,$)=>{if(!$)return T;let J={...T},W;for(W in $){let X={...T.keywords};if(W==="keywords"){for(let Y in $[W]){let F=$.keywords[Y];if(F===void 0)continue;X[Y]=typeof F==="string"?{description:F}:F}J.keywords=X}else if(W==="toJsonSchema")J[W]=m9(T.toJsonSchema,$.toJsonSchema);else if(tW(W))J[W]={...T[W],...$[W]};else J[W]=$[W]}return J},m9=(T,$)=>{if(!T)return $??{};if(!$)return T;let J={...T},W;for(W in $)if(W==="fallback")J.fallback=eV(T.fallback,$.fallback);else J[W]=$[W];return J},eV=(T,$)=>{T=Kw(T),$=Kw($);let J={},W;for(W in lT.defaultConfig.fallback)J[W]=$[W]??$.default??T[W]??T.default??lT.defaultConfig.fallback[W];return J},Kw=(T)=>typeof T==="function"?{default:T}:T??{};class X0 extends r2{[o$]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:T,relativePath:$,...J},W){super();this.input=J,this.ctx=W,uz(this,J);let X=W.data;if(J.code==="union")J.errors=J.errors.flatMap((F)=>{let G=F.hasCode("union")?F.errors:[F];if(!T&&!$)return G;return G.map((H)=>H.transform((M)=>({...M,path:bz(T,M.path,$)})))});this.nodeConfig=W.config[this.code];let Y=[...J.path??W.path];if($)Y.push(...$);if(T)Y.unshift(...T);this.path=new Y8(...Y),this.data="data"in J?J.data:X}transform(T){return new X0(T({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(T){return this.code===T}get propString(){return C1(this.path)}get expected(){if(this.input.expected)return this.input.expected;let T=this.meta?.expected??this.nodeConfig.expected;return typeof T==="function"?T(this.input):T}get actual(){if(this.input.actual)return this.input.actual;let T=this.meta?.actual??this.nodeConfig.actual;return typeof T==="function"?T(this.data):T}get problem(){if(this.input.problem)return this.input.problem;let T=this.meta?.problem??this.nodeConfig.problem;return typeof T==="function"?T(this):T}get message(){if(this.input.message)return this.input.message;let T=this.meta?.message??this.nodeConfig.message;return typeof T==="function"?T(this):T}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}}class $J extends V6{[o$]="errors";ctx;constructor(T){super();this.ctx=T}byPath=Object.create(null);get flatByPath(){return FT(this.byPath,(T,$)=>[T,$.flat])}get flatProblemsByPath(){return FT(this.byPath,(T,$)=>[T,$.flat.map((J)=>J.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new p9(this)}add(T){if(this.includes(T))return;this._add(T)}transform(T){let $=new $J(this.ctx);for(let J of this)$.add(T(J));return $}merge(T){for(let $ of T){if(this.includes($))continue;this._add(new X0({...$,path:[...this.ctx.path,...$.path]},this.ctx))}}affectsPath(T){if(this.length===0)return!1;return T.stringifyAncestors().some(($)=>($ in this.byPath))||T.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((T)=>T.toJSON())]}toString(){return this.join(`
|
|
109
|
+
`)}_add(T){let $=this.byPath[T.propString];if($){if($.hasCode("union")&&$.errors.length===0)return;let J=T.hasCode("union")&&T.errors.length===0?T:new X0({code:"intersection",errors:$.hasCode("intersection")?[...$.errors,T]:[$,T]},this.ctx),W=this.indexOf($);this.mutable[W===-1?this.length:W]=J,this.byPath[T.propString]=J,this.addAncestorPaths(T)}else this.byPath[T.propString]=T,this.addAncestorPaths(T),this.mutable.push(T);this.count++}addAncestorPaths(T){for(let $ of T.path.stringifyAncestors())this.byAncestorPath[$]=VT(this.byAncestorPath[$],T)}}class p9 extends Error{name="TraversalError";constructor(T){if(T.length===1)super(T.summary);else super(`
|
|
110
|
+
`+T.map(($)=>` \u2022 ${TS($)}`).join(`
|
|
111
|
+
`));Object.defineProperty(this,"arkErrors",{value:T,enumerable:!1})}}var TS=(T)=>T.toString().split(`
|
|
112
112
|
`).join(`
|
|
113
|
-
`);class mJ{path=[];errors=new $J(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(T,$){this.root=T,this.config=$}get data(){let T=this.root;for(let $ of this.path)T=T?.[$];return T}get propString(){return N1(this.path)}reject(T){return this.error(T),!1}mustBe(T){return this.error(T),!1}error(T){let $=typeof T==="object"?T.code?T:{...T,code:"predicate"}:{code:"predicate",expected:T};return this.errorFromContext($)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches.at(-1)}queueMorphs(T){let $={path:new W8(...this.path),morphs:T};if(this.currentBranch)this.currentBranch.queuedMorphs.push($);else this.queuedMorphs.push($)}finalize(T){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return T?T(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(T){return this.errorFromContext(T)}errorFromContext(T){let $=new X0(T,this);if(this.currentBranch)this.currentBranch.error=$;else this.errors.add($);return $}applyQueuedMorphs(){while(this.queuedMorphs.length){let T=this.queuedMorphs;this.queuedMorphs=[];for(let{path:$,morphs:J}of T){if(this.errors.affectsPath($))continue;this.applyMorphsAtPath($,J)}}}applyMorphsAtPath(T,$){let J=T.at(-1),W;if(J!==void 0){W=this.root;for(let X=0;X<T.length-1;X++)W=W[T[X]]}this.path=[...T];for(let X of $){let F=uT(X),Y=X(W===void 0?this.root:W[J],this);if(Y instanceof X0){this.errors.add(Y);break}if(Y instanceof $J){if(!F)this.errors.merge(Y);break}if(W===void 0)this.root=Y;else W[J]=Y;this.applyQueuedMorphs()}}}var JJ=(T,$,J)=>{if(!J)return $();J.path.push(T);let W=$();return J.path.pop(),W};class G8 extends hJ{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(T,$){super((W,X,F=this.onFail)=>{if(X)return this.traverseApply(W,X),X.hasError()?X.errors:X.data;return this.rootApply(W,F)},{attach:T});this.attachments=T,this.$=$,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((W,X)=>XV(W,X.shallowReferences),[this]);let J=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let W=0;W<this.children.length;W++){if(this.includesTransform||=this.children[W].includesTransform,this.includesContextualPredicate||=this.children[W].includesContextualPredicate,this.isCyclic||=this.children[W].isCyclic,!J){let X=this.children[W].flatRefs;for(let F=0;F<X.length;F++){let Y=X[F];if(!this.flatRefs.some((G)=>Sw(G,Y))){this.flatRefs.push(Y);for(let G of Y.node.branches)if(G.hasKind("morph")||G.hasKind("intersection")&&G.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:G})}}}Object.assign(this.referencesById,this.children[W].referencesById)}this.flatRefs.sort((W,X)=>W.path.length>X.path.length?1:W.path.length<X.path.length?-1:W.propString>X.propString?1:W.propString<X.propString?-1:W.node.expression<X.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((W)=>W.length===1||W.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((W)=>W.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(W)=>this.traverseAllows(W,new mJ(W,this.$.resolvedConfig)):(W)=>this.traverseAllows(W)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return($,J)=>{if(this.allows($))return $;let W=new mJ($,this.$.resolvedConfig);return this.traverseApply($,W),W.finalize(J)};case"contextual":return($,J)=>{let W=new mJ($,this.$.resolvedConfig);return this.traverseApply($,W),W.finalize(J)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let T=this.$.resolvedConfig.clone;return($,J)=>{if(this.allows($))return this.contextFreeMorph(T&&(typeof $==="object"&&$!==null||typeof $==="function")?T($):$);let W=new mJ($,this.$.resolvedConfig);return this.traverseApply($,W),W.finalize(J)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,RT(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=WV(this.metaJson);cacheGetter(T,$){return Object.defineProperty(this,T,{value:$}),$}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=aW(this.kind);precompilation;assert=(T,$)=>this(T,$,(J)=>J.throw());traverse(T,$){return this(T,$,null)}get in(){return this.cacheGetter("in",this.getIo("in"))}get out(){return this.cacheGetter("out",this.getIo("out"))}getIo(T){if(!this.includesTransform)return this;let $={};for(let[J,W]of this.innerEntries){let X=this.impl.keys[J];if(X.reduceIo)X.reduceIo(T,$,W);else if(X.child){let F=W;$[J]=hT(F)?F.map((Y)=>Y[T]):F[T]}else $[J]=W}return this.$.node(this.kind,$)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(T){let $=uT(T)?T:this.$.parseDefinition(T);return this.innerHash===$.innerHash}ifEquals(T){return this.equals(T)?this:void 0}hasKind(T){return this.kind===T}assertHasKind(T){if(this.kind!==T)o0(`${this.kind} node was not of asserted kind ${T}`);return this}hasKindIn(...T){return T.includes(this.kind)}assertHasKindIn(...T){if(!R1(T,this.kind))o0(`${this.kind} node was not one of asserted kinds ${T}`);return this}isBasis(){return R1(Qw,this.kind)}isConstraint(){return R1(B6,this.kind)}isStructural(){return R1(iW,this.kind)}isRefinement(){return R1(g9,this.kind)}isRoot(){return R1(tW,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(T){return this.hasKind("unit")&&this.allows(T)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(T){let $=Y8.normalize(T);return this._select($)}_select(T){let $=Y8.applyBoundary[T.boundary??"references"](this);if(T.kind)$=$.filter((J)=>J.kind===T.kind);if(T.where)$=$.filter(T.where);return Y8.applyMethod[T.method??"filter"]($,this,T)}transform(T,$){return this._transform(T,this._createTransformContext($))}_createTransformContext(T){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:T?.prereduced??!1},undeclaredKeyHandling:void 0,...T}}_transform(T,$){let J=$.bindScope??this.$;if($.seen[this.id])return this.$.lazilyResolve($.seen[this.id]);if($.shouldTransform?.(this,$)===!1)return this;let W;if($.seen[this.id]=()=>W,this.hasKind("structure")&&this.undeclared!==$.undeclaredKeyHandling)$={...$,undeclaredKeyHandling:this.undeclared};let X=YT(this.inner,(M,z)=>{if(!this.impl.keys[M].child)return[M,z];let A=z;if(!hT(A)){let _=A._transform(T,$);return _?[M,_]:[]}if(A.length===0)return[M,z];let w=A.flatMap((_)=>{return _._transform(T,$)??[]});return w.length?[M,w]:[]});delete $.seen[this.id];let F=Object.assign(X,{meta:this.meta}),Y=$.selected&&!$.selected.includes(this)?F:T(this.kind,F,$);if(Y===null)return null;if(uT(Y))return W=Y;let G=Object.keys(Y);if((G.length===0||G.length===1&&G[0]==="meta")&&!T1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return $.undeclaredKeyHandling?{...Y,value:k.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=k.intrinsic.unknown;return W=J.node(this.kind,Y,$.parseOptions)}configureReferences(T,$="references"){let J=Y8.normalize($),W=typeof T==="string"?(G,H)=>({...H,meta:{...H.meta,description:T}}):typeof T==="function"?(G,H)=>({...H,meta:T(H.meta)}):(G,H)=>({...H,meta:{...H.meta,...T}});if(J.boundary==="self")return this.$.node(this.kind,W(this.kind,{...this.inner,meta:this.meta}));let X=this._select(J),F=X&&e1(X),Y=J.boundary==="child"?(G,H)=>H.root.children.includes(G):J.boundary==="shallow"?(G)=>G.kind!=="structure":()=>!0;return this.$.finalize(this.transform(W,{shouldTransform:Y,selected:F}))}}var Y8={applyBoundary:{self:(T)=>[T],child:(T)=>[...T.children],shallow:(T)=>[...T.shallowReferences],references:(T)=>[...T.references]},applyMethod:{filter:(T)=>T,assertFilter:(T,$,J)=>{if(T.length===0)o0(Kw($,J));return T},find:(T)=>T[0],assertFind:(T,$,J)=>{if(T.length===0)o0(Kw($,J));return T[0]}},normalize:(T)=>typeof T==="function"?{boundary:"references",method:"filter",where:T}:typeof T==="string"?V$(T,Y8.applyBoundary)?{method:"filter",boundary:T}:{boundary:"references",method:"filter",kind:T}:{boundary:"references",method:"filter",...T}},Kw=(T,$)=>`${T} had no references matching ${GT($)}.`,$V=(T)=>N1(T,{stringifyNonKey:($)=>$.expression}),JV=/"(\$ark\.[^"]+)"/g,WV=(T)=>JSON.stringify(T).replaceAll(JV,"$1"),gJ=(T,$)=>({path:T,node:$,propString:$V(T)}),Sw=(T,$)=>T.propString===$.propString&&T.node.equals($.node),c9=(T,$)=>eJ(T,$,{isEqual:Sw}),XV=(T,$)=>eJ(T,$,{isEqual:(J,W)=>J.equals(W)});class v extends Array{static init(T,$,J,W){return new v({kind:T,l:$,r:J,path:W?.path??[],optional:W?.optional??!1})}add(T,$,J,W){return this.push({kind:T,l:$,r:J,path:W?.path??[],optional:W?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:T,l:$,r:J}=this[0],W=N1(T);return d9(`Intersection${W&&` at ${W}`} of ${Vw($,J)}`)}return`The following intersections result in unsatisfiable types:
|
|
114
|
-
\u2022 ${this.map(({path:T,l:$,r:J})=>`${T}: ${
|
|
115
|
-
\u2022 `)}`}throw(){return R(this.describeReasons())}invert(){let T=this.map(($)=>({...$,l:$.r,r:$.l}));if(!(T instanceof v))return new v(...T);return T}withPrefixKey(T,$){return this.map((J)=>({...J,path:[T,...J.path],optional:J.optional||$==="optional"}))}toNeverIfDisjoint(){return k.intrinsic.never}}var Vw=(T,$)=>`${o9(T)} and ${o9($)}`,o9=(T)=>uT(T)?T.expression:hT(T)?T.map(o9).join(" | ")||"never":String(T),d9=(T)=>`${T} results in an unsatisfiable type`;var sW={},WJ=(T,$,J)=>cT(T,$,{$:J,invert:!1,pipe:!1}),H8=(T,$,J)=>cT(T,$,{$:J,invert:!1,pipe:!0}),cT=(T,$,J)=>{let W=J.pipe?"|>":"&",X=`${T.hash}${W}${$.hash}`;if(sW[X]!==void 0)return sW[X];if(!J.pipe){let G=`${$.hash}${W}${T.hash}`;if(sW[G]!==void 0){let H=sW[G],M=H instanceof v?H.invert():H;return sW[X]=M,M}}let F=!J.pipe||!T.includesTransform&&!$.includesTransform;if(F&&T.equals($))return T;let Y=F?l9(T,$,J):T.hasKindIn(...tW)?FV(T,$,J):l9(T,$,J);if(uT(Y)){if(T.equals(Y))Y=T;else if($.equals(Y))Y=$}return sW[X]=Y,Y},l9=(T,$,J)=>{let W=T.precedence<$.precedence?T.kind:$.kind,X=T.impl.intersections[$.kind]??$.impl.intersections[T.kind];if(X===void 0)return null;else if(W===T.kind)return X(T,$,J);else{let F=X($,T,{...J,invert:!J.invert});if(F instanceof v)F=F.invert();return F}},FV=(T,$,J)=>T.includesTransform||$.includesTransform?J.invert?Ew($,T,J):Ew(T,$,J):l9(T,$,J),Ew=(T,$,J)=>T.distribute((W)=>YV(W,$,J),(W)=>{let X=W.filter(uT);if(X.length===0)return v.init("union",T.branches,$.branches);if(X.length<T.branches.length||!T.branches.every((G,H)=>G.in.equals(X[H].in)))return J.$.parseSchema(X);let F;if(X.length===1){let G=X[0];if(!F)return G;return J.$.node("morph",{...G.inner,in:G.in.configure(F,"self")})}let Y={branches:X};if(F)Y.meta=F;return J.$.parseSchema(Y)}),YV=(T,$,J)=>{if(T.hasKind("morph")){let X=[...T.morphs];if(T.lastMorphIfNode){let F=cT(T.lastMorphIfNode,$,J);if(F instanceof v)return F;X[X.length-1]=F}else X.push($);return J.$.node("morph",{morphs:X,in:T.inner.in})}if($.hasKind("morph")){let X=cT(T,$.in,J);if(X instanceof v)return X;return J.$.node("morph",{morphs:[$],in:X})}return J.$.node("morph",{morphs:[$],in:T})};class BJ extends G8{constructor(T,$){super(T,$);Object.defineProperty(this,o$,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(T){return WJ(this,T,this.$)}}class Z1 extends BJ{traverseApply=(T,$)=>{if(!this.traverseAllows(T,$))$.errorFromNodeContext(this.errorContext)};compile(T){if(T.traversalKind==="Allows")T.return(this.compiledCondition);else T.if(this.compiledNegation,()=>T.line(`${T.ctx}.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return W0(this.errorContext)}}var h$=(T)=>($,J)=>{if(hT($)){if($.length===0)return;let X=$.map((F)=>J.$.node(T,F));if(T==="predicate")return X;return X.sort((F,Y)=>F.hash<Y.hash?-1:1)}let W=J.$.node(T,$);return W.hasOpenIntersection()?[W]:W},eW=(T)=>{let $=T.r.shift();if(!$){let W=T.l.length===0&&T.kind==="structure"?k.intrinsic.unknown.internal:T.ctx.$.node(T.kind,Object.assign(T.baseInner,GV(T.l)),{prereduced:!0});for(let X of T.roots){if(W instanceof v)return W;W=cT(X,W,T.ctx)}return W}let J=!1;for(let W=0;W<T.l.length;W++){let X=cT(T.l[W],$,T.ctx);if(X===null)continue;if(X instanceof v)return X;if(!J){if(X.isRoot())return T.roots.push(X),T.l.splice(W),eW(T);T.l[W]=X,J=!0}else if(!T.l.includes(X))return RT(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!J)T.l.push($);if(T.kind==="intersection"){if($.impliedSiblings)for(let W of $.impliedSiblings)eJ(T.r,W)}return eW(T)},TX=(T)=>{return Object.entries(T).flatMap(([J,W])=>(J in f6)?W:[]).sort((J,W)=>J.precedence<W.precedence?-1:J.precedence>W.precedence?1:J.kind==="predicate"&&W.kind==="predicate"?0:J.hash<W.hash?-1:1)},GV=(T)=>{let $={};for(let J of T)if(J.hasOpenIntersection())$[J.kind]=ST($[J.kind],J);else{if($[J.kind])return RT(`Unexpected intersection of closed refinements of kind ${J.kind}`);$[J.kind]=J}return $},Rw=(...T)=>R(Lw(...T)),Lw=(T,$,J)=>{let W=J.hasKind("morph")?"a morph":J.isUnknown()?"unknown":J.exclude($).defaultShortDescription;return`${sA(T)} operand must be ${$.description} (was ${W})`};var Bw=(T,$,J)=>new F0(T,$,J,J,null);class C6 extends hJ{}class F0 extends hJ{[o$]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(T,$,J,W,X){super((...F)=>{let Y=YT(this.names,(G,H)=>{let M=this.arg$.parse(F[G]);if(!M.extends(this.constraints[G]))R(HV(H,this.constraints[G].expression,M.expression));return[H,M]});if(this.defIsLazy()){let G=this.bodyDef(Y);return this.$.parse(G)}return this.$.parse($,{args:Y})});this.paramDefs=T,this.bodyDef=$,this.$=J,this.arg$=W,this.hkt=X,this.description=X?new X().description??`a generic type for ${X.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof C6}cacheGetter(T,$){return Object.defineProperty(this,T,{value:$}),$}get json(){return this.cacheGetter("json",{params:this.params.map((T)=>T[1].isUnknown()?T[0]:[T[0],T[1].json]),body:Mw(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((T)=>typeof T==="string"?[T,k.intrinsic.unknown]:[T[0],this.$.parse(T[1])]))}get names(){return this.cacheGetter("names",this.params.map((T)=>T[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((T)=>T[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var HV=(T,$,J)=>`${T} must be assignable to ${$} (was ${J})`;var MV=HT({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(T)=>typeof T==="function"?{predicate:T}:T,defaults:{description:(T)=>`valid according to ${T.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class fw extends BJ{serializedPredicate=sT(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=W0(this.errorContext);traverseApply=(T,$)=>{if(!this.predicate(T,$.external)&&!$.hasError())$.errorFromNodeContext(this.errorContext)};compile(T){if(T.traversalKind==="Allows"){T.return(this.compiledCondition);return}T.if(`${this.compiledNegation} && !ctx.hasError()`,()=>T.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(T,$){return $.fallback.predicate({code:"predicate",base:T,predicate:this.predicate})}}var n9={implementation:MV,Node:fw};var zV=HT({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(T)=>Number.isInteger(T)?T:R(AV(T))}},normalize:(T)=>typeof T==="number"?{rule:T}:T,hasAssociatedError:!0,defaults:{description:(T)=>T.rule===1?"an integer":T.rule===2?"even":`a multiple of ${T.rule}`},intersections:{divisor:(T,$,J)=>J.$.node("divisor",{rule:Math.abs(T.rule*$.rule/wV(T.rule,$.rule))})},obviatesBasisDescription:!0});class Nw extends Z1{traverseAllows=(T)=>T%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=k.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(T){if(T.type="integer",this.rule===1)return T;return T.multipleOf=this.rule,T}}var i9={implementation:zV,Node:Nw};var AV=(T)=>`divisor must be an integer (was ${T})`,wV=(T,$)=>{let J,W=T,X=$;while(X!==0)J=X,X=W%X,W=J;return W};class OJ extends Z1{boundOperandKind=_V[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=DV(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${QV[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?KV(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(T){return(this.limitKind==="upper"?this.numericLimit<T.numericLimit:this.numericLimit>T.numericLimit)||this.numericLimit===T.numericLimit&&this.exclusive===!0&&!T.exclusive}overlapsRange(T){if(this.isStricterThan(T))return!1;if(this.numericLimit===T.numericLimit&&(this.exclusive||T.exclusive))return!1;return!0}overlapIsUnit(T){return this.numericLimit===T.numericLimit&&!this.exclusive&&!T.exclusive}}var QV={"<":">=","<=":">",">":"<=",">=":"<"},OV={min:"max",minLength:"maxLength",after:"before"},Z6={parse:(T)=>T||void 0},q6=(T)=>($)=>{if(typeof $==="number")return{rule:$};let{exclusive:J,...W}=$;return J?{...W,rule:T==="minLength"?W.rule+1:W.rule-1}:W},k6=(T)=>($)=>{if(typeof $==="number"||typeof $==="string"||$ instanceof Date)return{rule:$};let{exclusive:J,...W}=$;if(!J)return W;let X=typeof W.rule==="number"?W.rule:typeof W.rule==="string"?new Date(W.rule).valueOf():W.rule.valueOf();return J?{...W,rule:T==="after"?X+1:X-1}:W},y6=(T)=>typeof T==="string"||typeof T==="number"?new Date(T):T,UV=(T,$)=>`${T} bound must be a positive integer (was ${$})`,$X=(T)=>($)=>{if(!Number.isInteger($)||$<0)R(UV(T,$));return $},_V={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},DV=(T,$)=>`${V$(T,OV)?">":"<"}${$?"":"="}`,KV=(T)=>typeof T==="string"?T:new Date(T).toLocaleString(),Cw=(T)=>`Bounded expression ${T} must be exactly one of number, string, Array, or Date`;var SV=HT({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y6,serialize:(T)=>T.toISOString()}},normalize:k6("after"),defaults:{description:(T)=>`${T.collapsibleLimitString} or later`,actual:i0},intersections:{after:(T,$)=>T.isStricterThan($)?T:$}});class Zw extends OJ{impliedBasis=k.intrinsic.Date.internal;collapsibleLimitString=i0(this.rule);traverseAllows=(T)=>T>=this.rule;reduceJsonSchema(T,$){return $.fallback.date({code:"date",base:T,after:this.rule})}}var t9={implementation:SV,Node:Zw};var VV=HT({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y6,serialize:(T)=>T.toISOString()}},normalize:k6("before"),defaults:{description:(T)=>`${T.collapsibleLimitString} or earlier`,actual:i0},intersections:{before:(T,$)=>T.isStricterThan($)?T:$,after:(T,$,J)=>T.overlapsRange($)?T.overlapIsUnit($)?J.$.node("unit",{unit:T.rule}):null:v.init("range",T,$)}});class qw extends OJ{collapsibleLimitString=i0(this.rule);traverseAllows=(T)=>T<=this.rule;impliedBasis=k.intrinsic.Date.internal;reduceJsonSchema(T,$){return $.fallback.date({code:"date",base:T,before:this.rule})}}var r9={implementation:VV,Node:qw};var EV=HT({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:$X("exactLength")}},normalize:(T)=>typeof T==="number"?{rule:T}:T,hasAssociatedError:!0,defaults:{description:(T)=>`exactly length ${T.rule}`,actual:(T)=>`${T.length}`},intersections:{exactLength:(T,$,J)=>v.init("unit",J.$.node("unit",{unit:T.rule}),J.$.node("unit",{unit:$.rule}),{path:["length"]}),minLength:(T,$)=>T.rule>=$.rule?T:v.init("range",T,$),maxLength:(T,$)=>T.rule<=$.rule?T:v.init("range",T,$)}});class kw extends Z1{traverseAllows=(T)=>T.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=k.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(T){switch(T.type){case"string":return T.minLength=this.rule,T.maxLength=this.rule,T;case"array":return T.minItems=this.rule,T.maxItems=this.rule,T;default:return nT.throwInternalOperandError("exactLength",T)}}}var a9={implementation:EV,Node:kw};var RV=HT({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z6},normalize:(T)=>typeof T==="number"?{rule:T}:T,defaults:{description:(T)=>{if(T.rule===0)return T.exclusive?"negative":"non-positive";return`${T.exclusive?"less than":"at most"} ${T.rule}`}},intersections:{max:(T,$)=>T.isStricterThan($)?T:$,min:(T,$,J)=>T.overlapsRange($)?T.overlapIsUnit($)?J.$.node("unit",{unit:T.rule}):null:v.init("range",T,$)},obviatesBasisDescription:!0});class yw extends OJ{impliedBasis=k.intrinsic.number.internal;traverseAllows=this.exclusive?(T)=>T<this.rule:(T)=>T<=this.rule;reduceJsonSchema(T){if(this.exclusive)T.exclusiveMaximum=this.rule;else T.maximum=this.rule;return T}}var s9={implementation:RV,Node:yw};var LV=HT({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:$X("maxLength")}},reduce:(T,$)=>T.rule===0?$.node("exactLength",T):void 0,normalize:q6("maxLength"),defaults:{description:(T)=>`at most length ${T.rule}`,actual:(T)=>`${T.length}`},intersections:{maxLength:(T,$)=>T.isStricterThan($)?T:$,minLength:(T,$,J)=>T.overlapsRange($)?T.overlapIsUnit($)?J.$.node("exactLength",{rule:T.rule}):null:v.init("range",T,$)}});class Iw extends OJ{impliedBasis=k.intrinsic.lengthBoundable.internal;traverseAllows=(T)=>T.length<=this.rule;reduceJsonSchema(T){switch(T.type){case"string":return T.maxLength=this.rule,T;case"array":return T.maxItems=this.rule,T;default:return nT.throwInternalOperandError("maxLength",T)}}}var e9={implementation:LV,Node:Iw};var BV=HT({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z6},normalize:(T)=>typeof T==="number"?{rule:T}:T,defaults:{description:(T)=>{if(T.rule===0)return T.exclusive?"positive":"non-negative";return`${T.exclusive?"more than":"at least"} ${T.rule}`}},intersections:{min:(T,$)=>T.isStricterThan($)?T:$},obviatesBasisDescription:!0});class jw extends OJ{impliedBasis=k.intrinsic.number.internal;traverseAllows=this.exclusive?(T)=>T>this.rule:(T)=>T>=this.rule;reduceJsonSchema(T){if(this.exclusive)T.exclusiveMinimum=this.rule;else T.minimum=this.rule;return T}}var T5={implementation:BV,Node:jw};var fV=HT({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:$X("minLength")}},reduce:(T)=>T.rule===0?k.intrinsic.unknown:void 0,normalize:q6("minLength"),defaults:{description:(T)=>T.rule===1?"non-empty":`at least length ${T.rule}`,actual:(T)=>T.length===0?"":`${T.length}`},intersections:{minLength:(T,$)=>T.isStricterThan($)?T:$}});class xw extends OJ{impliedBasis=k.intrinsic.lengthBoundable.internal;traverseAllows=(T)=>T.length>=this.rule;reduceJsonSchema(T){switch(T.type){case"string":return T.minLength=this.rule,T;case"array":return T.minItems=this.rule,T;default:return nT.throwInternalOperandError("minLength",T)}}}var $5={implementation:fV,Node:xw};var Pw={min:T5.implementation,max:s9.implementation,minLength:$5.implementation,maxLength:e9.implementation,exactLength:a9.implementation,after:t9.implementation,before:r9.implementation},bw={min:T5.Node,max:s9.Node,minLength:$5.Node,maxLength:e9.Node,exactLength:a9.Node,after:t9.Node,before:r9.Node};var NV=HT({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(T)=>typeof T==="string"?{rule:T}:T instanceof RegExp?T.flags?{rule:T.source,flags:T.flags}:{rule:T.source}:T,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(T)=>`matched by ${T.rule}`},intersections:{pattern:()=>null}});class vw extends Z1{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=k.intrinsic.string.internal;reduceJsonSchema(T,$){if(T.pattern)return $.fallback.patternIntersection({code:"patternIntersection",base:T,pattern:this.rule});return T.pattern=this.rule,T}}var J5={implementation:NV,Node:vw};var M8=(T,$)=>{let J=CV(T);if($&&!$.includes(J))return R(`Root of kind ${J} should be one of ${$}`);return J},CV=(T)=>{if(l(T,"root"))return T.kind;if(typeof T==="string")return T[0]==="$"?"alias":(T in TJ)?"domain":"proto";if(typeof T==="function")return"proto";if(typeof T!=="object"||T===null)return R(hw(T));if("morphs"in T)return"morph";if("branches"in T||hT(T))return"union";if("unit"in T)return"unit";if("reference"in T)return"alias";let $=Object.keys(T);if($.length===0||$.some((J)=>(J in f6)))return"intersection";if("proto"in T)return"proto";if("domain"in T)return"domain";return R(hw(T))},hw=(T)=>`${GT(T)} is not a valid type schema`,mw={},ZV=(T)=>hT(T)?T.map(($)=>$.collapsibleJson):T.collapsibleJson,d$={};k.nodesByRegisteredId=d$;var W5=(T)=>{return mw[T]??=0,`${T}${++mw[T]}`},X5=(T)=>{let $=JX[T.kind],J=$.applyConfig?.(T.def,T.$.resolvedConfig)??T.def,W={},{meta:X,...F}=J,Y=X===void 0?{}:typeof X==="string"?{description:X}:X,G=C9(F).sort(([M],[z])=>rW(M)?rW(z)?aW(M)-aW(z):1:rW(z)?-1:M<z?-1:1).filter(([M,z])=>{if(M.startsWith("meta.")){let A=M.slice(5);return Y[A]=z,!1}return!0});for(let M of G){let z=M[0],A=$.keys[z];if(!A)return R(`Key ${z} is not valid on ${T.kind} schema`);let w=A.parse?A.parse(M[1],T):M[1];if(w!==QJ&&(w!==void 0||A.preserveUndefined))W[z]=w}if($.reduce&&!T.prereduced){let M=$.reduce(W,T.$);if(M){if(M instanceof v)return M.throw();return qV(M,Y)}}return F5({id:T.id,kind:T.kind,inner:W,meta:Y,$:T.$})},F5=({id:T,kind:$,inner:J,meta:W,$:X,ignoreCache:F})=>{let Y=JX[$],G=C9(J),H=[],M={};for(let[q,N]of G){let y=Y.keys[q],V=y.serialize??(y.child?ZV:LJ);if(M[q]=V(N),y.child===!0){let f=N;if(hT(f))H.push(...f);else H.push(f)}else if(typeof y.child==="function")H.push(...y.child(N))}if(Y.finalizeInnerJson)M=Y.finalizeInnerJson(M);let z={...M},A={};if(!T1(W))A=YT(W,(q,N)=>[q,q==="examples"?N:LJ(N)]),z.meta=I6(A,"description",!0);M=I6(M,Y.collapsibleKey,!1);let w=JSON.stringify({kind:$,...M});z=I6(z,Y.collapsibleKey,!1);let _=I6(z,Y.collapsibleKey,!0),D=JSON.stringify({kind:$,...z});if(X.nodesByHash[D]&&!F)return X.nodesByHash[D];let S={id:T,kind:$,impl:Y,inner:J,innerEntries:G,innerJson:M,innerHash:w,meta:W,metaJson:A,json:z,hash:D,collapsibleJson:_,children:H};if($!=="intersection"){for(let q in J)if(q!=="in"&&q!=="out")S[q]=J[q]}let Z=new pw[$](S,X);return X.nodesByHash[D]=Z},gw=(T,$)=>{if(T.id===$)return T;if(uT(d$[$]))RT(`Unexpected attempt to overwrite node id ${$}`);return F5({id:$,kind:T.kind,inner:T.inner,meta:T.meta,$:T.$,ignoreCache:!0})},qV=(T,$,J)=>{if(J&&uT(d$[J]))RT(`Unexpected attempt to overwrite node id ${J}`);return F5({id:J??W5($.alias??T.kind),kind:T.kind,inner:T.inner,meta:$,$:T.$})},I6=(T,$,J)=>{let W=Object.keys(T);if(W.length===1&&W[0]===$){let X=T[$];if(J)return X;if(e$(X,"object")&&(Object.keys(X).length===1||Array.isArray(X)))return X}return T};var z8=(T,$,J)=>{if(T.key!==$.key)return null;let W=T.key,X=cT(T.value,$.value,J),F=T.required||$.required?"required":"optional";if(X instanceof v)if(F==="optional")X=k.intrinsic.never.internal;else return X.withPrefixKey(T.key,T.required&&$.required?"required":"optional");if(F==="required")return J.$.node("required",{key:W,value:X});let Y=T.hasDefault()?$.hasDefault()?T.default===$.default?T.default:R(Y5(T.default,$.default)):T.default:$.hasDefault()?$.default:QJ;return J.$.node("optional",{key:W,value:X,default:Y})};class A8 extends BJ{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=k.intrinsic.object.internal;serializedKey=C1(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=ST(this.value.flatRefs.map((T)=>gJ([this.key,...T.path],T.node)),gJ([this.key],this.value));_transform(T,$){$.path.push(this.key);let J=super._transform(T,$);return $.path.pop(),J}hasDefault(){return"default"in this.inner}traverseAllows=(T,$)=>{if(this.key in T)return JJ(this.key,()=>this.value.traverseAllows(T[this.key],$),$);return this.optional};traverseApply=(T,$)=>{if(this.key in T)JJ(this.key,()=>this.value.traverseApply(T[this.key],$),$);else if(this.hasKind("required"))$.errorFromNodeContext(this.errorContext)};compile(T){if(T.if(`${this.serializedKey} in data`,()=>T.traverseKey(this.serializedKey,`data${T.prop(this.key)}`,this.value)),this.hasKind("required"))T.else(()=>T.traversalKind==="Apply"?T.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):T.return(!1));if(T.traversalKind==="Allows")T.return(!0)}}var Y5=(T,$)=>`Invalid intersection of default values ${GT(T)} & ${GT($)}`;var kV=HT({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(T,$)=>$.$.parseSchema(T)},default:{preserveUndefined:!0}},normalize:(T)=>T,reduce:(T,$)=>{if($.resolvedConfig.exactOptionalPropertyTypes===!1){if(!T.value.allows(void 0))return $.node("optional",{...T,value:T.value.or(e.undefined)},{prereduced:!0})}},defaults:{description:(T)=>`${T.compiledKey}?: ${T.value.description}`},intersections:{optional:z8}});class uw extends A8{constructor(...T){super(...T);if("default"in this.inner)Q8(this.value,this.inner.default,this.key)}get outProp(){if(!this.hasDefault())return this;let{default:T,...$}=this.inner;return this.cacheGetter("outProp",this.$.node("required",$,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${GT(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=IV(this);defaultValueMorphRef=this.defaultValueMorph&&sT(this.defaultValueMorph)}var w8={implementation:kV,Node:uw},yV={},IV=(T)=>{if(!T.hasDefault())return;let $=`{${T.compiledKey}: ${T.value.id} = ${LJ(T.default)}}`;return yV[$]??=G5(T.key,T.value,T.default)},G5=(T,$,J)=>{if(typeof J==="function")return $.includesTransform?(X,F)=>{return JJ(T,()=>$(X[T]=J(),F),F),X}:(X)=>{return X[T]=J(),X};let W=$.includesTransform?$.assert(J):J;return e$(W,"object")?(X,F)=>{return JJ(T,()=>$(X[T]=J,F),F),X}:(X)=>{return X[T]=W,X}},Q8=(T,$,J)=>{let W=T0($);if(e$($,"object")&&!W)R(jV(J));let X=T.in(W?$():$);if(X instanceof $J){if(J===null)R(`Default ${X.summary}`);let F=X.transform((Y)=>Y.transform((G)=>({...G,prefixPath:[J]})));R(`Default for ${F.summary}`)}return $},jV=(T)=>{return`Non-primitive default ${T===null?"":typeof T==="number"?`for value at [${T}] `:`for ${C1(T)} `}must be specified as a function like () => ({my: 'object'})`};class fJ extends G8{constructor(T,$){super(T,$);Object.defineProperty(this,o$,{value:"root",enumerable:!1})}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(T)=>{let $=this(T);if($ instanceof $J)return $;return{value:$}}}}as(){return this}brand(T){if(T==="")return R(xV);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(T,$){let J=this.branches.map(T);return $?.(J)??J}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(T={}){let $=p9(this.$.resolvedConfig.toJsonSchema,T);$.useRefs||=this.isCyclic;let J=typeof $.dialect==="string"?{$schema:$.dialect}:{};if(Object.assign(J,this.toJsonSchemaRecurse($)),$.useRefs)J.$defs=YT(this.references,(W,X)=>X.isRoot()&&!X.alwaysExpandJsonSchema?[X.id,X.toResolvedJsonSchema($)]:[]);return J}toJsonSchemaRecurse(T){if(T.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/$defs/${this.id}`};return this.toResolvedJsonSchema(T)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(T){let $=this.innerToJsonSchema(T);return Object.assign($,this.metaJson)}intersect(T){let $=this.$.parseDefinition(T),J=this.rawIntersect($);if(J instanceof v)return J;return this.$.finalize(J)}rawIntersect(T){return WJ(this,T,this.$)}toNeverIfDisjoint(){return this}and(T){let $=this.intersect(T);return $ instanceof v?$.throw():$}rawAnd(T){let $=this.rawIntersect(T);return $ instanceof v?$.throw():$}or(T){let $=this.$.parseDefinition(T);return this.$.finalize(this.rawOr($))}rawOr(T){let $=[...this.branches,...T.branches];return this.$.node("union",$)}map(T){return this.$.schema(this.applyStructuralOperation("map",[T]))}pick(...T){return this.$.schema(this.applyStructuralOperation("pick",T))}omit(...T){return this.$.schema(this.applyStructuralOperation("omit",T))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let T=this.applyStructuralOperation("keyof",[]).reduce(($,J)=>$.intersect(J).toNeverIfDisjoint(),k.intrinsic.unknown.internal);if(T.branches.length===0)R(d9(`keyof ${this.expression}`));return this._keyof=this.$.finalize(T)}get props(){if(this.branches.length!==1)return R(PV(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(T){let $=this.$.parseDefinition(T);return this.$.schema($.distribute((J)=>this.applyStructuralOperation("merge",[cw(J)??R(ow("merge",J.expression))])))}applyStructuralOperation(T,$){return this.distribute((J)=>{if(J.equals(k.intrinsic.object)&&T!=="merge")return J;let W=cw(J);if(!W)R(ow(T,J.expression));if(T==="keyof")return W.keyof();if(T==="get")return W.get(...$);if(T==="props")return W.props;let X=T==="required"?"require":T==="partial"?"optionalize":T;return this.$.node("intersection",{...J.inner,structure:W[X](...$)})})}get(...T){if(T[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",T))}extract(T){let $=this.$.parseDefinition(T);return this.$.schema(this.branches.filter((J)=>J.extends($)))}exclude(T){let $=this.$.parseDefinition(T);return this.$.schema(this.branches.filter((J)=>!J.extends($)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(T){return!(this.intersect(T)instanceof v)}extends(T){let $=this.intersect(T);return!($ instanceof v)&&this.equals($)}ifExtends(T){return this.extends(T)?this:void 0}subsumes(T){return this.$.parseDefinition(T).extends(this)}configure(T,$="shallow"){return this.configureReferences(T,$)}describe(T,$="shallow"){return this.configure({description:T},$)}optional(){return[this,"?"]}default(T){return Q8(this,T,null),[this,"=",T]}from(T){return this.assert(T)}_pipe(...T){let $=T.reduce((J,W)=>J.rawPipeOnce(W),this);return this.$.finalize($)}tryPipe(...T){let $=T.reduce((J,W)=>J.rawPipeOnce(l(W,"root")?W:(X,F)=>{try{return W(X,F)}catch(Y){return F.error({code:"predicate",predicate:W,actual:`aborted due to error:
|
|
116
|
-
${
|
|
117
|
-
`})}}),this);return this.$.finalize($)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(T){return this.$.finalize(this.toNode(this.$.parseDefinition(T)))}toNode(T){let $=
|
|
118
|
-
${T}`,ow=(T,$)=>`${T} operand must be an object (was ${$})`;var
|
|
113
|
+
`);class gJ{path=[];errors=new $J(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(T,$){this.root=T,this.config=$}get data(){let T=this.root;for(let $ of this.path)T=T?.[$];return T}get propString(){return C1(this.path)}reject(T){return this.error(T),!1}mustBe(T){return this.error(T),!1}error(T){let $=typeof T==="object"?T.code?T:{...T,code:"predicate"}:{code:"predicate",expected:T};return this.errorFromContext($)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches.at(-1)}queueMorphs(T){let $={path:new Y8(...this.path),morphs:T};if(this.currentBranch)this.currentBranch.queuedMorphs.push($);else this.queuedMorphs.push($)}finalize(T){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return T?T(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(T){return this.errorFromContext(T)}errorFromContext(T){let $=new X0(T,this);if(this.currentBranch)this.currentBranch.error=$;else this.errors.add($);return $}applyQueuedMorphs(){while(this.queuedMorphs.length){let T=this.queuedMorphs;this.queuedMorphs=[];for(let{path:$,morphs:J}of T){if(this.errors.affectsPath($))continue;this.applyMorphsAtPath($,J)}}}applyMorphsAtPath(T,$){let J=T.at(-1),W;if(J!==void 0){W=this.root;for(let X=0;X<T.length-1;X++)W=W[T[X]]}this.path=[...T];for(let X of $){let Y=uT(X),F=X(W===void 0?this.root:W[J],this);if(F instanceof X0){this.errors.add(F);break}if(F instanceof $J){if(!Y)this.errors.merge(F);break}if(W===void 0)this.root=F;else W[J]=F;this.applyQueuedMorphs()}}}var JJ=(T,$,J)=>{if(!J)return $();J.path.push(T);let W=$();return J.path.pop(),W};class M8 extends hJ{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(T,$){super((W,X,Y=this.onFail)=>{if(X)return this.traverseApply(W,X),X.hasError()?X.errors:X.data;return this.rootApply(W,Y)},{attach:T});this.attachments=T,this.$=$,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((W,X)=>XS(W,X.shallowReferences),[this]);let J=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let W=0;W<this.children.length;W++){if(this.includesTransform||=this.children[W].includesTransform,this.includesContextualPredicate||=this.children[W].includesContextualPredicate,this.isCyclic||=this.children[W].isCyclic,!J){let X=this.children[W].flatRefs;for(let Y=0;Y<X.length;Y++){let F=X[Y];if(!this.flatRefs.some((G)=>Vw(G,F))){this.flatRefs.push(F);for(let G of F.node.branches)if(G.hasKind("morph")||G.hasKind("intersection")&&G.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:F.path,propString:F.propString,node:G})}}}Object.assign(this.referencesById,this.children[W].referencesById)}this.flatRefs.sort((W,X)=>W.path.length>X.path.length?1:W.path.length<X.path.length?-1:W.propString>X.propString?1:W.propString<X.propString?-1:W.node.expression<X.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((W)=>W.length===1||W.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((W)=>W.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(W)=>this.traverseAllows(W,new gJ(W,this.$.resolvedConfig)):(W)=>this.traverseAllows(W)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return($,J)=>{if(this.allows($))return $;let W=new gJ($,this.$.resolvedConfig);return this.traverseApply($,W),W.finalize(J)};case"contextual":return($,J)=>{let W=new gJ($,this.$.resolvedConfig);return this.traverseApply($,W),W.finalize(J)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let T=this.$.resolvedConfig.clone;return($,J)=>{if(this.allows($))return this.contextFreeMorph(T&&(typeof $==="object"&&$!==null||typeof $==="function")?T($):$);let W=new gJ($,this.$.resolvedConfig);return this.traverseApply($,W),W.finalize(J)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,ET(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=WS(this.metaJson);cacheGetter(T,$){return Object.defineProperty(this,T,{value:$}),$}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=rW(this.kind);precompilation;assert=(T,$)=>this(T,$,(J)=>J.throw());traverse(T,$){return this(T,$,null)}get in(){return this.cacheGetter("in",this.getIo("in"))}get out(){return this.cacheGetter("out",this.getIo("out"))}getIo(T){if(!this.includesTransform)return this;let $={};for(let[J,W]of this.innerEntries){let X=this.impl.keys[J];if(X.reduceIo)X.reduceIo(T,$,W);else if(X.child){let Y=W;$[J]=vT(Y)?Y.map((F)=>F[T]):Y[T]}else $[J]=W}return this.$.node(this.kind,$)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(T){let $=uT(T)?T:this.$.parseDefinition(T);return this.innerHash===$.innerHash}ifEquals(T){return this.equals(T)?this:void 0}hasKind(T){return this.kind===T}assertHasKind(T){if(this.kind!==T)o0(`${this.kind} node was not of asserted kind ${T}`);return this}hasKindIn(...T){return T.includes(this.kind)}assertHasKindIn(...T){if(!L1(T,this.kind))o0(`${this.kind} node was not one of asserted kinds ${T}`);return this}isBasis(){return L1(Qw,this.kind)}isConstraint(){return L1(B6,this.kind)}isStructural(){return L1(nW,this.kind)}isRefinement(){return L1(g9,this.kind)}isRoot(){return L1(iW,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(T){return this.hasKind("unit")&&this.allows(T)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(T){let $=H8.normalize(T);return this._select($)}_select(T){let $=H8.applyBoundary[T.boundary??"references"](this);if(T.kind)$=$.filter((J)=>J.kind===T.kind);if(T.where)$=$.filter(T.where);return H8.applyMethod[T.method??"filter"]($,this,T)}transform(T,$){return this._transform(T,this._createTransformContext($))}_createTransformContext(T){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:T?.prereduced??!1},undeclaredKeyHandling:void 0,...T}}_transform(T,$){let J=$.bindScope??this.$;if($.seen[this.id])return this.$.lazilyResolve($.seen[this.id]);if($.shouldTransform?.(this,$)===!1)return this;let W;if($.seen[this.id]=()=>W,this.hasKind("structure")&&this.undeclared!==$.undeclaredKeyHandling)$={...$,undeclaredKeyHandling:this.undeclared};let X=FT(this.inner,(M,A)=>{if(!this.impl.keys[M].child)return[M,A];let z=A;if(!vT(z)){let _=z._transform(T,$);return _?[M,_]:[]}if(z.length===0)return[M,A];let w=z.flatMap((_)=>{return _._transform(T,$)??[]});return w.length?[M,w]:[]});delete $.seen[this.id];let Y=Object.assign(X,{meta:this.meta}),F=$.selected&&!$.selected.includes(this)?Y:T(this.kind,Y,$);if(F===null)return null;if(uT(F))return W=F;let G=Object.keys(F);if((G.length===0||G.length===1&&G[0]==="meta")&&!$1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in F))return $.undeclaredKeyHandling?{...F,value:k.intrinsic.unknown}:null;if(this.kind==="morph")F.in??=k.intrinsic.unknown;return W=J.node(this.kind,F,$.parseOptions)}configureReferences(T,$="references"){let J=H8.normalize($),W=typeof T==="string"?(G,H)=>({...H,meta:{...H.meta,description:T}}):typeof T==="function"?(G,H)=>({...H,meta:T(H.meta)}):(G,H)=>({...H,meta:{...H.meta,...T}});if(J.boundary==="self")return this.$.node(this.kind,W(this.kind,{...this.inner,meta:this.meta}));let X=this._select(J),Y=X&&e1(X),F=J.boundary==="child"?(G,H)=>H.root.children.includes(G):J.boundary==="shallow"?(G)=>G.kind!=="structure":()=>!0;return this.$.finalize(this.transform(W,{shouldTransform:F,selected:Y}))}}var H8={applyBoundary:{self:(T)=>[T],child:(T)=>[...T.children],shallow:(T)=>[...T.shallowReferences],references:(T)=>[...T.references]},applyMethod:{filter:(T)=>T,assertFilter:(T,$,J)=>{if(T.length===0)o0(Dw($,J));return T},find:(T)=>T[0],assertFind:(T,$,J)=>{if(T.length===0)o0(Dw($,J));return T[0]}},normalize:(T)=>typeof T==="function"?{boundary:"references",method:"filter",where:T}:typeof T==="string"?S$(T,H8.applyBoundary)?{method:"filter",boundary:T}:{boundary:"references",method:"filter",kind:T}:{boundary:"references",method:"filter",...T}},Dw=(T,$)=>`${T} had no references matching ${GT($)}.`,$S=(T)=>C1(T,{stringifyNonKey:($)=>$.expression}),JS=/"(\$ark\.[^"]+)"/g,WS=(T)=>JSON.stringify(T).replaceAll(JS,"$1"),mJ=(T,$)=>({path:T,node:$,propString:$S(T)}),Vw=(T,$)=>T.propString===$.propString&&T.node.equals($.node),u9=(T,$)=>T1(T,$,{isEqual:Vw}),XS=(T,$)=>T1(T,$,{isEqual:(J,W)=>J.equals(W)});class v extends Array{static init(T,$,J,W){return new v({kind:T,l:$,r:J,path:W?.path??[],optional:W?.optional??!1})}add(T,$,J,W){return this.push({kind:T,l:$,r:J,path:W?.path??[],optional:W?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:T,l:$,r:J}=this[0],W=C1(T);return o9(`Intersection${W&&` at ${W}`} of ${Sw($,J)}`)}return`The following intersections result in unsatisfiable types:
|
|
114
|
+
\u2022 ${this.map(({path:T,l:$,r:J})=>`${T}: ${Sw($,J)}`).join(`
|
|
115
|
+
\u2022 `)}`}throw(){return E(this.describeReasons())}invert(){let T=this.map(($)=>({...$,l:$.r,r:$.l}));if(!(T instanceof v))return new v(...T);return T}withPrefixKey(T,$){return this.map((J)=>({...J,path:[T,...J.path],optional:J.optional||$==="optional"}))}toNeverIfDisjoint(){return k.intrinsic.never}}var Sw=(T,$)=>`${c9(T)} and ${c9($)}`,c9=(T)=>uT(T)?T.expression:vT(T)?T.map(c9).join(" | ")||"never":String(T),o9=(T)=>`${T} results in an unsatisfiable type`;var aW={},WJ=(T,$,J)=>cT(T,$,{$:J,invert:!1,pipe:!1}),A8=(T,$,J)=>cT(T,$,{$:J,invert:!1,pipe:!0}),cT=(T,$,J)=>{let W=J.pipe?"|>":"&",X=`${T.hash}${W}${$.hash}`;if(aW[X]!==void 0)return aW[X];if(!J.pipe){let G=`${$.hash}${W}${T.hash}`;if(aW[G]!==void 0){let H=aW[G],M=H instanceof v?H.invert():H;return aW[X]=M,M}}let Y=!J.pipe||!T.includesTransform&&!$.includesTransform;if(Y&&T.equals($))return T;let F=Y?d9(T,$,J):T.hasKindIn(...iW)?YS(T,$,J):d9(T,$,J);if(uT(F)){if(T.equals(F))F=T;else if($.equals(F))F=$}return aW[X]=F,F},d9=(T,$,J)=>{let W=T.precedence<$.precedence?T.kind:$.kind,X=T.impl.intersections[$.kind]??$.impl.intersections[T.kind];if(X===void 0)return null;else if(W===T.kind)return X(T,$,J);else{let Y=X($,T,{...J,invert:!J.invert});if(Y instanceof v)Y=Y.invert();return Y}},YS=(T,$,J)=>T.includesTransform||$.includesTransform?J.invert?Rw($,T,J):Rw(T,$,J):d9(T,$,J),Rw=(T,$,J)=>T.distribute((W)=>FS(W,$,J),(W)=>{let X=W.filter(uT);if(X.length===0)return v.init("union",T.branches,$.branches);if(X.length<T.branches.length||!T.branches.every((G,H)=>G.in.equals(X[H].in)))return J.$.parseSchema(X);let Y;if(X.length===1){let G=X[0];if(!Y)return G;return J.$.node("morph",{...G.inner,in:G.in.configure(Y,"self")})}let F={branches:X};if(Y)F.meta=Y;return J.$.parseSchema(F)}),FS=(T,$,J)=>{if(T.hasKind("morph")){let X=[...T.morphs];if(T.lastMorphIfNode){let Y=cT(T.lastMorphIfNode,$,J);if(Y instanceof v)return Y;X[X.length-1]=Y}else X.push($);return J.$.node("morph",{morphs:X,in:T.inner.in})}if($.hasKind("morph")){let X=cT(T,$.in,J);if(X instanceof v)return X;return J.$.node("morph",{morphs:[$],in:X})}return J.$.node("morph",{morphs:[$],in:T})};class BJ extends M8{constructor(T,$){super(T,$);Object.defineProperty(this,o$,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(T){return WJ(this,T,this.$)}}class q1 extends BJ{traverseApply=(T,$)=>{if(!this.traverseAllows(T,$))$.errorFromNodeContext(this.errorContext)};compile(T){if(T.traversalKind==="Allows")T.return(this.compiledCondition);else T.if(this.compiledNegation,()=>T.line(`${T.ctx}.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return W0(this.errorContext)}}var v$=(T)=>($,J)=>{if(vT($)){if($.length===0)return;let X=$.map((Y)=>J.$.node(T,Y));if(T==="predicate")return X;return X.sort((Y,F)=>Y.hash<F.hash?-1:1)}let W=J.$.node(T,$);return W.hasOpenIntersection()?[W]:W},sW=(T)=>{let $=T.r.shift();if(!$){let W=T.l.length===0&&T.kind==="structure"?k.intrinsic.unknown.internal:T.ctx.$.node(T.kind,Object.assign(T.baseInner,GS(T.l)),{prereduced:!0});for(let X of T.roots){if(W instanceof v)return W;W=cT(X,W,T.ctx)}return W}let J=!1;for(let W=0;W<T.l.length;W++){let X=cT(T.l[W],$,T.ctx);if(X===null)continue;if(X instanceof v)return X;if(!J){if(X.isRoot())return T.roots.push(X),T.l.splice(W),sW(T);T.l[W]=X,J=!0}else if(!T.l.includes(X))return ET(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!J)T.l.push($);if(T.kind==="intersection"){if($.impliedSiblings)for(let W of $.impliedSiblings)T1(T.r,W)}return sW(T)},eW=(T)=>{return Object.entries(T).flatMap(([J,W])=>(J in f6)?W:[]).sort((J,W)=>J.precedence<W.precedence?-1:J.precedence>W.precedence?1:J.kind==="predicate"&&W.kind==="predicate"?0:J.hash<W.hash?-1:1)},GS=(T)=>{let $={};for(let J of T)if(J.hasOpenIntersection())$[J.kind]=VT($[J.kind],J);else{if($[J.kind])return ET(`Unexpected intersection of closed refinements of kind ${J.kind}`);$[J.kind]=J}return $},Ew=(...T)=>E(Lw(...T)),Lw=(T,$,J)=>{let W=J.hasKind("morph")?"a morph":J.isUnknown()?"unknown":J.exclude($).defaultShortDescription;return`${sz(T)} operand must be ${$.description} (was ${W})`};var Bw=(T,$,J)=>new Y0(T,$,J,J,null);class C6 extends hJ{}class Y0 extends hJ{[o$]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(T,$,J,W,X){super((...Y)=>{let F=FT(this.names,(G,H)=>{let M=this.arg$.parse(Y[G]);if(!M.extends(this.constraints[G]))E(HS(H,this.constraints[G].expression,M.expression));return[H,M]});if(this.defIsLazy()){let G=this.bodyDef(F);return this.$.parse(G)}return this.$.parse($,{args:F})});this.paramDefs=T,this.bodyDef=$,this.$=J,this.arg$=W,this.hkt=X,this.description=X?new X().description??`a generic type for ${X.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof C6}cacheGetter(T,$){return Object.defineProperty(this,T,{value:$}),$}get json(){return this.cacheGetter("json",{params:this.params.map((T)=>T[1].isUnknown()?T[0]:[T[0],T[1].json]),body:Mw(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((T)=>typeof T==="string"?[T,k.intrinsic.unknown]:[T[0],this.$.parse(T[1])]))}get names(){return this.cacheGetter("names",this.params.map((T)=>T[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((T)=>T[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var HS=(T,$,J)=>`${T} must be assignable to ${$} (was ${J})`;var MS=HT({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(T)=>typeof T==="function"?{predicate:T}:T,defaults:{description:(T)=>`valid according to ${T.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class fw extends BJ{serializedPredicate=aT(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=W0(this.errorContext);traverseApply=(T,$)=>{if(!this.predicate(T,$.external)&&!$.hasError())$.errorFromNodeContext(this.errorContext)};compile(T){if(T.traversalKind==="Allows"){T.return(this.compiledCondition);return}T.if(`${this.compiledNegation} && !ctx.hasError()`,()=>T.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(T,$){return $.fallback.predicate({code:"predicate",base:T,predicate:this.predicate})}}var l9={implementation:MS,Node:fw};var AS=HT({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(T)=>Number.isInteger(T)?T:E(zS(T))}},normalize:(T)=>typeof T==="number"?{rule:T}:T,hasAssociatedError:!0,defaults:{description:(T)=>T.rule===1?"an integer":T.rule===2?"even":`a multiple of ${T.rule}`},intersections:{divisor:(T,$,J)=>J.$.node("divisor",{rule:Math.abs(T.rule*$.rule/wS(T.rule,$.rule))})},obviatesBasisDescription:!0});class Nw extends q1{traverseAllows=(T)=>T%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=k.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(T){if(T.type="integer",this.rule===1)return T;return T.multipleOf=this.rule,T}}var n9={implementation:AS,Node:Nw};var zS=(T)=>`divisor must be an integer (was ${T})`,wS=(T,$)=>{let J,W=T,X=$;while(X!==0)J=X,X=W%X,W=J;return W};class QJ extends q1{boundOperandKind=_S[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=KS(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${QS[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?DS(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(T){return(this.limitKind==="upper"?this.numericLimit<T.numericLimit:this.numericLimit>T.numericLimit)||this.numericLimit===T.numericLimit&&this.exclusive===!0&&!T.exclusive}overlapsRange(T){if(this.isStricterThan(T))return!1;if(this.numericLimit===T.numericLimit&&(this.exclusive||T.exclusive))return!1;return!0}overlapIsUnit(T){return this.numericLimit===T.numericLimit&&!this.exclusive&&!T.exclusive}}var QS={"<":">=","<=":">",">":"<=",">=":"<"},OS={min:"max",minLength:"maxLength",after:"before"},Z6={parse:(T)=>T||void 0},q6=(T)=>($)=>{if(typeof $==="number")return{rule:$};let{exclusive:J,...W}=$;return J?{...W,rule:T==="minLength"?W.rule+1:W.rule-1}:W},k6=(T)=>($)=>{if(typeof $==="number"||typeof $==="string"||$ instanceof Date)return{rule:$};let{exclusive:J,...W}=$;if(!J)return W;let X=typeof W.rule==="number"?W.rule:typeof W.rule==="string"?new Date(W.rule).valueOf():W.rule.valueOf();return J?{...W,rule:T==="after"?X+1:X-1}:W},y6=(T)=>typeof T==="string"||typeof T==="number"?new Date(T):T,US=(T,$)=>`${T} bound must be a positive integer (was ${$})`,TX=(T)=>($)=>{if(!Number.isInteger($)||$<0)E(US(T,$));return $},_S={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},KS=(T,$)=>`${S$(T,OS)?">":"<"}${$?"":"="}`,DS=(T)=>typeof T==="string"?T:new Date(T).toLocaleString(),Cw=(T)=>`Bounded expression ${T} must be exactly one of number, string, Array, or Date`;var VS=HT({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y6,serialize:(T)=>T.toISOString()}},normalize:k6("after"),defaults:{description:(T)=>`${T.collapsibleLimitString} or later`,actual:i0},intersections:{after:(T,$)=>T.isStricterThan($)?T:$}});class Zw extends QJ{impliedBasis=k.intrinsic.Date.internal;collapsibleLimitString=i0(this.rule);traverseAllows=(T)=>T>=this.rule;reduceJsonSchema(T,$){return $.fallback.date({code:"date",base:T,after:this.rule})}}var i9={implementation:VS,Node:Zw};var SS=HT({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y6,serialize:(T)=>T.toISOString()}},normalize:k6("before"),defaults:{description:(T)=>`${T.collapsibleLimitString} or earlier`,actual:i0},intersections:{before:(T,$)=>T.isStricterThan($)?T:$,after:(T,$,J)=>T.overlapsRange($)?T.overlapIsUnit($)?J.$.node("unit",{unit:T.rule}):null:v.init("range",T,$)}});class qw extends QJ{collapsibleLimitString=i0(this.rule);traverseAllows=(T)=>T<=this.rule;impliedBasis=k.intrinsic.Date.internal;reduceJsonSchema(T,$){return $.fallback.date({code:"date",base:T,before:this.rule})}}var t9={implementation:SS,Node:qw};var RS=HT({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:TX("exactLength")}},normalize:(T)=>typeof T==="number"?{rule:T}:T,hasAssociatedError:!0,defaults:{description:(T)=>`exactly length ${T.rule}`,actual:(T)=>`${T.length}`},intersections:{exactLength:(T,$,J)=>v.init("unit",J.$.node("unit",{unit:T.rule}),J.$.node("unit",{unit:$.rule}),{path:["length"]}),minLength:(T,$)=>T.rule>=$.rule?T:v.init("range",T,$),maxLength:(T,$)=>T.rule<=$.rule?T:v.init("range",T,$)}});class kw extends q1{traverseAllows=(T)=>T.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=k.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(T){switch(T.type){case"string":return T.minLength=this.rule,T.maxLength=this.rule,T;case"array":return T.minItems=this.rule,T.maxItems=this.rule,T;default:return lT.throwInternalOperandError("exactLength",T)}}}var r9={implementation:RS,Node:kw};var ES=HT({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z6},normalize:(T)=>typeof T==="number"?{rule:T}:T,defaults:{description:(T)=>{if(T.rule===0)return T.exclusive?"negative":"non-positive";return`${T.exclusive?"less than":"at most"} ${T.rule}`}},intersections:{max:(T,$)=>T.isStricterThan($)?T:$,min:(T,$,J)=>T.overlapsRange($)?T.overlapIsUnit($)?J.$.node("unit",{unit:T.rule}):null:v.init("range",T,$)},obviatesBasisDescription:!0});class yw extends QJ{impliedBasis=k.intrinsic.number.internal;traverseAllows=this.exclusive?(T)=>T<this.rule:(T)=>T<=this.rule;reduceJsonSchema(T){if(this.exclusive)T.exclusiveMaximum=this.rule;else T.maximum=this.rule;return T}}var a9={implementation:ES,Node:yw};var LS=HT({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:TX("maxLength")}},reduce:(T,$)=>T.rule===0?$.node("exactLength",T):void 0,normalize:q6("maxLength"),defaults:{description:(T)=>`at most length ${T.rule}`,actual:(T)=>`${T.length}`},intersections:{maxLength:(T,$)=>T.isStricterThan($)?T:$,minLength:(T,$,J)=>T.overlapsRange($)?T.overlapIsUnit($)?J.$.node("exactLength",{rule:T.rule}):null:v.init("range",T,$)}});class Iw extends QJ{impliedBasis=k.intrinsic.lengthBoundable.internal;traverseAllows=(T)=>T.length<=this.rule;reduceJsonSchema(T){switch(T.type){case"string":return T.maxLength=this.rule,T;case"array":return T.maxItems=this.rule,T;default:return lT.throwInternalOperandError("maxLength",T)}}}var s9={implementation:LS,Node:Iw};var BS=HT({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z6},normalize:(T)=>typeof T==="number"?{rule:T}:T,defaults:{description:(T)=>{if(T.rule===0)return T.exclusive?"positive":"non-negative";return`${T.exclusive?"more than":"at least"} ${T.rule}`}},intersections:{min:(T,$)=>T.isStricterThan($)?T:$},obviatesBasisDescription:!0});class jw extends QJ{impliedBasis=k.intrinsic.number.internal;traverseAllows=this.exclusive?(T)=>T>this.rule:(T)=>T>=this.rule;reduceJsonSchema(T){if(this.exclusive)T.exclusiveMinimum=this.rule;else T.minimum=this.rule;return T}}var e9={implementation:BS,Node:jw};var fS=HT({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:TX("minLength")}},reduce:(T)=>T.rule===0?k.intrinsic.unknown:void 0,normalize:q6("minLength"),defaults:{description:(T)=>T.rule===1?"non-empty":`at least length ${T.rule}`,actual:(T)=>T.length===0?"":`${T.length}`},intersections:{minLength:(T,$)=>T.isStricterThan($)?T:$}});class xw extends QJ{impliedBasis=k.intrinsic.lengthBoundable.internal;traverseAllows=(T)=>T.length>=this.rule;reduceJsonSchema(T){switch(T.type){case"string":return T.minLength=this.rule,T;case"array":return T.minItems=this.rule,T;default:return lT.throwInternalOperandError("minLength",T)}}}var T5={implementation:fS,Node:xw};var Pw={min:e9.implementation,max:a9.implementation,minLength:T5.implementation,maxLength:s9.implementation,exactLength:r9.implementation,after:i9.implementation,before:t9.implementation},bw={min:e9.Node,max:a9.Node,minLength:T5.Node,maxLength:s9.Node,exactLength:r9.Node,after:i9.Node,before:t9.Node};var NS=HT({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(T)=>typeof T==="string"?{rule:T}:T instanceof RegExp?T.flags?{rule:T.source,flags:T.flags}:{rule:T.source}:T,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(T)=>`matched by ${T.rule}`},intersections:{pattern:()=>null}});class vw extends q1{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=k.intrinsic.string.internal;reduceJsonSchema(T,$){if(T.pattern)return $.fallback.patternIntersection({code:"patternIntersection",base:T,pattern:this.rule});return T.pattern=this.rule,T}}var $5={implementation:NS,Node:vw};var z8=(T,$)=>{let J=CS(T);if($&&!$.includes(J))return E(`Root of kind ${J} should be one of ${$}`);return J},CS=(T)=>{if(l(T,"root"))return T.kind;if(typeof T==="string")return T[0]==="$"?"alias":(T in TJ)?"domain":"proto";if(typeof T==="function")return"proto";if(typeof T!=="object"||T===null)return E(hw(T));if("morphs"in T)return"morph";if("branches"in T||vT(T))return"union";if("unit"in T)return"unit";if("reference"in T)return"alias";let $=Object.keys(T);if($.length===0||$.some((J)=>(J in f6)))return"intersection";if("proto"in T)return"proto";if("domain"in T)return"domain";return E(hw(T))},hw=(T)=>`${GT(T)} is not a valid type schema`,gw={},ZS=(T)=>vT(T)?T.map(($)=>$.collapsibleJson):T.collapsibleJson,d$={};k.nodesByRegisteredId=d$;var J5=(T)=>{return gw[T]??=0,`${T}${++gw[T]}`},W5=(T)=>{let $=$X[T.kind],J=$.applyConfig?.(T.def,T.$.resolvedConfig)??T.def,W={},{meta:X,...Y}=J,F=X===void 0?{}:typeof X==="string"?{description:X}:X,G=N9(Y).sort(([M],[A])=>tW(M)?tW(A)?rW(M)-rW(A):1:tW(A)?-1:M<A?-1:1).filter(([M,A])=>{if(M.startsWith("meta.")){let z=M.slice(5);return F[z]=A,!1}return!0});for(let M of G){let A=M[0],z=$.keys[A];if(!z)return E(`Key ${A} is not valid on ${T.kind} schema`);let w=z.parse?z.parse(M[1],T):M[1];if(w!==wJ&&(w!==void 0||z.preserveUndefined))W[A]=w}if($.reduce&&!T.prereduced){let M=$.reduce(W,T.$);if(M){if(M instanceof v)return M.throw();return qS(M,F)}}return X5({id:T.id,kind:T.kind,inner:W,meta:F,$:T.$})},X5=({id:T,kind:$,inner:J,meta:W,$:X,ignoreCache:Y})=>{let F=$X[$],G=N9(J),H=[],M={};for(let[q,N]of G){let y=F.keys[q],S=y.serialize??(y.child?ZS:LJ);if(M[q]=S(N),y.child===!0){let f=N;if(vT(f))H.push(...f);else H.push(f)}else if(typeof y.child==="function")H.push(...y.child(N))}if(F.finalizeInnerJson)M=F.finalizeInnerJson(M);let A={...M},z={};if(!$1(W))z=FT(W,(q,N)=>[q,q==="examples"?N:LJ(N)]),A.meta=I6(z,"description",!0);M=I6(M,F.collapsibleKey,!1);let w=JSON.stringify({kind:$,...M});A=I6(A,F.collapsibleKey,!1);let _=I6(A,F.collapsibleKey,!0),K=JSON.stringify({kind:$,...A});if(X.nodesByHash[K]&&!Y)return X.nodesByHash[K];let V={id:T,kind:$,impl:F,inner:J,innerEntries:G,innerJson:M,innerHash:w,meta:W,metaJson:z,json:A,hash:K,collapsibleJson:_,children:H};if($!=="intersection"){for(let q in J)if(q!=="in"&&q!=="out")V[q]=J[q]}let Z=new pw[$](V,X);return X.nodesByHash[K]=Z},mw=(T,$)=>{if(T.id===$)return T;if(uT(d$[$]))ET(`Unexpected attempt to overwrite node id ${$}`);return X5({id:$,kind:T.kind,inner:T.inner,meta:T.meta,$:T.$,ignoreCache:!0})},qS=(T,$,J)=>{if(J&&uT(d$[J]))ET(`Unexpected attempt to overwrite node id ${J}`);return X5({id:J??J5($.alias??T.kind),kind:T.kind,inner:T.inner,meta:$,$:T.$})},I6=(T,$,J)=>{let W=Object.keys(T);if(W.length===1&&W[0]===$){let X=T[$];if(J)return X;if(e$(X,"object")&&(Object.keys(X).length===1||Array.isArray(X)))return X}return T};var w8=(T,$,J)=>{if(T.key!==$.key)return null;let W=T.key,X=cT(T.value,$.value,J),Y=T.required||$.required?"required":"optional";if(X instanceof v)if(Y==="optional")X=k.intrinsic.never.internal;else return X.withPrefixKey(T.key,T.required&&$.required?"required":"optional");if(Y==="required")return J.$.node("required",{key:W,value:X});let F=T.hasDefault()?$.hasDefault()?T.default===$.default?T.default:E(Y5(T.default,$.default)):T.default:$.hasDefault()?$.default:wJ;return J.$.node("optional",{key:W,value:X,default:F})};class Q8 extends BJ{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=k.intrinsic.object.internal;serializedKey=Z1(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=VT(this.value.flatRefs.map((T)=>mJ([this.key,...T.path],T.node)),mJ([this.key],this.value));_transform(T,$){$.path.push(this.key);let J=super._transform(T,$);return $.path.pop(),J}hasDefault(){return"default"in this.inner}traverseAllows=(T,$)=>{if(this.key in T)return JJ(this.key,()=>this.value.traverseAllows(T[this.key],$),$);return this.optional};traverseApply=(T,$)=>{if(this.key in T)JJ(this.key,()=>this.value.traverseApply(T[this.key],$),$);else if(this.hasKind("required"))$.errorFromNodeContext(this.errorContext)};compile(T){if(T.if(`${this.serializedKey} in data`,()=>T.traverseKey(this.serializedKey,`data${T.prop(this.key)}`,this.value)),this.hasKind("required"))T.else(()=>T.traversalKind==="Apply"?T.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):T.return(!1));if(T.traversalKind==="Allows")T.return(!0)}}var Y5=(T,$)=>`Invalid intersection of default values ${GT(T)} & ${GT($)}`;var kS=HT({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(T,$)=>$.$.parseSchema(T)},default:{preserveUndefined:!0}},normalize:(T)=>T,reduce:(T,$)=>{if($.resolvedConfig.exactOptionalPropertyTypes===!1){if(!T.value.allows(void 0))return $.node("optional",{...T,value:T.value.or(e.undefined)},{prereduced:!0})}},defaults:{description:(T)=>`${T.compiledKey}?: ${T.value.description}`},intersections:{optional:w8}});class uw extends Q8{constructor(...T){super(...T);if("default"in this.inner)U8(this.value,this.inner.default,this.key)}get outProp(){if(!this.hasDefault())return this;let{default:T,...$}=this.inner;return this.cacheGetter("outProp",this.$.node("required",$,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${GT(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=IS(this);defaultValueMorphRef=this.defaultValueMorph&&aT(this.defaultValueMorph)}var O8={implementation:kS,Node:uw},yS={},IS=(T)=>{if(!T.hasDefault())return;let $=`{${T.compiledKey}: ${T.value.id} = ${LJ(T.default)}}`;return yS[$]??=F5(T.key,T.value,T.default)},F5=(T,$,J)=>{if(typeof J==="function")return $.includesTransform?(X,Y)=>{return JJ(T,()=>$(X[T]=J(),Y),Y),X}:(X)=>{return X[T]=J(),X};let W=$.includesTransform?$.assert(J):J;return e$(W,"object")?(X,Y)=>{return JJ(T,()=>$(X[T]=J,Y),Y),X}:(X)=>{return X[T]=W,X}},U8=(T,$,J)=>{let W=T0($);if(e$($,"object")&&!W)E(jS(J));let X=T.in(W?$():$);if(X instanceof $J){if(J===null)E(`Default ${X.summary}`);let Y=X.transform((F)=>F.transform((G)=>({...G,prefixPath:[J]})));E(`Default for ${Y.summary}`)}return $},jS=(T)=>{return`Non-primitive default ${T===null?"":typeof T==="number"?`for value at [${T}] `:`for ${Z1(T)} `}must be specified as a function like () => ({my: 'object'})`};class fJ extends M8{constructor(T,$){super(T,$);Object.defineProperty(this,o$,{value:"root",enumerable:!1})}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(T)=>{let $=this(T);if($ instanceof $J)return $;return{value:$}}}}as(){return this}brand(T){if(T==="")return E(xS);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(T,$){let J=this.branches.map(T);return $?.(J)??J}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(T={}){let $=m9(this.$.resolvedConfig.toJsonSchema,T);$.useRefs||=this.isCyclic;let J=typeof $.dialect==="string"?{$schema:$.dialect}:{};if(Object.assign(J,this.toJsonSchemaRecurse($)),$.useRefs)J.$defs=FT(this.references,(W,X)=>X.isRoot()&&!X.alwaysExpandJsonSchema?[X.id,X.toResolvedJsonSchema($)]:[]);return J}toJsonSchemaRecurse(T){if(T.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/$defs/${this.id}`};return this.toResolvedJsonSchema(T)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(T){let $=this.innerToJsonSchema(T);return Object.assign($,this.metaJson)}intersect(T){let $=this.$.parseDefinition(T),J=this.rawIntersect($);if(J instanceof v)return J;return this.$.finalize(J)}rawIntersect(T){return WJ(this,T,this.$)}toNeverIfDisjoint(){return this}and(T){let $=this.intersect(T);return $ instanceof v?$.throw():$}rawAnd(T){let $=this.rawIntersect(T);return $ instanceof v?$.throw():$}or(T){let $=this.$.parseDefinition(T);return this.$.finalize(this.rawOr($))}rawOr(T){let $=[...this.branches,...T.branches];return this.$.node("union",$)}map(T){return this.$.schema(this.applyStructuralOperation("map",[T]))}pick(...T){return this.$.schema(this.applyStructuralOperation("pick",T))}omit(...T){return this.$.schema(this.applyStructuralOperation("omit",T))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let T=this.applyStructuralOperation("keyof",[]).reduce(($,J)=>$.intersect(J).toNeverIfDisjoint(),k.intrinsic.unknown.internal);if(T.branches.length===0)E(o9(`keyof ${this.expression}`));return this._keyof=this.$.finalize(T)}get props(){if(this.branches.length!==1)return E(PS(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(T){let $=this.$.parseDefinition(T);return this.$.schema($.distribute((J)=>this.applyStructuralOperation("merge",[cw(J)??E(ow("merge",J.expression))])))}applyStructuralOperation(T,$){return this.distribute((J)=>{if(J.equals(k.intrinsic.object)&&T!=="merge")return J;let W=cw(J);if(!W)E(ow(T,J.expression));if(T==="keyof")return W.keyof();if(T==="get")return W.get(...$);if(T==="props")return W.props;let X=T==="required"?"require":T==="partial"?"optionalize":T;return this.$.node("intersection",{...J.inner,structure:W[X](...$)})})}get(...T){if(T[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",T))}extract(T){let $=this.$.parseDefinition(T);return this.$.schema(this.branches.filter((J)=>J.extends($)))}exclude(T){let $=this.$.parseDefinition(T);return this.$.schema(this.branches.filter((J)=>!J.extends($)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(T){return!(this.intersect(T)instanceof v)}extends(T){let $=this.intersect(T);return!($ instanceof v)&&this.equals($)}ifExtends(T){return this.extends(T)?this:void 0}subsumes(T){return this.$.parseDefinition(T).extends(this)}configure(T,$="shallow"){return this.configureReferences(T,$)}describe(T,$="shallow"){return this.configure({description:T},$)}optional(){return[this,"?"]}default(T){return U8(this,T,null),[this,"=",T]}from(T){return this.assert(T)}_pipe(...T){let $=T.reduce((J,W)=>J.rawPipeOnce(W),this);return this.$.finalize($)}tryPipe(...T){let $=T.reduce((J,W)=>J.rawPipeOnce(l(W,"root")?W:(X,Y)=>{try{return W(X,Y)}catch(F){return Y.error({code:"predicate",predicate:W,actual:`aborted due to error:
|
|
116
|
+
${F}
|
|
117
|
+
`})}}),this);return this.$.finalize($)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(T){return this.$.finalize(this.toNode(this.$.parseDefinition(T)))}toNode(T){let $=A8(this,T,this.$);if($ instanceof v)return $.throw();return $}rawPipeOnce(T){if(l(T,"root"))return this.toNode(T);return this.distribute(($)=>$.hasKind("morph")?this.$.node("morph",{in:$.inner.in,morphs:[...$.morphs,T]}):this.$.node("morph",{in:$,morphs:[T]}),this.$.parseSchema)}narrow(T){return this.constrainOut("predicate",T)}constrain(T,$){return this._constrain("root",T,$)}constrainIn(T,$){return this._constrain("in",T,$)}constrainOut(T,$){return this._constrain("out",T,$)}_constrain(T,$,J){let W=this.$.node($,J);if(W.isRoot())return W.isUnknown()?this:ET(`Unexpected constraint node ${W}`);let X=T==="root"?this:this[T];if(X.hasKind("morph")||W.impliedBasis&&!X.extends(W.impliedBasis))return Ew($,W.impliedBasis,this);let Y=this.$.node("intersection",{[W.kind]:W}),F=T==="out"?A8(this,Y,this.$):WJ(this,Y,this.$);if(F instanceof v)F.throw();return this.$.finalize(F)}onUndeclaredKey(T){let $=typeof T==="string"?T:T.rule,J=typeof T==="string"?!1:T.deep;return this.$.finalize(this.transform((W,X)=>W==="structure"?$==="ignore"?pz(X,{undeclared:1}):{...X,undeclared:$}:X,J?void 0:{shouldTransform:(W)=>!L1(nW,W.kind)}))}hasEqualMorphs(T){if(!this.includesTransform&&!T.includesTransform)return!0;if(!f1(this.shallowMorphs,T.shallowMorphs))return!1;if(!f1(this.flatMorphs,T.flatMorphs,{isEqual:($,J)=>$.propString===J.propString&&($.node.hasKind("morph")&&J.node.hasKind("morph")?$.node.hasEqualMorphs(J.node):$.node.hasKind("intersection")&&J.node.hasKind("intersection")?$.node.structure?.structuralMorphRef===J.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(T){return this.onUndeclaredKey({rule:T,deep:!0})}filter(T){return this.constrainIn("predicate",T)}divisibleBy(T){return this.constrain("divisor",T)}matching(T){return this.constrain("pattern",T)}atLeast(T){return this.constrain("min",T)}atMost(T){return this.constrain("max",T)}moreThan(T){return this.constrain("min",JX(T))}lessThan(T){return this.constrain("max",JX(T))}atLeastLength(T){return this.constrain("minLength",T)}atMostLength(T){return this.constrain("maxLength",T)}moreThanLength(T){return this.constrain("minLength",JX(T))}lessThanLength(T){return this.constrain("maxLength",JX(T))}exactlyLength(T){return this.constrain("exactLength",T)}atOrAfter(T){return this.constrain("after",T)}atOrBefore(T){return this.constrain("before",T)}laterThan(T){return this.constrain("after",JX(T))}earlierThan(T){return this.constrain("before",JX(T))}}var xS="Expected a non-empty brand name after #",JX=(T)=>typeof T==="object"&&!(T instanceof Date)?{...T,exclusive:!0}:{rule:T,exclusive:!0},_8=(T,$)=>l($,"root")?l(T,"root")?T.extends($):$.allows(T):l(T,"root")?T.hasUnit($):$===T,cw=(T)=>{if(T.hasKind("morph"))return null;if(T.hasKind("intersection"))return T.inner.structure??(T.basis?.domain==="object"?T.$.bindReference(k.intrinsic.emptyStructure):null);if(T.isBasis()&&T.domain==="object")return T.$.bindReference(k.intrinsic.emptyStructure);return null},PS=(T)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
118
|
+
${T}`,ow=(T,$)=>`${T} operand must be an object (was ${$})`;var J1=(T,$)=>FT(N6(T),(J,W)=>[W,$]);var bS=(T)=>typeof T==="string"?{reference:T}:T,dw=(T)=>T instanceof v?k.intrinsic.never.internal:T,vS=HT({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(T)=>T.startsWith("$")?T:`$ark.${T}`},resolve:{}},normalize:bS,defaults:{description:(T)=>T.reference},intersections:{alias:(T,$,J)=>J.$.lazilyResolve(()=>dw(cT(T.resolution,$.resolution,J)),`${T.reference}${J.pipe?"=>":"&"}${$.reference}`),...J1("alias",(T,$,J)=>{if($.isUnknown())return T;if($.isNever())return $;if($.isBasis()&&!$.overlaps(k.intrinsic.object))return v.init("assignability",k.intrinsic.object,$);return J.$.lazilyResolve(()=>dw(cT(T.resolution,$,J)),`${T.reference}${J.pipe?"=>":"&"}${$.id}`)})}});class lw extends fJ{expression=this.reference;structure=void 0;get resolution(){let T=this._resolve();return d$[this.id]=T}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let T=this.reference,$=d$[T],J=[];while(l($,"context")){if(J.includes($.id))return E(hS($.id,J));J.push($.id),$=d$[$.id]}if(!l($,"root"))return ET(`Unexpected resolution for reference ${this.reference}
|
|
119
119
|
Seen: [${J.join("->")}]
|
|
120
|
-
Resolution: ${GT($)}`);return $}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let T=this.reference.slice(1),$=this.$.resolutions[T];if(typeof $==="string")return $;if(l($,"root"))return $.id;return
|
|
120
|
+
Resolution: ${GT($)}`);return $}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let T=this.reference.slice(1),$=this.$.resolutions[T];if(typeof $==="string")return $;if(l($,"root"))return $.id;return ET(`Unexpected resolution for reference ${this.reference}: ${GT($)}`)}get defaultShortDescription(){return TJ.object}innerToJsonSchema(T){return this.resolution.toJsonSchemaRecurse(T)}traverseAllows=(T,$)=>{let J=$.seen[this.reference];if(J?.includes(T))return!0;return $.seen[this.reference]=VT(J,T),this.resolution.traverseAllows(T,$)};traverseApply=(T,$)=>{let J=$.seen[this.reference];if(J?.includes(T))return;$.seen[this.reference]=VT(J,T),this.resolution.traverseApply(T,$)};compile(T){let $=this.resolutionId;T.if(`ctx.seen.${$} && ctx.seen.${$}.includes(data)`,()=>T.return(!0)),T.if(`!ctx.seen.${$}`,()=>T.line(`ctx.seen.${$} = []`)),T.line(`ctx.seen.${$}.push(data)`),T.return(T.invoke($))}}var hS=(T,$)=>`Alias '${T}' has a shallow resolution cycle: ${[...$,T].join("->")}`,K8={implementation:vS,Node:lw};class t0 extends fJ{traverseApply=(T,$)=>{if(!this.traverseAllows(T,$))$.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return W0(this.errorContext)}compile(T){if(T.traversalKind==="Allows")T.return(this.compiledCondition);else T.if(this.compiledNegation,()=>T.line(`${T.ctx}.errorFromNodeContext(${this.compiledErrorContext})`))}}var gS=HT({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(T)=>typeof T==="string"?{domain:T}:dW(T,"numberAllowsNaN")&&T.domain!=="number"?E(j6.writeBadAllowNanMessage(T.domain)):T,applyConfig:(T,$)=>T.numberAllowsNaN===void 0&&T.domain==="number"&&$.numberAllowsNaN?{...T,numberAllowsNaN:!0}:T,defaults:{description:(T)=>TJ[T.domain],actual:(T)=>Number.isNaN(T)?"NaN":TJ[V$(T)]},intersections:{domain:(T,$)=>T.domain==="number"&&$.domain==="number"?T.numberAllowsNaN?$:T:v.init("domain",T,$)}});class nw extends t0{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(T)=>typeof T==="number"&&!Number.isNaN(T):(T)=>V$(T)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return TJ[this.domain]}innerToJsonSchema(T){if(this.domain==="bigint"||this.domain==="symbol")return T.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var j6={implementation:gS,Node:nw,writeBadAllowNanMessage:(T)=>`numberAllowsNaN may only be specified with domain "number" (was ${T})`};var mS=HT({kind:"intersection",hasAssociatedError:!0,normalize:(T)=>{if(uT(T))return T;let{structure:$,...J}=T,W=!!$,X=$??{},Y=FT(J,(F,G)=>{if(S$(F,Ow)){if(W)E(`Flattened structure key ${F} cannot be specified alongside a root 'structure' key.`);return X[F]=G,[]}return[F,G]});if(l(X,"constraint")||!$1(X))Y.structure=X;return Y},finalizeInnerJson:({structure:T,...$})=>e$(T,"object")?{...T,...$}:$,keys:{domain:{child:!0,parse:(T,$)=>$.$.node("domain",T)},proto:{child:!0,parse:(T,$)=>$.$.node("proto",T)},structure:{child:!0,parse:(T,$)=>$.$.node("structure",T),serialize:(T)=>{if(!T.sequence?.minLength)return T.collapsibleJson;let{sequence:$,...J}=T.collapsibleJson,{minVariadicLength:W,...X}=$,Y=X.variadic&&Object.keys(X).length===1?X.variadic:X;return{...J,sequence:Y}}},divisor:{child:!0,parse:v$("divisor")},max:{child:!0,parse:v$("max")},min:{child:!0,parse:v$("min")},maxLength:{child:!0,parse:v$("maxLength")},minLength:{child:!0,parse:v$("minLength")},exactLength:{child:!0,parse:v$("exactLength")},before:{child:!0,parse:v$("before")},after:{child:!0,parse:v$("after")},pattern:{child:!0,parse:v$("pattern")},predicate:{child:!0,parse:v$("predicate")}},reduce:(T,$)=>iw({},T,{$,invert:!1,pipe:!1}),defaults:{description:(T)=>{if(T.children.length===0)return"unknown";if(T.structure)return T.structure.description;let $=[];if(T.basis&&!T.refinements.some((J)=>J.impl.obviatesBasisDescription))$.push(T.basis.description);if(T.refinements.length){let J=T.refinements.toSorted((W,X)=>W.kind==="min"&&X.kind==="max"?-1:0).map((W)=>W.description);$.push(...J)}if(T.inner.predicate)$.push(...T.inner.predicate.map((J)=>J.description));return $.join(" and ")},expected:(T)=>` \u25E6 ${T.errors.map(($)=>$.expected).join(`
|
|
121
121
|
\u25E6 `)}`,problem:(T)=>`(${T.actual}) must be...
|
|
122
|
-
${T.expected}`},intersections:{intersection:(T,$,J)=>iw(T.inner,$.inner,J)
|
|
122
|
+
${T.expected}`},intersections:{intersection:(T,$,J)=>iw(T.inner,$.inner,J),...J1("intersection",(T,$,J)=>{if(T.children.length===0)return $;let{domain:W,proto:X,...Y}=T.inner,F=X??W,G=F?cT(F,$,J):$;return G instanceof v?G:T?.basis?.equals(G)?T:T.$.node("intersection",{...Y,[G.kind]:G},{prereduced:!0})})}});class tw extends fJ{basis=this.inner.domain??this.inner.proto??null;refinements=this.children.filter((T)=>T.isRefinement());structure=this.inner.structure;expression=pS(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(T){return this.children.reduce(($,J)=>J.isBasis()?J.toJsonSchemaRecurse(T):J.reduceJsonSchema($,T),{})}traverseAllows=(T,$)=>this.children.every((J)=>J.traverseAllows(T,$));traverseApply=(T,$)=>{let J=$.currentErrorCount;if(this.basis){if(this.basis.traverseApply(T,$),$.currentErrorCount>J)return}if(this.refinements.length){for(let W=0;W<this.refinements.length-1;W++)if(this.refinements[W].traverseApply(T,$),$.failFast&&$.currentErrorCount>J)return;if(this.refinements.at(-1).traverseApply(T,$),$.currentErrorCount>J)return}if(this.structure){if(this.structure.traverseApply(T,$),$.currentErrorCount>J)return}if(this.inner.predicate){for(let W=0;W<this.inner.predicate.length-1;W++)if(this.inner.predicate[W].traverseApply(T,$),$.failFast&&$.currentErrorCount>J)return;this.inner.predicate.at(-1).traverseApply(T,$)}};compile(T){if(T.traversalKind==="Allows"){for(let $ of this.children)T.check($);T.return(!0);return}if(T.initializeErrorCount(),this.basis){if(T.check(this.basis),this.children.length>1)T.returnIfFail()}if(this.refinements.length){for(let $=0;$<this.refinements.length-1;$++)T.check(this.refinements[$]),T.returnIfFailFast();if(T.check(this.refinements.at(-1)),this.structure||this.inner.predicate)T.returnIfFail()}if(this.structure){if(T.check(this.structure),this.inner.predicate)T.returnIfFail()}if(this.inner.predicate){for(let $=0;$<this.inner.predicate.length-1;$++)T.check(this.inner.predicate[$]),T.returnIfFail();T.check(this.inner.predicate.at(-1))}}}var G5={implementation:mS,Node:tw},pS=(T)=>{let $=T.structure?.expression||`${T.basis&&!T.refinements.some((J)=>J.impl.obviatesBasisExpression)?T.basis.nestableExpression+" ":""}${T.refinements.map((J)=>J.expression).join(" & ")}`||"unknown";if($==="Array == 0")$="[]";return $},iw=(T,$,J)=>{let W={},X=T.proto??T.domain,Y=$.proto??$.domain,F=X?Y?cT(X,Y,J):X:Y;if(F instanceof v)return F;if(F)W[F.kind]=F;return sW({kind:"intersection",baseInner:W,l:eW(T),r:eW($),roots:[],ctx:J})};var uS=HT({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(T,$)=>$.$.parseSchema(T)},morphs:{parse:e1,serialize:(T)=>T.map(($)=>l($,"root")?$.json:aT($))},declaredIn:{child:!1,serialize:(T)=>T.json},declaredOut:{child:!1,serialize:(T)=>T.json}},normalize:(T)=>T,defaults:{description:(T)=>`a morph from ${T.in.description} to ${T.out?.description??"unknown"}`},intersections:{morph:(T,$,J)=>{if(!T.hasEqualMorphs($))return E(cS(T.expression,$.expression));let W=cT(T.in,$.in,J);if(W instanceof v)return W;let X={morphs:T.morphs};if(T.declaredIn||$.declaredIn){let Y=cT(T.in,$.in,J);if(Y instanceof v)return Y.throw();else X.declaredIn=Y}if(T.declaredOut||$.declaredOut){let Y=cT(T.out,$.out,J);if(Y instanceof v)return Y.throw();else X.declaredOut=Y}return W.distribute((Y)=>J.$.node("morph",{...X,in:Y}),J.$.parseSchema)},...J1("morph",(T,$,J)=>{let W=T.inner.in?cT(T.inner.in,$,J):$;return W instanceof v?W:W.equals(T.inner.in)?T:J.$.node("morph",{...T.inner,in:W})})}});class rw extends fJ{serializedMorphs=this.morphs.map(aT);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs.at(-1);lastMorphIfNode=l(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.out:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get in(){return this.declaredIn??this.inner.in?.in??k.intrinsic.unknown.internal}get out(){return this.declaredOut??this.introspectableOut??k.intrinsic.unknown.internal}declareIn(T){return this.$.node("morph",{...this.inner,declaredIn:T})}declareOut(T){return this.$.node("morph",{...this.inner,declaredOut:T})}expression=`(In: ${this.in.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.out.expression}>`;get defaultShortDescription(){return this.in.meta.description??this.in.defaultShortDescription}innerToJsonSchema(T){return T.fallback.morph({code:"morph",base:this.in.toJsonSchemaRecurse(T),out:this.introspectableOut?.toJsonSchemaRecurse(T)??null})}compile(T){if(T.traversalKind==="Allows"){if(!this.introspectableIn)return;T.return(T.invoke(this.introspectableIn));return}if(this.introspectableIn)T.line(T.invoke(this.introspectableIn));T.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(T,$)=>!this.introspectableIn||this.introspectableIn.traverseAllows(T,$);traverseApply=(T,$)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(T,$);$.queueMorphs(this.morphs)};hasEqualMorphs(T){return f1(this.morphs,T.morphs,{isEqual:($,J)=>$===J||l($,"root")&&l(J,"root")&&$.equals(J)})}}var H5={implementation:uS,Node:rw},cS=(T,$)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
123
123
|
Left: ${T}
|
|
124
|
-
Right: ${$}`;var
|
|
124
|
+
Right: ${$}`;var oS=HT({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(T)=>e2(T)??LJ(T)},dateAllowsInvalid:{}},normalize:(T)=>{let $=typeof T==="string"?{proto:l0[T]}:typeof T==="function"?uT(T)?T:{proto:T}:typeof T.proto==="string"?{...T,proto:l0[T.proto]}:T;if(typeof $.proto!=="function")E(D8.writeInvalidSchemaMessage($.proto));if(dW($,"dateAllowsInvalid")&&$.proto!==Date)E(D8.writeBadInvalidDateMessage($.proto));return $},applyConfig:(T,$)=>{if(T.dateAllowsInvalid===void 0&&T.proto===Date&&$.dateAllowsInvalid)return{...T,dateAllowsInvalid:!0};return T},defaults:{description:(T)=>T.builtinName?dz[T.builtinName]:`an instance of ${T.proto.name}`,actual:(T)=>T instanceof Date&&T.toString()==="Invalid Date"?"an invalid Date":s2(T)},intersections:{proto:(T,$)=>T.proto===Date&&$.proto===Date?T.dateAllowsInvalid?$:T:y9(T.proto,$.proto)?T:y9($.proto,T.proto)?$:v.init("proto",T,$),domain:(T,$)=>$.domain==="object"?T:v.init("domain",k.intrinsic.object.internal,$)}});class aw extends t0{builtinName=e2(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(T)=>T instanceof Date&&T.toString()!=="Invalid Date":(T)=>T instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(T){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return T.fallback.date?.({code:"date",base:{}})??T.fallback.proto({code:"proto",base:{},proto:this.proto});default:return T.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}}var D8={implementation:oS,Node:aw,writeBadInvalidDateMessage:(T)=>`dateAllowsInvalid may only be specified with constructor Date (was ${T.name})`,writeInvalidSchemaMessage:(T)=>`instanceOf operand must be a function (was ${V$(T)})`};var dS=HT({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(T,$)=>{let J=[];for(let W of T){let X=l(W,"root")?W.branches:$.$.parseSchema(W).branches;for(let Y of X)if(Y.hasKind("morph")){let F=J.findIndex((G)=>G.hasKind("morph")&&G.hasEqualMorphs(Y));if(F===-1)J.push(Y);else{let G=J[F];J[F]=$.$.node("morph",{...G.inner,in:G.in.rawOr(Y.in)})}}else J.push(Y)}if(!$.def.ordered)J.sort((W,X)=>W.hash<X.hash?-1:1);return J}}},normalize:(T)=>vT(T)?{branches:T}:T,reduce:(T,$)=>{let J=$R(T);if(J.length===1)return J[0];if(J.length===T.branches.length)return;return $.node("union",{...T,branches:J},{prereduced:!0})},defaults:{description:(T)=>T.distribute(($)=>$.description,WX),expected:(T)=>{let $=vz(T.errors,"propString"),J=Object.entries($).map(([W,X])=>{let Y=[];for(let H of X)T1(Y,H.expected);let F=WX(Y),G=X.every((H)=>H.actual===X[0].actual)?X[0].actual:GT(X[0].data);return`${W&&`${W} `}must be ${F}${G&&` (was ${G})`}`});return WX(J)},problem:(T)=>T.expected,message:(T)=>T.problem},intersections:{union:(T,$,J)=>{if(T.isNever!==$.isNever)return v.init("presence",T,$);let W;if(T.ordered){if($.ordered)E(WR(T.expression,$.expression));if(W=M5($.branches,T.branches,J),W instanceof v)W.invert()}else W=M5(T.branches,$.branches,J);if(W instanceof v)return W;return J.$.parseSchema(T.ordered||$.ordered?{branches:W,ordered:!0}:{branches:W})},...J1("union",(T,$,J)=>{let W=M5(T.branches,[$],J);if(W instanceof v)return W;if(W.length===1)return W[0];return J.$.parseSchema(T.ordered?{branches:W,ordered:!0}:{branches:W})})}});class TQ extends fJ{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let T=[],$=-1;for(let J of this.branches){if(J.hasKind("unit")&&J.domain==="boolean"){if($===-1)$=T.length,T.push(J);else T[$]=k.intrinsic.boolean;continue}T.push(J)}return T}unitBranches=this.branches.filter((T)=>T.in.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?sS(this.discriminant):null;expression=this.distribute((T)=>T.nestableExpression,TR);createBranchedOptimisticRootApply(){return(T,$)=>{let J=this.traverseOptimistic(T);if(J!==wJ)return J;let W=new gJ(T,this.$.resolvedConfig);return this.traverseApply(T,W),W.finalize($)}}get shallowMorphs(){return this.branches.reduce((T,$)=>T1(T,$.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((T)=>T.defaultShortDescription,WX)}innerToJsonSchema(T){if(this.branchGroups.length===1&&this.branchGroups[0].equals(k.intrinsic.boolean))return{type:"boolean"};let $=this.branchGroups.map((J)=>J.toJsonSchemaRecurse(T));if($.every((J)=>Object.keys(J).length===1&&dW(J,"const")))return{enum:$.map((J)=>J.const)};return{anyOf:$}}traverseAllows=(T,$)=>this.branches.some((J)=>J.traverseAllows(T,$));traverseApply=(T,$)=>{let J=[];for(let W=0;W<this.branches.length;W++){if($.pushBranch(),this.branches[W].traverseApply(T,$),!$.hasError()){if(this.branches[W].includesTransform)return $.queuedMorphs.push(...$.popBranch().queuedMorphs);return $.popBranch()}J.push($.popBranch().error)}$.errorFromNodeContext({code:"union",errors:J,meta:this.meta})};traverseOptimistic=(T)=>{for(let $=0;$<this.branches.length;$++){let J=this.branches[$];if(J.traverseAllows(T)){if(J.contextFreeMorph)return J.contextFreeMorph(T);return T}}return wJ};compile(T){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(T);let $=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")$=`typeof ${$} === "object" ? ${$} === null ? "null" : "object" : typeof ${$} === "function" ? "object" : typeof ${$}`;let J=this.discriminant.cases,W=Object.keys(J),{optimistic:X}=T;if(T.optimistic=!1,T.block(`switch(${$})`,()=>{for(let M in J){let A=J[M],z=M==="default"?M:`case ${M}`;T.line(`${z}: return ${A===!0?X?T.data:A:X?`${T.invoke(A)} ? ${A.contextFreeMorph?`${aT(A.contextFreeMorph)}(${T.data})`:T.data} : "${wJ}"`:T.invoke(A)}`)}return T}),T.traversalKind==="Allows"){T.return(X?`"${wJ}"`:!1);return}let Y=WX(this.discriminant.kind==="domain"?W.map((M)=>{let A=M.slice(1,-1);return A==="function"?TJ.object:TJ[A]}):W),F=this.discriminant.path.map((M)=>typeof M==="symbol"?aT(M):JSON.stringify(M)),G=JSON.stringify(Y),H=this.discriminant.kind==="domain"?`${rS}[${$}]`:`${aS}(${$})`;T.line(`ctx.errorFromNodeContext({
|
|
125
125
|
code: "predicate",
|
|
126
126
|
expected: ${G},
|
|
127
127
|
actual: ${H},
|
|
128
|
-
relativePath: [${
|
|
128
|
+
relativePath: [${F}],
|
|
129
129
|
meta: ${this.compiledMeta}
|
|
130
|
-
})`)}compileIndiscriminable(T){if(T.traversalKind==="Apply"){T.const("errors","[]");for(let $ of this.branches)T.line("ctx.pushBranch()").line(T.invoke($)).if("!ctx.hasError()",()=>T.return($.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");T.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:$}=T;T.optimistic=!1;for(let J of this.branches)T.if(`${T.invoke(J)}`,()=>T.return($?J.contextFreeMorph?`${
|
|
130
|
+
})`)}compileIndiscriminable(T){if(T.traversalKind==="Apply"){T.const("errors","[]");for(let $ of this.branches)T.line("ctx.pushBranch()").line(T.invoke($)).if("!ctx.hasError()",()=>T.return($.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");T.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:$}=T;T.optimistic=!1;for(let J of this.branches)T.if(`${T.invoke(J)}`,()=>T.return($?J.contextFreeMorph?`${aT(J.contextFreeMorph)}(${T.data})`:T.data:!0));T.return($?`"${wJ}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let X=FT(this.unitBranches,(Y,F)=>[`${F.in.serializedValue}`,F.hasKind("morph")?F:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:X}}let T=[];for(let X=0;X<this.branches.length-1;X++){let Y=this.branches[X];for(let F=X+1;F<this.branches.length;F++){let G=this.branches[F],H=WJ(Y.in,G.in,Y.$);if(!(H instanceof v))continue;for(let M of H){if(!M.kind||M.optional)continue;let A,z;if(M.kind==="domain"){let{l:_,r:K}=M;A=`"${typeof _==="string"?_:_.domain}"`,z=`"${typeof K==="string"?K:K.domain}"`}else if(M.kind==="unit")A=M.l.serializedValue,z=M.r.serializedValue;else continue;let w=T.find((_)=>f1(_.path,M.path)&&_.kind===M.kind);if(!w)T.push({kind:M.kind,cases:{[A]:{branchIndices:[X],condition:M.l},[z]:{branchIndices:[F],condition:M.r}},path:M.path});else{if(w.cases[A])w.cases[A].branchIndices=T1(w.cases[A].branchIndices,X);else w.cases[A]??={branchIndices:[X],condition:M.l};if(w.cases[z])w.cases[z].branchIndices=T1(w.cases[z].branchIndices,F);else w.cases[z]??={branchIndices:[F],condition:M.r}}}}}let $=this.ordered?iS(T,this.branches):T;if(!$.length)return null;let J=lS($,this),W={};for(let X in J.best.cases){let Y=nS(J,X);if(Y===null){W[X]=!0;continue}if(Y.length===this.branches.length)return null;if(this.ordered)Y.sort((H,M)=>H.originalIndex-M.originalIndex);let F=Y.map((H)=>H.branch),G=F.length===1?F[0]:this.$.node("union",this.ordered?{branches:F,ordered:!0}:F);Object.assign(this.referencesById,G.referencesById),W[X]=G}if(J.defaultEntries.length){let X=J.defaultEntries.map((Y)=>Y.branch);W.default=this.$.node("union",this.ordered?{branches:X,ordered:!0}:X,{prereduced:!0}),Object.assign(this.referencesById,W.default.referencesById)}return Object.assign(J.location,{cases:W})}}var lS=(T,$)=>{let J=T.sort((Y,F)=>Object.keys(F.cases).length-Object.keys(Y.cases).length)[0],W={kind:J.kind,path:J.path,optionallyChainedPropString:$Q(J.path)},X=$.branches.map((Y,F)=>({originalIndex:F,branch:Y}));return{best:J,location:W,defaultEntries:X,node:$}},nS=(T,$)=>{let J=T.best.cases[$],W=tS(J.condition,T.location.path,T.node.$),X=[],Y=[];for(let F=0;F<T.defaultEntries.length;F++){let G=T.defaultEntries[F];if(J.branchIndices.includes(G.originalIndex)){let H=sw(T.node.branches[G.originalIndex],T.location);if(H===null)X=null;else X?.push({originalIndex:G.originalIndex,branch:H})}else if(G.branch.hasKind("alias")&&W.hasKind("domain")&&W.domain==="object")X?.push(G);else{if(G.branch.in.overlaps(W)){let H=sw(G.branch,T.location);X?.push({originalIndex:G.originalIndex,branch:H})}Y.push(G)}}return T.defaultEntries=Y,X},iS=(T,$)=>{return T.filter((W)=>{let X=Object.values(W.cases).map((Y)=>Y.branchIndices);for(let Y=0;Y<X.length-1;Y++){let F=X[Y];for(let G=Y+1;G<X.length;G++){let H=X[G];for(let M of F)for(let A of H)if(M>A){if($[M].overlaps($[A]))return!1}}}return!0})},tS=(T,$,J)=>{let W=T==="undefined"?J.node("unit",{unit:void 0}):T==="null"?J.node("unit",{unit:null}):T==="boolean"?J.units([!0,!1]):T;for(let X=$.length-1;X>=0;X--){let Y=$[X];W=J.node("intersection",typeof Y==="number"?{proto:"Array",sequence:[...Pz(Y).map((F)=>({})),W]}:{domain:"object",required:[{key:Y,value:W}]})}return W},$Q=(T)=>T.reduce(($,J)=>$+h9(J,!0),"data"),rS=aT(hz),aS=aT(GT),A5={implementation:dS,Node:TQ},sS=(T)=>({kind:T.kind,path:T.path.map(($)=>typeof $==="string"?$:Z1($)),cases:FT(T.cases,($,J)=>[$,J===!0?J:J.hasKind("union")&&J.discriminantJson?J.discriminantJson:J.json])}),eS={delimiter:" | ",finalDelimiter:" | "},TR=(T)=>WX(T,eS),WX=(T,$)=>{let J=$?.delimiter??", ",W=$?.finalDelimiter??" or ";if(T.length===0)return"never";if(T.length===1)return T[0];if(T.length===2&&T[0]==="false"&&T[1]==="true"||T[0]==="true"&&T[1]==="false")return"boolean";let X={},Y=T.filter((G)=>X[G]?!1:X[G]=!0),F=Y.pop();return`${Y.join(J)}${Y.length?W:""}${F}`},M5=(T,$,J)=>{let W=$.map(()=>[]);for(let Y=0;Y<T.length;Y++){let F={};for(let G=0;G<$.length;G++){if(W[G]===null)continue;if(T[Y].equals($[G])){W[G]=null,F={};break}let H=cT(T[Y],$[G],J);if(H instanceof v)continue;if(H.equals(T[Y])){W[G].push(T[Y]),F={};break}if(H.equals($[G]))W[G]=null;else F[G]=H}for(let G in F)W[G][Y]=F[G]}let X=W.flatMap((Y,F)=>Y?.flatMap((G)=>G.branches)??$[F]);return X.length===0?v.init("union",T,$):X},$R=({branches:T,ordered:$})=>{if(T.length<2)return T;let J=T.map(()=>!0);for(let W=0;W<T.length;W++)for(let X=W+1;X<T.length&&J[W]&&J[X];X++){if(T[W].equals(T[X])){J[X]=!1;continue}let Y=WJ(T[W].in,T[X].in,T[0].$);if(Y instanceof v)continue;if(!$)JR(T[W],T[X]);if(Y.equals(T[W].in))J[W]=!!$;else if(Y.equals(T[X].in))J[X]=!1}return T.filter((W,X)=>J[X])},JR=(T,$)=>{if(!T.includesTransform&&!$.includesTransform)return;if(!f1(T.shallowMorphs,$.shallowMorphs))E(ew(T.expression,$.expression));if(!f1(T.flatMorphs,$.flatMorphs,{isEqual:(J,W)=>J.propString===W.propString&&(J.node.hasKind("morph")&&W.node.hasKind("morph")?J.node.hasEqualMorphs(W.node):J.node.hasKind("intersection")&&W.node.hasKind("intersection")?J.node.structure?.structuralMorphRef===W.node.structure?.structuralMorphRef:!1)}))E(ew(T.expression,$.expression))},sw=(T,$)=>T.transform((J,W)=>{if(J==="domain"||J==="unit")return null;return W},{shouldTransform:(J,W)=>{let X=$Q(W.path);if(!$.optionallyChainedPropString.startsWith(X))return!1;if(J.hasKind("domain")&&J.domain==="object")return!0;if((J.hasKind("domain")||$.kind==="unit")&&X===$.optionallyChainedPropString)return!0;return J.children.length!==0&&J.kind!=="index"}}),ew=(T,$)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
131
131
|
Left: ${T}
|
|
132
|
-
Right: ${$}`,
|
|
132
|
+
Right: ${$}`,WR=(T,$)=>`The intersection of two ordered unions is indeterminate:
|
|
133
133
|
Left: ${T}
|
|
134
|
-
Right: ${$}`;var XE=HT({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(T)=>T instanceof Date?T.toISOString():LJ(T)}},normalize:(T)=>T,defaults:{description:(T)=>GT(T.unit),problem:({expected:T,actual:$})=>`${T===$?`must be reference equal to ${T} (serialized to the same value)`:`must be ${T} (was ${$})`}`},intersections:{unit:(T,$)=>v.init("unit",T,$),...$1("unit",(T,$)=>{if($.allows(T.unit))return T;let J=$.hasKind("intersection")?$.basis:$;if(J){let W=J.hasKind("domain")?J:k.intrinsic.object;if(T.domain!==W.domain){let X=T.domain==="undefined"||T.domain==="null"||T.domain==="boolean"?T.domain:k.intrinsic[T.domain];return v.init("domain",X,W)}}return v.init("assignability",T,$.hasKind("intersection")?$.children.find((W)=>!W.allows(T.unit)):$)})}});class WQ extends t0{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=JQ(this.unit,this.serializedValue);compiledNegation=JQ(this.unit,this.serializedValue,"negated");expression=GT(this.unit);domain=S$(this.unit);get defaultShortDescription(){return this.domain==="object"?TJ.object:this.description}innerToJsonSchema(T){return this.unit===null?{type:"null"}:k.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:T.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(T)=>T instanceof Date&&T.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(T)=>Number.isNaN(T):(T)=>T===this.unit}var w5={implementation:XE,Node:WQ},JQ=(T,$,J)=>{if(T instanceof Date){let W=`data instanceof Date && data.toISOString() === ${$}`;return J?`!(${W})`:W}if(Number.isNaN(T))return`${J?"!":""}Number.isNaN(data)`;return`data ${J?"!":"="}== ${$}`};var FE=HT({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(T,$)=>{let J=$.$.parseSchema(T);if(!J.extends(k.intrinsic.key))return R(GE(J.expression));let W=J.branches.filter((X)=>X.hasKind("unit"));if(W.length)return R(YE(W.map((X)=>GT(X.unit))));return J}},value:{child:!0,parse:(T,$)=>$.$.parseSchema(T)}},normalize:(T)=>T,defaults:{description:(T)=>`[${T.signature.expression}]: ${T.value.description}`},intersections:{index:(T,$,J)=>{if(T.signature.equals($.signature)){let W=cT(T.value,$.value,J),X=W instanceof v?k.intrinsic.never.internal:W;return J.$.node("index",{signature:T.signature,value:X})}if(T.signature.extends($.signature)&&T.value.subsumes($.value))return $;if($.signature.extends(T.signature)&&$.value.subsumes(T.value))return T;return null}}});class XQ extends BJ{impliedBasis=k.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=ST(this.value.flatRefs.map((T)=>gJ([this.signature,...T.path],T.node)),gJ([this.signature],this.value));traverseAllows=(T,$)=>d0(T).every((J)=>{if(this.signature.traverseAllows(J[0],$))return JJ(J[0],()=>this.value.traverseAllows(J[1],$),$);return!0});traverseApply=(T,$)=>{for(let J of d0(T))if(this.signature.traverseAllows(J[0],$))JJ(J[0],()=>this.value.traverseApply(J[1],$),$)};_transform(T,$){$.path.push(this.signature);let J=super._transform(T,$);return $.path.pop(),J}compile(){}}var Q5={implementation:FE,Node:XQ},YE=(T)=>`Index keys ${T.join(", ")} should be specified as named props.`,GE=(T)=>`Indexed key definition '${T}' must be a string or symbol`;var HE=HT({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(T,$)=>$.$.parseSchema(T)}},normalize:(T)=>T,defaults:{description:(T)=>`${T.compiledKey}: ${T.value.description}`,expected:(T)=>T.missingValueDescription,actual:()=>"missing"},intersections:{required:z8,optional:z8}});class FQ extends A8{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=W0(this.errorContext)}var O5={implementation:HE,Node:FQ};var ME=HT({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>$.$.parseSchema(J))}},optionals:{child:!0,parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>$.$.parseSchema(J))}},defaultables:{child:(T)=>T.map(($)=>$[0]),parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>{let W=$.$.parseSchema(J[0]);return Q8(W,J[1],null),[W,J[1]]})},serialize:(T)=>T.map(($)=>[$[0].collapsibleJson,LJ($[1])])},variadic:{child:!0,parse:(T,$)=>$.$.parseSchema(T,$)},minVariadicLength:{parse:(T)=>T===0?void 0:T},postfix:{child:!0,parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>$.$.parseSchema(J))}}},normalize:(T)=>{if(typeof T==="string")return{variadic:T};if("variadic"in T||"prefix"in T||"defaultables"in T||"optionals"in T||"postfix"in T||"minVariadicLength"in T){if(T.postfix?.length){if(!T.variadic)return R(QE);if(T.optionals?.length||T.defaultables?.length)return R(_5)}if(T.minVariadicLength&&!T.variadic)return R("minVariadicLength may not be specified without a variadic element");return T}return{variadic:T}},reduce:(T,$)=>{let J=T.minVariadicLength??0,W=T.prefix?.slice()??[],X=T.defaultables?.slice()??[],F=T.optionals?.slice()??[],Y=T.postfix?.slice()??[];if(T.variadic){while(F.at(-1)?.equals(T.variadic))F.pop();if(F.length===0&&X.length===0)while(W.at(-1)?.equals(T.variadic))W.pop(),J++;while(Y[0]?.equals(T.variadic))Y.shift(),J++}else if(F.length===0&&X.length===0)W.push(...Y.splice(0));if(J!==T.minVariadicLength||T.prefix&&T.prefix.length!==W.length)return $.node("sequence",{...T,prefix:W,defaultables:X,optionals:F,postfix:Y,minVariadicLength:J},{prereduced:!0})},defaults:{description:(T)=>{if(T.isVariadicOnly)return`${T.variadic.nestableExpression}[]`;return`[${T.tuple.map((J)=>J.kind==="defaultables"?`${J.node.nestableExpression} = ${GT(J.default)}`:J.kind==="optionals"?`${J.node.nestableExpression}?`:J.kind==="variadic"?`...${J.node.nestableExpression}[]`:J.node.expression).join(", ")}]`}},intersections:{sequence:(T,$,J)=>{let W=D8({l:T.tuple,r:$.tuple,disjoint:new v,result:[],fixedVariants:[],ctx:J}),X=W.disjoint.length===0?[W,...W.fixedVariants]:W.fixedVariants;return X.length===0?W.disjoint:X.length===1?J.$.node("sequence",YQ(X[0].result)):J.$.node("union",X.map((F)=>({proto:Array,sequence:YQ(F.result)})))}}});class GQ extends BJ{impliedBasis=k.intrinsic.Array.internal;tuple=wE(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((T)=>{if(T.kind==="defaultables"||T.kind==="optionals")return this.defaultablesAndOptionals.push(T.node),!0;return T.kind==="prefix"});variadicOrPostfix=L1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return c9(this.flatRefs,this.prevariadic.flatMap((T,$)=>ST(T.node.flatRefs.map((J)=>gJ([`${$}`,...J.path],J.node)),gJ([`${$}`],T.node)))),c9(this.flatRefs,this.variadicOrPostfix.flatMap((T)=>ST(T.flatRefs.map(($)=>gJ([k.intrinsic.nonNegativeIntegerString.internal,...$.path],$.node)),gJ([k.intrinsic.nonNegativeIntegerString.internal],T)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=AE(this);defaultValueMorphsReference=this.defaultValueMorphs.length?sT(this.defaultValueMorphs):void 0;elementAtIndex(T,$){if($<this.prevariadic.length)return this.tuple[$];let J=T.length-this.postfixLength;if($>=J)return{kind:"postfix",node:this.postfix[$-J]};return{kind:"variadic",node:this.variadic??RT(`Unexpected attempt to access index ${$} on ${this}`)}}traverseAllows=(T,$)=>{for(let J=0;J<T.length;J++)if(!this.elementAtIndex(T,J).node.traverseAllows(T[J],$))return!1;return!0};traverseApply=(T,$)=>{let J=0;for(;J<T.length;J++)JJ(J,()=>this.elementAtIndex(T,J).node.traverseApply(T[J],$),$)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(T){if(this.prefix)for(let[$,J]of this.prefix.entries())T.traverseKey(`${$}`,`data[${$}]`,J);for(let[$,J]of this.defaultablesAndOptionals.entries()){let W=`${$+this.prefixLength}`;T.if(`${W} >= ${T.data}.length`,()=>T.traversalKind==="Allows"?T.return(!0):T.return()),T.traverseKey(W,`data[${W}]`,J)}if(this.variadic){if(this.postfix)T.const("firstPostfixIndex",`${T.data}.length${this.postfix?`- ${this.postfix.length}`:""}`);if(T.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>T.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[$,J]of this.postfix.entries()){let W=`firstPostfixIndex + ${$}`;T.traverseKey(W,`data[${W}]`,J)}}if(T.traversalKind==="Allows")T.return(!0)}_transform(T,$){$.path.push(k.intrinsic.nonNegativeIntegerString.internal);let J=super._transform(T,$);return $.path.pop(),J}expression=this.description;reduceJsonSchema(T,$){if(this.prevariadic.length)T.prefixItems=this.prevariadic.map((J)=>{let W=J.node.toJsonSchemaRecurse($);if(J.kind==="defaultables"){let X=typeof J.default==="function"?J.default():J.default;W.default=k.intrinsic.jsonData.allows(X)?X:$.fallback.defaultValue({code:"defaultValue",base:W,value:X})}return W});if(this.minLength)T.minItems=this.minLength;if(this.variadic){let J=Object.assign(T,{items:this.variadic.toJsonSchemaRecurse($)});if(this.maxLength)J.maxItems=this.maxLength;if(this.postfix){let W=this.postfix.map((X)=>X.toJsonSchemaRecurse($));T=$.fallback.arrayPostfix({code:"arrayPostfix",base:J,elements:W})}}else T.items=!1,delete T.maxItems;return T}}var zE={},AE=(T)=>{if(!T.defaultables)return[];let $=[],J="[",W=T.prefixLength+T.defaultablesLength-1;for(let X=T.prefixLength;X<=W;X++){let[F,Y]=T.defaultables[X-T.prefixLength];$.push(G5(X,F,Y)),J+=`${X}: ${F.id} = ${LJ(Y)}, `}return J+="]",zE[J]??=$},U5={implementation:ME,Node:GQ},wE=(T)=>{let $=[];if(T.prefix)for(let J of T.prefix)$.push({kind:"prefix",node:J});if(T.defaultables)for(let[J,W]of T.defaultables)$.push({kind:"defaultables",node:J,default:W});if(T.optionals)for(let J of T.optionals)$.push({kind:"optionals",node:J});if(T.variadic)$.push({kind:"variadic",node:T.variadic});if(T.postfix)for(let J of T.postfix)$.push({kind:"postfix",node:J});return $},YQ=(T)=>T.reduce(($,J)=>{if(J.kind==="variadic")$.variadic=J.node;else if(J.kind==="defaultables")$.defaultables=ST($.defaultables,[[J.node,J.default]]);else $[J.kind]=ST($[J.kind],J.node);return $},{}),_5="A postfix required element cannot follow an optional or defaultable element",QE="A postfix element requires a variadic element",D8=(T)=>{let[$,...J]=T.l,[W,...X]=T.r;if(!$||!W)return T;let F=J.at(-1)?.kind==="postfix",Y=X.at(-1)?.kind==="postfix",G=$.kind==="prefix"||W.kind==="prefix"?"prefix":$.kind==="postfix"||W.kind==="postfix"?"postfix":$.kind==="variadic"&&W.kind==="variadic"?"variadic":F||Y?"prefix":$.kind==="defaultables"||W.kind==="defaultables"?"defaultables":"optionals";if($.kind==="prefix"&&W.kind==="variadic"&&Y){let A=D8({...T,fixedVariants:[],r:X.map((w)=>({...w,kind:"prefix"}))});if(A.disjoint.length===0)T.fixedVariants.push(A)}else if(W.kind==="prefix"&&$.kind==="variadic"&&F){let A=D8({...T,fixedVariants:[],l:J.map((w)=>({...w,kind:"prefix"}))});if(A.disjoint.length===0)T.fixedVariants.push(A)}let H=cT($.node,W.node,T.ctx);if(H instanceof v)if(G==="prefix"||G==="postfix")T.disjoint.push(...H.withPrefixKey(G==="prefix"?T.result.length:`-${J.length+1}`,"required")),T.result=[...T.result,{kind:G,node:k.intrinsic.never.internal}];else if(G==="optionals"||G==="defaultables")return T;else return D8({...T,fixedVariants:[],l:J.map((A)=>({...A,kind:"prefix"})),r:J.map((A)=>({...A,kind:"prefix"}))});else if(G==="defaultables"){if($.kind==="defaultables"&&W.kind==="defaultables"&&$.default!==W.default)R(Y5($.default,W.default));T.result=[...T.result,{kind:G,node:H,default:$.kind==="defaultables"?$.default:W.kind==="defaultables"?W.default:RT(`Unexpected defaultable intersection from ${$.kind} and ${W.kind} elements.`)}]}else T.result=[...T.result,{kind:G,node:H}];let M=T.l.length,z=T.r.length;if($.kind!=="variadic"||M>=z&&(W.kind==="variadic"||z===1))T.l=J;if(W.kind!=="variadic"||z>=M&&($.kind==="variadic"||M===1))T.r=X;return D8(T)};var zQ=(T)=>($)=>{if($.props.length||$.index){let J=$.index?.map((X)=>X[T])??[];for(let X of $.props)J.push(X[T]);if($.undeclared)J.push(`+ (undeclared): ${$.undeclared}`);let W=`{ ${J.join(", ")} }`;return $.sequence?`${W} & ${$.sequence.description}`:W}return $.sequence?.description??"{}"},OE=zQ("description"),UE=zQ("expression"),HQ=(T,$,J)=>{let W=T.required?"required":"optional";if(!$.signature.allows(T.key))return null;let X=WJ(T.value,$.value,J);if(X instanceof v)return W==="optional"?J.node("optional",{key:T.key,value:k.intrinsic.never.internal}):X.withPrefixKey(T.key,T.kind);return null},_E=HT({kind:"structure",hasAssociatedError:!1,normalize:(T)=>T,applyConfig:(T,$)=>{if(!T.undeclared&&$.onUndeclaredKey!=="ignore")return{...T,undeclared:$.onUndeclaredKey};return T},keys:{required:{child:!0,parse:h$("required"),reduceIo:(T,$,J)=>{$.required=ST($.required,J.map((W)=>W[T]));return}},optional:{child:!0,parse:h$("optional"),reduceIo:(T,$,J)=>{if(T==="in"){$.optional=J.map((W)=>W.in);return}for(let W of J)$[W.outProp.kind]=ST($[W.outProp.kind],W.outProp.out)}},index:{child:!0,parse:h$("index")},sequence:{child:!0,parse:h$("sequence")},undeclared:{parse:(T)=>T==="ignore"?void 0:T,reduceIo:(T,$,J)=>{if(J!=="delete")return;if(T==="in")delete $.undeclared;else $.undeclared="reject"}}},defaults:{description:OE},intersections:{structure:(T,$,J)=>{let W={...T.inner},X={...$.inner},F=new v;if(T.undeclared){let H=T.keyof();for(let M of $.requiredKeys)if(!H.allows(M))F.add("presence",k.intrinsic.never.internal,$.propsByKey[M].value,{path:[M]});if(X.optional)X.optional=X.optional.filter((M)=>H.allows(M.key));if(X.index)X.index=X.index.flatMap((M)=>{if(M.signature.extends(H))return M;let z=WJ(H,M.signature,J.$);if(z instanceof v)return[];let A=x6(z,M.value,J.$);if(A.required)X.required=L1(X.required,A.required);if(A.optional)X.optional=L1(X.optional,A.optional);return A.index??[]})}if($.undeclared){let H=$.keyof();for(let M of T.requiredKeys)if(!H.allows(M))F.add("presence",T.propsByKey[M].value,k.intrinsic.never.internal,{path:[M]});if(W.optional)W.optional=W.optional.filter((M)=>H.allows(M.key));if(W.index)W.index=W.index.flatMap((M)=>{if(M.signature.extends(H))return M;let z=WJ(H,M.signature,J.$);if(z instanceof v)return[];let A=x6(z,M.value,J.$);if(A.required)W.required=L1(W.required,A.required);if(A.optional)W.optional=L1(W.optional,A.optional);return A.index??[]})}let Y={};if(T.undeclared||$.undeclared)Y.undeclared=T.undeclared==="reject"||$.undeclared==="reject"?"reject":"delete";let G=eW({kind:"structure",baseInner:Y,l:TX(W),r:TX(X),roots:[],ctx:J});if(G instanceof v)F.push(...G);if(F.length)return F;return G}},reduce:(T,$)=>{if(T.index){if(!(T.required||T.optional))return;let J=!1,W=T.required??[],X=T.optional??[],F=[...X];for(let Y of T.index){for(let G of W){let H=HQ(G,Y,$);if(H instanceof v)return H}for(let[G,H]of X.entries()){let M=HQ(H,Y,$);if(M instanceof v)return M;if(M===null)continue;F[G]=M,J=!0}}if(J)return $.node("structure",{...T,optional:F},{prereduced:!0})}}});class AQ extends BJ{impliedBasis=k.intrinsic.object.internal;impliedSiblings=this.children.flatMap((T)=>T.impliedSiblings??[]);props=L1(this.required,this.optional);propsByKey=YT(this.props,(T,$)=>[$.key,$]);propsByKeyReference=sT(this.propsByKey);expression=UE(this);requiredKeys=this.required?.map((T)=>T.key)??[];optionalKeys=this.optional?.map((T)=>T.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let T=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:$}of this.index)T=T.concat($.branches);return this._keyof=this.$.node("union",T)}map(T){return this.$.node("structure",this.props.flatMap(T).reduce(($,J)=>{let W=this.propsByKey[J.key];if(uT(J)){if(J.kind!=="required"&&J.kind!=="optional")return R(`Map result must have kind "required" or "optional" (was ${J.kind})`);return $[J.kind]=ST($[J.kind],J),$}let X=J.kind??W?.kind??"required",F=YT(J,(Y,G)=>(Y in w8.implementation.keys)?[Y,G]:[]);return $[X]=ST($[X],this.$.node(X,F)),$},{}))}assertHasKeys(T){let $=T.filter((J)=>!O8(J,this.keyof()));if($.length)return R(MQ(this.expression,$))}get(T,...$){let J,W=!1,X=VE(T);if((typeof X==="string"||typeof X==="symbol")&&this.propsByKey[X])J=this.propsByKey[X].value,W=this.propsByKey[X].required;if(this.index){for(let Y of this.index)if(O8(X,Y.signature))J=J?.and(Y.value)??Y.value}if(this.sequence&&O8(X,k.intrinsic.nonNegativeIntegerString))if(l(X,"root")){if(this.sequence.variadic)J=J?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(X);if(Y<this.sequence.prevariadic.length){let G=this.sequence.prevariadic[Y].node;J=J?.and(G)??G,W||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let G=this.$.node("union",this.sequence.variadicOrPostfix);J=J?.and(G)??G}}if(!J){if(this.sequence?.variadic&&l(X,"root")&&X.extends(k.intrinsic.number))return R(EE(X.expression,this.sequence.expression));return R(MQ(this.expression,[X]))}let F=J.get(...$);return W?F:F.or(k.intrinsic.undefined)}pick(...T){return this.assertHasKeys(T),this.$.node("structure",this.filterKeys("pick",T))}omit(...T){return this.assertHasKeys(T),this.$.node("structure",this.filterKeys("omit",T))}optionalize(){let{required:T,...$}=this.inner;return this.$.node("structure",{...$,optional:this.props.map((J)=>J.hasKind("required")?this.$.node("optional",J.inner):J)})}require(){let{optional:T,...$}=this.inner;return this.$.node("structure",{...$,required:this.props.map((J)=>J.hasKind("optional")?{key:J.key,value:J.value}:J)})}merge(T){let $=this.filterKeys("omit",[T.keyof()]);if(T.required)$.required=ST($.required,T.required);if(T.optional)$.optional=ST($.optional,T.optional);if(T.index)$.index=ST($.index,T.index);if(T.sequence)$.sequence=T.sequence;if(T.undeclared)$.undeclared=T.undeclared;else delete $.undeclared;return this.$.node("structure",$)}filterKeys(T,$){let J=L6(this.inner),W=(X)=>{let F=$.some((Y)=>O8(X,Y));return T==="pick"?F:!F};if(J.required)J.required=J.required.filter((X)=>W(X.key));if(J.optional)J.optional=J.optional.filter((X)=>W(X.key));if(J.index)J.index=J.index.filter((X)=>W(X.signature));return J}traverseAllows=(T,$)=>this._traverse("Allows",T,$);traverseApply=(T,$)=>this._traverse("Apply",T,$);_traverse=(T,$,J)=>{let W=J?.currentErrorCount??0;for(let X=0;X<this.props.length;X++)if(T==="Allows"){if(!this.props[X].traverseAllows($,J))return!1}else if(this.props[X].traverseApply($,J),J.failFast&&J.currentErrorCount>W)return!1;if(this.sequence){if(T==="Allows"){if(!this.sequence.traverseAllows($,J))return!1}else if(this.sequence.traverseApply($,J),J.failFast&&J.currentErrorCount>W)return!1}if(this.index||this.undeclared==="reject"){let X=Object.keys($);X.push(...Object.getOwnPropertySymbols($));for(let F=0;F<X.length;F++){let Y=X[F];if(this.index){for(let G of this.index)if(G.signature.traverseAllows(Y,J)){if(T==="Allows"){if(!JJ(Y,()=>G.value.traverseAllows($[Y],J),J))return!1}else if(JJ(Y,()=>G.value.traverseApply($[Y],J),J),J.failFast&&J.currentErrorCount>W)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(T==="Allows")return!1;if(J.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],meta:this.meta}),J.failFast)return!1}}}if(this.structuralMorph&&J&&!J.hasError())J.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((T)=>T.hasDefault())??[])}declaresKey=(T)=>(T in this.propsByKey)||this.index?.some(($)=>$.signature.allows(T))||this.sequence!==void 0&&k.intrinsic.nonNegativeIntegerString.allows(T);_compileDeclaresKey(T){let $=[];if(this.props.length)$.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let J of this.index)$.push(T.invoke(J.signature,{kind:"Allows",arg:"k"}));if(this.sequence)$.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return $.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",KE(this))}structuralMorphRef=this.structuralMorph&&sT(this.structuralMorph);compile(T){if(T.traversalKind==="Apply")T.initializeErrorCount();for(let $ of this.props)if(T.check($),T.traversalKind==="Apply")T.returnIfFailFast();if(this.sequence){if(T.check(this.sequence),T.traversalKind==="Apply")T.returnIfFailFast()}if(this.index||this.undeclared==="reject")T.const("keys","Object.keys(data)"),T.line("keys.push(...Object.getOwnPropertySymbols(data))"),T.for("i < keys.length",()=>this.compileExhaustiveEntry(T));if(T.traversalKind==="Allows")return T.return(!0);if(this.structuralMorphRef)T.if("ctx && !ctx.hasError()",()=>{return T.line("ctx.queueMorphs(["),SE(T,this),T.line("])")})}compileExhaustiveEntry(T){if(T.const("k","keys[i]"),this.index)for(let $ of this.index)T.if(`${T.invoke($.signature,{arg:"k",kind:"Allows"})}`,()=>T.traverseKey("k","data[k]",$.value));if(this.undeclared==="reject")T.if(`!(${this._compileDeclaresKey(T)})`,()=>{if(T.traversalKind==="Allows")return T.return(!1);return T.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>T.return())});return T}reduceJsonSchema(T,$){switch(T.type){case"object":return this.reduceObjectJsonSchema(T,$);case"array":let J=this.sequence?.reduceJsonSchema(T,$)??T;if(this.props.length||this.index)return $.fallback.arrayObject({code:"arrayObject",base:J,object:this.reduceObjectJsonSchema({type:"object"},$)});return J;default:return nT.throwInternalOperandError("structure",T)}}reduceObjectJsonSchema(T,$){if(this.props.length){T.properties={};for(let J of this.props){let W=J.value.toJsonSchemaRecurse($);if(typeof J.key==="symbol"){$.fallback.symbolKey({code:"symbolKey",base:T,key:J.key,value:W,optional:J.optional});continue}if(J.hasDefault()){let X=typeof J.default==="function"?J.default():J.default;W.default=k.intrinsic.jsonData.allows(X)?X:$.fallback.defaultValue({code:"defaultValue",base:W,value:X})}T.properties[J.key]=W}if(this.requiredKeys.length&&T.properties)T.required=this.requiredKeys.filter((J)=>typeof J==="string"&&(J in T.properties))}if(this.index)for(let J of this.index){let W=J.value.toJsonSchemaRecurse($);if(J.signature.equals(k.intrinsic.string)){T.additionalProperties=W;continue}for(let X of J.signature.branches){if(!X.extends(k.intrinsic.string)){T=$.fallback.symbolKey({code:"symbolKey",base:T,key:null,value:W,optional:!1});continue}let F={type:"string"};if(X.hasKind("morph"))F=$.fallback.morph({code:"morph",base:X.in.toJsonSchemaRecurse($),out:X.out.toJsonSchemaRecurse($)});if(!X.hasKind("intersection"))return RT(`Unexpected index branch kind ${X.kind}.`);let{pattern:Y}=X.inner;if(Y){let G=Object.assign(F,{pattern:Y[0].rule});for(let H=1;H<Y.length;H++)F=$.fallback.patternIntersection({code:"patternIntersection",base:G,pattern:Y[H].rule});T.patternProperties??={},T.patternProperties[G.pattern]=W}}}if(this.undeclared&&!T.additionalProperties)T.additionalProperties=!1;return T}}var D5={},DE=(T)=>{let $="";for(let J=0;J<T.defaultable.length;J++)$+=T.defaultable[J].defaultValueMorphRef;if(T.sequence?.defaultValueMorphsReference)$+=T.sequence?.defaultValueMorphsReference;if(T.undeclared==="delete"){if($+="delete !(",T.required)for(let J of T.required)$+=J.compiledKey+" | ";if(T.optional)for(let J of T.optional)$+=J.compiledKey+" | ";if(T.index)for(let J of T.index)$+=J.signature.id+" | ";if(T.sequence)if(T.sequence.maxLength===null)$+=e.nonNegativeIntegerString.id;else for(let J=0;J<T.sequence.tuple.length;J++)$+=J+" | ";$+=")"}return $},KE=(T)=>{let $=DE(T);if(!$)return;if(D5[$])return D5[$];let J=(W,X)=>{for(let F=0;F<T.defaultable.length;F++)if(!(T.defaultable[F].key in W))T.defaultable[F].defaultValueMorph(W,X);if(T.sequence?.defaultables)for(let F=W.length-T.sequence.prefixLength;F<T.sequence.defaultables.length;F++)T.sequence.defaultValueMorphs[F](W,X);if(T.undeclared==="delete"){for(let F in W)if(!T.declaresKey(F))delete W[F]}return W};return D5[$]=J},SE=(T,$)=>{let W=`(data${$.defaultable.some((X)=>X.defaultValueMorph.length===2)||$.sequence?.defaultValueMorphs.some((X)=>X.length===2)?", ctx":""})`;return T.block(`${W} => `,(X)=>{for(let F=0;F<$.defaultable.length;F++){let{serializedKey:Y,defaultValueMorphRef:G}=$.defaultable[F];X.if(`!(${Y} in data)`,(H)=>H.line(`${G}${W}`))}if($.sequence?.defaultables)X.for(`i < ${$.sequence.defaultables.length}`,(F)=>F.set("data[i]",5),`data.length - ${$.sequence.prefixLength}`);if($.undeclared==="delete")X.forIn("data",(F)=>F.if(`!(${$._compileDeclaresKey(F)})`,(Y)=>Y.line("delete data[k]")));return X.return("data")})},K5={implementation:_E,Node:AQ},VE=(T)=>{if(l(T,"root")&&T.hasKind("unit"))T=T.unit;if(typeof T==="number")T=`${T}`;return T},EE=(T,$)=>`${T} is not allowed as an array index on ${$}. Use the 'nonNegativeIntegerString' keyword instead.`,x6=(T,$,J)=>{let[W,X]=xA(T.branches,(Y)=>Y.hasKind("unit"));if(!W.length)return{index:J.node("index",{signature:T,value:$})};let F={};for(let Y of W){let G=J.node("required",{key:Y.unit,value:$});F[G.kind]=ST(F[G.kind],G)}if(X.length)F.index=J.node("index",{signature:X,value:$});return F},RE=(T)=>l(T,"root")?T.expression:GT(T),MQ=(T,$)=>`Key${$.length===1?"":"s"} ${$.map(RE).join(", ")} ${$.length===1?"does":"do"} not exist on ${T}`;var JX={...Pw,alias:U8.implementation,domain:j6.implementation,unit:w5.implementation,proto:_8.implementation,union:A5.implementation,morph:M5.implementation,intersection:H5.implementation,divisor:i9.implementation,pattern:J5.implementation,predicate:n9.implementation,required:O5.implementation,optional:w8.implementation,index:Q5.implementation,sequence:U5.implementation,structure:K5.implementation};k.defaultConfig=cA(Object.assign(YT(JX,(T,$)=>[T,$.defaults]),{jitless:tA(),clone:lA,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:nT.defaultConfig}));k.resolvedConfig=F8(k.defaultConfig,k.config);var pw={...bw,alias:U8.Node,domain:j6.Node,unit:w5.Node,proto:_8.Node,union:A5.Node,morph:M5.Node,intersection:H5.Node,divisor:i9.Node,pattern:J5.Node,predicate:n9.Node,required:O5.Node,optional:w8.Node,index:Q5.Node,sequence:U5.Node,structure:K5.Node};class FX extends Z9{get[o$](){return"module"}}var S5=(T,$)=>new FX(YT(T,(J,W)=>[J,l(W,"module")?S5(W,$):$.bindReference(W)]));var LE=(T)=>hT(T)?T:("branches"in T)&&hT(T.branches)?T.branches:void 0,BE=(T,$)=>R(`Node of kind ${$} is not valid as a ${T} definition`),wQ=(T)=>`#${T} duplicates public alias ${T}`,V5={};k.ambient??={};var QQ,UQ="function $",fE=(T)=>_Q(T,DQ(T)),_Q=(T,$)=>{let J=$.write(UQ,4),W=$.compile()();for(let X of T){if(X.precompilation)continue;if(X.traverseAllows=W[`${X.id}Allows`].bind(W),X.isRoot()&&!X.allowsRequiresContext)X.allows=X.traverseAllows;if(X.traverseApply=W[`${X.id}Apply`].bind(W),W[`${X.id}Optimistic`])X.traverseOptimistic=W[`${X.id}Optimistic`].bind(W);X.precompilation=J}},DQ=(T)=>new R6().return(T.reduce(($,J)=>{let W=new X8({kind:"Allows"}).indent();J.compile(W);let X=W.write(`${J.id}Allows`),F=new X8({kind:"Apply"}).indent();J.compile(F);let Y=F.write(`${J.id}Apply`),G=`${$}${X},
|
|
135
|
-
${
|
|
136
|
-
`;if(!J.hasKind("union"))return G;let H=new
|
|
134
|
+
Right: ${$}`;var XR=HT({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(T)=>T instanceof Date?T.toISOString():LJ(T)}},normalize:(T)=>T,defaults:{description:(T)=>GT(T.unit),problem:({expected:T,actual:$})=>`${T===$?`must be reference equal to ${T} (serialized to the same value)`:`must be ${T} (was ${$})`}`},intersections:{unit:(T,$)=>v.init("unit",T,$),...J1("unit",(T,$)=>{if($.allows(T.unit))return T;let J=$.hasKind("intersection")?$.basis:$;if(J){let W=J.hasKind("domain")?J:k.intrinsic.object;if(T.domain!==W.domain){let X=T.domain==="undefined"||T.domain==="null"||T.domain==="boolean"?T.domain:k.intrinsic[T.domain];return v.init("domain",X,W)}}return v.init("assignability",T,$.hasKind("intersection")?$.children.find((W)=>!W.allows(T.unit)):$)})}});class WQ extends t0{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=JQ(this.unit,this.serializedValue);compiledNegation=JQ(this.unit,this.serializedValue,"negated");expression=GT(this.unit);domain=V$(this.unit);get defaultShortDescription(){return this.domain==="object"?TJ.object:this.description}innerToJsonSchema(T){return this.unit===null?{type:"null"}:k.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:T.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(T)=>T instanceof Date&&T.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(T)=>Number.isNaN(T):(T)=>T===this.unit}var z5={implementation:XR,Node:WQ},JQ=(T,$,J)=>{if(T instanceof Date){let W=`data instanceof Date && data.toISOString() === ${$}`;return J?`!(${W})`:W}if(Number.isNaN(T))return`${J?"!":""}Number.isNaN(data)`;return`data ${J?"!":"="}== ${$}`};var YR=HT({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(T,$)=>{let J=$.$.parseSchema(T);if(!J.extends(k.intrinsic.key))return E(GR(J.expression));let W=J.branches.filter((X)=>X.hasKind("unit"));if(W.length)return E(FR(W.map((X)=>GT(X.unit))));return J}},value:{child:!0,parse:(T,$)=>$.$.parseSchema(T)}},normalize:(T)=>T,defaults:{description:(T)=>`[${T.signature.expression}]: ${T.value.description}`},intersections:{index:(T,$,J)=>{if(T.signature.equals($.signature)){let W=cT(T.value,$.value,J),X=W instanceof v?k.intrinsic.never.internal:W;return J.$.node("index",{signature:T.signature,value:X})}if(T.signature.extends($.signature)&&T.value.subsumes($.value))return $;if($.signature.extends(T.signature)&&$.value.subsumes(T.value))return T;return null}}});class XQ extends BJ{impliedBasis=k.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=VT(this.value.flatRefs.map((T)=>mJ([this.signature,...T.path],T.node)),mJ([this.signature],this.value));traverseAllows=(T,$)=>d0(T).every((J)=>{if(this.signature.traverseAllows(J[0],$))return JJ(J[0],()=>this.value.traverseAllows(J[1],$),$);return!0});traverseApply=(T,$)=>{for(let J of d0(T))if(this.signature.traverseAllows(J[0],$))JJ(J[0],()=>this.value.traverseApply(J[1],$),$)};_transform(T,$){$.path.push(this.signature);let J=super._transform(T,$);return $.path.pop(),J}compile(){}}var w5={implementation:YR,Node:XQ},FR=(T)=>`Index keys ${T.join(", ")} should be specified as named props.`,GR=(T)=>`Indexed key definition '${T}' must be a string or symbol`;var HR=HT({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(T,$)=>$.$.parseSchema(T)}},normalize:(T)=>T,defaults:{description:(T)=>`${T.compiledKey}: ${T.value.description}`,expected:(T)=>T.missingValueDescription,actual:()=>"missing"},intersections:{required:w8,optional:w8}});class YQ extends Q8{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=W0(this.errorContext)}var Q5={implementation:HR,Node:YQ};var MR=HT({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>$.$.parseSchema(J))}},optionals:{child:!0,parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>$.$.parseSchema(J))}},defaultables:{child:(T)=>T.map(($)=>$[0]),parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>{let W=$.$.parseSchema(J[0]);return U8(W,J[1],null),[W,J[1]]})},serialize:(T)=>T.map(($)=>[$[0].collapsibleJson,LJ($[1])])},variadic:{child:!0,parse:(T,$)=>$.$.parseSchema(T,$)},minVariadicLength:{parse:(T)=>T===0?void 0:T},postfix:{child:!0,parse:(T,$)=>{if(T.length===0)return;return T.map((J)=>$.$.parseSchema(J))}}},normalize:(T)=>{if(typeof T==="string")return{variadic:T};if("variadic"in T||"prefix"in T||"defaultables"in T||"optionals"in T||"postfix"in T||"minVariadicLength"in T){if(T.postfix?.length){if(!T.variadic)return E(QR);if(T.optionals?.length||T.defaultables?.length)return E(U5)}if(T.minVariadicLength&&!T.variadic)return E("minVariadicLength may not be specified without a variadic element");return T}return{variadic:T}},reduce:(T,$)=>{let J=T.minVariadicLength??0,W=T.prefix?.slice()??[],X=T.defaultables?.slice()??[],Y=T.optionals?.slice()??[],F=T.postfix?.slice()??[];if(T.variadic){while(Y.at(-1)?.equals(T.variadic))Y.pop();if(Y.length===0&&X.length===0)while(W.at(-1)?.equals(T.variadic))W.pop(),J++;while(F[0]?.equals(T.variadic))F.shift(),J++}else if(Y.length===0&&X.length===0)W.push(...F.splice(0));if(J!==T.minVariadicLength||T.prefix&&T.prefix.length!==W.length)return $.node("sequence",{...T,prefix:W,defaultables:X,optionals:Y,postfix:F,minVariadicLength:J},{prereduced:!0})},defaults:{description:(T)=>{if(T.isVariadicOnly)return`${T.variadic.nestableExpression}[]`;return`[${T.tuple.map((J)=>J.kind==="defaultables"?`${J.node.nestableExpression} = ${GT(J.default)}`:J.kind==="optionals"?`${J.node.nestableExpression}?`:J.kind==="variadic"?`...${J.node.nestableExpression}[]`:J.node.expression).join(", ")}]`}},intersections:{sequence:(T,$,J)=>{let W=V8({l:T.tuple,r:$.tuple,disjoint:new v,result:[],fixedVariants:[],ctx:J}),X=W.disjoint.length===0?[W,...W.fixedVariants]:W.fixedVariants;return X.length===0?W.disjoint:X.length===1?J.$.node("sequence",FQ(X[0].result)):J.$.node("union",X.map((Y)=>({proto:Array,sequence:FQ(Y.result)})))}}});class GQ extends BJ{impliedBasis=k.intrinsic.Array.internal;tuple=wR(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((T)=>{if(T.kind==="defaultables"||T.kind==="optionals")return this.defaultablesAndOptionals.push(T.node),!0;return T.kind==="prefix"});variadicOrPostfix=B1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return u9(this.flatRefs,this.prevariadic.flatMap((T,$)=>VT(T.node.flatRefs.map((J)=>mJ([`${$}`,...J.path],J.node)),mJ([`${$}`],T.node)))),u9(this.flatRefs,this.variadicOrPostfix.flatMap((T)=>VT(T.flatRefs.map(($)=>mJ([k.intrinsic.nonNegativeIntegerString.internal,...$.path],$.node)),mJ([k.intrinsic.nonNegativeIntegerString.internal],T)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=zR(this);defaultValueMorphsReference=this.defaultValueMorphs.length?aT(this.defaultValueMorphs):void 0;elementAtIndex(T,$){if($<this.prevariadic.length)return this.tuple[$];let J=T.length-this.postfixLength;if($>=J)return{kind:"postfix",node:this.postfix[$-J]};return{kind:"variadic",node:this.variadic??ET(`Unexpected attempt to access index ${$} on ${this}`)}}traverseAllows=(T,$)=>{for(let J=0;J<T.length;J++)if(!this.elementAtIndex(T,J).node.traverseAllows(T[J],$))return!1;return!0};traverseApply=(T,$)=>{let J=0;for(;J<T.length;J++)JJ(J,()=>this.elementAtIndex(T,J).node.traverseApply(T[J],$),$)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(T){if(this.prefix)for(let[$,J]of this.prefix.entries())T.traverseKey(`${$}`,`data[${$}]`,J);for(let[$,J]of this.defaultablesAndOptionals.entries()){let W=`${$+this.prefixLength}`;T.if(`${W} >= ${T.data}.length`,()=>T.traversalKind==="Allows"?T.return(!0):T.return()),T.traverseKey(W,`data[${W}]`,J)}if(this.variadic){if(this.postfix)T.const("firstPostfixIndex",`${T.data}.length${this.postfix?`- ${this.postfix.length}`:""}`);if(T.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>T.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[$,J]of this.postfix.entries()){let W=`firstPostfixIndex + ${$}`;T.traverseKey(W,`data[${W}]`,J)}}if(T.traversalKind==="Allows")T.return(!0)}_transform(T,$){$.path.push(k.intrinsic.nonNegativeIntegerString.internal);let J=super._transform(T,$);return $.path.pop(),J}expression=this.description;reduceJsonSchema(T,$){if(this.prevariadic.length)T.prefixItems=this.prevariadic.map((J)=>{let W=J.node.toJsonSchemaRecurse($);if(J.kind==="defaultables"){let X=typeof J.default==="function"?J.default():J.default;W.default=k.intrinsic.jsonData.allows(X)?X:$.fallback.defaultValue({code:"defaultValue",base:W,value:X})}return W});if(this.minLength)T.minItems=this.minLength;if(this.variadic){let J=Object.assign(T,{items:this.variadic.toJsonSchemaRecurse($)});if(this.maxLength)J.maxItems=this.maxLength;if(this.postfix){let W=this.postfix.map((X)=>X.toJsonSchemaRecurse($));T=$.fallback.arrayPostfix({code:"arrayPostfix",base:J,elements:W})}}else T.items=!1,delete T.maxItems;return T}}var AR={},zR=(T)=>{if(!T.defaultables)return[];let $=[],J="[",W=T.prefixLength+T.defaultablesLength-1;for(let X=T.prefixLength;X<=W;X++){let[Y,F]=T.defaultables[X-T.prefixLength];$.push(F5(X,Y,F)),J+=`${X}: ${Y.id} = ${LJ(F)}, `}return J+="]",AR[J]??=$},O5={implementation:MR,Node:GQ},wR=(T)=>{let $=[];if(T.prefix)for(let J of T.prefix)$.push({kind:"prefix",node:J});if(T.defaultables)for(let[J,W]of T.defaultables)$.push({kind:"defaultables",node:J,default:W});if(T.optionals)for(let J of T.optionals)$.push({kind:"optionals",node:J});if(T.variadic)$.push({kind:"variadic",node:T.variadic});if(T.postfix)for(let J of T.postfix)$.push({kind:"postfix",node:J});return $},FQ=(T)=>T.reduce(($,J)=>{if(J.kind==="variadic")$.variadic=J.node;else if(J.kind==="defaultables")$.defaultables=VT($.defaultables,[[J.node,J.default]]);else $[J.kind]=VT($[J.kind],J.node);return $},{}),U5="A postfix required element cannot follow an optional or defaultable element",QR="A postfix element requires a variadic element",V8=(T)=>{let[$,...J]=T.l,[W,...X]=T.r;if(!$||!W)return T;let Y=J.at(-1)?.kind==="postfix",F=X.at(-1)?.kind==="postfix",G=$.kind==="prefix"||W.kind==="prefix"?"prefix":$.kind==="postfix"||W.kind==="postfix"?"postfix":$.kind==="variadic"&&W.kind==="variadic"?"variadic":Y||F?"prefix":$.kind==="defaultables"||W.kind==="defaultables"?"defaultables":"optionals";if($.kind==="prefix"&&W.kind==="variadic"&&F){let z=V8({...T,fixedVariants:[],r:X.map((w)=>({...w,kind:"prefix"}))});if(z.disjoint.length===0)T.fixedVariants.push(z)}else if(W.kind==="prefix"&&$.kind==="variadic"&&Y){let z=V8({...T,fixedVariants:[],l:J.map((w)=>({...w,kind:"prefix"}))});if(z.disjoint.length===0)T.fixedVariants.push(z)}let H=cT($.node,W.node,T.ctx);if(H instanceof v)if(G==="prefix"||G==="postfix")T.disjoint.push(...H.withPrefixKey(G==="prefix"?T.result.length:`-${J.length+1}`,"required")),T.result=[...T.result,{kind:G,node:k.intrinsic.never.internal}];else if(G==="optionals"||G==="defaultables")return T;else return V8({...T,fixedVariants:[],l:J.map((z)=>({...z,kind:"prefix"})),r:J.map((z)=>({...z,kind:"prefix"}))});else if(G==="defaultables"){if($.kind==="defaultables"&&W.kind==="defaultables"&&$.default!==W.default)E(Y5($.default,W.default));T.result=[...T.result,{kind:G,node:H,default:$.kind==="defaultables"?$.default:W.kind==="defaultables"?W.default:ET(`Unexpected defaultable intersection from ${$.kind} and ${W.kind} elements.`)}]}else T.result=[...T.result,{kind:G,node:H}];let M=T.l.length,A=T.r.length;if($.kind!=="variadic"||M>=A&&(W.kind==="variadic"||A===1))T.l=J;if(W.kind!=="variadic"||A>=M&&($.kind==="variadic"||M===1))T.r=X;return V8(T)};var AQ=(T)=>($)=>{if($.props.length||$.index){let J=$.index?.map((X)=>X[T])??[];for(let X of $.props)J.push(X[T]);if($.undeclared)J.push(`+ (undeclared): ${$.undeclared}`);let W=`{ ${J.join(", ")} }`;return $.sequence?`${W} & ${$.sequence.description}`:W}return $.sequence?.description??"{}"},OR=AQ("description"),UR=AQ("expression"),HQ=(T,$,J)=>{let W=T.required?"required":"optional";if(!$.signature.allows(T.key))return null;let X=WJ(T.value,$.value,J);if(X instanceof v)return W==="optional"?J.node("optional",{key:T.key,value:k.intrinsic.never.internal}):X.withPrefixKey(T.key,T.kind);return null},_R=HT({kind:"structure",hasAssociatedError:!1,normalize:(T)=>T,applyConfig:(T,$)=>{if(!T.undeclared&&$.onUndeclaredKey!=="ignore")return{...T,undeclared:$.onUndeclaredKey};return T},keys:{required:{child:!0,parse:v$("required"),reduceIo:(T,$,J)=>{$.required=VT($.required,J.map((W)=>W[T]));return}},optional:{child:!0,parse:v$("optional"),reduceIo:(T,$,J)=>{if(T==="in"){$.optional=J.map((W)=>W.in);return}for(let W of J)$[W.outProp.kind]=VT($[W.outProp.kind],W.outProp.out)}},index:{child:!0,parse:v$("index")},sequence:{child:!0,parse:v$("sequence")},undeclared:{parse:(T)=>T==="ignore"?void 0:T,reduceIo:(T,$,J)=>{if(J!=="delete")return;if(T==="in")delete $.undeclared;else $.undeclared="reject"}}},defaults:{description:OR},intersections:{structure:(T,$,J)=>{let W={...T.inner},X={...$.inner},Y=new v;if(T.undeclared){let H=T.keyof();for(let M of $.requiredKeys)if(!H.allows(M))Y.add("presence",k.intrinsic.never.internal,$.propsByKey[M].value,{path:[M]});if(X.optional)X.optional=X.optional.filter((M)=>H.allows(M.key));if(X.index)X.index=X.index.flatMap((M)=>{if(M.signature.extends(H))return M;let A=WJ(H,M.signature,J.$);if(A instanceof v)return[];let z=x6(A,M.value,J.$);if(z.required)X.required=B1(X.required,z.required);if(z.optional)X.optional=B1(X.optional,z.optional);return z.index??[]})}if($.undeclared){let H=$.keyof();for(let M of T.requiredKeys)if(!H.allows(M))Y.add("presence",T.propsByKey[M].value,k.intrinsic.never.internal,{path:[M]});if(W.optional)W.optional=W.optional.filter((M)=>H.allows(M.key));if(W.index)W.index=W.index.flatMap((M)=>{if(M.signature.extends(H))return M;let A=WJ(H,M.signature,J.$);if(A instanceof v)return[];let z=x6(A,M.value,J.$);if(z.required)W.required=B1(W.required,z.required);if(z.optional)W.optional=B1(W.optional,z.optional);return z.index??[]})}let F={};if(T.undeclared||$.undeclared)F.undeclared=T.undeclared==="reject"||$.undeclared==="reject"?"reject":"delete";let G=sW({kind:"structure",baseInner:F,l:eW(W),r:eW(X),roots:[],ctx:J});if(G instanceof v)Y.push(...G);if(Y.length)return Y;return G}},reduce:(T,$)=>{if(T.index){if(!(T.required||T.optional))return;let J=!1,W=T.required??[],X=T.optional??[],Y=[...X];for(let F of T.index){for(let G of W){let H=HQ(G,F,$);if(H instanceof v)return H}for(let[G,H]of X.entries()){let M=HQ(H,F,$);if(M instanceof v)return M;if(M===null)continue;Y[G]=M,J=!0}}if(J)return $.node("structure",{...T,optional:Y},{prereduced:!0})}}});class zQ extends BJ{impliedBasis=k.intrinsic.object.internal;impliedSiblings=this.children.flatMap((T)=>T.impliedSiblings??[]);props=B1(this.required,this.optional);propsByKey=FT(this.props,(T,$)=>[$.key,$]);propsByKeyReference=aT(this.propsByKey);expression=UR(this);requiredKeys=this.required?.map((T)=>T.key)??[];optionalKeys=this.optional?.map((T)=>T.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let T=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:$}of this.index)T=T.concat($.branches);return this._keyof=this.$.node("union",T)}map(T){return this.$.node("structure",this.props.flatMap(T).reduce(($,J)=>{let W=this.propsByKey[J.key];if(uT(J)){if(J.kind!=="required"&&J.kind!=="optional")return E(`Map result must have kind "required" or "optional" (was ${J.kind})`);return $[J.kind]=VT($[J.kind],J),$}let X=J.kind??W?.kind??"required",Y=FT(J,(F,G)=>(F in O8.implementation.keys)?[F,G]:[]);return $[X]=VT($[X],this.$.node(X,Y)),$},{}))}assertHasKeys(T){let $=T.filter((J)=>!_8(J,this.keyof()));if($.length)return E(MQ(this.expression,$))}get(T,...$){let J,W=!1,X=SR(T);if((typeof X==="string"||typeof X==="symbol")&&this.propsByKey[X])J=this.propsByKey[X].value,W=this.propsByKey[X].required;if(this.index){for(let F of this.index)if(_8(X,F.signature))J=J?.and(F.value)??F.value}if(this.sequence&&_8(X,k.intrinsic.nonNegativeIntegerString))if(l(X,"root")){if(this.sequence.variadic)J=J?.and(this.sequence.element)??this.sequence.element}else{let F=Number.parseInt(X);if(F<this.sequence.prevariadic.length){let G=this.sequence.prevariadic[F].node;J=J?.and(G)??G,W||=F<this.sequence.prefixLength}else if(this.sequence.variadic){let G=this.$.node("union",this.sequence.variadicOrPostfix);J=J?.and(G)??G}}if(!J){if(this.sequence?.variadic&&l(X,"root")&&X.extends(k.intrinsic.number))return E(RR(X.expression,this.sequence.expression));return E(MQ(this.expression,[X]))}let Y=J.get(...$);return W?Y:Y.or(k.intrinsic.undefined)}pick(...T){return this.assertHasKeys(T),this.$.node("structure",this.filterKeys("pick",T))}omit(...T){return this.assertHasKeys(T),this.$.node("structure",this.filterKeys("omit",T))}optionalize(){let{required:T,...$}=this.inner;return this.$.node("structure",{...$,optional:this.props.map((J)=>J.hasKind("required")?this.$.node("optional",J.inner):J)})}require(){let{optional:T,...$}=this.inner;return this.$.node("structure",{...$,required:this.props.map((J)=>J.hasKind("optional")?{key:J.key,value:J.value}:J)})}merge(T){let $=this.filterKeys("omit",[T.keyof()]);if(T.required)$.required=VT($.required,T.required);if(T.optional)$.optional=VT($.optional,T.optional);if(T.index)$.index=VT($.index,T.index);if(T.sequence)$.sequence=T.sequence;if(T.undeclared)$.undeclared=T.undeclared;else delete $.undeclared;return this.$.node("structure",$)}filterKeys(T,$){let J=L6(this.inner),W=(X)=>{let Y=$.some((F)=>_8(X,F));return T==="pick"?Y:!Y};if(J.required)J.required=J.required.filter((X)=>W(X.key));if(J.optional)J.optional=J.optional.filter((X)=>W(X.key));if(J.index)J.index=J.index.filter((X)=>W(X.signature));return J}traverseAllows=(T,$)=>this._traverse("Allows",T,$);traverseApply=(T,$)=>this._traverse("Apply",T,$);_traverse=(T,$,J)=>{let W=J?.currentErrorCount??0;for(let X=0;X<this.props.length;X++)if(T==="Allows"){if(!this.props[X].traverseAllows($,J))return!1}else if(this.props[X].traverseApply($,J),J.failFast&&J.currentErrorCount>W)return!1;if(this.sequence){if(T==="Allows"){if(!this.sequence.traverseAllows($,J))return!1}else if(this.sequence.traverseApply($,J),J.failFast&&J.currentErrorCount>W)return!1}if(this.index||this.undeclared==="reject"){let X=Object.keys($);X.push(...Object.getOwnPropertySymbols($));for(let Y=0;Y<X.length;Y++){let F=X[Y];if(this.index){for(let G of this.index)if(G.signature.traverseAllows(F,J)){if(T==="Allows"){if(!JJ(F,()=>G.value.traverseAllows($[F],J),J))return!1}else if(JJ(F,()=>G.value.traverseApply($[F],J),J),J.failFast&&J.currentErrorCount>W)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(F)){if(T==="Allows")return!1;if(J.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[F],meta:this.meta}),J.failFast)return!1}}}if(this.structuralMorph&&J&&!J.hasError())J.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((T)=>T.hasDefault())??[])}declaresKey=(T)=>(T in this.propsByKey)||this.index?.some(($)=>$.signature.allows(T))||this.sequence!==void 0&&k.intrinsic.nonNegativeIntegerString.allows(T);_compileDeclaresKey(T){let $=[];if(this.props.length)$.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let J of this.index)$.push(T.invoke(J.signature,{kind:"Allows",arg:"k"}));if(this.sequence)$.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return $.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",DR(this))}structuralMorphRef=this.structuralMorph&&aT(this.structuralMorph);compile(T){if(T.traversalKind==="Apply")T.initializeErrorCount();for(let $ of this.props)if(T.check($),T.traversalKind==="Apply")T.returnIfFailFast();if(this.sequence){if(T.check(this.sequence),T.traversalKind==="Apply")T.returnIfFailFast()}if(this.index||this.undeclared==="reject")T.const("keys","Object.keys(data)"),T.line("keys.push(...Object.getOwnPropertySymbols(data))"),T.for("i < keys.length",()=>this.compileExhaustiveEntry(T));if(T.traversalKind==="Allows")return T.return(!0);if(this.structuralMorphRef)T.if("ctx && !ctx.hasError()",()=>{return T.line("ctx.queueMorphs(["),VR(T,this),T.line("])")})}compileExhaustiveEntry(T){if(T.const("k","keys[i]"),this.index)for(let $ of this.index)T.if(`${T.invoke($.signature,{arg:"k",kind:"Allows"})}`,()=>T.traverseKey("k","data[k]",$.value));if(this.undeclared==="reject")T.if(`!(${this._compileDeclaresKey(T)})`,()=>{if(T.traversalKind==="Allows")return T.return(!1);return T.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>T.return())});return T}reduceJsonSchema(T,$){switch(T.type){case"object":return this.reduceObjectJsonSchema(T,$);case"array":let J=this.sequence?.reduceJsonSchema(T,$)??T;if(this.props.length||this.index)return $.fallback.arrayObject({code:"arrayObject",base:J,object:this.reduceObjectJsonSchema({type:"object"},$)});return J;default:return lT.throwInternalOperandError("structure",T)}}reduceObjectJsonSchema(T,$){if(this.props.length){T.properties={};for(let J of this.props){let W=J.value.toJsonSchemaRecurse($);if(typeof J.key==="symbol"){$.fallback.symbolKey({code:"symbolKey",base:T,key:J.key,value:W,optional:J.optional});continue}if(J.hasDefault()){let X=typeof J.default==="function"?J.default():J.default;W.default=k.intrinsic.jsonData.allows(X)?X:$.fallback.defaultValue({code:"defaultValue",base:W,value:X})}T.properties[J.key]=W}if(this.requiredKeys.length&&T.properties)T.required=this.requiredKeys.filter((J)=>typeof J==="string"&&(J in T.properties))}if(this.index)for(let J of this.index){let W=J.value.toJsonSchemaRecurse($);if(J.signature.equals(k.intrinsic.string)){T.additionalProperties=W;continue}for(let X of J.signature.branches){if(!X.extends(k.intrinsic.string)){T=$.fallback.symbolKey({code:"symbolKey",base:T,key:null,value:W,optional:!1});continue}let Y={type:"string"};if(X.hasKind("morph"))Y=$.fallback.morph({code:"morph",base:X.in.toJsonSchemaRecurse($),out:X.out.toJsonSchemaRecurse($)});if(!X.hasKind("intersection"))return ET(`Unexpected index branch kind ${X.kind}.`);let{pattern:F}=X.inner;if(F){let G=Object.assign(Y,{pattern:F[0].rule});for(let H=1;H<F.length;H++)Y=$.fallback.patternIntersection({code:"patternIntersection",base:G,pattern:F[H].rule});T.patternProperties??={},T.patternProperties[G.pattern]=W}}}if(this.undeclared&&!T.additionalProperties)T.additionalProperties=!1;return T}}var _5={},KR=(T)=>{let $="";for(let J=0;J<T.defaultable.length;J++)$+=T.defaultable[J].defaultValueMorphRef;if(T.sequence?.defaultValueMorphsReference)$+=T.sequence?.defaultValueMorphsReference;if(T.undeclared==="delete"){if($+="delete !(",T.required)for(let J of T.required)$+=J.compiledKey+" | ";if(T.optional)for(let J of T.optional)$+=J.compiledKey+" | ";if(T.index)for(let J of T.index)$+=J.signature.id+" | ";if(T.sequence)if(T.sequence.maxLength===null)$+=e.nonNegativeIntegerString.id;else for(let J=0;J<T.sequence.tuple.length;J++)$+=J+" | ";$+=")"}return $},DR=(T)=>{let $=KR(T);if(!$)return;if(_5[$])return _5[$];let J=(W,X)=>{for(let Y=0;Y<T.defaultable.length;Y++)if(!(T.defaultable[Y].key in W))T.defaultable[Y].defaultValueMorph(W,X);if(T.sequence?.defaultables)for(let Y=W.length-T.sequence.prefixLength;Y<T.sequence.defaultables.length;Y++)T.sequence.defaultValueMorphs[Y](W,X);if(T.undeclared==="delete"){for(let Y in W)if(!T.declaresKey(Y))delete W[Y]}return W};return _5[$]=J},VR=(T,$)=>{let W=`(data${$.defaultable.some((X)=>X.defaultValueMorph.length===2)||$.sequence?.defaultValueMorphs.some((X)=>X.length===2)?", ctx":""})`;return T.block(`${W} => `,(X)=>{for(let Y=0;Y<$.defaultable.length;Y++){let{serializedKey:F,defaultValueMorphRef:G}=$.defaultable[Y];X.if(`!(${F} in data)`,(H)=>H.line(`${G}${W}`))}if($.sequence?.defaultables)X.for(`i < ${$.sequence.defaultables.length}`,(Y)=>Y.set("data[i]",5),`data.length - ${$.sequence.prefixLength}`);if($.undeclared==="delete")X.forIn("data",(Y)=>Y.if(`!(${$._compileDeclaresKey(Y)})`,(F)=>F.line("delete data[k]")));return X.return("data")})},K5={implementation:_R,Node:zQ},SR=(T)=>{if(l(T,"root")&&T.hasKind("unit"))T=T.unit;if(typeof T==="number")T=`${T}`;return T},RR=(T,$)=>`${T} is not allowed as an array index on ${$}. Use the 'nonNegativeIntegerString' keyword instead.`,x6=(T,$,J)=>{let[W,X]=xz(T.branches,(F)=>F.hasKind("unit"));if(!W.length)return{index:J.node("index",{signature:T,value:$})};let Y={};for(let F of W){let G=J.node("required",{key:F.unit,value:$});Y[G.kind]=VT(Y[G.kind],G)}if(X.length)Y.index=J.node("index",{signature:X,value:$});return Y},ER=(T)=>l(T,"root")?T.expression:GT(T),MQ=(T,$)=>`Key${$.length===1?"":"s"} ${$.map(ER).join(", ")} ${$.length===1?"does":"do"} not exist on ${T}`;var $X={...Pw,alias:K8.implementation,domain:j6.implementation,unit:z5.implementation,proto:D8.implementation,union:A5.implementation,morph:H5.implementation,intersection:G5.implementation,divisor:n9.implementation,pattern:$5.implementation,predicate:l9.implementation,required:Q5.implementation,optional:O8.implementation,index:w5.implementation,sequence:O5.implementation,structure:K5.implementation};k.defaultConfig=cz(Object.assign(FT($X,(T,$)=>[T,$.defaults]),{jitless:tz(),clone:lz,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:lT.defaultConfig}));k.resolvedConfig=G8(k.defaultConfig,k.config);var pw={...bw,alias:K8.Node,domain:j6.Node,unit:z5.Node,proto:D8.Node,union:A5.Node,morph:H5.Node,intersection:G5.Node,divisor:n9.Node,pattern:$5.Node,predicate:l9.Node,required:Q5.Node,optional:O8.Node,index:w5.Node,sequence:O5.Node,structure:K5.Node};class XX extends C9{get[o$](){return"module"}}var D5=(T,$)=>new XX(FT(T,(J,W)=>[J,l(W,"module")?D5(W,$):$.bindReference(W)]));var LR=(T)=>vT(T)?T:("branches"in T)&&vT(T.branches)?T.branches:void 0,BR=(T,$)=>E(`Node of kind ${$} is not valid as a ${T} definition`),wQ=(T)=>`#${T} duplicates public alias ${T}`,V5={};k.ambient??={};var QQ,UQ="function $",fR=(T)=>_Q(T,KQ(T)),_Q=(T,$)=>{let J=$.write(UQ,4),W=$.compile()();for(let X of T){if(X.precompilation)continue;if(X.traverseAllows=W[`${X.id}Allows`].bind(W),X.isRoot()&&!X.allowsRequiresContext)X.allows=X.traverseAllows;if(X.traverseApply=W[`${X.id}Apply`].bind(W),W[`${X.id}Optimistic`])X.traverseOptimistic=W[`${X.id}Optimistic`].bind(W);X.precompilation=J}},KQ=(T)=>new E6().return(T.reduce(($,J)=>{let W=new F8({kind:"Allows"}).indent();J.compile(W);let X=W.write(`${J.id}Allows`),Y=new F8({kind:"Apply"}).indent();J.compile(Y);let F=Y.write(`${J.id}Apply`),G=`${$}${X},
|
|
135
|
+
${F},
|
|
136
|
+
`;if(!J.hasKind("union"))return G;let H=new F8({kind:"Allows",optimistic:!0}).indent();J.compile(H);let M=H.write(`${J.id}Optimistic`);return`${G}${M},
|
|
137
137
|
`},`{
|
|
138
|
-
`)+"}");class P6{config;resolvedConfig;name;get[o$](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(T,$){if(this.config=F8(k.config,$),this.resolvedConfig=F8(k.resolvedConfig,$),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(V5).length}`,this.name in V5)R(`A Scope already named ${this.name} already exists`);V5[this.name]=this;let J=Object.entries(T).map((W)=>this.preparseOwnAliasEntry(...W));for(let[W,X]of J){let F=W;if(W[0]==="#"){if(F=W.slice(1),F in this.aliases)R(wQ(F));this.aliases[F]=X}else{if(F in this.aliases)R(wQ(W));this.aliases[F]=X,this.exportedNames.push(F)}if(!l(X,"module")&&!l(X,"generic")&&!T0(X)){let Y=this.preparseOwnDefinitionFormat(X,{alias:F});this.resolutions[F]=l(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}QQ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[QQ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=k.intrinsic?YT(k.intrinsic,(W,X)=>W.startsWith("json")?[]:[W,this.bindReference(X)]):{}}cacheGetter(T,$){return Object.defineProperty(this,T,{value:$}),$}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(T){return T}generic=(...T)=>{let $=this;return(J,W)=>new F0(T,W?new C6(J):J,$,$,W??null)};units=(T,$)=>{let J=[];for(let X of T)if(!J.includes(X))J.push(X);let W=J.map((X)=>this.node("unit",{unit:X},$));return this.node("union",W,{...$,prereduced:!0})};lazyResolutions=[];lazilyResolve(T,$){let J=this.node("alias",{reference:$??"synthetic",resolve:T},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(J);return J}schema=(T,$)=>this.finalize(this.parseSchema(T,$));parseSchema=(T,$)=>this.node(M8(T),T,$);preparseNode(T,$,J){let W=typeof T==="string"?T:M8($,T);if(uT($)&&$.kind===W)return $;if(W==="alias"&&!J?.prereduced){let{reference:Y}=U8.implementation.normalize($,this);if(Y.startsWith("$")){let G=this.resolveRoot(Y.slice(1));$=G,W=G.kind}}else if(W==="union"&&e$($,"object")){let Y=LE($);if(Y?.length===1)$=Y[0],W=M8($)}if(uT($)&&$.kind===W)return $;let F=JX[W].normalize?.($,this)??$;if(uT(F))return F.kind===W?F:BE(W,F.kind);return{...J,$:this,kind:W,def:F,prefix:J.alias??W}}bindReference(T){let $;if(uT(T))$=T.$===this?T:new T.constructor(T.attachments,this);else $=T.$===this?T:new F0(T.params,T.bodyDef,T.$,this,T.hkt);if(!this.resolved)Object.assign(this.referencesById,$.referencesById);return $}resolveRoot(T){return this.maybeResolveRoot(T)??R(L5(T))}maybeResolveRoot(T){let $=this.maybeResolve(T);if(l($,"generic"))return;return $}maybeResolveSubalias(T){return E5(this.aliases,T)??E5(this.ambient,T)}get ambient(){return k.ambient}maybeResolve(T){let $=this.resolutions[T];if($){if(typeof $!=="string")return this.bindReference($);let W=d$[$];if(l(W,"root"))return this.resolutions[T]=W;if(l(W,"context")){if(W.phase==="resolving")return this.node("alias",{reference:`$${T}`},{prereduced:!0});if(W.phase==="resolved")return RT(`Unexpected resolved context for was uncached by its scope: ${GT(W)}`);W.phase="resolving";let X=this.bindReference(this.parseOwnDefinitionFormat(W.def,W));return W.phase="resolved",d$[X.id]=X,d$[W.id]=X,this.resolutions[T]=X}return RT(`Unexpected nodesById entry for ${$}: ${GT(W)}`)}let J=this.aliases[T]??this.ambient?.[T];if(!J)return this.maybeResolveSubalias(T);if(J=this.normalizeRootScopeValue(J),l(J,"generic"))return this.resolutions[T]=this.bindReference(J);if(l(J,"module")){if(!J.root)R(VQ(T));return this.resolutions[T]=this.bindReference(J.root)}return this.resolutions[T]=this.parse(J,{alias:T})}createParseContext(T){let $=T.id??W5(T.prefix);return d$[$]=Object.assign(T,{[o$]:"context",$:this,id:$,phase:"unresolved"})}traversal(T){return new mJ(T,this.resolvedConfig)}import(...T){return new FX(YT(this.export(...T),($,J)=>[`#${$}`,J]))}precompilation;_exportedResolutions;_exports;export(...T){if(!this._exports){this._exports={};for(let J of this.exportedNames){let W=this.aliases[J];this._exports[J]=l(W,"module")?S5(W,this):OQ(this.maybeResolve(J))}for(let J of this.lazyResolutions)J.resolution;if(this._exportedResolutions=SQ(this,this._exports),this._json=KQ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let J=DQ(this.references);this.precompilation=J.write(UQ,4),_Q(this.references,J)}this.resolved=!0}let $=T.length?T:this.exportedNames;return new FX(YT($,(J,W)=>[W,this._exports[W]]))}resolve(T){return this.export()[T]}node=(T,$,J={})=>{let W=this.preparseNode(T,$,J);if(uT(W))return this.bindReference(W);let X=this.createParseContext(W),F=X5(X),Y=this.bindReference(F);return d$[X.id]=Y};parse=(T,$={})=>this.finalize(this.parseDefinition(T,$));parseDefinition(T,$={}){if(l(T,"root"))return this.bindReference(T);let J=this.preparseOwnDefinitionFormat(T,$);if(l(J,"root"))return this.bindReference(J);let W=this.createParseContext(J);d$[W.id]=W;let X=this.bindReference(this.parseOwnDefinitionFormat(T,W));if(X.isCyclic)X=gw(X,W.id);return d$[W.id]=X,X}finalize(T){if(OQ(T),!T.precompilation&&!this.resolvedConfig.jitless)fE(T.references);return T}}class R5 extends P6{parseOwnDefinitionFormat(T,$){return X5($)}preparseOwnDefinitionFormat(T,$){return this.preparseNode(M8(T),T,$)}preparseOwnAliasEntry(T,$){return[T,$]}normalizeRootScopeValue(T){return T}}var OQ=(T)=>{let $=T.references.filter((J)=>J.hasKind("alias"));for(let J of $){Object.assign(J.referencesById,J.resolution.referencesById);for(let W of T.references)if(J.id in W.referencesById)Object.assign(W.referencesById,J.referencesById)}return T},KQ=(T)=>YT(T,($,J)=>[$,l(J,"root")||l(J,"generic")?J.json:l(J,"module")?KQ(J):RT(`Unexpected resolution ${GT(J)}`)]),E5=(T,$)=>{let J=$.indexOf(".");if(J===-1)return;let W=$.slice(0,J),X=T[W];if(X===void 0)return;if(!l(X,"module"))return R(NE(W));let F=$.slice(J+1),Y=X[F];if(Y===void 0)return E5(X,F);if(l(Y,"root")||l(Y,"generic"))return Y;if(l(Y,"module"))return Y.root??R(VQ($));RT(`Unexpected resolution for alias '${$}': ${GT(Y)}`)},b6=(T,$)=>new R5(T,$),K8=new R5({});var SQ=(T,$)=>{let J={};for(let W in $){let X=$[W];if(l(X,"module")){let F=SQ(T,X),Y=YT(F,(G,H)=>[`${W}.${G}`,H]);Object.assign(J,Y)}else if(l(X,"root")||l(X,"generic"))J[W]=X;else RT(`Unexpected scope resolution ${GT(X)}`)}return J},L5=(T)=>`'${T}' is unresolvable`,NE=(T)=>`'${T}' must reference a module to be accessed using dot syntax`,VQ=(T)=>`Reference to submodule '${T}' must specify an alias`;K8.export();var{schema:qT,node:YX,defineSchema:sJT,generic:NJ}=K8;var B5="^(?:0|[1-9]\\d*)$",CE=new RegExp(B5),$1T=sT(CE);var EQ=b6({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();k.intrinsic={...EQ};var RQ=b6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:B5}},{prereducedAliases:!0}).export();Object.assign(k.intrinsic,RQ);var ZE=b6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),e={...EQ,...RQ,...ZE,emptyStructure:YX("structure",{},{prereduced:!0})};k.intrinsic={...e};var BQ=(T)=>typeof T==="string"&&T[0]==="d"&&(T[1]==="'"||T[1]==='"')&&T.at(-1)===T[1],LQ=(T)=>T.toString()!=="Invalid Date",fQ=(T)=>T.slice(2,-1),f5=(T)=>`'${T}' could not be parsed by the Date constructor`,NQ=(T,$)=>qE(T,$),qE=(T,$)=>{let J=new Date(T);if(LQ(J))return J;let W=Xw(T);if(W!==void 0){let X=new Date(W);if(LQ(X))return X}return $?R($===!0?f5(T):$):void 0};var N5=(T,$)=>{let J=T.scanner.shiftUntil(kE[ZQ[$]]);if(T.scanner.lookahead==="")return T.error(IE(J,$));if(T.scanner.shift(),$==="/"){try{new RegExp(J)}catch(W){R(String(W))}T.root=T.ctx.$.node("intersection",{domain:"string",pattern:J},{prereduced:!0})}else if(V$($,C5))T.root=T.ctx.$.node("unit",{unit:J});else{let W=NQ(J,f5(J));T.root=T.ctx.$.node("unit",{meta:J,unit:W})}},C5={"'":1,'"':1},CQ={"/":1,"'":1,'"':1},ZQ={"d'":"'",'d"':'"',"'":"'",'"':'"',"/":"/"},kE={"'":(T)=>T.lookahead==="'",'"':(T)=>T.lookahead==='"',"/":(T)=>T.lookahead==="/"},yE={'"':"double-quote","'":"single-quote","/":"forward slash"},IE=(T,$)=>`${$}${T} requires a closing ${yE[ZQ[$]]}`;var qQ=(T)=>`Private type references should not include '#'. Use '${T}' instead.`,v6="Optional definitions like 'string?' are only valid as properties in an object or tuple",h6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var kQ={">":!0,">=":!0},yQ={"<":!0,"<=":!0};var GX={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},IQ=(T)=>`Unmatched )${T===""?"":` before ${T}`}`,m6=(T)=>`Missing ${T}`,jQ=(T,$)=>`Left bounds are only valid when paired with right bounds (try ...${$}${T})`,g6=(T)=>`Left-bounded expressions must specify their limits using < or <= (was ${T})`,xQ=(T,$,J,W)=>`An expression may have at most one left bound (parsed ${T}${GX[$]}, ${J}${GX[W]})`;var PQ=(T,$,J)=>bQ(T,$,J,[]),bQ=(T,$,J,W)=>{let X=J.parseUntilFinalizer();if(W.push(X.root),X.finalizer===">"){if(W.length!==$.params.length)return J.error(Z5(T,$.names,W.map((F)=>F.expression)));return W}if(X.finalizer===",")return bQ(T,$,J,W);return X.error(m6(">"))},Z5=(T,$,J)=>`${T}<${$.join(", ")}> requires exactly ${$.length} args (got ${J.length}${J.length===0?"":`: ${J.join(", ")}`})`;var q5=(T)=>{let $=T.scanner.shiftUntilNextTerminator();if($==="keyof")T.addPrefix("keyof");else T.root=xE(T,$)},jE=(T,$,J)=>{if(J.scanner.shiftUntilNonWhitespace(),J.scanner.shift()!=="<")return J.error(Z5(T,$.names,[]));let X=PQ(T,$,J);return $(...X)},xE=(T,$)=>PE(T,$)??bE(T,$)??T.error($===""?T.scanner.lookahead==="#"?qQ(T.shiftedByOne().scanner.shiftUntilNextTerminator()):k5(T):L5($)),PE=(T,$)=>{if(T.ctx.args?.[$]){let W=T.ctx.args[$];if(typeof W!=="string")return W;return T.ctx.$.node("alias",{reference:W},{prereduced:!0})}let J=T.ctx.$.maybeResolve($);if(l(J,"root"))return J;if(J===void 0)return;if(l(J,"generic"))return jE($,J,T);return R(`Unexpected resolution ${GT(J)}`)},bE=(T,$)=>{let J=Fw($);if(J!==void 0)return T.ctx.$.node("unit",{unit:J});let W=Gw($);if(W!==void 0)return T.ctx.$.node("unit",{unit:W})},k5=(T)=>{let $=T.previousOperator();return $?y5($,T.scanner.unscanned):vE(T.scanner.unscanned)},y5=(T,$="")=>`Token '${T}' requires a right operand${$?` before '${$}'`:""}`,vE=(T)=>`Expected an expression${T?` before '${T}'`:""}`;var I5=(T)=>T.scanner.lookahead===""?T.error(k5(T)):T.scanner.lookahead==="("?T.shiftedByOne().reduceGroupOpen():T.scanner.lookaheadIsIn(CQ)?N5(T,T.scanner.shift()):T.scanner.lookaheadIsIn($0)?I5(T.shiftedByOne()):T.scanner.lookahead==="d"?T.scanner.nextLookahead in C5?N5(T,`${T.scanner.shift()}${T.scanner.shift()}`):q5(T):q5(T);class q1 extends v9{shiftUntilNextTerminator(){return this.shiftUntilNonWhitespace(),this.shiftUntil(()=>(this.lookahead in q1.terminatingChars))}static terminatingChars={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...$0};static finalizingLookaheads={">":1,",":1,"":1,"=":1,"?":1};static lookaheadIsFinalizing=(T,$)=>T===">"?$[0]==="="?$[1]==="=":$.trimStart()===""||V$($.trimStart()[0],q1.terminatingChars):T==="="?$[0]!=="=":T===","||T==="?"}var hQ=(T,$)=>{let J=hE(T,$);if(T.root.hasKind("unit")){if(typeof T.root.unit==="number"){T.reduceLeftBound(T.root.unit,J),T.unsetRoot();return}if(T.root.unit instanceof Date){let W=`d'${T.root.description??T.root.unit.toISOString()}'`;T.unsetRoot(),T.reduceLeftBound(W,J);return}}return gE(T,J)},mQ={"<":1,">":1,"=":1},hE=(T,$)=>T.scanner.lookaheadIs("=")?`${$}${T.scanner.shift()}`:$;var vQ=(T,$,J,W)=>{if(J.extends(k.intrinsic.number)){if(typeof $!=="number")return R(j5(T,$,W));return T==="=="?["min","max"]:T[0]===">"?["min"]:["max"]}if(J.extends(k.intrinsic.lengthBoundable)){if(typeof $!=="number")return R(j5(T,$,W));return T==="=="?["exactLength"]:T[0]===">"?["minLength"]:["maxLength"]}if(J.extends(k.intrinsic.Date))return T==="=="?["after","before"]:T[0]===">"?["after"]:["before"];return R(Cw(J.expression))},mE=(T)=>({rule:BQ(T.limit)?fQ(T.limit):T.limit,exclusive:T.comparator.length===1}),gE=(T,$)=>{let J=T.unsetRoot(),W=T.scanner.location;T.parseOperand();let X=T.unsetRoot(),F=T.scanner.sliceChars(W,T.scanner.location);if(T.root=J,!X.hasKind("unit")||typeof X.unit!=="number"&&!(X.unit instanceof Date))return T.error(j5($,F,"right"));let Y=X.unit,G=$.length===1,H=vQ($,typeof Y==="number"?Y:F,J,"right");for(let z of H)T.constrainRoot(z,$==="=="?{rule:Y}:{rule:Y,exclusive:G});if(!T.branches.leftBound)return;if(!V$($,yQ))return T.error(g6($));let M=vQ(T.branches.leftBound.comparator,T.branches.leftBound.limit,J,"left");T.constrainRoot(M[0],mE(T.branches.leftBound)),T.branches.leftBound=null},j5=(T,$,J)=>`Comparator ${J==="left"?GX[T]:T} must be ${J==="left"?"preceded":"followed"} by a corresponding literal (was ${$})`;var gQ=(T)=>{T.scanner.shiftUntilNonWhitespace();let $=T.scanner.shiftUntilNextTerminator();T.root=T.root.brand($)};var uQ=(T)=>{let $=T.scanner.shiftUntilNextTerminator(),J=Yw($,{errorOnFail:pQ($)});if(J===0)T.error(pQ(0));T.root=T.root.constrain("divisor",J)},pQ=(T)=>`% operator must be followed by a non-zero integer literal (was ${T})`;var x5=(T)=>{let $=T.scanner.shift();return $===""?T.finalize(""):$==="["?T.scanner.shift()==="]"?T.setRoot(T.root.array()):T.error(pE):$==="|"?T.scanner.lookahead===">"?T.shiftedByOne().pushRootToBranch("|>"):T.pushRootToBranch($):$==="&"?T.pushRootToBranch($):$===")"?T.finalizeGroup():q1.lookaheadIsFinalizing($,T.scanner.unscanned)?T.finalize($):V$($,mQ)?hQ(T,$):$==="%"?uQ(T):$==="#"?gQ(T):($ in $0)?x5(T):T.error(p6($))},p6=(T,$="")=>`'${T}' is not allowed here${$&&` (should be ${$})`}`,pE="Missing expected ']'";var cQ=(T)=>{let $=T.unsetRoot();T.parseOperand();let J=T.unsetRoot();if(!J.hasKind("unit"))return T.error(uE(J.expression));let W=J.unit instanceof Date?()=>new Date(J.unit):J.unit;return[$,"=",W]},uE=(T)=>`Default value '${T}' must a literal value`;var P5=(T,$)=>{let J=$.$.maybeResolveRoot(T);if(J)return J;if(T.endsWith("[]")){let F=$.$.maybeResolveRoot(T.slice(0,-2));if(F)return F.array()}let W=new HX(new q1(T),$),X=cE(W);if(W.finalizer===">")R(p6(">"));return X},cE=(T)=>{T.parseOperand();let $=S8(T).root;if(!$)return RT(`Root was unexpectedly unset after parsing string '${T.scanner.scanned}'`);if(T.finalizer==="=")$=cQ(T);else if(T.finalizer==="?")$=[$,"?"];if(T.scanner.shiftUntilNonWhitespace(),T.scanner.lookahead)R(p6(T.scanner.lookahead));return $},S8=(T)=>{while(T.finalizer===void 0)oE(T);return T},oE=(T)=>T.hasRoot()?T.parseOperator():T.parseOperand();class HX{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(T,$){this.scanner=T,this.ctx=$}error(T){return R(T)}hasRoot(){return this.root!==void 0}setRoot(T){this.root=T}unsetRoot(){let T=this.root;return this.root=void 0,T}constrainRoot(...T){this.root=this.root.constrain(T[0],T[1])}finalize(T){if(this.groups.length)return this.error(m6(")"));this.finalizeBranches(),this.finalizer=T}reduceLeftBound(T,$){let J=GX[$];if(!V$(J,kQ))return this.error(g6($));if(this.branches.leftBound)return this.error(xQ(this.branches.leftBound.limit,this.branches.leftBound.comparator,T,J));this.branches.leftBound={comparator:J,limit:T}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let T=this.groups.pop();if(!T)return this.error(IQ(this.scanner.unscanned));this.branches=T}addPrefix(T){this.branches.prefixes.push(T)}applyPrefixes(){while(this.branches.prefixes.length){let T=this.branches.prefixes.pop();this.root=T==="keyof"?this.root.keyof():RT(`Unexpected prefix '${T}'`)}}pushRootToBranch(T){this.assertRangeUnset(),this.applyPrefixes();let $=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd($)??$,T==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,T==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return S8(new HX(this.scanner,this.ctx))}parseOperator(){return x5(this)}parseOperand(){return I5(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(jQ(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes.at(-1)??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedByOne(){return this.scanner.shift(),this}}var dE="An empty string is not a valid generic parameter name",u6=(T,$,J)=>{T.shiftUntilNonWhitespace();let W=T.shiftUntilNextTerminator();if(W===""){if(T.lookahead===""&&$.length)return $;return R(dE)}return T.shiftUntilNonWhitespace(),lE(T,W,$,J)},oQ="extends ",lE=(T,$,J,W)=>{if(T.shiftUntilNonWhitespace(),T.unscanned.startsWith(oQ))T.jumpForward(oQ.length);else{if(T.lookahead===",")T.shift();return J.push($),u6(T,J,W)}let X=S8(new HX(T,W));return J.push([$,X.root]),u6(T,J,W)};class b5 extends hJ{$;constructor(T){super((...$)=>new V8(T)(...$),{bind:T});this.$=T}in(T){return new V8(this.$,T===void 0?void 0:this.$.parse(T))}at(T,$){return new V8(this.$).at(T,$)}case(T,$){return new V8(this.$).case(T,$)}}class V8 extends hJ{$;in;key;branches=[];constructor(T,$){super((J)=>this.caseEntries(Object.entries(J).map(([W,X])=>W==="default"?[W,X]:[this.$.parse(W),X])));this.$=T,this.in=$}at(T,$){if(this.key)R(iE);if(this.branches.length)R(nE);return this.key=T,$?this.match($):this}case(T,$){return this.caseEntry(this.$.parse(T),$)}caseEntry(T,$){let W=(this.key?this.$.parse({[this.key]:T}):T).pipe($);return this.branches.push(W),this}match(T){return this(T)}strings(T){return this.caseEntries(Object.entries(T).map(([$,J])=>$==="default"?[$,J]:[this.$.node("unit",{unit:$}),J]))}caseEntries(T){for(let $=0;$<T.length;$++){let[J,W]=T[$];if(J==="default"){if($!==T.length-1)R("default may only be specified as the last key of a switch definition");return this.default(W)}if(typeof W!=="function")return R(`Value for case "${J}" must be a function (was ${S$(W)})`);this.caseEntry(J,W)}return this}default(T){if(typeof T==="function")this.case(e.unknown,T);let $={branches:this.branches,ordered:!0};if(T==="never"||T==="assert")$.meta={onFail:dQ};let J=this.$.node("union",$);if(!this.in)return this.$.finalize(J);let W=this.in.pipe(J);if(T==="never"||T==="assert")W=W.configureReferences({onFail:dQ},"self");return this.$.finalize(W)}}var dQ=(T)=>T.throw(),nE="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",iE="At most one key matcher may be specified per expression";var c6=(T,$)=>{if(hT(T)){if(T[1]==="=")return[$.$.parseOwnDefinitionFormat(T[0],$),"=",T[2]];if(T[1]==="?")return[$.$.parseOwnDefinitionFormat(T[0],$),"?"]}return o6(T,$)},lQ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",nQ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var iQ=(T,$)=>{let J,W={},X=d0(T);for(let[Y,G]of X){let H=aE(Y);if(H.kind==="spread"){if(!T1(W))return R(rE);let _=$.$.parseOwnDefinitionFormat(G,$);if(_.equals(e.object))continue;if(!_.hasKind("intersection")||!_.basis?.equals(e.object))return R(sE(_.expression));J=_.structure;continue}if(H.kind==="undeclared"){if(G!=="reject"&&G!=="delete"&&G!=="ignore")R(tE(G));W.undeclared=G;continue}let M=c6(G,$),z=H;if(H.kind==="required"){if(!hT(M))v5(W,"required",{key:H.normalized,value:M},$);else v5(W,"optional",M[1]==="="?{key:H.normalized,value:M[0],default:M[2]}:{key:H.normalized,value:M[0]},$);continue}if(hT(M)){if(M[1]==="?")R(lQ);if(M[1]==="=")R(nQ)}if(H.kind==="optional"){v5(W,"optional",{key:H.normalized,value:M},$);continue}let A=$.$.parseOwnDefinitionFormat(z.normalized,$),w=x6(A,M,$.$);if(w.index)W.index=ST(W.index,w.index);if(w.required)W.required=ST(W.required,w.required)}let F=$.$.node("structure",W);return $.$.parseSchema({domain:"object",structure:J?.merge(F)??F})},v5=(T,$,J,W)=>{T[$]=ST(T[$],W.$.node($,J))},tE=(T)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${GT(T)})`,rE="Spread operator may only be used as the first key in an object",aE=(T)=>typeof T==="symbol"?{kind:"required",normalized:T}:T.at(-1)==="?"?T.at(-2)===s2?{kind:"required",normalized:`${T.slice(0,-2)}?`}:{kind:"optional",normalized:T.slice(0,-1)}:T[0]==="["&&T.at(-1)==="]"?{kind:"index",normalized:T.slice(1,-1)}:T[0]===s2&&T[1]==="["&&T.at(-1)==="]"?{kind:"required",normalized:T.slice(1)}:T==="..."?{kind:"spread"}:T==="+"?{kind:"undeclared"}:{kind:"required",normalized:T==="\\..."?"...":T==="\\+"?"+":T},sE=(T)=>`Spread operand must resolve to an object literal type (was ${T})`;var rQ=(T,$)=>HR(T)?TO[T[0]](T,$):YR(T)?eQ[T[1]](T,$):null,eE=(T,$)=>$.$.parseOwnDefinitionFormat(T[1],$).keyof(),h5=(T,$)=>{if(T[2]===void 0)return R(y5(T[1],""));let J=$.$.parseOwnDefinitionFormat(T[0],$),W=$.$.parseOwnDefinitionFormat(T[2],$);if(T[1]==="|")return $.$.node("union",{branches:[J,W]});let X=T[1]==="&"?WJ(J,W,$.$):H8(J,W,$.$);if(X instanceof v)return X.throw();return X},TR=(T,$)=>$.$.parseOwnDefinitionFormat(T[0],$).array(),$R=(T,$)=>{if(typeof T[2]!=="function")return R(aQ("=>",T[2]));return $.$.parseOwnDefinitionFormat(T[0],$).pipe(T[2])},aQ=(T,$)=>`${T===":"?"Narrow":"Morph"} expression requires a function following '${T}' (was ${typeof $})`,JR=(T,$)=>{if(typeof T[2]!=="function")return R(aQ(":",T[2]));return $.$.parseOwnDefinitionFormat(T[0],$).constrain("predicate",T[2])},WR=(T,$)=>$.$.parseOwnDefinitionFormat(T[0],$).configureReferences(T[2],"shallow"),sQ=(T)=>T,XR=sQ({"[]":TR,"?":()=>R(v6)}),FR=sQ({"|":h5,"&":h5,":":JR,"=>":$R,"|>":h5,"@":WR,"=":()=>R(h6)}),eQ={...XR,...FR},YR=(T)=>eQ[T[1]]!==void 0,GR=(T)=>T,TO=GR({keyof:eE,instanceof:(T,$)=>{if(typeof T[1]!=="function")return R(tQ(r2(T[1])));let J=T.slice(1).map((W)=>typeof W==="function"?$.$.node("proto",{proto:W}):R(tQ(r2(W))));return J.length===1?J[0]:$.$.node("union",{branches:J})},"===":(T,$)=>$.$.units(T.slice(1))}),HR=(T)=>TO[T[0]]!==void 0,tQ=(T)=>`Expected a constructor following 'instanceof' operator (was ${T})`;var WO=(T,$)=>{let J=[{}],W=0;while(W<T.length){let X=!1;if(T[W]==="..."&&W<T.length-1)X=!0,W++;let F=c6(T[W],$),[Y,G,H]=!hT(F)?[F]:F;if(W++,X){if(!Y.extends(k.intrinsic.Array))return R(AR(Y.expression));J=J.flatMap((M)=>Y.distribute((z)=>zR(L6(M),z)))}else J=J.map((M)=>{if(G==="?")return XO(M,Y);if(G==="=")return MR(M,Y,H);return m5(M,Y)})}return $.$.parseSchema(J.map((X)=>T1(X)?{proto:Array,exactLength:0}:{proto:Array,sequence:X}))},m5=(T,$)=>{if(T.defaultables||T.optionals)return R(T.variadic?_5:wR);if(T.variadic)T.postfix=ST(T.postfix,$);else T.prefix=ST(T.prefix,$);return T},XO=(T,$)=>{if(T.variadic)return R(FO);return T.optionals=ST(T.optionals,$),T},MR=(T,$,J)=>{if(T.variadic)return R(FO);if(T.optionals)return R(QR);return T.defaultables=ST(T.defaultables,[[$,J]]),T},$O=(T,$)=>{if(T.postfix)R(JO);if(T.variadic){if(!T.variadic.equals($))R(JO)}else T.variadic=$.internal;return T},zR=(T,$)=>{let J=$.select({method:"find",kind:"sequence"});if(!J)return $O(T,k.intrinsic.unknown);if(J.prefix)for(let W of J.prefix)m5(T,W);if(J.optionals)for(let W of J.optionals)XO(T,W);if(J.variadic)$O(T,J.variadic);if(J.postfix)for(let W of J.postfix)m5(T,W);return T},AR=(T)=>`Spread element must be an array (was ${T})`,JO="A tuple may have at most one variadic element",wR="A required element may not follow an optional element",FO="An optional element may not follow a variadic element";var QR="A defaultable element may not follow an optional element without a default";var OR={},o6=(T,$)=>{if(typeof T==="string"){if($.args&&Object.keys($.args).some((W)=>T.includes(W)))return P5(T,$);let J=OR[$.$.name]??={};return J[T]??=P5(T,$)}return e$(T,"object")?UR(T,$):R(g5(S$(T)))},UR=(T,$)=>{let J=t2(T);switch(J){case void 0:if(l(T,"root"))return T;return iQ(T,$);case"Array":return _R(T,$);case"RegExp":return $.$.node("intersection",{domain:"string",pattern:T},{prereduced:!0});case"Function":{let W=T0(T)?T():T;if(l(W,"root"))return W;return R(g5("Function"))}default:return R(g5(J??GT(T)))}},_R=(T,$)=>rQ(T,$)??WO(T,$),g5=(T)=>`Type definitions must be strings or objects (was ${T})`;class p5 extends hJ{constructor(T){let $=Object.assign({errors:$J,hkt:v$,$:T,raw:T.parse,module:T.constructor.module,scope:T.constructor.scope,define:T.define,match:T.match,generic:T.generic,schema:T.schema,keywords:T.ambient,unit:T.unit,enumerated:T.enumerated,instanceOf:T.instanceOf,valueOf:T.valueOf,or:T.or,and:T.and,merge:T.merge,pipe:T.pipe},T.ambientAttachments);super((...J)=>{if(J.length===1)return T.parse(J[0]);if(J.length===2&&typeof J[0]==="string"&&J[0][0]==="<"&&J[0].at(-1)===">"){let W=J[0].slice(1,-1),X=T.parseGenericParams(W,{});return new F0(X,J[1],T,T,null)}return T.parse(J)},{bind:T,attach:$})}}var MX=k;class d6 extends P6{get ambientAttachments(){if(!MX.typeAttachments)return;return this.cacheGetter("ambientAttachments",YT(MX.typeAttachments,(T,$)=>[T,this.bindReference($)]))}preparseOwnAliasEntry(T,$){let J=T.indexOf("<");if(J===-1){if(l($,"module")||l($,"generic"))return[T,$];let F=this.name==="ark"?T:T==="root"?this.name:`${this.name}.${T}`,Y=this.resolvedConfig.keywords?.[F];if(Y)$=[$,"@",Y];return[T,$]}if(T.at(-1)!==">")R("'>' must be the last character of a generic declaration in a scope");let W=T.slice(0,J),X=T.slice(J+1,-1);return[W,()=>{let F=this.parseGenericParams(X,{alias:W});return Bw(F,$,this)}]}parseGenericParams(T,$){return u6(new q1(T),[],this.createParseContext({...$,def:T,prefix:"generic"}))}normalizeRootScopeValue(T){if(T0(T)&&!l(T,"generic"))return T();return T}preparseOwnDefinitionFormat(T,$){return{...$,def:T,prefix:$.alias??"type"}}parseOwnDefinitionFormat(T,$){if(!($.alias&&($.alias in this.aliases))&&!$.args)$.args={this:$.id};let W=o6(T,$);if(hT(W)){if(W[1]==="=")return R(h6);if(W[1]==="?")return R(v6)}return W}unit=(T)=>this.units([T]);valueOf=(T)=>this.units(oA(T));enumerated=(...T)=>this.units(T);instanceOf=(T)=>this.node("proto",{proto:T},{prereduced:!0});or=(...T)=>this.schema(T.map(($)=>this.parse($)));and=(...T)=>T.reduce(($,J)=>$.and(this.parse(J)),this.intrinsic.unknown);merge=(...T)=>T.reduce(($,J)=>$.merge(this.parse(J)),this.intrinsic.object);pipe=(...T)=>this.intrinsic.unknown.pipe(...T);match=new b5(this);declare=()=>({type:this.type});define(T){return T}type=new p5(this);static scope=(T,$={})=>new d6(T,$);static module=(T,$={})=>this.scope(T,$).export()}var u5=Object.assign(d6.scope,{define:(T)=>T}),OT=d6;class YO extends v${description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var DR=NJ(["base",e.object],["props",e.object])((T)=>T.base.merge(T.props),YO),GO=OT.module({Key:e.key,Merge:DR});class HO extends v${}var KR=NJ("element")((T)=>{let $=T.element.exclude(e.Array),J=$.array();return $.rawOr(J).pipe(e1).distribute((W)=>W.assertHasKind("morph").declareOut(J),qT)},HO),MO=OT.module({root:e.Array,readonly:"root",index:e.nonNegativeIntegerString,liftFrom:KR},{name:"Array"});var c5=qT(["string",n0.FileConstructor]),SR=c5.rawOr(c5.array()),zO=qT({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:SR}}),AO=OT.module({root:["instanceof",FormData],value:c5,parsed:zO,parse:qT({in:FormData,morphs:(T)=>{let $={};for(let[J,W]of T)if(J in $){let X=$[J];if(typeof X==="string"||X instanceof n0.FileConstructor)$[J]=[X,W];else X.push(W)}else $[J]=W;return $},declaredOut:zO})},{name:"FormData"});var wO=OT.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"});var VR={Boolean:1,Number:1,String:1},QO=OT.module({...YT({...q9,...y9},(T,$)=>(T in VR)?[]:[T,["instanceof",$]]),Array:MO,TypedArray:wO,FormData:AO});var ER=qT({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),RR=qT({domain:"number",divisor:1}),l6=OT.module({root:e.number,integer:RR,epoch:ER,safe:qT({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"});var iT=(T,$,J)=>{let W={domain:"string",pattern:{rule:T.source,flags:T.flags,meta:$}};if(J)W.meta={format:J};return YX("intersection",W)},OO=iT(e2,"a well-formed integer string"),NO=OT.module({root:OO,parse:qT({in:OO,morphs:(T,$)=>{let J=Number.parseInt(T);return Number.isSafeInteger(J)?J:$.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:e.integer})},{name:"string.integer"}),LR=iT(/^[\dA-Fa-f]+$/,"hex characters only"),BR=OT.module({root:iT(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:iT(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),UO=iT(/^[A-Z].*$/,"capitalized"),fR=OT.module({root:qT({in:"string",morphs:(T)=>T.charAt(0).toUpperCase()+T.slice(1),declaredOut:UO}),preformatted:UO},{name:"string.capitalize"}),NR=(T)=>{let $=T.replaceAll(/[ -]+/g,""),J=0,W,X,F=!1;for(let Y=$.length-1;Y>=0;Y--){if(W=$.substring(Y,Y+1),X=Number.parseInt(W,10),F)X*=2,J+=X>=10?X%10+1:X;else J+=X;F=!F}return!!(J%10===0?$:!1)},CR=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,ZR=qT({domain:"string",pattern:{meta:"a credit card number",rule:CR.source},predicate:{meta:"a credit card number",predicate:NR}});var qR=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;var kR=(T)=>!Number.isNaN(new Date(T).valueOf()),_O=qT({domain:"string",predicate:{meta:"a parsable date",predicate:kR}}).assertHasKind("intersection"),DO=NO.root.internal.narrow((T,$)=>{let J=Number.parseInt(T),W=l6.epoch(J);if(W instanceof $J)return $.errors.merge(W),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),yR=OT.module({root:DO,parse:qT({in:DO,morphs:(T)=>new Date(T),declaredOut:e.Date})},{name:"string.date.epoch"}),KO=iT(qR,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),IR=OT.module({root:KO,parse:qT({in:KO,morphs:(T)=>new Date(T),declaredOut:e.Date})},{name:"string.date.iso"}),jR=OT.module({root:_O,parse:qT({declaredIn:_O,in:"string",morphs:(T,$)=>{let J=new Date(T);if(Number.isNaN(J.valueOf()))return $.error("a parsable date");return J},declaredOut:e.Date}),iso:IR,epoch:yR},{name:"string.date"}),xR=iT(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),SO="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",Y0=`(${SO}[.]){3}${SO}`,PR=new RegExp(`^${Y0}$`),H$="(?:[0-9a-fA-F]{1,4})",bR=new RegExp(`^((?:${H$}:){7}(?:${H$}|:)|(?:${H$}:){6}(?:${Y0}|:${H$}|:)|(?:${H$}:){5}(?::${Y0}|(:${H$}){1,2}|:)|(?:${H$}:){4}(?:(:${H$}){0,1}:${Y0}|(:${H$}){1,3}|:)|(?:${H$}:){3}(?:(:${H$}){0,2}:${Y0}|(:${H$}){1,4}|:)|(?:${H$}:){2}(?:(:${H$}){0,3}:${Y0}|(:${H$}){1,5}|:)|(?:${H$}:){1}(?:(:${H$}){0,4}:${Y0}|(:${H$}){1,6}|:)|(?::((?::${H$}){0,5}:${Y0}|(?::${H$}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),vR=OT.module({root:["v4 | v6","@","an IP address"],v4:iT(PR,"an IPv4 address","ipv4"),v6:iT(bR,"an IPv6 address","ipv6")},{name:"string.ip"}),zX="a JSON string",CO=(T)=>{if(!(T instanceof SyntaxError))throw T;return`must be ${zX} (${T})`},hR=qT({meta:zX,domain:"string",predicate:{meta:zX,predicate:(T,$)=>{try{return JSON.parse(T),!0}catch(J){return $.reject({code:"predicate",expected:zX,problem:CO(J)})}}}}),mR=(T,$)=>{if(T.length===0)return $.error({code:"predicate",expected:zX,actual:"empty"});try{return JSON.parse(T)}catch(J){return $.error({code:"predicate",expected:zX,problem:CO(J)})}},gR=OT.module({root:hR,parse:qT({meta:"safe JSON string parser",in:"string",morphs:mR,declaredOut:e.jsonObject})},{name:"string.json"}),VO=iT(/^[a-z]*$/,"only lowercase letters"),pR=OT.module({root:qT({in:"string",morphs:(T)=>T.toLowerCase(),declaredOut:VO}),preformatted:VO},{name:"string.lower"}),ZO=["NFC","NFD","NFKC","NFKD"],E8=YT(ZO,(T,$)=>[$,qT({domain:"string",predicate:(J)=>J.normalize($)===J,meta:`${$}-normalized unicode`})]),n6=YT(ZO,(T,$)=>[$,qT({in:"string",morphs:(J)=>J.normalize($),declaredOut:E8[$]})]),uR=OT.module({root:n6.NFC,preformatted:E8.NFC},{name:"string.normalize.NFC"}),cR=OT.module({root:n6.NFD,preformatted:E8.NFD},{name:"string.normalize.NFD"}),oR=OT.module({root:n6.NFKC,preformatted:E8.NFKC},{name:"string.normalize.NFKC"}),dR=OT.module({root:n6.NFKD,preformatted:E8.NFKD},{name:"string.normalize.NFKD"}),lR=OT.module({root:"NFC",NFC:uR,NFD:cR,NFKC:oR,NFKD:dR},{name:"string.normalize"}),EO=iT(V6,"a well-formed numeric string"),nR=OT.module({root:EO,parse:qT({in:EO,morphs:(T)=>Number.parseFloat(T),declaredOut:e.number})},{name:"string.numeric"}),RO="a regex pattern",iR=qT({domain:"string",predicate:{meta:RO,predicate:(T,$)=>{try{return new RegExp(T),!0}catch(J){return $.reject({code:"predicate",expected:RO,problem:String(J)})}}},meta:{format:"regex"}}),tR=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,rR=iT(tR,"a semantic version (see https://semver.org/)"),LO=iT(/^\S.*\S$|^\S?$/,"trimmed"),aR=OT.module({root:qT({in:"string",morphs:(T)=>T.trim(),declaredOut:LO}),preformatted:LO},{name:"string.trim"}),BO=iT(/^[A-Z]*$/,"only uppercase letters"),sR=OT.module({root:qT({in:"string",morphs:(T)=>T.toUpperCase(),declaredOut:BO}),preformatted:BO},{name:"string.upper"}),eR=(T)=>{if(URL.canParse)return URL.canParse(T);try{return new URL(T),!0}catch{return!1}},fO=qT({domain:"string",predicate:{meta:"a URL string",predicate:eR},meta:{format:"uri"}}),TL=OT.module({root:fO,parse:qT({declaredIn:fO,in:"string",morphs:(T,$)=>{try{return new URL(T)}catch{return $.error("a URL string")}},declaredOut:qT(URL)})},{name:"string.url"}),$L=OT.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:iT(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:iT(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:iT(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:iT(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:iT(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:iT(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:iT(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:iT(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),qO=OT.module({root:e.string,alpha:iT(/^[A-Za-z]*$/,"only letters"),alphanumeric:iT(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:LR,base64:BR,capitalize:fR,creditCard:ZR,date:jR,digits:iT(/^\d*$/,"only digits 0-9"),email:xR,integer:NO,ip:vR,json:gR,lower:pR,normalize:lR,numeric:nR,regex:iR,semver:rR,trim:aR,upper:sR,url:TL,uuid:$L},{name:"string"});var kO=OT.module({bigint:e.bigint,boolean:e.boolean,false:e.false,never:e.never,null:e.null,number:e.number,object:e.object,string:e.string,symbol:e.symbol,true:e.true,unknown:e.unknown,undefined:e.undefined}),yO=OT.module({root:e.unknown,any:e.unknown},{name:"unknown"}),JL=OT.module({root:e.jsonObject,stringify:YX("morph",{in:e.jsonObject,morphs:(T)=>JSON.stringify(T),declaredOut:e.string})},{name:"object.json"}),IO=OT.module({root:e.object,json:JL},{name:"object"});class jO extends v${description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var WL=NJ(["K",e.key],"V")((T)=>({domain:"object",index:{signature:T.K,value:T.V}}),jO);class xO extends v${description='pick a set of properties from an object like `Pick(User, "name | age")`'}var XL=NJ(["T",e.object],["K",e.key])((T)=>T.T.pick(T.K),xO);class PO extends v${description='omit a set of properties from an object like `Omit(User, "age")`'}var FL=NJ(["T",e.object],["K",e.key])((T)=>T.T.omit(T.K),PO);class bO extends v${description="make all named properties of an object optional like `Partial(User)`"}var YL=NJ(["T",e.object])((T)=>T.T.partial(),bO);class vO extends v${description="make all named properties of an object required like `Required(User)`"}var GL=NJ(["T",e.object])((T)=>T.T.required(),vO);class hO extends v${description='exclude branches of a union like `Exclude("boolean", "true")`'}var HL=NJ("T","U")((T)=>T.T.exclude(T.U),hO);class mO extends v${description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var ML=NJ("T","U")((T)=>T.T.extract(T.U),mO),gO=OT.module({Exclude:HL,Extract:ML,Omit:FL,Partial:YL,Pick:XL,Record:WL,Required:GL});var G0=u5({...kO,...gO,...QO,...GO,string:qO,number:l6,object:IO,unknown:yO},{prereducedAliases:!0,name:"ark"}),E$=G0.export();Object.assign(MX.ambient,E$);MX.typeAttachments={string:E$.string.root,number:E$.number.root,bigint:E$.bigint,boolean:E$.boolean,symbol:E$.symbol,undefined:E$.undefined,null:E$.null,object:E$.object.root,unknown:E$.unknown.root,false:E$.false,true:E$.true,never:E$.never,arrayIndex:E$.Array.index,Key:E$.Key,Record:E$.Record,Array:E$.Array.root,Date:E$.Date};var k1=Object.assign(G0.type,MX.typeAttachments),zL=G0.match,AL=G0.generic,LXT=G0.schema,wL=G0.define,QL=G0.declare;var OL="__vite_start_time"in globalThis,UL=typeof window!=="undefined",pXT="vitest"in globalThis,y1=k1("string"),pO=k1('"true" | "false" | undefined'),I1=jA({isServer:!OL&&!UL,server:{CI:k1("string | undefined").pipe(Boolean),POSTGRES_USER:y1,POSTGRES_PASSWORD:y1,POSTGRES_DATABASE:y1,POSTGRES_HOST:y1,POSTGRES_PORT:y1.pipe((T)=>Number.parseInt(T,10)),BACKEND_PORT:y1.pipe((T)=>Number.parseInt(T,10)),RUN_WORKERS_FROM_SOURCE:pO.pipe((T)=>T==="true"),FRONTEND_PORT:y1.pipe((T)=>Number.parseInt(T,10)),FRONTEND_ORIGINS:y1.pipe.try((T)=>JSON.parse(T),k1("string[]")),OPENAI_API_KEY:k1("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:y1,VITE_USE_SELF_SIGNED_CERTIFICATE:pO.pipe((T)=>T==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var d5={};J_(d5,{users:()=>r0,userChanges:()=>DL,untrackedUserColumnNames:()=>_L,twoFactorMethod:()=>lO,trackedUserColumnName:()=>dO,trackableUserColumnNames:()=>oO,role:()=>cO,players:()=>o5,passwordResetAttempts:()=>SL,loginHistory:()=>KL,games:()=>i6,banishedIps:()=>t6});function uO(T){return U`lower(${T})`}var cO=v4("role",["admin","user"]),r0=r1("users",{id:AJ().primaryKey().defaultRandom(),username:P$({length:16}).notNull(),email:P$({length:254}).notNull(),password:P$({length:254}).notNull(),createdAt:bJ({withTimezone:!0}).notNull().defaultNow(),createdIp:P$({length:45}).notNull(),isActive:j2().notNull().default(!1),verifiedAt:bJ({withTimezone:!0}),userRole:cO().default("user")},(T)=>[R9("usernameUniqueIndex").on(uO(T.username)),R9("emailUniqueIndex").on(uO(T.email))]),_L=["id","createdAt","createdIp","isActive","verifiedAt"],oO=["username","email","password","userRole"],dO=v4("trackedUserColumnName",oO),DL=r1("userChanges",{id:AJ().primaryKey().defaultRandom(),userId:AJ().notNull().references(()=>r0.id,{onDelete:"cascade"}),changedAt:bJ({withTimezone:!0}).notNull().defaultNow(),changedIp:P$({length:45}).notNull(),changedColumn:dO().notNull(),oldValue:P$({length:255}),newValue:P$({length:255})}),i6=r1("games",{id:AJ().primaryKey().defaultRandom()}),o5=r1("players",{userId:AJ().notNull().references(()=>r0.id,{onDelete:"cascade"}),gameId:AJ().notNull().references(()=>i6.id,{onDelete:"cascade"}),score:l4().notNull()},(T)=>[Iz({name:"players_userId_gameId_pk",columns:[T.userId,T.gameId]})]),KL=r1("loginHistory",{id:AJ().primaryKey().defaultRandom(),userId:AJ().references(()=>r0.id,{onDelete:"cascade"}),loginTime:bJ({withTimezone:!0}).notNull().defaultNow(),ipAddress:P$({length:45}).notNull(),userAgent:P$({length:1024}),successful:j2().notNull().default(!1)}),lO=v4("twoFactorMethod",["email","phone"]),SL=r1("passwordResetAttempts",{id:AJ().primaryKey().defaultRandom(),userId:AJ().notNull().references(()=>r0.id,{onDelete:"cascade"}),requestedIp:P$({length:45}).notNull(),requestedAt:bJ({withTimezone:!0}).notNull().defaultNow(),succeededIp:P$({length:45}),succeededAt:bJ({withTimezone:!0}),verificationMethod:lO().notNull()}),t6=r1("banishedIps",{ip:P$({length:45}).primaryKey(),reason:P$({length:2048}).notNull(),banishedAt:bJ({withTimezone:!0}).notNull().defaultNow(),banishedUntil:bJ({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class l5{options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(VL.resolve(__dirname,"notify_update.sql"));let T=[B$(r0),B$(i6),B$(o5)];await this.sql`SELECT create_notify_triggers(${this.sql.array(T)})`,await this.sql.listen("table_update",($)=>{let J=$.split(","),W=J[0],X=J[1],F=`${W}("${X}")`;if(this.observers.has(F))this.observers.get(F).next(F)})}constructor(T=!1,$={host:I1.POSTGRES_HOST,port:I1.POSTGRES_PORT,user:I1.POSTGRES_USER,password:I1.POSTGRES_PASSWORD,database:I1.POSTGRES_DATABASE}){this.options=$,this.sql=cW($),this.drizzle=K6(this.sql,{schema:d5,logger:T})}observe(T,$){if(!this.observers.has(T))this.observers.set(T,new QT);this.observers.get(T).subscribe("SINGLETON",$)}}import{resolve as LL}from"path";import{existsSync as n5,mkdirSync as nO,readFileSync as EL,readdirSync as iO,rmSync as tO,statSync as rO,writeFileSync as RL}from"fs";import{resolve as i5}from"path";var aO=class{rootDir;get initialized(){return n5(this.rootDir)}initialize(){if(!this.initialized)nO(this.rootDir,{recursive:!0})}constructor(T){if(this.rootDir=T.path,T.eagerInit)this.initialize()}getItem(T){let $=i5(this.rootDir,T);if(n5($))return EL($,"utf-8");return null}setItem(T,$){this.initialize();let J=i5(this.rootDir,T);RL(J,$)}removeItem(T){let $=i5(this.rootDir,T);if(n5($))this.initialize(),tO($)}key(T){return iO(this.rootDir).sort((W,X)=>{let F=rO(W);return rO(X).ctimeMs-F.ctimeMs})[T]??null}clear(){tO(this.rootDir,{recursive:!0}),nO(this.rootDir,{recursive:!0})}get length(){return iO(this.rootDir).length}};var t5=new aO({path:LL(process.cwd(),"storage")});import*as r6 from"fs";import*as sO from"readline";function BL(T){let J=T.replace(":","T").replace(" ","").replace(/(\d{2})\/(\w{3})\/(\d{4})T(.+)/,(W,X,F,Y,G)=>{let M={Jan:"01",Feb:"02",Mar:"03",Apr:"04",May:"05",Jun:"06",Jul:"07",Aug:"08",Sep:"09",Oct:"10",Nov:"11",Dec:"12"}[F];return`${Y}-${M}-${X}T${G}`});return new Date(J)}async function eO(T,$="/var/log/nginx/access.log",J=new Date){let W=new Map;if(!r6.existsSync($))return T.error(`Log file not found: ${$}`),W;let X=r6.createReadStream($),F=sO.createInterface({input:X,crlfDelay:Number.POSITIVE_INFINITY}),Y=new Date(J.getTime()-3600000);return F.on("line",(G)=>{let H=/^(?<ip>\S+) \S+ \S+ \[(?<dateTime>.*?)\]/,M=G.match(H);if(M?.groups){let z=M.groups.ip,A=M.groups.dateTime,w=BL(A);if(!Number.isNaN(w.getTime())){if(w>=Y&&w<=J){let _=W.get(z);if(!_)_=[],W.set(z,_);_.push(G)}}else T.error(`Failed to parse date: ${A}`)}}),new Promise((G,H)=>{F.on("error",(M)=>{H(M)}),F.on("close",()=>{G(W)})})}function TU(T){return T.toJsonSchema()}var fL=["Network security adjudicator, your job is to determine if an IP address should be banned.","The IP address in question created the following logs on our server today:","```nginx.log\n"].join(`
|
|
139
|
-
`);function $U(T){return
|
|
138
|
+
`)+"}");class P6{config;resolvedConfig;name;get[o$](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(T,$){if(this.config=G8(k.config,$),this.resolvedConfig=G8(k.resolvedConfig,$),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(V5).length}`,this.name in V5)E(`A Scope already named ${this.name} already exists`);V5[this.name]=this;let J=Object.entries(T).map((W)=>this.preparseOwnAliasEntry(...W));for(let[W,X]of J){let Y=W;if(W[0]==="#"){if(Y=W.slice(1),Y in this.aliases)E(wQ(Y));this.aliases[Y]=X}else{if(Y in this.aliases)E(wQ(W));this.aliases[Y]=X,this.exportedNames.push(Y)}if(!l(X,"module")&&!l(X,"generic")&&!T0(X)){let F=this.preparseOwnDefinitionFormat(X,{alias:Y});this.resolutions[Y]=l(F,"root")?this.bindReference(F):this.createParseContext(F).id}}QQ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[QQ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=k.intrinsic?FT(k.intrinsic,(W,X)=>W.startsWith("json")?[]:[W,this.bindReference(X)]):{}}cacheGetter(T,$){return Object.defineProperty(this,T,{value:$}),$}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(T){return T}generic=(...T)=>{let $=this;return(J,W)=>new Y0(T,W?new C6(J):J,$,$,W??null)};units=(T,$)=>{let J=[];for(let X of T)if(!J.includes(X))J.push(X);let W=J.map((X)=>this.node("unit",{unit:X},$));return this.node("union",W,{...$,prereduced:!0})};lazyResolutions=[];lazilyResolve(T,$){let J=this.node("alias",{reference:$??"synthetic",resolve:T},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(J);return J}schema=(T,$)=>this.finalize(this.parseSchema(T,$));parseSchema=(T,$)=>this.node(z8(T),T,$);preparseNode(T,$,J){let W=typeof T==="string"?T:z8($,T);if(uT($)&&$.kind===W)return $;if(W==="alias"&&!J?.prereduced){let{reference:F}=K8.implementation.normalize($,this);if(F.startsWith("$")){let G=this.resolveRoot(F.slice(1));$=G,W=G.kind}}else if(W==="union"&&e$($,"object")){let F=LR($);if(F?.length===1)$=F[0],W=z8($)}if(uT($)&&$.kind===W)return $;let Y=$X[W].normalize?.($,this)??$;if(uT(Y))return Y.kind===W?Y:BR(W,Y.kind);return{...J,$:this,kind:W,def:Y,prefix:J.alias??W}}bindReference(T){let $;if(uT(T))$=T.$===this?T:new T.constructor(T.attachments,this);else $=T.$===this?T:new Y0(T.params,T.bodyDef,T.$,this,T.hkt);if(!this.resolved)Object.assign(this.referencesById,$.referencesById);return $}resolveRoot(T){return this.maybeResolveRoot(T)??E(E5(T))}maybeResolveRoot(T){let $=this.maybeResolve(T);if(l($,"generic"))return;return $}maybeResolveSubalias(T){return S5(this.aliases,T)??S5(this.ambient,T)}get ambient(){return k.ambient}maybeResolve(T){let $=this.resolutions[T];if($){if(typeof $!=="string")return this.bindReference($);let W=d$[$];if(l(W,"root"))return this.resolutions[T]=W;if(l(W,"context")){if(W.phase==="resolving")return this.node("alias",{reference:`$${T}`},{prereduced:!0});if(W.phase==="resolved")return ET(`Unexpected resolved context for was uncached by its scope: ${GT(W)}`);W.phase="resolving";let X=this.bindReference(this.parseOwnDefinitionFormat(W.def,W));return W.phase="resolved",d$[X.id]=X,d$[W.id]=X,this.resolutions[T]=X}return ET(`Unexpected nodesById entry for ${$}: ${GT(W)}`)}let J=this.aliases[T]??this.ambient?.[T];if(!J)return this.maybeResolveSubalias(T);if(J=this.normalizeRootScopeValue(J),l(J,"generic"))return this.resolutions[T]=this.bindReference(J);if(l(J,"module")){if(!J.root)E(SQ(T));return this.resolutions[T]=this.bindReference(J.root)}return this.resolutions[T]=this.parse(J,{alias:T})}createParseContext(T){let $=T.id??J5(T.prefix);return d$[$]=Object.assign(T,{[o$]:"context",$:this,id:$,phase:"unresolved"})}traversal(T){return new gJ(T,this.resolvedConfig)}import(...T){return new XX(FT(this.export(...T),($,J)=>[`#${$}`,J]))}precompilation;_exportedResolutions;_exports;export(...T){if(!this._exports){this._exports={};for(let J of this.exportedNames){let W=this.aliases[J];this._exports[J]=l(W,"module")?D5(W,this):OQ(this.maybeResolve(J))}for(let J of this.lazyResolutions)J.resolution;if(this._exportedResolutions=VQ(this,this._exports),this._json=DQ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let J=KQ(this.references);this.precompilation=J.write(UQ,4),_Q(this.references,J)}this.resolved=!0}let $=T.length?T:this.exportedNames;return new XX(FT($,(J,W)=>[W,this._exports[W]]))}resolve(T){return this.export()[T]}node=(T,$,J={})=>{let W=this.preparseNode(T,$,J);if(uT(W))return this.bindReference(W);let X=this.createParseContext(W),Y=W5(X),F=this.bindReference(Y);return d$[X.id]=F};parse=(T,$={})=>this.finalize(this.parseDefinition(T,$));parseDefinition(T,$={}){if(l(T,"root"))return this.bindReference(T);let J=this.preparseOwnDefinitionFormat(T,$);if(l(J,"root"))return this.bindReference(J);let W=this.createParseContext(J);d$[W.id]=W;let X=this.bindReference(this.parseOwnDefinitionFormat(T,W));if(X.isCyclic)X=mw(X,W.id);return d$[W.id]=X,X}finalize(T){if(OQ(T),!T.precompilation&&!this.resolvedConfig.jitless)fR(T.references);return T}}class R5 extends P6{parseOwnDefinitionFormat(T,$){return W5($)}preparseOwnDefinitionFormat(T,$){return this.preparseNode(z8(T),T,$)}preparseOwnAliasEntry(T,$){return[T,$]}normalizeRootScopeValue(T){return T}}var OQ=(T)=>{let $=T.references.filter((J)=>J.hasKind("alias"));for(let J of $){Object.assign(J.referencesById,J.resolution.referencesById);for(let W of T.references)if(J.id in W.referencesById)Object.assign(W.referencesById,J.referencesById)}return T},DQ=(T)=>FT(T,($,J)=>[$,l(J,"root")||l(J,"generic")?J.json:l(J,"module")?DQ(J):ET(`Unexpected resolution ${GT(J)}`)]),S5=(T,$)=>{let J=$.indexOf(".");if(J===-1)return;let W=$.slice(0,J),X=T[W];if(X===void 0)return;if(!l(X,"module"))return E(NR(W));let Y=$.slice(J+1),F=X[Y];if(F===void 0)return S5(X,Y);if(l(F,"root")||l(F,"generic"))return F;if(l(F,"module"))return F.root??E(SQ($));ET(`Unexpected resolution for alias '${$}': ${GT(F)}`)},b6=(T,$)=>new R5(T,$),S8=new R5({});var VQ=(T,$)=>{let J={};for(let W in $){let X=$[W];if(l(X,"module")){let Y=VQ(T,X),F=FT(Y,(G,H)=>[`${W}.${G}`,H]);Object.assign(J,F)}else if(l(X,"root")||l(X,"generic"))J[W]=X;else ET(`Unexpected scope resolution ${GT(X)}`)}return J},E5=(T)=>`'${T}' is unresolvable`,NR=(T)=>`'${T}' must reference a module to be accessed using dot syntax`,SQ=(T)=>`Reference to submodule '${T}' must specify an alias`;S8.export();var{schema:qT,node:YX,defineSchema:T1T,generic:NJ}=S8;var L5="^(?:0|[1-9]\\d*)$",CR=new RegExp(L5),W1T=aT(CR);var RQ=b6({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();k.intrinsic={...RQ};var EQ=b6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:L5}},{prereducedAliases:!0}).export();Object.assign(k.intrinsic,EQ);var ZR=b6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),e={...RQ,...EQ,...ZR,emptyStructure:YX("structure",{},{prereduced:!0})};k.intrinsic={...e};var BQ=(T)=>typeof T==="string"&&T[0]==="d"&&(T[1]==="'"||T[1]==='"')&&T.at(-1)===T[1],LQ=(T)=>T.toString()!=="Invalid Date",fQ=(T)=>T.slice(2,-1),B5=(T)=>`'${T}' could not be parsed by the Date constructor`,NQ=(T,$)=>qR(T,$),qR=(T,$)=>{let J=new Date(T);if(LQ(J))return J;let W=Xw(T);if(W!==void 0){let X=new Date(W);if(LQ(X))return X}return $?E($===!0?B5(T):$):void 0};var f5=(T,$)=>{let J=T.scanner.shiftUntil(kR[ZQ[$]]);if(T.scanner.lookahead==="")return T.error(IR(J,$));if(T.scanner.shift(),$==="/"){try{new RegExp(J)}catch(W){E(String(W))}T.root=T.ctx.$.node("intersection",{domain:"string",pattern:J},{prereduced:!0})}else if(S$($,N5))T.root=T.ctx.$.node("unit",{unit:J});else{let W=NQ(J,B5(J));T.root=T.ctx.$.node("unit",{meta:J,unit:W})}},N5={"'":1,'"':1},CQ={"/":1,"'":1,'"':1},ZQ={"d'":"'",'d"':'"',"'":"'",'"':'"',"/":"/"},kR={"'":(T)=>T.lookahead==="'",'"':(T)=>T.lookahead==='"',"/":(T)=>T.lookahead==="/"},yR={'"':"double-quote","'":"single-quote","/":"forward slash"},IR=(T,$)=>`${$}${T} requires a closing ${yR[ZQ[$]]}`;var qQ=(T)=>`Private type references should not include '#'. Use '${T}' instead.`,v6="Optional definitions like 'string?' are only valid as properties in an object or tuple",h6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var kQ={">":!0,">=":!0},yQ={"<":!0,"<=":!0};var FX={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},IQ=(T)=>`Unmatched )${T===""?"":` before ${T}`}`,g6=(T)=>`Missing ${T}`,jQ=(T,$)=>`Left bounds are only valid when paired with right bounds (try ...${$}${T})`,m6=(T)=>`Left-bounded expressions must specify their limits using < or <= (was ${T})`,xQ=(T,$,J,W)=>`An expression may have at most one left bound (parsed ${T}${FX[$]}, ${J}${FX[W]})`;var PQ=(T,$,J)=>bQ(T,$,J,[]),bQ=(T,$,J,W)=>{let X=J.parseUntilFinalizer();if(W.push(X.root),X.finalizer===">"){if(W.length!==$.params.length)return J.error(C5(T,$.names,W.map((Y)=>Y.expression)));return W}if(X.finalizer===",")return bQ(T,$,J,W);return X.error(g6(">"))},C5=(T,$,J)=>`${T}<${$.join(", ")}> requires exactly ${$.length} args (got ${J.length}${J.length===0?"":`: ${J.join(", ")}`})`;var Z5=(T)=>{let $=T.scanner.shiftUntilNextTerminator();if($==="keyof")T.addPrefix("keyof");else T.root=xR(T,$)},jR=(T,$,J)=>{if(J.scanner.shiftUntilNonWhitespace(),J.scanner.shift()!=="<")return J.error(C5(T,$.names,[]));let X=PQ(T,$,J);return $(...X)},xR=(T,$)=>PR(T,$)??bR(T,$)??T.error($===""?T.scanner.lookahead==="#"?qQ(T.shiftedByOne().scanner.shiftUntilNextTerminator()):q5(T):E5($)),PR=(T,$)=>{if(T.ctx.args?.[$]){let W=T.ctx.args[$];if(typeof W!=="string")return W;return T.ctx.$.node("alias",{reference:W},{prereduced:!0})}let J=T.ctx.$.maybeResolve($);if(l(J,"root"))return J;if(J===void 0)return;if(l(J,"generic"))return jR($,J,T);return E(`Unexpected resolution ${GT(J)}`)},bR=(T,$)=>{let J=Yw($);if(J!==void 0)return T.ctx.$.node("unit",{unit:J});let W=Gw($);if(W!==void 0)return T.ctx.$.node("unit",{unit:W})},q5=(T)=>{let $=T.previousOperator();return $?k5($,T.scanner.unscanned):vR(T.scanner.unscanned)},k5=(T,$="")=>`Token '${T}' requires a right operand${$?` before '${$}'`:""}`,vR=(T)=>`Expected an expression${T?` before '${T}'`:""}`;var y5=(T)=>T.scanner.lookahead===""?T.error(q5(T)):T.scanner.lookahead==="("?T.shiftedByOne().reduceGroupOpen():T.scanner.lookaheadIsIn(CQ)?f5(T,T.scanner.shift()):T.scanner.lookaheadIsIn($0)?y5(T.shiftedByOne()):T.scanner.lookahead==="d"?T.scanner.nextLookahead in N5?f5(T,`${T.scanner.shift()}${T.scanner.shift()}`):Z5(T):Z5(T);class k1 extends b9{shiftUntilNextTerminator(){return this.shiftUntilNonWhitespace(),this.shiftUntil(()=>(this.lookahead in k1.terminatingChars))}static terminatingChars={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...$0};static finalizingLookaheads={">":1,",":1,"":1,"=":1,"?":1};static lookaheadIsFinalizing=(T,$)=>T===">"?$[0]==="="?$[1]==="=":$.trimStart()===""||S$($.trimStart()[0],k1.terminatingChars):T==="="?$[0]!=="=":T===","||T==="?"}var hQ=(T,$)=>{let J=hR(T,$);if(T.root.hasKind("unit")){if(typeof T.root.unit==="number"){T.reduceLeftBound(T.root.unit,J),T.unsetRoot();return}if(T.root.unit instanceof Date){let W=`d'${T.root.description??T.root.unit.toISOString()}'`;T.unsetRoot(),T.reduceLeftBound(W,J);return}}return mR(T,J)},gQ={"<":1,">":1,"=":1},hR=(T,$)=>T.scanner.lookaheadIs("=")?`${$}${T.scanner.shift()}`:$;var vQ=(T,$,J,W)=>{if(J.extends(k.intrinsic.number)){if(typeof $!=="number")return E(I5(T,$,W));return T==="=="?["min","max"]:T[0]===">"?["min"]:["max"]}if(J.extends(k.intrinsic.lengthBoundable)){if(typeof $!=="number")return E(I5(T,$,W));return T==="=="?["exactLength"]:T[0]===">"?["minLength"]:["maxLength"]}if(J.extends(k.intrinsic.Date))return T==="=="?["after","before"]:T[0]===">"?["after"]:["before"];return E(Cw(J.expression))},gR=(T)=>({rule:BQ(T.limit)?fQ(T.limit):T.limit,exclusive:T.comparator.length===1}),mR=(T,$)=>{let J=T.unsetRoot(),W=T.scanner.location;T.parseOperand();let X=T.unsetRoot(),Y=T.scanner.sliceChars(W,T.scanner.location);if(T.root=J,!X.hasKind("unit")||typeof X.unit!=="number"&&!(X.unit instanceof Date))return T.error(I5($,Y,"right"));let F=X.unit,G=$.length===1,H=vQ($,typeof F==="number"?F:Y,J,"right");for(let A of H)T.constrainRoot(A,$==="=="?{rule:F}:{rule:F,exclusive:G});if(!T.branches.leftBound)return;if(!S$($,yQ))return T.error(m6($));let M=vQ(T.branches.leftBound.comparator,T.branches.leftBound.limit,J,"left");T.constrainRoot(M[0],gR(T.branches.leftBound)),T.branches.leftBound=null},I5=(T,$,J)=>`Comparator ${J==="left"?FX[T]:T} must be ${J==="left"?"preceded":"followed"} by a corresponding literal (was ${$})`;var mQ=(T)=>{T.scanner.shiftUntilNonWhitespace();let $=T.scanner.shiftUntilNextTerminator();T.root=T.root.brand($)};var uQ=(T)=>{let $=T.scanner.shiftUntilNextTerminator(),J=Fw($,{errorOnFail:pQ($)});if(J===0)T.error(pQ(0));T.root=T.root.constrain("divisor",J)},pQ=(T)=>`% operator must be followed by a non-zero integer literal (was ${T})`;var j5=(T)=>{let $=T.scanner.shift();return $===""?T.finalize(""):$==="["?T.scanner.shift()==="]"?T.setRoot(T.root.array()):T.error(pR):$==="|"?T.scanner.lookahead===">"?T.shiftedByOne().pushRootToBranch("|>"):T.pushRootToBranch($):$==="&"?T.pushRootToBranch($):$===")"?T.finalizeGroup():k1.lookaheadIsFinalizing($,T.scanner.unscanned)?T.finalize($):S$($,gQ)?hQ(T,$):$==="%"?uQ(T):$==="#"?mQ(T):($ in $0)?j5(T):T.error(p6($))},p6=(T,$="")=>`'${T}' is not allowed here${$&&` (should be ${$})`}`,pR="Missing expected ']'";var cQ=(T)=>{let $=T.unsetRoot();T.parseOperand();let J=T.unsetRoot();if(!J.hasKind("unit"))return T.error(uR(J.expression));let W=J.unit instanceof Date?()=>new Date(J.unit):J.unit;return[$,"=",W]},uR=(T)=>`Default value '${T}' must a literal value`;var x5=(T,$)=>{let J=$.$.maybeResolveRoot(T);if(J)return J;if(T.endsWith("[]")){let Y=$.$.maybeResolveRoot(T.slice(0,-2));if(Y)return Y.array()}let W=new GX(new k1(T),$),X=cR(W);if(W.finalizer===">")E(p6(">"));return X},cR=(T)=>{T.parseOperand();let $=R8(T).root;if(!$)return ET(`Root was unexpectedly unset after parsing string '${T.scanner.scanned}'`);if(T.finalizer==="=")$=cQ(T);else if(T.finalizer==="?")$=[$,"?"];if(T.scanner.shiftUntilNonWhitespace(),T.scanner.lookahead)E(p6(T.scanner.lookahead));return $},R8=(T)=>{while(T.finalizer===void 0)oR(T);return T},oR=(T)=>T.hasRoot()?T.parseOperator():T.parseOperand();class GX{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(T,$){this.scanner=T,this.ctx=$}error(T){return E(T)}hasRoot(){return this.root!==void 0}setRoot(T){this.root=T}unsetRoot(){let T=this.root;return this.root=void 0,T}constrainRoot(...T){this.root=this.root.constrain(T[0],T[1])}finalize(T){if(this.groups.length)return this.error(g6(")"));this.finalizeBranches(),this.finalizer=T}reduceLeftBound(T,$){let J=FX[$];if(!S$(J,kQ))return this.error(m6($));if(this.branches.leftBound)return this.error(xQ(this.branches.leftBound.limit,this.branches.leftBound.comparator,T,J));this.branches.leftBound={comparator:J,limit:T}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let T=this.groups.pop();if(!T)return this.error(IQ(this.scanner.unscanned));this.branches=T}addPrefix(T){this.branches.prefixes.push(T)}applyPrefixes(){while(this.branches.prefixes.length){let T=this.branches.prefixes.pop();this.root=T==="keyof"?this.root.keyof():ET(`Unexpected prefix '${T}'`)}}pushRootToBranch(T){this.assertRangeUnset(),this.applyPrefixes();let $=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd($)??$,T==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,T==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return R8(new GX(this.scanner,this.ctx))}parseOperator(){return j5(this)}parseOperand(){return y5(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(jQ(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes.at(-1)??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedByOne(){return this.scanner.shift(),this}}var dR="An empty string is not a valid generic parameter name",u6=(T,$,J)=>{T.shiftUntilNonWhitespace();let W=T.shiftUntilNextTerminator();if(W===""){if(T.lookahead===""&&$.length)return $;return E(dR)}return T.shiftUntilNonWhitespace(),lR(T,W,$,J)},oQ="extends ",lR=(T,$,J,W)=>{if(T.shiftUntilNonWhitespace(),T.unscanned.startsWith(oQ))T.jumpForward(oQ.length);else{if(T.lookahead===",")T.shift();return J.push($),u6(T,J,W)}let X=R8(new GX(T,W));return J.push([$,X.root]),u6(T,J,W)};class P5 extends hJ{$;constructor(T){super((...$)=>new E8(T)(...$),{bind:T});this.$=T}in(T){return new E8(this.$,T===void 0?void 0:this.$.parse(T))}at(T,$){return new E8(this.$).at(T,$)}case(T,$){return new E8(this.$).case(T,$)}}class E8 extends hJ{$;in;key;branches=[];constructor(T,$){super((J)=>this.caseEntries(Object.entries(J).map(([W,X])=>W==="default"?[W,X]:[this.$.parse(W),X])));this.$=T,this.in=$}at(T,$){if(this.key)E(iR);if(this.branches.length)E(nR);return this.key=T,$?this.match($):this}case(T,$){return this.caseEntry(this.$.parse(T),$)}caseEntry(T,$){let W=(this.key?this.$.parse({[this.key]:T}):T).pipe($);return this.branches.push(W),this}match(T){return this(T)}strings(T){return this.caseEntries(Object.entries(T).map(([$,J])=>$==="default"?[$,J]:[this.$.node("unit",{unit:$}),J]))}caseEntries(T){for(let $=0;$<T.length;$++){let[J,W]=T[$];if(J==="default"){if($!==T.length-1)E("default may only be specified as the last key of a switch definition");return this.default(W)}if(typeof W!=="function")return E(`Value for case "${J}" must be a function (was ${V$(W)})`);this.caseEntry(J,W)}return this}default(T){if(typeof T==="function")this.case(e.unknown,T);let $={branches:this.branches,ordered:!0};if(T==="never"||T==="assert")$.meta={onFail:dQ};let J=this.$.node("union",$);if(!this.in)return this.$.finalize(J);let W=this.in.pipe(J);if(T==="never"||T==="assert")W=W.configureReferences({onFail:dQ},"self");return this.$.finalize(W)}}var dQ=(T)=>T.throw(),nR="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",iR="At most one key matcher may be specified per expression";var c6=(T,$)=>{if(vT(T)){if(T[1]==="=")return[$.$.parseOwnDefinitionFormat(T[0],$),"=",T[2]];if(T[1]==="?")return[$.$.parseOwnDefinitionFormat(T[0],$),"?"]}return o6(T,$)},lQ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",nQ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var iQ=(T,$)=>{let J,W={},X=d0(T);for(let[F,G]of X){let H=aR(F);if(H.kind==="spread"){if(!$1(W))return E(rR);let _=$.$.parseOwnDefinitionFormat(G,$);if(_.equals(e.object))continue;if(!_.hasKind("intersection")||!_.basis?.equals(e.object))return E(sR(_.expression));J=_.structure;continue}if(H.kind==="undeclared"){if(G!=="reject"&&G!=="delete"&&G!=="ignore")E(tR(G));W.undeclared=G;continue}let M=c6(G,$),A=H;if(H.kind==="required"){if(!vT(M))b5(W,"required",{key:H.normalized,value:M},$);else b5(W,"optional",M[1]==="="?{key:H.normalized,value:M[0],default:M[2]}:{key:H.normalized,value:M[0]},$);continue}if(vT(M)){if(M[1]==="?")E(lQ);if(M[1]==="=")E(nQ)}if(H.kind==="optional"){b5(W,"optional",{key:H.normalized,value:M},$);continue}let z=$.$.parseOwnDefinitionFormat(A.normalized,$),w=x6(z,M,$.$);if(w.index)W.index=VT(W.index,w.index);if(w.required)W.required=VT(W.required,w.required)}let Y=$.$.node("structure",W);return $.$.parseSchema({domain:"object",structure:J?.merge(Y)??Y})},b5=(T,$,J,W)=>{T[$]=VT(T[$],W.$.node($,J))},tR=(T)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${GT(T)})`,rR="Spread operator may only be used as the first key in an object",aR=(T)=>typeof T==="symbol"?{kind:"required",normalized:T}:T.at(-1)==="?"?T.at(-2)===T8?{kind:"required",normalized:`${T.slice(0,-2)}?`}:{kind:"optional",normalized:T.slice(0,-1)}:T[0]==="["&&T.at(-1)==="]"?{kind:"index",normalized:T.slice(1,-1)}:T[0]===T8&&T[1]==="["&&T.at(-1)==="]"?{kind:"required",normalized:T.slice(1)}:T==="..."?{kind:"spread"}:T==="+"?{kind:"undeclared"}:{kind:"required",normalized:T==="\\..."?"...":T==="\\+"?"+":T},sR=(T)=>`Spread operand must resolve to an object literal type (was ${T})`;var rQ=(T,$)=>HE(T)?TO[T[0]](T,$):FE(T)?eQ[T[1]](T,$):null,eR=(T,$)=>$.$.parseOwnDefinitionFormat(T[1],$).keyof(),v5=(T,$)=>{if(T[2]===void 0)return E(k5(T[1],""));let J=$.$.parseOwnDefinitionFormat(T[0],$),W=$.$.parseOwnDefinitionFormat(T[2],$);if(T[1]==="|")return $.$.node("union",{branches:[J,W]});let X=T[1]==="&"?WJ(J,W,$.$):A8(J,W,$.$);if(X instanceof v)return X.throw();return X},TE=(T,$)=>$.$.parseOwnDefinitionFormat(T[0],$).array(),$E=(T,$)=>{if(typeof T[2]!=="function")return E(aQ("=>",T[2]));return $.$.parseOwnDefinitionFormat(T[0],$).pipe(T[2])},aQ=(T,$)=>`${T===":"?"Narrow":"Morph"} expression requires a function following '${T}' (was ${typeof $})`,JE=(T,$)=>{if(typeof T[2]!=="function")return E(aQ(":",T[2]));return $.$.parseOwnDefinitionFormat(T[0],$).constrain("predicate",T[2])},WE=(T,$)=>$.$.parseOwnDefinitionFormat(T[0],$).configureReferences(T[2],"shallow"),sQ=(T)=>T,XE=sQ({"[]":TE,"?":()=>E(v6)}),YE=sQ({"|":v5,"&":v5,":":JE,"=>":$E,"|>":v5,"@":WE,"=":()=>E(h6)}),eQ={...XE,...YE},FE=(T)=>eQ[T[1]]!==void 0,GE=(T)=>T,TO=GE({keyof:eR,instanceof:(T,$)=>{if(typeof T[1]!=="function")return E(tQ(s2(T[1])));let J=T.slice(1).map((W)=>typeof W==="function"?$.$.node("proto",{proto:W}):E(tQ(s2(W))));return J.length===1?J[0]:$.$.node("union",{branches:J})},"===":(T,$)=>$.$.units(T.slice(1))}),HE=(T)=>TO[T[0]]!==void 0,tQ=(T)=>`Expected a constructor following 'instanceof' operator (was ${T})`;var WO=(T,$)=>{let J=[{}],W=0;while(W<T.length){let X=!1;if(T[W]==="..."&&W<T.length-1)X=!0,W++;let Y=c6(T[W],$),[F,G,H]=!vT(Y)?[Y]:Y;if(W++,X){if(!F.extends(k.intrinsic.Array))return E(zE(F.expression));J=J.flatMap((M)=>F.distribute((A)=>AE(L6(M),A)))}else J=J.map((M)=>{if(G==="?")return XO(M,F);if(G==="=")return ME(M,F,H);return h5(M,F)})}return $.$.parseSchema(J.map((X)=>$1(X)?{proto:Array,exactLength:0}:{proto:Array,sequence:X}))},h5=(T,$)=>{if(T.defaultables||T.optionals)return E(T.variadic?U5:wE);if(T.variadic)T.postfix=VT(T.postfix,$);else T.prefix=VT(T.prefix,$);return T},XO=(T,$)=>{if(T.variadic)return E(YO);return T.optionals=VT(T.optionals,$),T},ME=(T,$,J)=>{if(T.variadic)return E(YO);if(T.optionals)return E(QE);return T.defaultables=VT(T.defaultables,[[$,J]]),T},$O=(T,$)=>{if(T.postfix)E(JO);if(T.variadic){if(!T.variadic.equals($))E(JO)}else T.variadic=$.internal;return T},AE=(T,$)=>{let J=$.select({method:"find",kind:"sequence"});if(!J)return $O(T,k.intrinsic.unknown);if(J.prefix)for(let W of J.prefix)h5(T,W);if(J.optionals)for(let W of J.optionals)XO(T,W);if(J.variadic)$O(T,J.variadic);if(J.postfix)for(let W of J.postfix)h5(T,W);return T},zE=(T)=>`Spread element must be an array (was ${T})`,JO="A tuple may have at most one variadic element",wE="A required element may not follow an optional element",YO="An optional element may not follow a variadic element";var QE="A defaultable element may not follow an optional element without a default";var OE={},o6=(T,$)=>{if(typeof T==="string"){if($.args&&Object.keys($.args).some((W)=>T.includes(W)))return x5(T,$);let J=OE[$.$.name]??={};return J[T]??=x5(T,$)}return e$(T,"object")?UE(T,$):E(g5(V$(T)))},UE=(T,$)=>{let J=a2(T);switch(J){case void 0:if(l(T,"root"))return T;return iQ(T,$);case"Array":return _E(T,$);case"RegExp":return $.$.node("intersection",{domain:"string",pattern:T},{prereduced:!0});case"Function":{let W=T0(T)?T():T;if(l(W,"root"))return W;return E(g5("Function"))}default:return E(g5(J??GT(T)))}},_E=(T,$)=>rQ(T,$)??WO(T,$),g5=(T)=>`Type definitions must be strings or objects (was ${T})`;class m5 extends hJ{constructor(T){let $=Object.assign({errors:$J,hkt:b$,$:T,raw:T.parse,module:T.constructor.module,scope:T.constructor.scope,define:T.define,match:T.match,generic:T.generic,schema:T.schema,keywords:T.ambient,unit:T.unit,enumerated:T.enumerated,instanceOf:T.instanceOf,valueOf:T.valueOf,or:T.or,and:T.and,merge:T.merge,pipe:T.pipe},T.ambientAttachments);super((...J)=>{if(J.length===1)return T.parse(J[0]);if(J.length===2&&typeof J[0]==="string"&&J[0][0]==="<"&&J[0].at(-1)===">"){let W=J[0].slice(1,-1),X=T.parseGenericParams(W,{});return new Y0(X,J[1],T,T,null)}return T.parse(J)},{bind:T,attach:$})}}var HX=k;class d6 extends P6{get ambientAttachments(){if(!HX.typeAttachments)return;return this.cacheGetter("ambientAttachments",FT(HX.typeAttachments,(T,$)=>[T,this.bindReference($)]))}preparseOwnAliasEntry(T,$){let J=T.indexOf("<");if(J===-1){if(l($,"module")||l($,"generic"))return[T,$];let Y=this.name==="ark"?T:T==="root"?this.name:`${this.name}.${T}`,F=this.resolvedConfig.keywords?.[Y];if(F)$=[$,"@",F];return[T,$]}if(T.at(-1)!==">")E("'>' must be the last character of a generic declaration in a scope");let W=T.slice(0,J),X=T.slice(J+1,-1);return[W,()=>{let Y=this.parseGenericParams(X,{alias:W});return Bw(Y,$,this)}]}parseGenericParams(T,$){return u6(new k1(T),[],this.createParseContext({...$,def:T,prefix:"generic"}))}normalizeRootScopeValue(T){if(T0(T)&&!l(T,"generic"))return T();return T}preparseOwnDefinitionFormat(T,$){return{...$,def:T,prefix:$.alias??"type"}}parseOwnDefinitionFormat(T,$){if(!($.alias&&($.alias in this.aliases))&&!$.args)$.args={this:$.id};let W=o6(T,$);if(vT(W)){if(W[1]==="=")return E(h6);if(W[1]==="?")return E(v6)}return W}unit=(T)=>this.units([T]);valueOf=(T)=>this.units(oz(T));enumerated=(...T)=>this.units(T);instanceOf=(T)=>this.node("proto",{proto:T},{prereduced:!0});or=(...T)=>this.schema(T.map(($)=>this.parse($)));and=(...T)=>T.reduce(($,J)=>$.and(this.parse(J)),this.intrinsic.unknown);merge=(...T)=>T.reduce(($,J)=>$.merge(this.parse(J)),this.intrinsic.object);pipe=(...T)=>this.intrinsic.unknown.pipe(...T);match=new P5(this);declare=()=>({type:this.type});define(T){return T}type=new m5(this);static scope=(T,$={})=>new d6(T,$);static module=(T,$={})=>this.scope(T,$).export()}var p5=Object.assign(d6.scope,{define:(T)=>T}),OT=d6;class FO extends b${description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var KE=NJ(["base",e.object],["props",e.object])((T)=>T.base.merge(T.props),FO),GO=OT.module({Key:e.key,Merge:KE});class HO extends b${}var DE=NJ("element")((T)=>{let $=T.element.exclude(e.Array),J=$.array();return $.rawOr(J).pipe(e1).distribute((W)=>W.assertHasKind("morph").declareOut(J),qT)},HO),MO=OT.module({root:e.Array,readonly:"root",index:e.nonNegativeIntegerString,liftFrom:DE},{name:"Array"});var u5=qT(["string",n0.FileConstructor]),VE=u5.rawOr(u5.array()),AO=qT({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:VE}}),zO=OT.module({root:["instanceof",FormData],value:u5,parsed:AO,parse:qT({in:FormData,morphs:(T)=>{let $={};for(let[J,W]of T)if(J in $){let X=$[J];if(typeof X==="string"||X instanceof n0.FileConstructor)$[J]=[X,W];else X.push(W)}else $[J]=W;return $},declaredOut:AO})},{name:"FormData"});var wO=OT.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"});var SE={Boolean:1,Number:1,String:1},QO=OT.module({...FT({...Z9,...k9},(T,$)=>(T in SE)?[]:[T,["instanceof",$]]),Array:MO,TypedArray:wO,FormData:zO});var RE=qT({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),EE=qT({domain:"number",divisor:1}),l6=OT.module({root:e.number,integer:EE,epoch:RE,safe:qT({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"});var nT=(T,$,J)=>{let W={domain:"string",pattern:{rule:T.source,flags:T.flags,meta:$}};if(J)W.meta={format:J};return YX("intersection",W)},OO=nT($8,"a well-formed integer string"),NO=OT.module({root:OO,parse:qT({in:OO,morphs:(T,$)=>{let J=Number.parseInt(T);return Number.isSafeInteger(J)?J:$.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:e.integer})},{name:"string.integer"}),LE=nT(/^[\dA-Fa-f]+$/,"hex characters only"),BE=OT.module({root:nT(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:nT(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),UO=nT(/^[A-Z].*$/,"capitalized"),fE=OT.module({root:qT({in:"string",morphs:(T)=>T.charAt(0).toUpperCase()+T.slice(1),declaredOut:UO}),preformatted:UO},{name:"string.capitalize"}),NE=(T)=>{let $=T.replaceAll(/[ -]+/g,""),J=0,W,X,Y=!1;for(let F=$.length-1;F>=0;F--){if(W=$.substring(F,F+1),X=Number.parseInt(W,10),Y)X*=2,J+=X>=10?X%10+1:X;else J+=X;Y=!Y}return!!(J%10===0?$:!1)},CE=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,ZE=qT({domain:"string",pattern:{meta:"a credit card number",rule:CE.source},predicate:{meta:"a credit card number",predicate:NE}});var qE=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;var kE=(T)=>!Number.isNaN(new Date(T).valueOf()),_O=qT({domain:"string",predicate:{meta:"a parsable date",predicate:kE}}).assertHasKind("intersection"),KO=NO.root.internal.narrow((T,$)=>{let J=Number.parseInt(T),W=l6.epoch(J);if(W instanceof $J)return $.errors.merge(W),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),yE=OT.module({root:KO,parse:qT({in:KO,morphs:(T)=>new Date(T),declaredOut:e.Date})},{name:"string.date.epoch"}),DO=nT(qE,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),IE=OT.module({root:DO,parse:qT({in:DO,morphs:(T)=>new Date(T),declaredOut:e.Date})},{name:"string.date.iso"}),jE=OT.module({root:_O,parse:qT({declaredIn:_O,in:"string",morphs:(T,$)=>{let J=new Date(T);if(Number.isNaN(J.valueOf()))return $.error("a parsable date");return J},declaredOut:e.Date}),iso:IE,epoch:yE},{name:"string.date"}),xE=nT(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),VO="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",F0=`(${VO}[.]){3}${VO}`,PE=new RegExp(`^${F0}$`),G$="(?:[0-9a-fA-F]{1,4})",bE=new RegExp(`^((?:${G$}:){7}(?:${G$}|:)|(?:${G$}:){6}(?:${F0}|:${G$}|:)|(?:${G$}:){5}(?::${F0}|(:${G$}){1,2}|:)|(?:${G$}:){4}(?:(:${G$}){0,1}:${F0}|(:${G$}){1,3}|:)|(?:${G$}:){3}(?:(:${G$}){0,2}:${F0}|(:${G$}){1,4}|:)|(?:${G$}:){2}(?:(:${G$}){0,3}:${F0}|(:${G$}){1,5}|:)|(?:${G$}:){1}(?:(:${G$}){0,4}:${F0}|(:${G$}){1,6}|:)|(?::((?::${G$}){0,5}:${F0}|(?::${G$}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),vE=OT.module({root:["v4 | v6","@","an IP address"],v4:nT(PE,"an IPv4 address","ipv4"),v6:nT(bE,"an IPv6 address","ipv6")},{name:"string.ip"}),MX="a JSON string",CO=(T)=>{if(!(T instanceof SyntaxError))throw T;return`must be ${MX} (${T})`},hE=qT({meta:MX,domain:"string",predicate:{meta:MX,predicate:(T,$)=>{try{return JSON.parse(T),!0}catch(J){return $.reject({code:"predicate",expected:MX,problem:CO(J)})}}}}),gE=(T,$)=>{if(T.length===0)return $.error({code:"predicate",expected:MX,actual:"empty"});try{return JSON.parse(T)}catch(J){return $.error({code:"predicate",expected:MX,problem:CO(J)})}},mE=OT.module({root:hE,parse:qT({meta:"safe JSON string parser",in:"string",morphs:gE,declaredOut:e.jsonObject})},{name:"string.json"}),SO=nT(/^[a-z]*$/,"only lowercase letters"),pE=OT.module({root:qT({in:"string",morphs:(T)=>T.toLowerCase(),declaredOut:SO}),preformatted:SO},{name:"string.lower"}),ZO=["NFC","NFD","NFKC","NFKD"],L8=FT(ZO,(T,$)=>[$,qT({domain:"string",predicate:(J)=>J.normalize($)===J,meta:`${$}-normalized unicode`})]),n6=FT(ZO,(T,$)=>[$,qT({in:"string",morphs:(J)=>J.normalize($),declaredOut:L8[$]})]),uE=OT.module({root:n6.NFC,preformatted:L8.NFC},{name:"string.normalize.NFC"}),cE=OT.module({root:n6.NFD,preformatted:L8.NFD},{name:"string.normalize.NFD"}),oE=OT.module({root:n6.NFKC,preformatted:L8.NFKC},{name:"string.normalize.NFKC"}),dE=OT.module({root:n6.NFKD,preformatted:L8.NFKD},{name:"string.normalize.NFKD"}),lE=OT.module({root:"NFC",NFC:uE,NFD:cE,NFKC:oE,NFKD:dE},{name:"string.normalize"}),RO=nT(S6,"a well-formed numeric string"),nE=OT.module({root:RO,parse:qT({in:RO,morphs:(T)=>Number.parseFloat(T),declaredOut:e.number})},{name:"string.numeric"}),EO="a regex pattern",iE=qT({domain:"string",predicate:{meta:EO,predicate:(T,$)=>{try{return new RegExp(T),!0}catch(J){return $.reject({code:"predicate",expected:EO,problem:String(J)})}}},meta:{format:"regex"}}),tE=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,rE=nT(tE,"a semantic version (see https://semver.org/)"),LO=nT(/^\S.*\S$|^\S?$/,"trimmed"),aE=OT.module({root:qT({in:"string",morphs:(T)=>T.trim(),declaredOut:LO}),preformatted:LO},{name:"string.trim"}),BO=nT(/^[A-Z]*$/,"only uppercase letters"),sE=OT.module({root:qT({in:"string",morphs:(T)=>T.toUpperCase(),declaredOut:BO}),preformatted:BO},{name:"string.upper"}),eE=(T)=>{if(URL.canParse)return URL.canParse(T);try{return new URL(T),!0}catch{return!1}},fO=qT({domain:"string",predicate:{meta:"a URL string",predicate:eE},meta:{format:"uri"}}),TL=OT.module({root:fO,parse:qT({declaredIn:fO,in:"string",morphs:(T,$)=>{try{return new URL(T)}catch{return $.error("a URL string")}},declaredOut:qT(URL)})},{name:"string.url"}),$L=OT.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:nT(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:nT(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:nT(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:nT(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:nT(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:nT(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:nT(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:nT(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),qO=OT.module({root:e.string,alpha:nT(/^[A-Za-z]*$/,"only letters"),alphanumeric:nT(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:LE,base64:BE,capitalize:fE,creditCard:ZE,date:jE,digits:nT(/^\d*$/,"only digits 0-9"),email:xE,integer:NO,ip:vE,json:mE,lower:pE,normalize:lE,numeric:nE,regex:iE,semver:rE,trim:aE,upper:sE,url:TL,uuid:$L},{name:"string"});var kO=OT.module({bigint:e.bigint,boolean:e.boolean,false:e.false,never:e.never,null:e.null,number:e.number,object:e.object,string:e.string,symbol:e.symbol,true:e.true,unknown:e.unknown,undefined:e.undefined}),yO=OT.module({root:e.unknown,any:e.unknown},{name:"unknown"}),JL=OT.module({root:e.jsonObject,stringify:YX("morph",{in:e.jsonObject,morphs:(T)=>JSON.stringify(T),declaredOut:e.string})},{name:"object.json"}),IO=OT.module({root:e.object,json:JL},{name:"object"});class jO extends b${description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var WL=NJ(["K",e.key],"V")((T)=>({domain:"object",index:{signature:T.K,value:T.V}}),jO);class xO extends b${description='pick a set of properties from an object like `Pick(User, "name | age")`'}var XL=NJ(["T",e.object],["K",e.key])((T)=>T.T.pick(T.K),xO);class PO extends b${description='omit a set of properties from an object like `Omit(User, "age")`'}var YL=NJ(["T",e.object],["K",e.key])((T)=>T.T.omit(T.K),PO);class bO extends b${description="make all named properties of an object optional like `Partial(User)`"}var FL=NJ(["T",e.object])((T)=>T.T.partial(),bO);class vO extends b${description="make all named properties of an object required like `Required(User)`"}var GL=NJ(["T",e.object])((T)=>T.T.required(),vO);class hO extends b${description='exclude branches of a union like `Exclude("boolean", "true")`'}var HL=NJ("T","U")((T)=>T.T.exclude(T.U),hO);class gO extends b${description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var ML=NJ("T","U")((T)=>T.T.extract(T.U),gO),mO=OT.module({Exclude:HL,Extract:ML,Omit:YL,Partial:FL,Pick:XL,Record:WL,Required:GL});var G0=p5({...kO,...mO,...QO,...GO,string:qO,number:l6,object:IO,unknown:yO},{prereducedAliases:!0,name:"ark"}),R$=G0.export();Object.assign(HX.ambient,R$);HX.typeAttachments={string:R$.string.root,number:R$.number.root,bigint:R$.bigint,boolean:R$.boolean,symbol:R$.symbol,undefined:R$.undefined,null:R$.null,object:R$.object.root,unknown:R$.unknown.root,false:R$.false,true:R$.true,never:R$.never,arrayIndex:R$.Array.index,Key:R$.Key,Record:R$.Record,Array:R$.Array.root,Date:R$.Date};var pJ=Object.assign(G0.type,HX.typeAttachments),AL=G0.match,zL=G0.generic,fXT=G0.schema,wL=G0.define,QL=G0.declare;var OL="__vite_start_time"in globalThis,UL=typeof window!=="undefined",cXT="vitest"in globalThis,y1=pJ("string"),pO=pJ('"true" | "false" | undefined'),I1=jz({isServer:!OL&&!UL,server:{CI:pJ("string | undefined").pipe(Boolean),POSTGRES_USER:y1,POSTGRES_PASSWORD:y1,POSTGRES_DATABASE:y1,POSTGRES_HOST:y1,POSTGRES_PORT:y1.pipe((T)=>Number.parseInt(T,10)),BACKEND_PORT:y1.pipe((T)=>Number.parseInt(T,10)),RUN_WORKERS_FROM_SOURCE:pO.pipe((T)=>T==="true"),FRONTEND_PORT:y1.pipe((T)=>Number.parseInt(T,10)),FRONTEND_ORIGINS:y1.pipe.try((T)=>JSON.parse(T),pJ("string[]")),API_KEY_OPENAI:pJ("string | undefined"),API_KEY_RESEND:pJ("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:y1,VITE_DEV_FRONTEND_HOST:pJ("string | undefined"),VITE_DEV_HTTPS:pO.pipe((T)=>T==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var o5={};J_(o5,{users:()=>r0,untrackedUserColumnNames:()=>_L,twoFactorMethod:()=>lO,trackedUserColumnName:()=>KL,trackableUserColumnNames:()=>oO,signInHistory:()=>VL,role:()=>cO,players:()=>c5,passwordResetAttempts:()=>SL,games:()=>i6,banishedIps:()=>t6,accountActions:()=>DL,accountAction:()=>dO});function uO(T){return U`lower(${T})`}var cO=Z2("role",["admin","user"]),r0=r1("users",{id:RJ().primaryKey().defaultRandom(),username:u$({length:16}).notNull(),emailOffered:u$({length:254}).notNull(),emailVerified:u$({length:254}),password:u$({length:254}),createdAt:bJ({withTimezone:!0}).notNull().defaultNow(),createdIp:u$({length:45}).notNull(),isActive:x2().notNull().default(!1),verifiedAt:bJ({withTimezone:!0}),userRole:cO().default("user")},(T)=>[R9("usernameUniqueIndex").on(uO(T.username)),R9("emailVerifiedUniqueIndex").on(uO(T.emailVerified))]),_L=["id","createdAt","createdIp","isActive","verifiedAt"],oO=["username","emailOffered","emailVerified","password","userRole"],KL=Z2("trackedUserColumnName",oO),dO=Z2("accountAction",["cooldown","confirmEmail","signIn","resetPassword"]),DL=r1("accountActions",{userId:RJ().references(()=>r0.id).primaryKey(),action:dO().notNull(),code:u$({length:254}).notNull(),wrongCodeCount:P2().notNull().default(0),expiresAt:bJ({withTimezone:!0}).notNull()}),i6=r1("games",{id:RJ().primaryKey().defaultRandom()}),c5=r1("players",{userId:RJ().notNull().references(()=>r0.id,{onDelete:"cascade"}),gameId:RJ().notNull().references(()=>i6.id,{onDelete:"cascade"}),score:P2().notNull()},(T)=>[IA({name:"players_userId_gameId_pk",columns:[T.userId,T.gameId]})]),VL=r1("signInHistory",{id:RJ().primaryKey().defaultRandom(),userId:RJ().references(()=>r0.id,{onDelete:"cascade"}),signInTime:bJ({withTimezone:!0}).notNull().defaultNow(),ipAddress:u$({length:45}).notNull(),userAgent:u$({length:1024}),successful:x2().notNull().default(!1)}),lO=Z2("twoFactorMethod",["email","phone"]),SL=r1("passwordResetAttempts",{id:RJ().primaryKey().defaultRandom(),userId:RJ().notNull().references(()=>r0.id,{onDelete:"cascade"}),requestedIp:u$({length:45}).notNull(),requestedAt:bJ({withTimezone:!0}).notNull().defaultNow(),succeededIp:u$({length:45}),succeededAt:bJ({withTimezone:!0}),verificationMethod:lO().notNull()}),t6=r1("banishedIps",{ip:u$({length:45}).primaryKey(),reason:u$({length:2048}).notNull(),banishedAt:bJ({withTimezone:!0}).notNull().defaultNow(),banishedUntil:bJ({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class d5{options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(RL.resolve(__dirname,"notify_update.sql"));let T=[B$(r0),B$(i6),B$(c5)];await this.sql`SELECT create_notify_triggers(${this.sql.array(T)})`,await this.sql.listen("table_update",($)=>{let J=$.split(","),W=J[0],X=J[1],Y=`${W}("${X}")`;if(this.observers.has(Y))this.observers.get(Y).next(Y)})}constructor(T=!1,$={host:I1.POSTGRES_HOST,port:I1.POSTGRES_PORT,user:I1.POSTGRES_USER,password:I1.POSTGRES_PASSWORD,database:I1.POSTGRES_DATABASE}){this.options=$,this.sql=uW($),this.drizzle=D6(this.sql,{schema:o5,logger:T})}observe(T,$){if(!this.observers.has(T))this.observers.set(T,new QT);this.observers.get(T).subscribe("SINGLETON",$)}}import{resolve as BL}from"path";import{existsSync as l5,mkdirSync as nO,readFileSync as EL,readdirSync as iO,rmSync as tO,statSync as rO,writeFileSync as LL}from"fs";import{resolve as n5}from"path";var aO=class{rootDir;get initialized(){return l5(this.rootDir)}initialize(){if(!this.initialized)nO(this.rootDir,{recursive:!0})}constructor(T){if(this.rootDir=T.path,T.eagerInit)this.initialize()}getItem(T){let $=n5(this.rootDir,T);if(l5($))return EL($,"utf-8");return null}setItem(T,$){this.initialize();let J=n5(this.rootDir,T);LL(J,$)}removeItem(T){let $=n5(this.rootDir,T);if(l5($))this.initialize(),tO($)}key(T){return iO(this.rootDir).sort((W,X)=>{let Y=rO(W);return rO(X).ctimeMs-Y.ctimeMs})[T]??null}clear(){tO(this.rootDir,{recursive:!0}),nO(this.rootDir,{recursive:!0})}get length(){return iO(this.rootDir).length}};var i5=new aO({path:BL(process.cwd(),"storage")});import*as r6 from"fs";import*as sO from"readline";function fL(T){let J=T.replace(":","T").replace(" ","").replace(/(\d{2})\/(\w{3})\/(\d{4})T(.+)/,(W,X,Y,F,G)=>{let M={Jan:"01",Feb:"02",Mar:"03",Apr:"04",May:"05",Jun:"06",Jul:"07",Aug:"08",Sep:"09",Oct:"10",Nov:"11",Dec:"12"}[Y];return`${F}-${M}-${X}T${G}`});return new Date(J)}async function eO(T,$="/var/log/nginx/access.log",J=new Date){let W=new Map;if(!r6.existsSync($))return T.error(`Log file not found: ${$}`),W;let X=r6.createReadStream($),Y=sO.createInterface({input:X,crlfDelay:Number.POSITIVE_INFINITY}),F=new Date(J.getTime()-3600000);return Y.on("line",(G)=>{let H=/^(?<ip>\S+) \S+ \S+ \[(?<dateTime>.*?)\]/,M=G.match(H);if(M?.groups){let A=M.groups.ip,z=M.groups.dateTime,w=fL(z);if(!Number.isNaN(w.getTime())){if(w>=F&&w<=J){let _=W.get(A);if(!_)_=[],W.set(A,_);_.push(G)}}else T.error(`Failed to parse date: ${z}`)}}),new Promise((G,H)=>{Y.on("error",(M)=>{H(M)}),Y.on("close",()=>{G(W)})})}function TU(T){return T.toJsonSchema()}var NL=["Network security adjudicator, your job is to determine if an IP address should be banned.","The IP address in question created the following logs on our server today:","```nginx.log\n"].join(`
|
|
139
|
+
`);function $U(T){return NL+T.join(`
|
|
140
140
|
|
|
141
|
-
`)}var JU={schema:
|
|
142
|
-
`));let f=!1;for(let C of
|
|
143
|
-
`),f=!0;break}if(f)continue;if(T.usdBudget>T.usdMinimum){let C=$U(
|
|
144
|
-
`);else
|
|
145
|
-
`);M++}else{J.warn("\uD83D\uDCB0 insufficient funds to process all logs"),J.warn(`\uD83D\uDCB0 got through ${M}/${
|
|
146
|
-
`);break}}let
|
|
141
|
+
`)}var JU={schema:pJ([{shouldBanIp:"false"},"|",{shouldBanIp:"true",veryConciseReason:"string"}]),toJsonSchema:TU,fallback:{shouldBanIp:!1}};var ZL=[".env","php"];async function WU({generator:T,logFilePath:$,logger:J,now:W=new Date}){let X=T.usdBudget,Y=new d5({logQuery(y,S){J.info("\uD83D\uDCDD query",y,S)}}),F=await eO(J,$,W),G=[],H=T.from(JU),M=0,A=0;for(let[y,S]of F){J.info(`\uD83D\uDD0D ruling on ${y}. logs:`),J.info(S.map((C)=>` ${C}`).join(`
|
|
142
|
+
`));let f=!1;for(let C of ZL)if(S.some((B)=>B.includes(C))){G.push({ip:y,reason:`Always ban ${C}`}),J.info(` \uD83E\uDDD1\u200D\u2696\uFE0F banning ${y}--always ban ${C}
|
|
143
|
+
`),f=!0;break}if(f)continue;if(T.usdBudget>T.usdMinimum){let C=$U(S),B=await H(C);if(B.shouldBanIp)G.push({ip:y,reason:B.veryConciseReason}),J.info(` \uD83E\uDDD1\u200D\u2696\uFE0F banning ${y}--${B.veryConciseReason}
|
|
144
|
+
`);else A++,J.info(` \uD83D\uDD4A\uFE0F not banning ${y}
|
|
145
|
+
`);M++}else{J.warn("\uD83D\uDCB0 insufficient funds to process all logs"),J.warn(`\uD83D\uDCB0 got through ${M}/${F.size} ips
|
|
146
|
+
`);break}}let z=G.length;if(G.length>0)await Y.drizzle.insert(t6).values(G).onConflictDoNothing();let w=[],_=i5.getItem("lastTribunalProcessedDate"),K=new Date(_??"1970-01-01");try{w.push(...await Y.drizzle.query.banishedIps.findMany({columns:{ip:!0},where:$6(t6.banishedAt,K)}))}catch(y){J.error(y)}try{if(process.env.EXPERIMENTAL_BAN_IPS)await Promise.all(w.map((y)=>new Promise((S,f)=>CL(`iptables -D INPUT -s ${y.ip} -j DROP`).on("exit",(C)=>{if(C===0)J.info(`\uD83E\uDDD1\u200D\u2696\uFE0F banned ${y.ip}`),S();else f(new Error(`iptables exited with code ${C}`))}))));else J.info("\uD83E\uDDD1\u200D\u2696\uFE0F skipping iptables update")}catch(y){if(y instanceof Error)J.error(y.message);else{let S=vW(y);J.error("iptables exited with error",S)}}i5.setItem("lastTribunalProcessedDate",W.toISOString()),J.info(`\u2728 banned ${z} ips, didn't ban ${A} ips`);let V=X-T.usdBudget,Z=V.toLocaleString("en",{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:6}),q=X.toLocaleString("en",{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:6}),N=Math.round(V/X*100);J.info(`\uD83D\uDCB8 spent ${Z}, ${N}% of ${q} budget`)}var j1=new RY;Object.assign(console,j1.logger,{log:j1.logger.info});process.on("SIGINT",()=>{j1.logger.info("\u2757 received SIGINT; exiting gracefully"),a6()});process.on("SIGTERM",()=>{j1.logger.info("\u2757 received SIGTERM; exiting gracefully"),a6()});process.on("exit",()=>{j1.logger.info("\u2757 received exit; exiting gracefully"),a6()});j1.logger.info("\uD83D\uDEEB tribunal worker ready");var qL=new AH({usdBudget:0.01,usdMinimum:0,model:"gpt-4o-mini",apiKey:I1.API_KEY_OPENAI,cachingMode:"off",logger:j1.logger});if(I1.API_KEY_OPENAI===void 0&&!("VITEST"in import.meta.env))throw new Error("OPENAI_API_KEY is not set and vitest is not running.");await WU({generator:qL,logFilePath:"/var/log/nginx/access.log",logger:j1.logger});a6();function a6(){j1.logger.info("\uD83D\uDEEC tribunal server exiting"),process.exit(0)}
|