tempest.games 0.2.12 → 0.2.13
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 +7 -0
- package/app/assets/index-DufnWinX.js +109 -0
- package/app/index.html +1 -1
- package/bin/backend.bun.js +161 -161
- package/bin/backend.worker.tribunal.bun.js +83 -81
- package/bin/frontend.bun.js +1 -1
- package/bin/setup-db.bun.js +55 -55
- package/package.json +13 -13
- package/app/assets/index-BG6T8CzE.js +0 -109
package/bin/frontend.bun.js
CHANGED
|
@@ -46,7 +46,7 @@ ${$},
|
|
|
46
46
|
`},`{
|
|
47
47
|
`)+"}");class oW{config;resolvedConfig;name;get[iT](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(T,_){if(this.config=fF(z.config,_),this.resolvedConfig=fF(z.resolvedConfig,_),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(c4).length}`,this.name in c4)E(`A Scope already named ${this.name} already exists`);c4[this.name]=this;let F=Object.entries(T).map((W)=>this.preparseOwnAliasEntry(...W));for(let[W,J]of F){let Y=W;if(W[0]==="#"){if(Y=W.slice(1),Y in this.aliases)E(R6(Y));this.aliases[Y]=J}else{if(Y in this.aliases)E(R6(W));this.aliases[Y]=J,this.exportedNames.push(Y)}if(!P(J,"module")&&!P(J,"generic")&&!J0(J)){let $=this.preparseOwnDefinitionFormat(J,{alias:Y});this.resolutions[Y]=P($,"root")?this.bindReference($):this.createParseContext($).id}}E6??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[E6.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=z.intrinsic?c(z.intrinsic,(W,J)=>W.startsWith("json")?[]:[W,this.bindReference(J)]):{}}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(F,W)=>new G0(T,W?new yW(F):F,_,_,W??null)};units=(T,_)=>{let F=[];for(let J of T)if(!F.includes(J))F.push(J);let W=F.map((J)=>this.node("unit",{unit:J},_));return this.node("union",W,{..._,prereduced:!0})};lazyResolutions=[];lazilyResolve(T,_){let F=this.node("alias",{reference:_??"synthetic",resolve:T},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(F);return F}schema=(T,_)=>this.finalize(this.parseSchema(T,_));parseSchema=(T,_)=>this.node(yF(T),T,_);preparseNode(T,_,F){let W=typeof T==="string"?T:yF(_,T);if(OT(_)&&_.kind===W)return _;if(W==="alias"&&!F?.prereduced){let{reference:$}=gF.implementation.normalize(_,this);if($.startsWith("$")){let Z=this.resolveRoot($.slice(1));_=Z,W=Z.kind}}else if(W==="union"&&T_(_,"object")){let $=sH(_);if($?.length===1)_=$[0],W=yF(_)}if(OT(_)&&_.kind===W)return _;let Y=r0[W].normalize?.(_,this)??_;if(OT(Y))return Y.kind===W?Y:aH(W,Y.kind);return{...F,$:this,kind:W,def:Y,prefix:F.alias??W}}bindReference(T){let _;if(OT(T))_=T.$===this?T:new T.constructor(T.attachments,this);else _=T.$===this?T:new G0(T.params,T.bodyDef,T.$,this,T.hkt);if(!this.resolved)Object.assign(this.referencesById,_.referencesById);return _}resolveRoot(T){return this.maybeResolveRoot(T)??E(t4(T))}maybeResolveRoot(T){let _=this.maybeResolve(T);if(P(_,"generic"))return;return _}maybeResolveSubalias(T){return d4(this.aliases,T)??d4(this.ambient,T)}get ambient(){return z.ambient}maybeResolve(T){let _=this.resolutions[T];if(_){if(typeof _!=="string")return this.bindReference(_);let W=nT[_];if(P(W,"root"))return this.resolutions[T]=W;if(P(W,"context")){if(W.phase==="resolving")return this.node("alias",{reference:`$${T}`},{prereduced:!0});if(W.phase==="resolved")return e(`Unexpected resolved context for was uncached by its scope: ${d(W)}`);W.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(W.def,W));return W.phase="resolved",nT[J.id]=J,nT[W.id]=J,this.resolutions[T]=J}return e(`Unexpected nodesById entry for ${_}: ${d(W)}`)}let F=this.aliases[T]??this.ambient?.[T];if(!F)return this.maybeResolveSubalias(T);if(F=this.normalizeRootScopeValue(F),P(F,"generic"))return this.resolutions[T]=this.bindReference(F);if(P(F,"module")){if(!F.root)E(I6(T));return this.resolutions[T]=this.bindReference(F.root)}return this.resolutions[T]=this.parse(F,{alias:T})}createParseContext(T){let _=T.id??C4(T.prefix);return nT[_]=Object.assign(T,{[iT]:"context",$:this,id:_,phase:"unresolved"})}traversal(T){return new f_(T,this.resolvedConfig)}import(...T){return new e0(c(this.export(...T),(_,F)=>[`#${_}`,F]))}precompilation;_exportedResolutions;_exports;export(...T){if(!this._exports){this._exports={};for(let F of this.exportedNames){let W=this.aliases[F];this._exports[F]=P(W,"module")?u4(W,this):z6(this.maybeResolve(F))}for(let F of this.lazyResolutions)F.resolution;if(this._exportedResolutions=S6(this,this._exports),this._json=D6(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let F=L6(this.references);this.precompilation=F.write(V6,4),K6(this.references,F)}this.resolved=!0}let _=T.length?T:this.exportedNames;return new e0(c(_,(F,W)=>[W,this._exports[W]]))}resolve(T){return this.export()[T]}node=(T,_,F={})=>{let W=this.preparseNode(T,_,F);if(OT(W))return this.bindReference(W);let J=this.createParseContext(W),Y=B4(J),$=this.bindReference(Y);return nT[J.id]=$};parse=(T,_={})=>this.finalize(this.parseDefinition(T,_));parseDefinition(T,_={}){if(P(T,"root"))return this.bindReference(T);let F=this.preparseOwnDefinitionFormat(T,_);if(P(F,"root"))return this.bindReference(F);let W=this.createParseContext(F);nT[W.id]=W;let J=this.bindReference(this.parseOwnDefinitionFormat(T,W));if(J.isCyclic)J=dJ(J,W.id);return nT[W.id]=J,J}finalize(T){if(z6(T),!T.precompilation&&!this.resolvedConfig.jitless)eH(T.references);return T}}class l4 extends oW{parseOwnDefinitionFormat(T,_){return B4(_)}preparseOwnDefinitionFormat(T,_){return this.preparseNode(yF(T),T,_)}preparseOwnAliasEntry(T,_){return[T,_]}normalizeRootScopeValue(T){return T}}var z6=(T)=>{let _=T.references.filter((F)=>F.hasKind("alias"));for(let F of _){Object.assign(F.referencesById,F.resolution.referencesById);for(let W of T.references)if(F.id in W.referencesById)Object.assign(W.referencesById,F.referencesById)}return T},D6=(T)=>c(T,(_,F)=>[_,P(F,"root")||P(F,"generic")?F.json:P(F,"module")?D6(F):e(`Unexpected resolution ${d(F)}`)]),d4=(T,_)=>{let F=_.indexOf(".");if(F===-1)return;let W=_.slice(0,F),J=T[W];if(J===void 0)return;if(!P(J,"module"))return E(T9(W));let Y=_.slice(F+1),$=J[Y];if($===void 0)return d4(J,Y);if(P($,"root")||P($,"generic"))return $;if(P($,"module"))return $.root??E(I6(_));e(`Unexpected resolution for alias '${_}': ${d($)}`)},uW=(T,_)=>new l4(T,_),uF=new l4({});var S6=(T,_)=>{let F={};for(let W in _){let J=_[W];if(P(J,"module")){let Y=S6(T,J),$=c(Y,(Z,G)=>[`${W}.${Z}`,G]);Object.assign(F,$)}else if(P(J,"root")||P(J,"generic"))F[W]=J;else e(`Unexpected scope resolution ${d(J)}`)}return F},t4=(T)=>`'${T}' is unresolvable`,T9=(T)=>`'${T}' must reference a module to be accessed using dot syntax`,I6=(T)=>`Reference to submodule '${T}' must specify an alias`;uF.export();var{schema:WT,node:TF,defineSchema:Zz,generic:K_}=uF;var i4="^(?:0|[1-9]\\d*)$",_9=new RegExp(i4),Az=KT(_9);var N6=uW({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();z.intrinsic={...N6};var C6=uW({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:i4}},{prereducedAliases:!0}).export();Object.assign(z.intrinsic,C6);var F9=uW({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),x={...N6,...C6,...F9,emptyStructure:TF("structure",{},{prereduced:!0})};z.intrinsic={...x};var k6=(T)=>typeof T==="string"&&T[0]==="d"&&(T[1]==="'"||T[1]==='"')&&T.at(-1)===T[1],B6=(T)=>T.toString()!=="Invalid Date",f6=(T)=>T.slice(2,-1),n4=(T)=>`'${T}' could not be parsed by the Date constructor`,P6=(T,_)=>W9(T,_),W9=(T,_)=>{let F=new Date(T);if(B6(F))return F;let W=GJ(T);if(W!==void 0){let J=new Date(W);if(B6(J))return J}return _?E(_===!0?n4(T):_):void 0};var r4=(T,_)=>{let F=T.scanner.shiftUntil(J9[j6[_]]);if(T.scanner.lookahead==="")return T.error($9(F,_));if(T.scanner.shift(),_==="/"){try{new RegExp(F)}catch(W){E(String(W))}T.root=T.ctx.$.node("intersection",{domain:"string",pattern:F},{prereduced:!0})}else if(qT(_,s4))T.root=T.ctx.$.node("unit",{unit:F});else{let W=P6(F,n4(F));T.root=T.ctx.$.node("unit",{meta:F,unit:W})}},s4={"'":1,'"':1},q6={"/":1,"'":1,'"':1},j6={"d'":"'",'d"':'"',"'":"'",'"':'"',"/":"/"},J9={"'":(T)=>T.lookahead==="'",'"':(T)=>T.lookahead==='"',"/":(T)=>T.lookahead==="/"},Y9={'"':"double-quote","'":"single-quote","/":"forward slash"},$9=(T,_)=>`${_}${T} requires a closing ${Y9[j6[_]]}`;var y6=(T)=>`Private type references should not include '#'. Use '${T}' instead.`,cW="Optional definitions like 'string?' are only valid as properties in an object or tuple",dW="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var v6={">":!0,">=":!0},x6={"<":!0,"<=":!0};var _F={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},b6=(T)=>`Unmatched )${T===""?"":` before ${T}`}`,lW=(T)=>`Missing ${T}`,h6=(T,_)=>`Left bounds are only valid when paired with right bounds (try ...${_}${T})`,tW=(T)=>`Left-bounded expressions must specify their limits using < or <= (was ${T})`,p6=(T,_,F,W)=>`An expression may have at most one left bound (parsed ${T}${_F[_]}, ${F}${_F[W]})`;var g6=(T,_,F)=>m6(T,_,F,[]),m6=(T,_,F,W)=>{let J=F.parseUntilFinalizer();if(W.push(J.root),J.finalizer===">"){if(W.length!==_.params.length)return F.error(a4(T,_.names,W.map((Y)=>Y.expression)));return W}if(J.finalizer===",")return m6(T,_,F,W);return J.error(lW(">"))},a4=(T,_,F)=>`${T}<${_.join(", ")}> requires exactly ${_.length} args (got ${F.length}${F.length===0?"":`: ${F.join(", ")}`})`;var e4=(T)=>{let _=T.scanner.shiftUntilNextTerminator();if(_==="keyof")T.addPrefix("keyof");else T.root=X9(T,_)},Z9=(T,_,F)=>{if(F.scanner.shiftUntilNonWhitespace(),F.scanner.shift()!=="<")return F.error(a4(T,_.names,[]));let J=g6(T,_,F);return _(...J)},X9=(T,_)=>G9(T,_)??A9(T,_)??T.error(_===""?T.scanner.lookahead==="#"?y6(T.shiftedByOne().scanner.shiftUntilNextTerminator()):T2(T):t4(_)),G9=(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 F=T.ctx.$.maybeResolve(_);if(P(F,"root"))return F;if(F===void 0)return;if(P(F,"generic"))return Z9(_,F,T);return E(`Unexpected resolution ${d(F)}`)},A9=(T,_)=>{let F=AJ(_);if(F!==void 0)return T.ctx.$.node("unit",{unit:F});let W=OJ(_);if(W!==void 0)return T.ctx.$.node("unit",{unit:W})},T2=(T)=>{let _=T.previousOperator();return _?_2(_,T.scanner.unscanned):H9(T.scanner.unscanned)},_2=(T,_="")=>`Token '${T}' requires a right operand${_?` before '${_}'`:""}`,H9=(T)=>`Expected an expression${T?` before '${T}'`:""}`;var F2=(T)=>T.scanner.lookahead===""?T.error(T2(T)):T.scanner.lookahead==="("?T.shiftedByOne().reduceGroupOpen():T.scanner.lookaheadIsIn(q6)?r4(T,T.scanner.shift()):T.scanner.lookaheadIsIn(Y0)?F2(T.shiftedByOne()):T.scanner.lookahead==="d"?T.scanner.nextLookahead in s4?r4(T,`${T.scanner.shift()}${T.scanner.shift()}`):e4(T):e4(T);class r_ extends Z4{shiftUntilNextTerminator(){return this.shiftUntilNonWhitespace(),this.shiftUntil(()=>(this.lookahead in r_.terminatingChars))}static terminatingChars={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...Y0};static finalizingLookaheads={">":1,",":1,"":1,"=":1,"?":1};static lookaheadIsFinalizing=(T,_)=>T===">"?_[0]==="="?_[1]==="=":_.trimStart()===""||qT(_.trimStart()[0],r_.terminatingChars):T==="="?_[0]!=="=":T===","||T==="?"}var u6=(T,_)=>{let F=O9(T,_);if(T.root.hasKind("unit")){if(typeof T.root.unit==="number"){T.reduceLeftBound(T.root.unit,F),T.unsetRoot();return}if(T.root.unit instanceof Date){let W=`d'${T.root.description??T.root.unit.toISOString()}'`;T.unsetRoot(),T.reduceLeftBound(W,F);return}}return M9(T,F)},c6={"<":1,">":1,"=":1},O9=(T,_)=>T.scanner.lookaheadIs("=")?`${_}${T.scanner.shift()}`:_;var o6=(T,_,F,W)=>{if(F.extends(z.intrinsic.number)){if(typeof _!=="number")return E(W2(T,_,W));return T==="=="?["min","max"]:T[0]===">"?["min"]:["max"]}if(F.extends(z.intrinsic.lengthBoundable)){if(typeof _!=="number")return E(W2(T,_,W));return T==="=="?["exactLength"]:T[0]===">"?["minLength"]:["maxLength"]}if(F.extends(z.intrinsic.Date))return T==="=="?["after","before"]:T[0]===">"?["after"]:["before"];return E(qJ(F.expression))},U9=(T)=>({rule:k6(T.limit)?f6(T.limit):T.limit,exclusive:T.comparator.length===1}),M9=(T,_)=>{let F=T.unsetRoot(),W=T.scanner.location;T.parseOperand();let J=T.unsetRoot(),Y=T.scanner.sliceChars(W,T.scanner.location);if(T.root=F,!J.hasKind("unit")||typeof J.unit!=="number"&&!(J.unit instanceof Date))return T.error(W2(_,Y,"right"));let $=J.unit,Z=_.length===1,G=o6(_,typeof $==="number"?$:Y,F,"right");for(let O of G)T.constrainRoot(O,_==="=="?{rule:$}:{rule:$,exclusive:Z});if(!T.branches.leftBound)return;if(!qT(_,x6))return T.error(tW(_));let X=o6(T.branches.leftBound.comparator,T.branches.leftBound.limit,F,"left");T.constrainRoot(X[0],U9(T.branches.leftBound)),T.branches.leftBound=null},W2=(T,_,F)=>`Comparator ${F==="left"?_F[T]:T} must be ${F==="left"?"preceded":"followed"} by a corresponding literal (was ${_})`;var d6=(T)=>{T.scanner.shiftUntilNonWhitespace();let _=T.scanner.shiftUntilNextTerminator();T.root=T.root.brand(_)};var t6=(T)=>{let _=T.scanner.shiftUntilNextTerminator(),F=HJ(_,{errorOnFail:l6(_)});if(F===0)T.error(l6(0));T.root=T.root.constrain("divisor",F)},l6=(T)=>`% operator must be followed by a non-zero integer literal (was ${T})`;var J2=(T)=>{let _=T.scanner.shift();return _===""?T.finalize(""):_==="["?T.scanner.shift()==="]"?T.setRoot(T.root.array()):T.error(w9):_==="|"?T.scanner.lookahead===">"?T.shiftedByOne().pushRootToBranch("|>"):T.pushRootToBranch(_):_==="&"?T.pushRootToBranch(_):_===")"?T.finalizeGroup():r_.lookaheadIsFinalizing(_,T.scanner.unscanned)?T.finalize(_):qT(_,c6)?u6(T,_):_==="%"?t6(T):_==="#"?d6(T):(_ in Y0)?J2(T):T.error(iW(_))},iW=(T,_="")=>`'${T}' is not allowed here${_&&` (should be ${_})`}`,w9="Missing expected ']'";var i6=(T)=>{let _=T.unsetRoot();T.parseOperand();let F=T.unsetRoot();if(!F.hasKind("unit"))return T.error(Q9(F.expression));let W=F.unit instanceof Date?()=>new Date(F.unit):F.unit;return[_,"=",W]},Q9=(T)=>`Default value '${T}' must a literal value`;var Y2=(T,_)=>{let F=_.$.maybeResolveRoot(T);if(F)return F;if(T.endsWith("[]")){let Y=_.$.maybeResolveRoot(T.slice(0,-2));if(Y)return Y.array()}let W=new FF(new r_(T),_),J=R9(W);if(W.finalizer===">")E(iW(">"));return J},R9=(T)=>{T.parseOperand();let _=cF(T).root;if(!_)return e(`Root was unexpectedly unset after parsing string '${T.scanner.scanned}'`);if(T.finalizer==="=")_=i6(T);else if(T.finalizer==="?")_=[_,"?"];if(T.scanner.shiftUntilNonWhitespace(),T.scanner.lookahead)E(iW(T.scanner.lookahead));return _},cF=(T)=>{while(T.finalizer===void 0)E9(T);return T},E9=(T)=>T.hasRoot()?T.parseOperator():T.parseOperand();class FF{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(lW(")"));this.finalizeBranches(),this.finalizer=T}reduceLeftBound(T,_){let F=_F[_];if(!qT(F,v6))return this.error(tW(_));if(this.branches.leftBound)return this.error(p6(this.branches.leftBound.limit,this.branches.leftBound.comparator,T,F));this.branches.leftBound={comparator:F,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(b6(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():e(`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 cF(new FF(this.scanner,this.ctx))}parseOperator(){return J2(this)}parseOperand(){return F2(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(h6(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 z9="An empty string is not a valid generic parameter name",nW=(T,_,F)=>{T.shiftUntilNonWhitespace();let W=T.shiftUntilNextTerminator();if(W===""){if(T.lookahead===""&&_.length)return _;return E(z9)}return T.shiftUntilNonWhitespace(),V9(T,W,_,F)},n6="extends ",V9=(T,_,F,W)=>{if(T.shiftUntilNonWhitespace(),T.unscanned.startsWith(n6))T.jumpForward(n6.length);else{if(T.lookahead===",")T.shift();return F.push(_),nW(T,F,W)}let J=cF(new FF(T,W));return F.push([_,J.root]),nW(T,F,W)};class $2 extends k_{$;constructor(T){super((..._)=>new dF(T)(..._),{bind:T});this.$=T}in(T){return new dF(this.$,T===void 0?void 0:this.$.parse(T))}at(T,_){return new dF(this.$).at(T,_)}case(T,_){return new dF(this.$).case(T,_)}}class dF extends k_{$;in;key;branches=[];constructor(T,_){super((F)=>this.caseEntries(Object.entries(F).map(([W,J])=>W==="default"?[W,J]:[this.$.parse(W),J])));this.$=T,this.in=_}at(T,_){if(this.key)E(L9);if(this.branches.length)E(K9);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(([_,F])=>_==="default"?[_,F]:[this.$.node("unit",{unit:_}),F]))}caseEntries(T){for(let _=0;_<T.length;_++){let[F,W]=T[_];if(F==="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 "${F}" must be a function (was ${PT(W)})`);this.caseEntry(F,W)}return this}default(T){if(typeof T==="function")this.case(x.unknown,T);let _={branches:this.branches,ordered:!0};if(T==="never"||T==="assert")_.meta={onFail:r6};let F=this.$.node("union",_);if(!this.in)return this.$.finalize(F);let W=this.in.pipe(F);if(T==="never"||T==="assert")W=W.configureReferences({onFail:r6},"self");return this.$.finalize(W)}}var r6=(T)=>T.throw(),K9="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",L9="At most one key matcher may be specified per expression";var rW=(T,_)=>{if(XT(T)){if(T[1]==="=")return[_.$.parseOwnDefinitionFormat(T[0],_),"=",T[2]];if(T[1]==="?")return[_.$.parseOwnDefinitionFormat(T[0],_),"?"]}return sW(T,_)},s6="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",a6="Only required keys may specify default values, e.g. { value: 'number = 0' }";var e6=(T,_)=>{let F,W={},J=S0(T);for(let[$,Z]of J){let G=I9($);if(G.kind==="spread"){if(!h_(W))return E(S9);let K=_.$.parseOwnDefinitionFormat(Z,_);if(K.equals(x.object))continue;if(!K.hasKind("intersection")||!K.basis?.equals(x.object))return E(N9(K.expression));F=K.structure;continue}if(G.kind==="undeclared"){if(Z!=="reject"&&Z!=="delete"&&Z!=="ignore")E(D9(Z));W.undeclared=Z;continue}let X=rW(Z,_),O=G;if(G.kind==="required"){if(!XT(X))Z2(W,"required",{key:G.normalized,value:X},_);else Z2(W,"optional",X[1]==="="?{key:G.normalized,value:X[0],default:X[2]}:{key:G.normalized,value:X[0]},_);continue}if(XT(X)){if(X[1]==="?")E(s6);if(X[1]==="=")E(a6)}if(G.kind==="optional"){Z2(W,"optional",{key:G.normalized,value:X},_);continue}let M=_.$.parseOwnDefinitionFormat(O.normalized,_),Q=mW(M,X,_.$);if(Q.index)W.index=s(W.index,Q.index);if(Q.required)W.required=s(W.required,Q.required)}let Y=_.$.node("structure",W);return _.$.parseSchema({domain:"object",structure:F?.merge(Y)??Y})},Z2=(T,_,F,W)=>{T[_]=s(T[_],W.$.node(_,F))},D9=(T)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${d(T)})`,S9="Spread operator may only be used as the first key in an object",I9=(T)=>typeof T==="symbol"?{kind:"required",normalized:T}:T.at(-1)==="?"?T.at(-2)===DF?{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]===DF&&T[1]==="["&&T.at(-1)==="]"?{kind:"required",normalized:T.slice(1)}:T==="..."?{kind:"spread"}:T==="+"?{kind:"undeclared"}:{kind:"required",normalized:T==="\\..."?"...":T==="\\+"?"+":T},N9=(T)=>`Spread operand must resolve to an object literal type (was ${T})`;var _Y=(T,_)=>x9(T)?YY[T[0]](T,_):y9(T)?JY[T[1]](T,_):null,C9=(T,_)=>_.$.parseOwnDefinitionFormat(T[1],_).keyof(),X2=(T,_)=>{if(T[2]===void 0)return E(_2(T[1],""));let F=_.$.parseOwnDefinitionFormat(T[0],_),W=_.$.parseOwnDefinitionFormat(T[2],_);if(T[1]==="|")return _.$.node("union",{branches:[F,W]});let J=T[1]==="&"?J_(F,W,_.$):jF(F,W,_.$);if(J instanceof N)return J.throw();return J},B9=(T,_)=>_.$.parseOwnDefinitionFormat(T[0],_).array(),k9=(T,_)=>{if(typeof T[2]!=="function")return E(FY("=>",T[2]));return _.$.parseOwnDefinitionFormat(T[0],_).pipe(T[2])},FY=(T,_)=>`${T===":"?"Narrow":"Morph"} expression requires a function following '${T}' (was ${typeof _})`,f9=(T,_)=>{if(typeof T[2]!=="function")return E(FY(":",T[2]));return _.$.parseOwnDefinitionFormat(T[0],_).constrain("predicate",T[2])},P9=(T,_)=>_.$.parseOwnDefinitionFormat(T[0],_).configureReferences(T[2],"shallow"),WY=(T)=>T,q9=WY({"[]":B9,"?":()=>E(cW)}),j9=WY({"|":X2,"&":X2,":":f9,"=>":k9,"|>":X2,"@":P9,"=":()=>E(dW)}),JY={...q9,...j9},y9=(T)=>JY[T[1]]!==void 0,v9=(T)=>T,YY=v9({keyof:C9,instanceof:(T,_)=>{if(typeof T[1]!=="function")return E(TY(KF(T[1])));let F=T.slice(1).map((W)=>typeof W==="function"?_.$.node("proto",{proto:W}):E(TY(KF(W))));return F.length===1?F[0]:_.$.node("union",{branches:F})},"===":(T,_)=>_.$.units(T.slice(1))}),x9=(T)=>YY[T[0]]!==void 0,TY=(T)=>`Expected a constructor following 'instanceof' operator (was ${T})`;var XY=(T,_)=>{let F=[{}],W=0;while(W<T.length){let J=!1;if(T[W]==="..."&&W<T.length-1)J=!0,W++;let Y=rW(T[W],_),[$,Z,G]=!XT(Y)?[Y]:Y;if(W++,J){if(!$.extends(z.intrinsic.Array))return E(p9($.expression));F=F.flatMap((X)=>$.distribute((O)=>h9(fW(X),O)))}else F=F.map((X)=>{if(Z==="?")return GY(X,$);if(Z==="=")return b9(X,$,G);return G2(X,$)})}return _.$.parseSchema(F.map((J)=>h_(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},G2=(T,_)=>{if(T.defaultables||T.optionals)return E(T.variadic?g4:g9);if(T.variadic)T.postfix=s(T.postfix,_);else T.prefix=s(T.prefix,_);return T},GY=(T,_)=>{if(T.variadic)return E(AY);return T.optionals=s(T.optionals,_),T},b9=(T,_,F)=>{if(T.variadic)return E(AY);if(T.optionals)return E(m9);return T.defaultables=s(T.defaultables,[[_,F]]),T},$Y=(T,_)=>{if(T.postfix)E(ZY);if(T.variadic){if(!T.variadic.equals(_))E(ZY)}else T.variadic=_.internal;return T},h9=(T,_)=>{let F=_.select({method:"find",kind:"sequence"});if(!F)return $Y(T,z.intrinsic.unknown);if(F.prefix)for(let W of F.prefix)G2(T,W);if(F.optionals)for(let W of F.optionals)GY(T,W);if(F.variadic)$Y(T,F.variadic);if(F.postfix)for(let W of F.postfix)G2(T,W);return T},p9=(T)=>`Spread element must be an array (was ${T})`,ZY="A tuple may have at most one variadic element",g9="A required element may not follow an optional element",AY="An optional element may not follow a variadic element";var m9="A defaultable element may not follow an optional element without a default";var o9={},sW=(T,_)=>{if(typeof T==="string"){if(_.args&&Object.keys(_.args).some((W)=>T.includes(W)))return Y2(T,_);let F=o9[_.$.name]??={};return F[T]??=Y2(T,_)}return T_(T,"object")?u9(T,_):E(A2(PT(T)))},u9=(T,_)=>{let F=VF(T);switch(F){case void 0:if(P(T,"root"))return T;return e6(T,_);case"Array":return c9(T,_);case"RegExp":return _.$.node("intersection",{domain:"string",pattern:T},{prereduced:!0});case"Function":{let W=J0(T)?T():T;if(P(W,"root"))return W;return E(A2("Function"))}default:return E(A2(F??d(T)))}},c9=(T,_)=>_Y(T,_)??XY(T,_),A2=(T)=>`Type definitions must be strings or objects (was ${T})`;class H2 extends k_{constructor(T){let _=Object.assign({errors:F_,hkt:uT,$: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((...F)=>{if(F.length===1)return T.parse(F[0]);if(F.length===2&&typeof F[0]==="string"&&F[0][0]==="<"&&F[0].at(-1)===">"){let W=F[0].slice(1,-1),J=T.parseGenericParams(W,{});return new G0(J,F[1],T,T,null)}return T.parse(F)},{bind:T,attach:_})}}var WF=z;class aW extends oW{get ambientAttachments(){if(!WF.typeAttachments)return;return this.cacheGetter("ambientAttachments",c(WF.typeAttachments,(T,_)=>[T,this.bindReference(_)]))}preparseOwnAliasEntry(T,_){let F=T.indexOf("<");if(F===-1){if(P(_,"module")||P(_,"generic"))return[T,_];let Y=this.name==="ark"?T:T==="root"?this.name:`${this.name}.${T}`,$=this.resolvedConfig.keywords?.[Y];if($)_=[_,"@",$];return[T,_]}if(T.at(-1)!==">")E("'>' must be the last character of a generic declaration in a scope");let W=T.slice(0,F),J=T.slice(F+1,-1);return[W,()=>{let Y=this.parseGenericParams(J,{alias:W});return kJ(Y,_,this)}]}parseGenericParams(T,_){return nW(new r_(T),[],this.createParseContext({..._,def:T,prefix:"generic"}))}normalizeRootScopeValue(T){if(J0(T)&&!P(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=sW(T,_);if(XT(W)){if(W[1]==="=")return E(dW);if(W[1]==="?")return E(cW)}return W}unit=(T)=>this.units([T]);valueOf=(T)=>this.units(n8(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((_,F)=>_.and(this.parse(F)),this.intrinsic.unknown);merge=(...T)=>T.reduce((_,F)=>_.merge(this.parse(F)),this.intrinsic.object);pipe=(...T)=>this.intrinsic.unknown.pipe(...T);match=new $2(this);declare=()=>({type:this.type});define(T){return T}type=new H2(this);static scope=(T,_={})=>new aW(T,_);static module=(T,_={})=>this.scope(T,_).export()}var O2=Object.assign(aW.scope,{define:(T)=>T}),r=aW;class HY extends uT{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var d9=K_(["base",x.object],["props",x.object])((T)=>T.base.merge(T.props),HY),OY=r.module({Key:x.key,Merge:d9});class UY extends uT{}var l9=K_("element")((T)=>{let _=T.element.exclude(x.Array),F=_.array();return _.rawOr(F).pipe(W0).distribute((W)=>W.assertHasKind("morph").declareOut(F),WT)},UY),MY=r.module({root:x.Array,readonly:"root",index:x.nonNegativeIntegerString,liftFrom:l9},{name:"Array"});var U2=WT(["string",N0.FileConstructor]),t9=U2.rawOr(U2.array()),wY=WT({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:t9}}),QY=r.module({root:["instanceof",FormData],value:U2,parsed:wY,parse:WT({in:FormData,morphs:(T)=>{let _={};for(let[F,W]of T)if(F in _){let J=_[F];if(typeof J==="string"||J instanceof N0.FileConstructor)_[F]=[J,W];else J.push(W)}else _[F]=W;return _},declaredOut:wY})},{name:"FormData"});var RY=r.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 i9={Boolean:1,Number:1,String:1},EY=r.module({...c({...e1,..._4},(T,_)=>(T in i9)?[]:[T,["instanceof",_]]),Array:MY,TypedArray:RY,FormData:QY});var n9=WT({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"}),r9=WT({domain:"number",divisor:1}),eW=r.module({root:x.number,integer:r9,epoch:n9,safe:WT({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 ET=(T,_,F)=>{let W={domain:"string",pattern:{rule:T.source,flags:T.flags,meta:_}};if(F)W.meta={format:F};return TF("intersection",W)},zY=ET(SF,"a well-formed integer string"),PY=r.module({root:zY,parse:WT({in:zY,morphs:(T,_)=>{let F=Number.parseInt(T);return Number.isSafeInteger(F)?F:_.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:x.integer})},{name:"string.integer"}),s9=ET(/^[\dA-Fa-f]+$/,"hex characters only"),a9=r.module({root:ET(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:ET(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),VY=ET(/^[A-Z].*$/,"capitalized"),e9=r.module({root:WT({in:"string",morphs:(T)=>T.charAt(0).toUpperCase()+T.slice(1),declaredOut:VY}),preformatted:VY},{name:"string.capitalize"}),T7=(T)=>{let _=T.replaceAll(/[ -]+/g,""),F=0,W,J,Y=!1;for(let $=_.length-1;$>=0;$--){if(W=_.substring($,$+1),J=Number.parseInt(W,10),Y)J*=2,F+=J>=10?J%10+1:J;else F+=J;Y=!Y}return!!(F%10===0?_:!1)},_7=/^(?: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}))$/,F7=WT({domain:"string",pattern:{meta:"a credit card number",rule:_7.source},predicate:{meta:"a credit card number",predicate:T7}});var W7=/^([+-]?\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 J7=(T)=>!Number.isNaN(new Date(T).valueOf()),KY=WT({domain:"string",predicate:{meta:"a parsable date",predicate:J7}}).assertHasKind("intersection"),LY=PY.root.internal.narrow((T,_)=>{let F=Number.parseInt(T),W=eW.epoch(F);if(W instanceof F_)return _.errors.merge(W),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),Y7=r.module({root:LY,parse:WT({in:LY,morphs:(T)=>new Date(T),declaredOut:x.Date})},{name:"string.date.epoch"}),DY=ET(W7,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),$7=r.module({root:DY,parse:WT({in:DY,morphs:(T)=>new Date(T),declaredOut:x.Date})},{name:"string.date.iso"}),Z7=r.module({root:KY,parse:WT({declaredIn:KY,in:"string",morphs:(T,_)=>{let F=new Date(T);if(Number.isNaN(F.valueOf()))return _.error("a parsable date");return F},declaredOut:x.Date}),iso:$7,epoch:Y7},{name:"string.date"}),X7=ET(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),SY="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",A0=`(${SY}[.]){3}${SY}`,G7=new RegExp(`^${A0}$`),CT="(?:[0-9a-fA-F]{1,4})",A7=new RegExp(`^((?:${CT}:){7}(?:${CT}|:)|(?:${CT}:){6}(?:${A0}|:${CT}|:)|(?:${CT}:){5}(?::${A0}|(:${CT}){1,2}|:)|(?:${CT}:){4}(?:(:${CT}){0,1}:${A0}|(:${CT}){1,3}|:)|(?:${CT}:){3}(?:(:${CT}){0,2}:${A0}|(:${CT}){1,4}|:)|(?:${CT}:){2}(?:(:${CT}){0,3}:${A0}|(:${CT}){1,5}|:)|(?:${CT}:){1}(?:(:${CT}){0,4}:${A0}|(:${CT}){1,6}|:)|(?::((?::${CT}){0,5}:${A0}|(?::${CT}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),H7=r.module({root:["v4 | v6","@","an IP address"],v4:ET(G7,"an IPv4 address","ipv4"),v6:ET(A7,"an IPv6 address","ipv6")},{name:"string.ip"}),JF="a JSON string",qY=(T)=>{if(!(T instanceof SyntaxError))throw T;return`must be ${JF} (${T})`},O7=WT({meta:JF,domain:"string",predicate:{meta:JF,predicate:(T,_)=>{try{return JSON.parse(T),!0}catch(F){return _.reject({code:"predicate",expected:JF,problem:qY(F)})}}}}),U7=(T,_)=>{if(T.length===0)return _.error({code:"predicate",expected:JF,actual:"empty"});try{return JSON.parse(T)}catch(F){return _.error({code:"predicate",expected:JF,problem:qY(F)})}},M7=r.module({root:O7,parse:WT({meta:"safe JSON string parser",in:"string",morphs:U7,declaredOut:x.jsonObject})},{name:"string.json"}),IY=ET(/^[a-z]*$/,"only lowercase letters"),w7=r.module({root:WT({in:"string",morphs:(T)=>T.toLowerCase(),declaredOut:IY}),preformatted:IY},{name:"string.lower"}),jY=["NFC","NFD","NFKC","NFKD"],lF=c(jY,(T,_)=>[_,WT({domain:"string",predicate:(F)=>F.normalize(_)===F,meta:`${_}-normalized unicode`})]),T1=c(jY,(T,_)=>[_,WT({in:"string",morphs:(F)=>F.normalize(_),declaredOut:lF[_]})]),Q7=r.module({root:T1.NFC,preformatted:lF.NFC},{name:"string.normalize.NFC"}),R7=r.module({root:T1.NFD,preformatted:lF.NFD},{name:"string.normalize.NFD"}),E7=r.module({root:T1.NFKC,preformatted:lF.NFKC},{name:"string.normalize.NFKC"}),z7=r.module({root:T1.NFKD,preformatted:lF.NFKD},{name:"string.normalize.NFKD"}),V7=r.module({root:"NFC",NFC:Q7,NFD:R7,NFKC:E7,NFKD:z7},{name:"string.normalize"}),NY=ET(CW,"a well-formed numeric string"),K7=r.module({root:NY,parse:WT({in:NY,morphs:(T)=>Number.parseFloat(T),declaredOut:x.number})},{name:"string.numeric"}),CY="a regex pattern",L7=WT({domain:"string",predicate:{meta:CY,predicate:(T,_)=>{try{return new RegExp(T),!0}catch(F){return _.reject({code:"predicate",expected:CY,problem:String(F)})}}},meta:{format:"regex"}}),D7=/^(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-]+)*))?$/,S7=ET(D7,"a semantic version (see https://semver.org/)"),BY=ET(/^\S.*\S$|^\S?$/,"trimmed"),I7=r.module({root:WT({in:"string",morphs:(T)=>T.trim(),declaredOut:BY}),preformatted:BY},{name:"string.trim"}),kY=ET(/^[A-Z]*$/,"only uppercase letters"),N7=r.module({root:WT({in:"string",morphs:(T)=>T.toUpperCase(),declaredOut:kY}),preformatted:kY},{name:"string.upper"}),C7=(T)=>{if(URL.canParse)return URL.canParse(T);try{return new URL(T),!0}catch{return!1}},fY=WT({domain:"string",predicate:{meta:"a URL string",predicate:C7},meta:{format:"uri"}}),B7=r.module({root:fY,parse:WT({declaredIn:fY,in:"string",morphs:(T,_)=>{try{return new URL(T)}catch{return _.error("a URL string")}},declaredOut:WT(URL)})},{name:"string.url"}),k7=r.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:ET(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:ET(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:ET(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:ET(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:ET(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:ET(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:ET(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:ET(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),yY=r.module({root:x.string,alpha:ET(/^[A-Za-z]*$/,"only letters"),alphanumeric:ET(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:s9,base64:a9,capitalize:e9,creditCard:F7,date:Z7,digits:ET(/^\d*$/,"only digits 0-9"),email:X7,integer:PY,ip:H7,json:M7,lower:w7,normalize:V7,numeric:K7,regex:L7,semver:S7,trim:I7,upper:N7,url:B7,uuid:k7},{name:"string"});var vY=r.module({bigint:x.bigint,boolean:x.boolean,false:x.false,never:x.never,null:x.null,number:x.number,object:x.object,string:x.string,symbol:x.symbol,true:x.true,unknown:x.unknown,undefined:x.undefined}),xY=r.module({root:x.unknown,any:x.unknown},{name:"unknown"}),f7=r.module({root:x.jsonObject,stringify:TF("morph",{in:x.jsonObject,morphs:(T)=>JSON.stringify(T),declaredOut:x.string})},{name:"object.json"}),bY=r.module({root:x.object,json:f7},{name:"object"});class hY extends uT{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var P7=K_(["K",x.key],"V")((T)=>({domain:"object",index:{signature:T.K,value:T.V}}),hY);class pY extends uT{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var q7=K_(["T",x.object],["K",x.key])((T)=>T.T.pick(T.K),pY);class gY extends uT{description='omit a set of properties from an object like `Omit(User, "age")`'}var j7=K_(["T",x.object],["K",x.key])((T)=>T.T.omit(T.K),gY);class mY extends uT{description="make all named properties of an object optional like `Partial(User)`"}var y7=K_(["T",x.object])((T)=>T.T.partial(),mY);class oY extends uT{description="make all named properties of an object required like `Required(User)`"}var v7=K_(["T",x.object])((T)=>T.T.required(),oY);class uY extends uT{description='exclude branches of a union like `Exclude("boolean", "true")`'}var x7=K_("T","U")((T)=>T.T.exclude(T.U),uY);class cY extends uT{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var b7=K_("T","U")((T)=>T.T.extract(T.U),cY),dY=r.module({Exclude:x7,Extract:b7,Omit:j7,Partial:y7,Pick:q7,Record:P7,Required:v7});var H0=O2({...vY,...dY,...EY,...OY,string:yY,number:eW,object:bY,unknown:xY},{prereducedAliases:!0,name:"ark"}),jT=H0.export();Object.assign(WF.ambient,jT);WF.typeAttachments={string:jT.string.root,number:jT.number.root,bigint:jT.bigint,boolean:jT.boolean,symbol:jT.symbol,undefined:jT.undefined,null:jT.null,object:jT.object.root,unknown:jT.unknown.root,false:jT.false,true:jT.true,never:jT.never,arrayIndex:jT.Array.index,Key:jT.Key,Record:jT.Record,Array:jT.Array.root,Date:jT.Date};var Y_=Object.assign(H0.type,WF.typeAttachments),h7=H0.match,p7=H0.generic,qL=H0.schema,g7=H0.define,m7=H0.declare;class tF extends Promise{fate;resolve;reject;done=!1;constructor(T){let _,F;super((W,J)=>{_=W,F=J});this.resolve=_,this.reject=F,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((F)=>{this.pass(_,F)},(F)=>{this.fail(_,F)})}else this.resolve(T),this.fate=void 0}}var rL=(T,_,F=tY.STORE)=>{return lY(F,{key:`${T.key}:JSON`,get:({get:W})=>_.toJson(W(T)),set:({set:W},J)=>{W(T,_.fromJson(J))}})};function eL(T,_,F){return M2(T,{key:`${_.key}:JSON`,get:(J)=>({get:Y})=>{let $=Y(_,J);return F.toJson($)},set:(J)=>({set:Y},$)=>{Y(_,J,F.fromJson($))}},["mutable","json"])}var iF=(T)=>JSON.parse(T),rT=(T)=>JSON.stringify(T),_D=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];function m(T){while(T.child!==null)T=T.child;return T}class _1{_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 _1([...this._buffer]);return T._index=this._index,T}}var o7={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"};function iY(T,_){let F=rT(_),W=`${T.key}(${F})`,J=o7[T.type],Y={key:W,type:J};return Object.assign(Y,{family:{key:T.key,subKey:F}}),Object.assign(Y,{counterfeit:!0}),Y}function nF(T){let _={key:T.key,type:T.type};if("family"in T)_.family=T.family;return _}var w2=(T)=>(_,F,W,J,...Y)=>{console[T](`${_} ${F} "${W}" ${J}`,...Y)},u7={error:w2("error"),info:w2("info"),warn:w2("warn")};class Q2{logLevel;filter;logger;constructor(T,_,F=u7){this.logLevel=T,this.filter=_,this.logger=F}error=(...T)=>{let _=this.filter?.(...T)??!0;if(this.logLevel!==null){if(_===!0)this.logger.error(...T);else if(_!==!1)this.logger.error(..._)}};info=(...T)=>{let _=this.filter?.(...T)??!0;if(this.logLevel==="info"){if(_===!0)this.logger.info(...T);else if(_!==!1)this.logger.info(..._)}};warn=(...T)=>{let _=this.filter?.(...T)??!0;if(this.logLevel!=="error"&&this.logLevel!==null){if(_===!0)this.logger.warn(...T);else if(_!==!1)this.logger.warn(..._)}}}class g_{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 F=this.relations.get(T),W=this.relations.get(_);if(F)F.add(_);else F=new Set([_]),this.relations.set(T,F);if(W)W.add(T);else W=new Set([T]),this.relations.set(_,W)}deleteRelation(T,_){let F=this.relations.get(T);if(F){if(F.delete(_),F.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 F of _){let W=new Set().add(T);this.relations.set(F,W)}}replaceRelationsSafely(T,_){let F=this.relations.get(T),W=this.isAType?.(T)?T:void 0,J=W===void 0?T:void 0;if(F)for(let Y of F){W??=Y,J??=Y;let $=this.relations.get(Y);if($){if($.size===1)this.relations.delete(Y);else $.delete(T);this.contents.delete(this.makeContentKey(W,J))}}this.relations.set(T,new Set(_));for(let Y of _){let $=this.relations.get(Y);if($)$.add(T);else $=new Set().add(T),this.relations.set(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(([F,W])=>[F,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 F=_.externalStore;if(this.has=(W,J)=>F.has(W,J),this.addRelation=(W,J)=>{F.addRelation(W,J)},this.deleteRelation=(W,J)=>{F.deleteRelation(W,J)},this.replaceRelationsSafely=(W,J)=>{F.replaceRelationsSafely(W,J)},this.replaceRelationsUnsafely=(W,J)=>{F.replaceRelationsUnsafely(W,J)},this.getRelatedKeys=(W)=>F.getRelatedKeys(W),F.getContent)this.getContentInternal=(W)=>{return F.getContent(W)},this.setContent=(W,J)=>{F.setContent(W,J)},this.deleteContent=(W)=>{F.deleteContent(W)};for(let[W,J]of T.relations??[]){let Y=this.isAType?.(W)?W:void 0,$=Y===void 0?W:void 0;for(let Z of J)Y??=Z,$??=Z,this.addRelation(Y,$)}for(let[W,J]of T.contents??[])this.setContent(W,J)}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 _,F,W;switch(T.length){case 1:{let J=T[0];_=J[this.a],F=J[this.b],W=void 0;break}case 2:{let J=T[0];if(typeof J==="string")[_,F]=T;else _=J[this.a],F=J[this.b],W=T[1];break}default:{_=T[0],F=T[1],W=T[2];break}}switch(this.cardinality){case"1:1":{let J=this.getRelatedKey(_);if(J&&J!==F)this.delete(_,J)}case"1:n":{let J=this.getRelatedKey(F);if(J&&J!==_)this.delete(J,F)}break;case"n:n":}if(W){let J=this.makeContentKey(_,F);this.setContent(J,W)}return this.addRelation(_,F),this}delete(T,_){_=typeof _==="string"?_:T[this.b];let F=typeof T==="string"?T:T[this.a];if(F===void 0&&typeof _==="string"){let W=this.getRelatedKeys(_);if(W)for(let J of W)this.delete(J,_)}if(typeof F==="string"&&_===void 0){let W=this.getRelatedKeys(F);if(W)for(let J of W)this.delete(F,J)}if(typeof F==="string"&&typeof _==="string"){this.deleteRelation(F,_);let W=this.makeContentKey(F,_);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 F;for(let W of _){F=W;break}return F}}replaceRelations(T,_,F){let W=!Array.isArray(_),J=W?Object.keys(_):_;if(F?.reckless)this.replaceRelationsUnsafely(T,J);else this.replaceRelationsSafely(T,J);if(W)for(let Y of J){let $=this.makeContentKey(T,Y),Z=_[Y];this.setContent($,Z)}return this}getContent(T,_){let F=this.makeContentKey(T,_);return this.getContentInternal(F)}getRelationEntries(T){let _=T[this.a],F=T[this.b];if(_!==void 0&&F===void 0){let W=this.getRelatedKeys(_);if(W)return[...W].map((J)=>{return[J,this.getContent(_,J)]})}if(_===void 0&&F!==void 0){let W=this.getRelatedKeys(F);if(W)return[...W].map((J)=>{return[J,this.getContent(J,F)]})}return[]}has(T,_){if(_)return this.getRelatedKeys(T)?.has(_)??!1;return this.relations.has(T)}}class FT{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 F of _)F(T)}}class R2 extends FT{state;constructor(T){super();this.state=T}next(T){this.state=T,super.next(T)}}function O0(T){return"epoch"in T.transactionMeta}function M_(T){return"phase"in T.transactionMeta}function nY(T){return T[0].toUpperCase()+T.slice(1)}function F1(T){return T.type.split("_").map(nY).join(" ")}class rF extends Error{constructor(T,_){super(`${F1(T)} ${rT(T.key)} not found in store "${_.config.name}".`)}}var YF=(T)=>(_)=>T instanceof Function?T(_):T;var U0=(T,_)=>{if(T.valueMap.has(_.key))return T.logger.info("\uD83D\uDCD6",_.type,_.key,"reading cached value"),rY(_,T);switch(_.type){case"readonly_held_selector":case"readonly_pure_selector":case"writable_held_selector":case"writable_pure_selector":return T.logger.info("\uD83E\uDDEE",_.type,_.key,"computing value"),_.get();case"atom":case"mutable_atom":{let F=_.default,W;if(F instanceof Function)W=F();else W=F;return T.logger.info("\uD83D\uDC81","atom",_.key,"could not find cached value; using default",W),W}}};var sY=(T,_)=>{if(T.operation.open){let F=performance.now();return T.logger.info("\u2757",_.type,_.key,`deferring setState at T-${F} until setState for "${T.operation.token.key}" is done`),F}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}"${!M_(T)?"":` ${T.transactionMeta.phase} "${T.transactionMeta.update.key}"`}`)},aY=(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)},eY=(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(_)},M0=(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 T$=(T,_,F)=>{switch(_.type){case"mutable_atom":T.logger.info("\uD83D\uDCE2",_.type,_.key,"is now (",F.newValue,") subscribers:",_.subject.subscribers);break;case"atom":case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":T.logger.info("\uD83D\uDCE2",_.type,_.key,"went (",F.oldValue,"->",F.newValue,") subscribers:",_.subject.subscribers)}_.subject.next(F)};var E2=(T,_)=>{let F=m(T),W=F.selectorAtoms.getRelatedKeys(_.key);if(F.logger.info("\uD83E\uDDF9",_.type,_.key,W?`evicting ${W.size} states downstream:`:"no downstream states",W??"to evict"),W){if(F.operation.open)F.logger.info("\uD83E\uDDF9",_.type,_.key,`[ ${[...F.operation.done].join(", ")} ] already done`);for(let J of W){if(eY(F,J))continue;_$(J,F),M0(F,J)}}};var F$=(T,_,F)=>{let W=U0(T,_),J=W;if(_.type==="mutable_atom"&&M_(T)){let{parent:$}=T;J=sF(T,_,$)}if(J=YF(F)(J),T.logger.info("\uD83D\uDCDD","atom",_.key,"set to",J),J=sT(T,_.key,J,_.subject),J$(T,_.key))Y$(T,_.key);M0(T,_.key),E2(T,_);let Y={oldValue:W,newValue:J};if(!M_(T)){T$(T,_,Y);return}if(T.on.transactionApplying.state===null){let{key:$}=_;if(W$(Y.newValue))return;let Z={type:"atom_update",key:$,...Y};if(_.family)Z.family=_.family;T.transactionMeta.update.updates.push(Z),T.logger.info("\uD83D\uDCC1","atom",$,"stowed (",Y.oldValue,"->",Y.newValue,")")}else if(_.key.startsWith("*")){let $=_.key.slice(1),Z=T.atoms.get($),G=T.valueMap.get($);if(Z.type==="mutable_atom"&&M_(T)){let{parent:O}=T;G=sF(T,Z,O)}if(G.do(Y.newValue)===null)E2(T,Z)}};var W1=(T,_,F)=>{switch(_.type){case"atom":case"mutable_atom":F$(T,_,F);break;case"writable_pure_selector":case"writable_held_selector":_.set(F);break}};var J1=(T,_)=>m(T).atoms.has(_),c7=(T,_)=>m(T).writableSelectors.has(_),d7=(T,_)=>m(T).readonlySelectors.has(_),$$=(T,_)=>J1(T,_)||c7(T,_)||d7(T,_);var Y1=(T,_)=>{return m(T).selectorGraph.getRelationEntries({downstreamSelectorKey:_}).filter(([W,{source:J}])=>J!==_).map(([W,{source:J}])=>J).filter((W)=>$$(T,W))};var z2=(T,_,F)=>{let W=[],J=Y1(T,_);while(J.length>0){let Y=J.shift();if(F.has(Y))continue;if(F.add(Y),!J1(T,Y))J.push(...Y1(T,Y));else if(!W.includes(Y))W.push(Y)}return W},Z$=(T,_)=>{let F=T.key,W=Y1(_,F),J=new Set;return W.flatMap((Y)=>J1(_,Y)?Y:z2(_,Y,J))};var X$=(T,_,F,W,J)=>{let Y=m(T),{type:$,key:Z}=W;if($==="atom"||$==="mutable_atom")Y.selectorAtoms.set({selectorKey:F,atomKey:Z}),T.logger.info("\uD83D\uDD0D",_,F,`discovers root atom "${Z}"`);else{let G=z2(T,Z,J);T.logger.info("\uD83D\uDD0D",_,F,`discovers root atoms: [ ${G.map((X)=>`"${X}"`).join(", ")} ]`);for(let X of G)Y.selectorAtoms=Y.selectorAtoms.set({selectorKey:F,atomKey:X})}J.add(Z)};var w0=(T,_,F,W)=>({get:(...J)=>{let Y=m(T),$;if(J.length===2){let[O,M]=J;$=w_(T,O,M)}else[$]=J;let Z=$_(T,$),G=U0(T,Z),X=$.key;return T.logger.info("\uD83D\uDD0C",_,F,`registers dependency ( "${X}" =`,G,")"),Y.selectorGraph.set({upstreamSelectorKey:X,downstreamSelectorKey:F},{source:$.key}),X$(T,_,F,$,W),G},set:(...J)=>{let Y,$;if(J.length===2)Y=J[0],$=J[1];else{let X=J[0],O=J[1];$=J[2],Y=w_(T,X,O)}let Z=m(T),G=$_(Z,Y);W1(Z,G,$)},find:(...J)=>w_(T,...J),json:(J)=>$F(T,J)});var V2=(T,_,F)=>{let W=m(T),J=new FT,Y=new Set,{key:$,const:Z}=_,G="readonly_held_selector",{get:X,find:O,json:M}=w0(W,"readonly_held_selector",$,Y),K={..._,type:"readonly_held_selector",subject:J,install:(V)=>V2(V,_,F),get:()=>{return _.get({get:X,find:O,json:M},Z),sT(m(T),$,Z,J),Y.clear(),Z},...F&&{family:F}};W.readonlySelectors.set($,K),T.logger.info("\u2728","readonly_held_selector",$,"=",Z);let B={key:$,type:"readonly_held_selector"};if(F)B.family=F;return B};var K2=(T,_,F)=>{let W=m(T),J=new FT,Y=new Set,$=_.key,Z="readonly_pure_selector",{get:G,find:X,json:O}=w0(W,"readonly_pure_selector",$,Y),M=()=>{let V=_.get({get:G,find:X,json:O});return sT(m(T),$,V,J),Y.clear(),V},Q={..._,type:"readonly_pure_selector",subject:J,install:(V)=>K2(V,_,F),get:M,...F&&{family:F}};W.readonlySelectors.set($,Q);let K=M();T.logger.info("\u2728","readonly_pure_selector",$,"=",K);let B={key:$,type:"readonly_pure_selector"};if(F)B.family=F;return B};var L2=(T,_,F)=>{let W=m(T),J=new FT,Y=new Set,{key:$,const:Z}=_,G="writable_held_selector",X=w0(W,"writable_held_selector",$,Y),{find:O,get:M,json:Q}=X,K={find:O,get:M,json:Q},B=(y=_.get,u=m(T))=>{return y(K,Z),sT(u,$,Z,J),Y.clear(),Z},v={..._,type:"writable_held_selector",subject:J,install:(y)=>L2(y,_,F),get:B,set:(y)=>{let u=m(T),h=B(_.get,u),p=YF(y)(h);if(T.logger.info("\uD83D\uDCDD","writable_held_selector",$,"set (",h,"->",p,")"),sT(u,$,p,J),M0(u,$),O0(u))J.next({newValue:p,oldValue:h});_.set(X,p)},...F&&{family:F}};W.writableSelectors.set($,v);let q=B();T.logger.info("\u2728","writable_held_selector",$,"=",q);let j={key:$,type:"writable_held_selector"};if(F)j.family=F;return j};var aF=(T,_,F)=>{let W=m(T),J=new FT,Y=new Set,$=_.key,Z="writable_pure_selector",G=w0(W,"writable_pure_selector",$,Y),{find:X,get:O,json:M}=G,Q={find:X,get:O,json:M},K=(j=_.get,y=m(T))=>{let u=j(Q);return sT(y,$,u,J),Y.clear(),u},V={..._,type:"writable_pure_selector",subject:J,install:(j)=>aF(j,_,F),get:K,set:(j)=>{let y=m(T),u=K(_.get,y),h=YF(j)(u);if(T.logger.info("\uD83D\uDCDD","writable_pure_selector",$,"set (",u,"->",h,")"),sT(y,_.key,h,J),M0(y,_.key),O0(y))J.next({newValue:h,oldValue:u});_.set(G,h)},...F&&{family:F}};W.writableSelectors.set($,V);let v=K();T.logger.info("\u2728",V.type,V.key,"=",v);let q={key:$,type:"writable_pure_selector"};if(F)q.family=F;return q};function lY(T,_){let F="set"in _,W="const"in _;if(W&&F){let Y=L2(T,_,void 0);return T.on.selectorCreation.next(Y),Y}if(W){let Y=V2(T,_,void 0);return T.on.selectorCreation.next(Y),Y}if(F){let Y=aF(T,_,void 0);return T.on.selectorCreation.next(Y),Y}let J=K2(T,_,void 0);return T.on.selectorCreation.next(J),J}function M2(T,_,F){let W=_.key,J="writable_pure_selector_family",Y={key:W,type:"writable_pure_selector_family"},$=T.families.get(W);if($)T.logger.error("\u2757","writable_pure_selector_family",W,`Overwriting an existing ${F1($)} "${$.key}" in store "${T.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Z=new FT,X=Object.assign((O)=>{let M=rT(O),Q={key:W,subKey:M},K=`${W}(${M})`,B=m(T),V=aF(B,{key:K,get:_.get(O),set:_.set(O)},Q);return Z.next({type:"state_creation",token:V}),V},Y,{internalRoles:F,subject:Z,install:(O)=>M2(O,_),default:(O)=>{return _.get(O)({get:(...Q)=>eF(T,...Q),find:(...Q)=>w_(T,...Q),json:(Q)=>$F(T,Q)})}});return T.families.set(W,X),Y}function G$(T,_,F){let W=T.families.get(_.key);if(W===void 0)throw new rF(_,T);let J=W(F),Y=m(T);if(J.family){if(O0(Y))switch(J.type){case"atom":case"mutable_atom":T.on.atomCreation.next(J);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":T.on.selectorCreation.next(J);break}else if(M_(Y)&&Y.on.transactionApplying.state===null)Y.transactionMeta.update.updates.push({type:"state_creation",token:J})}return J}function A$(T,_,F){let W=rT(F),J=`${_.key}(${W})`,Y=m(T),$;switch(_.type){case"atom_family":case"mutable_atom_family":$=Y.atoms.get(J);break;case"writable_held_selector_family":case"writable_pure_selector_family":$=Y.writableSelectors.get(J);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":$=Y.readonlySelectors.get(J);break}if($)return nF($);return $}function w_(T,_,F){let W=A$(T,_,F);if(W)return W;let J=rT(F),Y=T.molecules.get(J);if(!Y&&T.config.lifespan==="immortal"){let $=iY(_,F);return T.logger.error("\u274C",$.type,$.key,`was not found in store "${T.config.name}"; returned a counterfeit token.`),$}if(W=G$(T,_,F),Y)m(T).moleculeData.set(J,_.key);return W}function H$(T,_){if(_.family){let F=T.families.get(_.family.key);if(F)return F}}function Q0(T,..._){let F,W,J,Y;if(_.length===2){if(F=_[0],Y=_[1],W=H$(T,F)??null,W)J=F.family?iF(F.family.subKey):null,F=w_(T,W,J)}else W=_[0],J=_[1],Y=_[2],F=w_(T,W,J);if("counterfeit"in F&&"family"in F){let G=F.family.subKey,X=T.disposalTraces.buffer.find((O)=>O?.key===G);T.logger.error("\u274C",F.type,F.key,`could not be set because it was not found in the store "${T.config.name}".`,X?`This state was previously disposed:
|
|
48
48
|
${X.trace}`:"No previous disposal trace was found.");return}let $=sY(T,F);if($){let G=T.on.operationClose.subscribe(`waiting to set "${F.key}" at T-${$}`,()=>{G(),T.logger.info("\uD83D\uDFE2",F.type,F.key,`resuming deferred setState from T-${$}`),Q0(T,F,Y)});return}let Z=$_(T,F);W1(T,Z,Y),aY(T)}function eF(T,..._){let F,W,J;if(_.length===1)F=_[0];else W=_[0],J=_[1],F=w_(T,W,J);if("counterfeit"in F&&"family"in F){W=T.families.get(F.family.key);let Y=F.family.subKey,$=T.disposalTraces.buffer.find((Z)=>Z?.key===Y);switch(T.logger.error("\u274C",F.type,F.key,`could not be retrieved because it was not found in the store "${T.config.name}".`,$?`This state was previously disposed:
|
|
49
|
-
${$.trace}`:"No previous disposal trace was found."),W.type){case"atom_family":case"mutable_atom_family":return T.defaults.get(W.key);case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(T.defaults.has(W.key))return T.defaults.get(F.family.key);let Z=$_(T,W).default(Y);return T.defaults.set(W.key,Z),Z}}}return U0(T,$_(T,F))}class O${parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new g_({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new g_({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 g_({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new g_({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new _1(100);molecules=new Map;moleculeJoins=new g_({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeGraph=new g_({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeData=new g_({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});miscResources=new Map;on={atomCreation:new FT,atomDisposal:new FT,selectorCreation:new FT,selectorDisposal:new FT,timelineCreation:new FT,transactionCreation:new FT,transactionApplying:new R2(null),operationClose:new FT,moleculeCreation:new FT,moleculeDisposal:new FT};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new Q2("warn",(T,_,F)=>!M$(F))];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},O0(_))this.transactionMeta={epoch:new Map(_?.transactionMeta.epoch),actionContinuities:new g_(_?.transactionMeta.actionContinuities.toJSON())};for(let[,W]of _.families){if(W.internalRoles?.includes("mutable")||W.internalRoles?.includes("join"))continue;W.install(this)}let F=new Set;for(let[,W]of _.atoms){if(F.has(W.key))continue;if(W.install(this),W.type==="mutable_atom"){let J=$F(_,W),Y=U$(W);F.add(J.key),F.add(Y.key)}}for(let[,W]of _.readonlySelectors)W.install(this);for(let[,W]of _.writableSelectors){if(F.has(W.key))continue;W.install(this)}for(let[,W]of _.transactions)W.install(this);for(let[,W]of _.timelines)W.install(this)}}}var tY={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new O$({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function $_(T,_){let F,W=T;while(W!==null){switch(_.type){case"atom":case"mutable_atom":F=W.atoms.get(_.key);break;case"writable_pure_selector":case"writable_held_selector":F=W.writableSelectors.get(_.key);break;case"readonly_pure_selector":case"readonly_held_selector":F=W.readonlySelectors.get(_.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":F=W.families.get(_.key);break;case"timeline":F=W.timelines.get(_.key);break;case"transaction":F=W.transactions.get(_.key);break}if(F)return F;W=W.child}throw new rF(_,T)}var w$=(T,_)=>{let F=m(T);if(F.operation.open)return F.operation.prev.get(_.key);return F.valueMap.get(_.key)};var D2=(T,_)=>{let F=m(T);return Z$(_,T).map((J)=>{let Y=F.atoms.get(J);if(Y===void 0)throw new Error(`Atom "${J}", a dependency of selector "${_.key}", not found in store "${T.config.name}".`);return Y.subject.subscribe(`${_.type}:${_.key}`,($)=>{T.logger.info("\uD83D\uDCE2",_.type,_.key,"root",J,"went",$.oldValue,"->",$.newValue);let Z=w$(F,_),G=U0(F,_);T.logger.info("\u2728",_.type,_.key,"went",Z,"->",G),_.subject.next({newValue:G,oldValue:Z})})})};function TW(T,_,F,W){function J(M){if(T.operation.open){let Q=T.on.operationClose.subscribe(`state subscription ${F}`,()=>{Q(),W(M)})}else W(M)}let Y=$_(T,_);T.logger.info("\uD83D\uDC40",Y.type,Y.key,`Adding subscription "${F}"`);let $=Y.type==="writable_pure_selector"||Y.type==="readonly_pure_selector",Z=null,G=J;if($)Z=D2(T,Y),G=(M)=>{if(Z)Z.length=0,Z.push(...D2(T,Y));J(M)};let X=Y.subject.subscribe(F,G);return()=>{if(T.logger.info("\uD83D\uDE48",Y.type,Y.key,`Removing subscription "${F}"`),X(),Z)for(let M of Z)M()}}var Q$=(T,_,F,W)=>{let J=$_(T,_);T.logger.info("\uD83D\uDC40","timeline",_.key,`Adding subscription "${F}"`);let Y=J.subject.subscribe(F,W);return()=>{T.logger.info("\uD83D\uDE48","timeline",_.key,`Removing subscription "${F}" from timeline`),Y()}};class S2{initializeState(T,_){let F=`*${T.key}`;_.atoms.delete(F),_.valueMap.delete(F);let W=T.family?{key:`*${T.family.key}`,subKey:T.family.subKey}:void 0,J=I2(_,{key:F,default:null},W);if(_.parent?.valueMap.has(F)){let Y=_.parent.valueMap.get(F);_.valueMap.set(F,Y)}return J}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(T,_,F){let W=`tracker:${F.config.name}:${M_(F)?F.transactionMeta.update.key:"main"}:${T.key}`,J=eF(F,T);this.unsubscribeFromInnerValue=J.subscribe(W,(Y)=>{Q0(F,_,Y)}),this.unsubscribeFromState=TW(F,T,W,(Y)=>{if(Y.newValue!==Y.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=Y.newValue.subscribe(W,($)=>{Q0(F,_,$)})})}updateCore(T,_,F){let W=`tracker:${F.config.name}:${M_(F)?F.transactionMeta.update.key:"main"}:${T.key}`;TW(F,_,W,({newValue:J,oldValue:Y})=>{let $=F.timelineTopics.getRelatedKey(_.key);if($){if(F.timelines.get($)?.timeTraveling){let X=Q$(F,{key:$,type:"timeline"},W,(O)=>{X(),Q0(F,T,(M)=>{if(O==="redo"&&J)M.do(J);else if(O==="undo"&&Y)M.undo(Y);return M})});return}}let Z=F.on.operationClose.subscribe(W,()=>{Z();let G=eF(F,T),X=J===null?-1:G.getUpdateNumber(J),O=X-G.cacheUpdateNumber;if(J&&O===1)Q0(F,T,(M)=>(M.do(J),M));else F.logger.info("\u274C","mutable_atom",T.key,`could not be updated. Expected update number ${G.cacheUpdateNumber+1}, but got ${X}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(T,_){this.mutableState=T;let F=m(_);this.latestUpdateState=this.initializeState(T,F),this.observeCore(T,this.latestUpdateState,F),this.updateCore(T,this.latestUpdateState,F),F.trackers.set(T.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),F.trackers.delete(T.key)}}}var $F=(T,_)=>{if(_.family){let W=m(T),Y={key:`${_.family.key}:JSON`,type:"writable_pure_selector_family"},$=$_(W,Y),Z=JSON.parse(_.family.subKey);return w_(T,$,Z)}return{type:"writable_pure_selector",key:`${_.key}:JSON`}};var U$=(T)=>{let F={type:"atom",key:`*${T.key}`};if(T.family)F.family={key:`*${T.family.key}`,subKey:T.family.subKey};return F};function W$(T){return typeof T==="object"&&T!==null&&"do"in T&&"undo"in T&&"subscribe"in T}function sF(T,_,F){let W=F.valueMap.get(_.key),J=T.valueMap.get(_.key);if(W!==J)return J;if(W===void 0)return _.default();F.logger.info("\uD83D\uDCC3","atom",_.key,"copying");let Y=_.toJson(W),$=_.fromJson(Y);return T.valueMap.set(_.key,$),new S2(_,F),$}function sT(T,_,F,W){let J=T.valueMap.get(_);if(J instanceof tF)J.use(F);if(F instanceof Promise){let Y=new tF(F);return T.valueMap.set(_,Y),Y.then(($)=>{sT(T,_,$,W),W.next({newValue:$,oldValue:Y})}).catch(($)=>{T.logger.error("\uD83D\uDCA5","state",_,"rejected:",$)}),Y}return T.valueMap.set(_,F),F}var rY=(T,_)=>{let F=_.valueMap.get(T.key);if(T.type==="mutable_atom"&&M_(_)){let{parent:W}=_;F=sF(_,T,W)}return F},_$=(T,_)=>{let F=_.valueMap.get(T);if(F instanceof tF){let W=F,J=_.writableSelectors.get(T)??_.readonlySelectors.get(T);if(J)W.use(J.get());return}if(_.operation.open)_.operation.prev.set(T,F);_.valueMap.delete(T),_.logger.info("\uD83D\uDDD1","state",T,"evicted")};var J$=(T,_)=>{return m(T).atomsThatAreDefault.has(_)},R$=(T,_)=>{let F=m(T);F.atomsThatAreDefault=new Set(F.atomsThatAreDefault).add(_)},Y$=(T,_)=>{let F=m(T);F.atomsThatAreDefault=new Set(m(T).atomsThatAreDefault),F.atomsThatAreDefault.delete(_)};function I2(T,_,F){let{key:J,default:Y}=_;T.logger.info("\uD83D\uDD28","atom",J,`creating in store "${T.config.name}"`);let $=m(T),Z=$.atoms.get(J);if(Z&&Z.type==="atom")return T.logger.error("\u274C","atom",J,"Tried to create atom, but it already exists in the store."),nF(Z);let G=new FT,X={..._,type:"atom",install:(Q)=>{return Q.logger.info("\uD83D\uDEE0\uFE0F","atom",J,`installing in store "${Q.config.name}"`),I2(Q,_,F)},subject:G};if(F)X.family=F;let O=Y;if(Y instanceof Function)O=Y();$.atoms.set(J,X),R$(T,J),sT($,J,O,G);let M=nF(X);if(_.effects){let Q=0,K=[];for(let B of _.effects){let V=B({setSelf:(v)=>{Q0(T,M,v)},onSet:(v)=>TW(T,M,`effect[${Q}]`,v)});if(V)K.push(V);++Q}X.cleanup=()=>{for(let B of K)B()}}return M}class ZF extends Set{mode="record";subject=new FT;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(T,_=0){super(T);if(T instanceof ZF)this.parent=T,this.cacheUpdateNumber=T.cacheUpdateNumber;if(_)this.cacheLimit=_,this.cache=new Array(_),this.subscribe("auto cache",(F)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=F})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(T){let _=new ZF(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:${rT(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:${rT(T)}`);return _}parent=null;child=null;transactionUpdates=null;transaction(T){this.mode="transaction",this.transactionUpdates=[],this.child=new ZF(this);let _=this.child._subscribe("transaction",(F)=>{this.transactionUpdates?.push(F)});try{if(T(this.child)){for(let W of this.transactionUpdates)this.doStep(W);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(F){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",F),F}finally{_(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(T,_){return this.subject.subscribe(T,_)}subscribe(T,_){return this.subject.subscribe(T,(F)=>{_(`${this.cacheUpdateNumber}=${F}`)})}emit(T){this.subject.next(T)}doStep(T){let _=T.indexOf(":"),F=T.substring(0,_),W=T.substring(_+1);switch(F){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 J of W.split(";"))this.doStep(J)}}getUpdateNumber(T){let _=T.indexOf("=");return Number(T.substring(0,_))}do(T){let _=T.indexOf("="),F=Number(T.substring(0,_)),W=F-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=F,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 Z=!1;while(!Z){this.cacheIdx%=this.cacheLimit;let X=this.cache[this.cacheIdx];if(this.cacheIdx--,!X)return"OUT_OF_RANGE";this.undo(X),Z=this.cacheIdx===Y-1}let G=T.substring(_+1);return this.doStep(G),this.mode="record",this.cacheUpdateNumber=F,null}return"OUT_OF_RANGE"}undoStep(T){let _=T.indexOf(":"),F=T.substring(0,_),W=T.substring(_+1);switch(F){case"add":this.delete(JSON.parse(W));break;case"del":this.add(JSON.parse(W));break;case"clear":{let J=JSON.parse(W);for(let Y of J)this.add(Y);break}case"tx":{let J=W.split(";");for(let Y=J.length-1;Y>=0;Y--)this.undoStep(J[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}}function M$(T){return T.startsWith("\uD83D\uDD0D ")}class $1{supported;constructor(T){this.supported=T}refine(T){for(let[_,F]of Object.entries(this.supported))try{if(F(T)===!0&&F!==Boolean)return{type:_,data:T}}catch(W){try{if(T instanceof F)return{type:_,data:T}}catch(J){}}return null}}var l7=new $1({number:(T)=>typeof T==="number",string:(T)=>typeof T==="string",boolean:(T)=>typeof T==="boolean",null:(T)=>T===null});function t7(T){if(!T)return!1;return Object.getPrototypeOf(T)===Object.prototype}var i7=new $1({object:t7,array:(T)=>Array.isArray(T)}),n7=new $1({...l7.supported,...i7.supported}),E$=(T)=>{if(T===void 0)return"undefined";let _=n7.refine(T);if(_)return _.type;return Object.getPrototypeOf(T).constructor.name};class Z1{listeners;globalListeners;handleEvent(T,..._){for(let W of this.globalListeners)W(T,..._);let F=this.listeners.get(T);if(F)for(let W of F)W(..._)}id="no_id_retrieved";emit;constructor(T){this.emit=T,this.listeners=new Map,this.globalListeners=new Set}on(T,_){let F=this.listeners.get(T);if(F)F.add(_);else this.listeners.set(T,new Set([_]));return this}onAny(T){return this.globalListeners.add(T),this}off(T,_){let F=this.listeners.get(T);if(F)if(_)F.delete(_);else this.listeners.delete(T);return this}offAny(T){return this.globalListeners.delete(T),this}}class z$ extends Z1{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(T){super((..._)=>{return this.out.next(_),this});this.id=T,this.in=new FT,this.out=new FT,this.in.subscribe("socket",(_)=>{this.handleEvent(..._)})}dispose(){for(let T of this.disposalFunctions)T()}}class N2 extends Z1{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...T){this.process.stderr.write(rT(T.map((_)=>_ instanceof ZF?`{ ${_.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 F=JSON.stringify([T,..._]);return this.process.stdout.write(F+"\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 F=this.unprocessedEvents.shift();this.incompleteData+=F??"";try{let W=iF(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",W),this.handleEvent(...W);while(this.unprocessedEvents.length>0){let J=this.unprocessedEvents.shift();if(J){if(this.unprocessedEvents.length===0)this.incompleteData=J;let Y=iF(J);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 z$(`user:${T}`);this.relays.set(T,_),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let F of this.relayServices){let W=F(_);if(W)_.disposalFunctions.push(W)}this.on(`user:${T}`,(...F)=>{_.in.next(F)}),_.out.subscribe("socket",(F)=>{this.emit(...F)})}),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{file:s5,serve:HO}=globalThis.Bun;import{readFileSync as L$}from"fs";import{createServer as e7}from"http";import{createServer as T3}from"https";import{resolve as B2}from"path";function V$(T,_){if(T instanceof Promise)throw new Error(_)}function r7(T,_){let F={},W=[];for(let J in T){let Y=T[J]["~standard"].validate(_[J]);if(V$(Y,`Validation must be synchronous, but ${J} returned a Promise.`),Y.issues){W.push(...Y.issues.map(($)=>({...$,message:$.message,path:[J,...$.path??[]]})));continue}F[J]=Y.value}if(W.length)return{issues:W};return{value:F}}function C2(T){let _=T.runtimeEnvStrict??T.runtimeEnv??process.env;if(T.emptyStringAsUndefined??!1){for(let[j,y]of Object.entries(_))if(y==="")delete _[j]}if(!!T.skipValidation)return _;let J=typeof T.client==="object"?T.client:{},Y=typeof T.server==="object"?T.server:{},$=typeof T.shared==="object"?T.shared:{},Z=T.isServer??(typeof window==="undefined"||("Deno"in window)),G=Z?{...Y,...$,...J}:{...J,...$},X=T.createFinalSchema?.(G,Z)["~standard"].validate(_)??r7(G,_);V$(X,"Validation must be synchronous");let O=T.onValidationError??((j)=>{throw console.error("\u274C Invalid environment variables:",j),new Error("Invalid environment variables")}),M=T.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(X.issues)return O(X.issues);let Q=(j)=>{if(!T.clientPrefix)return!0;return!j.startsWith(T.clientPrefix)&&!(j in $)},K=(j)=>{return Z||!Q(j)},B=(j)=>{return j==="__esModule"||j==="$$typeof"},V=(T.extends??[]).reduce((j,y)=>{return Object.assign(j,y)},{}),v=Object.assign(V,X.value);return new Proxy(v,{get(j,y){if(typeof y!=="string")return;if(B(y))return;if(!K(y))return M(y);return Reflect.get(j,y)}})}var s7="__vite_start_time"in globalThis,a7=typeof window!=="undefined",fN="vitest"in globalThis,s_=Y_("string"),K$=Y_('"true" | "false" | undefined'),q_=C2({isServer:!s7&&!a7,server:{CI:Y_("string | undefined").pipe(Boolean),POSTGRES_USER:s_,POSTGRES_PASSWORD:s_,POSTGRES_DATABASE:s_,POSTGRES_HOST:s_,POSTGRES_PORT:s_.pipe((T)=>Number.parseInt(T,10)),BACKEND_PORT:s_.pipe((T)=>Number.parseInt(T,10)),RUN_WORKERS_FROM_SOURCE:K$.pipe((T)=>T==="true"),FRONTEND_PORT:s_.pipe((T)=>Number.parseInt(T,10)),FRONTEND_ORIGINS:s_.pipe.try((T)=>JSON.parse(T),Y_("string[]")),API_KEY_OPENAI:Y_("string | undefined"),API_KEY_RESEND:Y_("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:s_,VITE_DEV_FRONTEND_HOST:Y_("string | undefined"),VITE_DEV_HTTPS:K$.pipe((T)=>T==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var D$=B2(import.meta.dirname,"../dev"),X1=q_.VITE_DEV_HTTPS?{cert:L$(B2(D$,"./cert.pem"),"utf-8"),key:L$(B2(D$,"./key.pem"),"utf-8")}:void 0;function bN(T){if(X1)return T3(X1,T);return e7({},T)}import JO from"path";var H=Symbol.for("drizzle:entityKind"),pN=Symbol.for("drizzle:hasOwnEntityKind");function R(T,_){if(!T||typeof T!=="object")return!1;if(T instanceof _)return!0;if(!Object.prototype.hasOwnProperty.call(_,H))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 F=Object.getPrototypeOf(T).constructor;if(F)while(F){if(H in F&&F[H]===_[H])return!0;F=Object.getPrototypeOf(F)}return!1}class GT{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[H]="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 k2{static[H]="ColumnBuilder";config;constructor(T,_,F){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:F,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 j_=Symbol.for("drizzle:Name");class f2{static[H]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(T,_){if(this.reference=()=>{let{name:F,columns:W,foreignColumns:J}=T();return{name:F,columns:W,foreignTable:J[0].table,foreignColumns:J}},_)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 S$(T,this)}}class S${constructor(T,_){this.table=T,this.reference=_.reference,this.onUpdate=_._onUpdate,this.onDelete=_._onDelete}static[H]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:T,columns:_,foreignColumns:F}=this.reference(),W=_.map(($)=>$.name),J=F.map(($)=>$.name),Y=[this.table[j_],...W,F[0].table[j_],...J];return T??`${Y.join("_")}_fk`}}function G1(T,..._){return T(..._)}function I$(T,_){return`${T[j_]}_${_.join("_")}_unique`}function N$(T,_,F){for(let W=_;W<T.length;W++){let J=T[W];if(J==="\\"){W++;continue}if(J==='"')return[T.slice(_,W).replace(/\\/g,""),W+1];if(F)continue;if(J===","||J==="}")return[T.slice(_,W).replace(/\\/g,""),W]}return[T.slice(_).replace(/\\/g,""),T.length]}function C$(T,_=0){let F=[],W=_,J=!1;while(W<T.length){let Y=T[W];if(Y===","){if(J||W===_)F.push("");J=!0,W++;continue}if(J=!1,Y==="\\"){W+=2;continue}if(Y==='"'){let[G,X]=N$(T,W+1,!0);F.push(G),W=X;continue}if(Y==="}")return[F,W+1];if(Y==="{"){let[G,X]=C$(T,W+1);F.push(G),W=X;continue}let[$,Z]=N$(T,W,!1);F.push($),W=Z}return[F,W]}function B$(T){let[_]=C$(T,1);return _}function P2(T){return`{${T.map((_)=>{if(Array.isArray(_))return P2(_);if(typeof _==="string")return`"${_.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${_}`}).join(",")}}`}class f extends k2{foreignKeyConfigs=[];static[H]="PgColumnBuilder";array(T){return new f$(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:F,actions:W})=>{return G1((J,Y)=>{let $=new f2(()=>{let Z=J();return{columns:[T],foreignColumns:[Z]}});if(Y.onUpdate)$.onUpdate(Y.onUpdate);if(Y.onDelete)$.onDelete(Y.onDelete);return $.build(_)},F,W)})}buildExtraConfigColumn(T){return new k$(T,this.config)}}class S extends GT{constructor(T,_){if(!_.uniqueName)_.uniqueName=I$(T,[_.name]);super(T,_);this.table=T}static[H]="PgColumn"}class k$ extends S{static[H]="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 _W{static[H]="IndexedColumn";constructor(T,_,F,W){this.name=T,this.keyAsName=_,this.type=F,this.indexConfig=W}name;keyAsName;type;indexConfig}class f$ extends f{static[H]="PgArrayBuilder";constructor(T,_,F){super(T,"array","PgArray");this.config.baseBuilder=_,this.config.size=F}build(T){let _=this.config.baseBuilder.build(T);return new q2(T,this.config,_)}}class q2 extends S{constructor(T,_,F,W){super(T,_);this.baseColumn=F,this.range=W,this.size=_.size}size;static[H]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(T){if(typeof T==="string")T=B$(T);return T.map((_)=>this.baseColumn.mapFromDriverValue(_))}mapToDriverValue(T,_=!1){let F=T.map((W)=>W===null?null:R(this.baseColumn,q2)?this.baseColumn.mapToDriverValue(W,!0):this.baseColumn.mapToDriverValue(W));if(_)return F;return P2(F)}}class P$ extends f{static[H]="PgEnumObjectColumnBuilder";constructor(T,_){super(T,"string","PgEnumObjectColumn");this.config.enum=_}build(T){return new q$(T,this.config)}}class q$ extends S{static[H]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(T,_){super(T,_);this.enum=_.enum}getSQLType(){return this.enum.enumName}}var A1=Symbol.for("drizzle:isPgEnum");function j$(T){return!!T&&typeof T==="function"&&A1 in T&&T[A1]===!0}class y$ extends f{static[H]="PgEnumColumnBuilder";constructor(T,_){super(T,"string","PgEnumColumn");this.config.enum=_}build(T){return new v$(T,this.config)}}class v$ extends S{static[H]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(T,_){super(T,_);this.enum=_.enum}getSQLType(){return this.enum.enumName}}function FW(T,_){return Array.isArray(_)?_3(T,[..._],void 0):F3(T,_,void 0)}function _3(T,_,F){let W=Object.assign((J)=>new y$(J??"",W),{enumName:T,enumValues:_,schema:F,[A1]:!0});return W}function F3(T,_,F){let W=Object.assign((J)=>new P$(J??"",W),{enumName:T,enumValues:Object.values(_),schema:F,[A1]:!0});return W}class IT{static[H]="Subquery";constructor(T,_,F,W=!1,J=[]){this._={brand:"Subquery",sql:T,selectedFields:_,alias:F,isWith:W,usedTables:J}}}class WW extends IT{static[H]="WithSubquery"}var x$="0.44.0";var j2,y2,AT={startActiveSpan(T,_){if(!j2)return _();if(!y2)y2=j2.trace.getTracer("drizzle-orm",x$);return G1((F,W)=>W.startActiveSpan(T,(J)=>{try{return _(J)}catch(Y){throw J.setStatus({code:F.SpanStatusCode.ERROR,message:Y instanceof Error?Y.message:"Unknown error"}),Y}finally{J.end()}}),j2,y2)}};var MT=Symbol.for("drizzle:ViewBaseConfig");var k0=Symbol.for("drizzle:Schema"),H1=Symbol.for("drizzle:Columns"),b$=Symbol.for("drizzle:ExtraConfigColumns"),v2=Symbol.for("drizzle:OriginalName"),x2=Symbol.for("drizzle:BaseName"),JW=Symbol.for("drizzle:IsAlias"),h$=Symbol.for("drizzle:ExtraConfigBuilder"),W3=Symbol.for("drizzle:IsDrizzleTable");class I{static[H]="Table";static Symbol={Name:j_,Schema:k0,OriginalName:v2,Columns:H1,ExtraConfigColumns:b$,BaseName:x2,IsAlias:JW,ExtraConfigBuilder:h$};[j_];[v2];[k0];[H1];[b$];[x2];[JW]=!1;[W3]=!0;[h$]=void 0;constructor(T,_,F){this[j_]=this[v2]=T,this[k0]=_,this[x2]=F}}function xT(T){return T[j_]}function f0(T){return`${T[k0]??"public"}.${T[j_]}`}function b2(T){return T!==null&&T!==void 0&&typeof T.getSQL==="function"}function J3(T){let _={sql:"",params:[]};for(let F of T)if(_.sql+=F.sql,_.params.push(...F.params),F.typings?.length){if(!_.typings)_.typings=[];_.typings.push(...F.typings)}return _}class yT{static[H]="StringChunk";value;constructor(T){this.value=Array.isArray(T)?T:[T]}getSQL(){return new k([this])}}class k{constructor(T){this.queryChunks=T;for(let _ of T)if(R(_,I)){let F=_[I.Symbol.Schema];this.usedTables.push(F===void 0?_[I.Symbol.Name]:F+"."+_[I.Symbol.Name])}}static[H]="SQL";decoder=g$;shouldInlineParams=!1;usedTables=[];append(T){return this.queryChunks.push(...T.queryChunks),this}toQuery(T){return AT.startActiveSpan("drizzle.buildSQL",(_)=>{let F=this.buildQueryFromSourceParams(this.queryChunks,T);return _?.setAttributes({"drizzle.query.text":F.sql,"drizzle.query.params":JSON.stringify(F.params)}),F})}buildQueryFromSourceParams(T,_){let F=Object.assign({},_,{inlineParams:_.inlineParams||this.shouldInlineParams,paramStartIndex:_.paramStartIndex||{value:0}}),{casing:W,escapeName:J,escapeParam:Y,prepareTyping:$,inlineParams:Z,paramStartIndex:G}=F;return J3(T.map((X)=>{if(R(X,yT))return{sql:X.value.join(""),params:[]};if(R(X,O1))return{sql:J(X.value),params:[]};if(X===void 0)return{sql:"",params:[]};if(Array.isArray(X)){let O=[new yT("(")];for(let[M,Q]of X.entries())if(O.push(Q),M<X.length-1)O.push(new yT(", "));return O.push(new yT(")")),this.buildQueryFromSourceParams(O,F)}if(R(X,k))return this.buildQueryFromSourceParams(X.queryChunks,{...F,inlineParams:Z||X.shouldInlineParams});if(R(X,I)){let O=X[I.Symbol.Schema],M=X[I.Symbol.Name];return{sql:O===void 0||X[JW]?J(M):J(O)+"."+J(M),params:[]}}if(R(X,GT)){let O=W.getColumnCasing(X);if(_.invokeSource==="indexes")return{sql:J(O),params:[]};let M=X.table[I.Symbol.Schema];return{sql:X.table[JW]||M===void 0?J(X.table[I.Symbol.Name])+"."+J(O):J(M)+"."+J(X.table[I.Symbol.Name])+"."+J(O),params:[]}}if(R(X,Z_)){let O=X[MT].schema,M=X[MT].name;return{sql:O===void 0||X[MT].isAlias?J(M):J(O)+"."+J(M),params:[]}}if(R(X,Q_)){if(R(X.value,R0))return{sql:Y(G.value++,X),params:[X],typings:["none"]};let O=X.value===null?null:X.encoder.mapToDriverValue(X.value);if(R(O,k))return this.buildQueryFromSourceParams([O],F);if(Z)return{sql:this.mapInlineParam(O,F),params:[]};let M=["none"];if($)M=[$(X.encoder)];return{sql:Y(G.value++,O),params:[O],typings:M}}if(R(X,R0))return{sql:Y(G.value++,X),params:[X],typings:["none"]};if(R(X,k.Aliased)&&X.fieldAlias!==void 0)return{sql:J(X.fieldAlias),params:[]};if(R(X,IT)){if(X._.isWith)return{sql:J(X._.alias),params:[]};return this.buildQueryFromSourceParams([new yT("("),X._.sql,new yT(") "),new O1(X._.alias)],F)}if(j$(X)){if(X.schema)return{sql:J(X.schema)+"."+J(X.enumName),params:[]};return{sql:J(X.enumName),params:[]}}if(b2(X)){if(X.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([X.getSQL()],F);return this.buildQueryFromSourceParams([new yT("("),X.getSQL(),new yT(")")],F)}if(Z)return{sql:this.mapInlineParam(X,F),params:[]};return{sql:Y(G.value++,X),params:[X],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 F=T.toString();if(F==="[object Object]")return _(JSON.stringify(T));return _(F)}throw new Error("Unexpected param value: "+T)}getSQL(){return this}as(T){if(T===void 0)return this;return new k.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 O1{constructor(T){this.value=T}static[H]="Name";brand;getSQL(){return new k([this])}}function p$(T){return typeof T==="object"&&T!==null&&"mapToDriverValue"in T&&typeof T.mapToDriverValue==="function"}var g$={mapFromDriverValue:(T)=>T},m$={mapToDriverValue:(T)=>T},CC={...g$,...m$};class Q_{constructor(T,_=m$){this.value=T,this.encoder=_}static[H]="Param";brand;getSQL(){return new k([this])}}function U(T,..._){let F=[];if(_.length>0||T.length>0&&T[0]!=="")F.push(new yT(T[0]));for(let[W,J]of _.entries())F.push(J,new yT(T[W+1]));return new k(F)}((T)=>{function _(){return new k([])}T.empty=_;function F(G){return new k(G)}T.fromList=F;function W(G){return new k([new yT(G)])}T.raw=W;function J(G,X){let O=[];for(let[M,Q]of G.entries()){if(M>0&&X!==void 0)O.push(X);O.push(Q)}return new k(O)}T.join=J;function Y(G){return new O1(G)}T.identifier=Y;function $(G){return new R0(G)}T.placeholder=$;function Z(G,X){return new Q_(G,X)}T.param=Z})(U||(U={}));((T)=>{class _{constructor(F,W){this.sql=F,this.fieldAlias=W}static[H]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new _(this.sql,this.fieldAlias)}}T.Aliased=_})(k||(k={}));class R0{constructor(T){this.name=T}static[H]="Placeholder";getSQL(){return new k([this])}}function h2(T,_){return T.map((F)=>{if(R(F,R0)){if(!(F.name in _))throw new Error(`No value for placeholder "${F.name}" was provided`);return _[F.name]}if(R(F,Q_)&&R(F.value,R0)){if(!(F.value.name in _))throw new Error(`No value for placeholder "${F.value.name}" was provided`);return F.encoder.mapToDriverValue(_[F.value.name])}return F})}var Y3=Symbol.for("drizzle:IsDrizzleView");class Z_{static[H]="View";[MT];[Y3]=!0;constructor({name:T,schema:_,selectedFields:F,query:W}){this[MT]={name:T,originalName:T,schema:_,selectedFields:F,query:W,isExisting:!W,isAlias:!1}}getSQL(){return new k([this])}}GT.prototype.getSQL=function(){return new k([this])};I.prototype.getSQL=function(){return new k([this])};IT.prototype.getSQL=function(){return new k([this])};class XF{constructor(T){this.table=T}static[H]="ColumnAliasProxyHandler";get(T,_){if(_==="table")return this.table;return T[_]}}class YW{constructor(T,_){this.alias=T,this.replaceOriginalName=_}static[H]="TableAliasProxyHandler";get(T,_){if(_===I.Symbol.IsAlias)return!0;if(_===I.Symbol.Name)return this.alias;if(this.replaceOriginalName&&_===I.Symbol.OriginalName)return this.alias;if(_===MT)return{...T[MT],name:this.alias,isAlias:!0};if(_===I.Symbol.Columns){let W=T[I.Symbol.Columns];if(!W)return W;let J={};return Object.keys(W).map((Y)=>{J[Y]=new Proxy(W[Y],new XF(new Proxy(T,this)))}),J}let F=T[_];if(R(F,GT))return new Proxy(F,new XF(new Proxy(T,this)));return F}}function U1(T,_){return new Proxy(T,new YW(_,!1))}function m_(T,_){return new Proxy(T,new XF(new Proxy(T.table,new YW(_,!1))))}function p2(T,_){return new k.Aliased($W(T.sql,_),T.fieldAlias)}function $W(T,_){return U.join(T.queryChunks.map((F)=>{if(R(F,GT))return m_(F,_);if(R(F,k))return $W(F,_);if(R(F,k.Aliased))return p2(F,_);return F}))}class M1 extends Error{static[H]="DrizzleError";constructor({message:T,cause:_}){super(T);this.name="DrizzleError",this.cause=_}}class g2 extends M1{static[H]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class o${static[H]="ConsoleLogWriter";write(T){console.log(T)}}class m2{static[H]="DefaultLogger";writer;constructor(T){this.writer=T?.writer??new o$}logQuery(T,_){let F=_.map((J)=>{try{return JSON.stringify(J)}catch{return String(J)}}),W=F.length?` -- params: [${F.join(", ")}]`:"";this.writer.write(`Query: ${T}${W}`)}}class o2{static[H]="NoopLogger";logQuery(){}}class aT{static[H]="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 u$(T,_,F){let W={},J=T.reduce((Y,{path:$,field:Z},G)=>{let X;if(R(Z,GT))X=Z;else if(R(Z,k))X=Z.decoder;else X=Z.sql.decoder;let O=Y;for(let[M,Q]of $.entries())if(M<$.length-1){if(!(Q in O))O[Q]={};O=O[Q]}else{let K=_[G],B=O[Q]=K===null?null:X.mapFromDriverValue(K);if(F&&R(Z,GT)&&$.length===2){let V=$[0];if(!(V in W))W[V]=B===null?xT(Z.table):!1;else if(typeof W[V]==="string"&&W[V]!==xT(Z.table))W[V]=!1}}return Y},{});if(F&&Object.keys(W).length>0){for(let[Y,$]of Object.entries(W))if(typeof $==="string"&&!F[$])J[Y]=null}return J}function L_(T,_){return Object.entries(T).reduce((F,[W,J])=>{if(typeof W!=="string")return F;let Y=_?[..._,W]:[W];if(R(J,GT)||R(J,k)||R(J,k.Aliased))F.push({path:Y,field:J});else if(R(J,I))F.push(...L_(J[I.Symbol.Columns],Y));else F.push(...L_(J,Y));return F},[])}function ZW(T,_){let F=Object.keys(T),W=Object.keys(_);if(F.length!==W.length)return!1;for(let[J,Y]of F.entries())if(Y!==W[J])return!1;return!0}function w1(T,_){let F=Object.entries(_).filter(([,W])=>W!==void 0).map(([W,J])=>{if(R(J,k)||R(J,GT))return[W,J];else return[W,new Q_(J,T[I.Symbol.Columns][W])]});if(F.length===0)throw new Error("No values to set");return Object.fromEntries(F)}function c$(T,_){for(let F of _)for(let W of Object.getOwnPropertyNames(F.prototype)){if(W==="constructor")continue;Object.defineProperty(T.prototype,W,Object.getOwnPropertyDescriptor(F.prototype,W)||Object.create(null))}}function d$(T){return T[I.Symbol.Columns]}function a_(T){return R(T,IT)?T._.alias:R(T,Z_)?T[MT].name:R(T,k)?void 0:T[I.Symbol.IsAlias]?T[I.Symbol.Name]:T[I.Symbol.BaseName]}function a(T,_){return{name:typeof T==="string"&&T.length>0?T:"",config:typeof T==="object"?T:_}}function l$(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 E0 extends f{static[H]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(T){if(T){let{name:_,...F}=T;this.config.generatedIdentity={type:"always",sequenceName:_,sequenceOptions:F}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(T){if(T){let{name:_,...F}=T;this.config.generatedIdentity={type:"byDefault",sequenceName:_,sequenceOptions:F}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class t$ extends E0{static[H]="PgBigInt53Builder";constructor(T){super(T,"number","PgBigInt53")}build(T){return new i$(T,this.config)}}class i$ extends S{static[H]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class n$ extends E0{static[H]="PgBigInt64Builder";constructor(T){super(T,"bigint","PgBigInt64")}build(T){return new r$(T,this.config)}}class r$ extends S{static[H]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(T){return BigInt(T)}}function s$(T,_){let{name:F,config:W}=a(T,_);if(W.mode==="number")return new t$(F);return new n$(F)}class a$ extends f{static[H]="PgBigSerial53Builder";constructor(T){super(T,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new e$(T,this.config)}}class e$ extends S{static[H]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class TZ extends f{static[H]="PgBigSerial64Builder";constructor(T){super(T,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(T){return new _Z(T,this.config)}}class _Z extends S{static[H]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(T){return BigInt(T)}}function FZ(T,_){let{name:F,config:W}=a(T,_);if(W.mode==="number")return new a$(F);return new TZ(F)}class WZ extends f{static[H]="PgBooleanBuilder";constructor(T){super(T,"boolean","PgBoolean")}build(T){return new JZ(T,this.config)}}class JZ extends S{static[H]="PgBoolean";getSQLType(){return"boolean"}}function XW(T){return new WZ(T??"")}class YZ extends f{static[H]="PgCharBuilder";constructor(T,_){super(T,"string","PgChar");this.config.length=_.length,this.config.enumValues=_.enum}build(T){return new $Z(T,this.config)}}class $Z extends S{static[H]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function ZZ(T,_={}){let{name:F,config:W}=a(T,_);return new YZ(F,W)}class XZ extends f{static[H]="PgCidrBuilder";constructor(T){super(T,"string","PgCidr")}build(T){return new GZ(T,this.config)}}class GZ extends S{static[H]="PgCidr";getSQLType(){return"cidr"}}function AZ(T){return new XZ(T??"")}class HZ extends f{static[H]="PgCustomColumnBuilder";constructor(T,_,F){super(T,"custom","PgCustomColumn");this.config.fieldConfig=_,this.config.customTypeParams=F}build(T){return new OZ(T,this.config)}}class OZ extends S{static[H]="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 UZ(T){return(_,F)=>{let{name:W,config:J}=a(_,F);return new HZ(W,J,T)}}class e_ extends f{static[H]="PgDateColumnBaseBuilder";defaultNow(){return this.default(U`now()`)}}class MZ extends e_{static[H]="PgDateBuilder";constructor(T){super(T,"date","PgDate")}build(T){return new Q1(T,this.config)}}class Q1 extends S{static[H]="PgDate";getSQLType(){return"date"}mapFromDriverValue(T){return new Date(T)}mapToDriverValue(T){return T.toISOString()}}class wZ extends e_{static[H]="PgDateStringBuilder";constructor(T){super(T,"string","PgDateString")}build(T){return new R1(T,this.config)}}class R1 extends S{static[H]="PgDateString";getSQLType(){return"date"}}function QZ(T,_){let{name:F,config:W}=a(T,_);if(W?.mode==="date")return new MZ(F);return new wZ(F)}class RZ extends f{static[H]="PgDoublePrecisionBuilder";constructor(T){super(T,"number","PgDoublePrecision")}build(T){return new EZ(T,this.config)}}class EZ extends S{static[H]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseFloat(T);return T}}function zZ(T){return new RZ(T??"")}class VZ extends f{static[H]="PgInetBuilder";constructor(T){super(T,"string","PgInet")}build(T){return new KZ(T,this.config)}}class KZ extends S{static[H]="PgInet";getSQLType(){return"inet"}}function LZ(T){return new VZ(T??"")}class DZ extends E0{static[H]="PgIntegerBuilder";constructor(T){super(T,"number","PgInteger")}build(T){return new SZ(T,this.config)}}class SZ extends S{static[H]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseInt(T);return T}}function GW(T){return new DZ(T??"")}class IZ extends f{static[H]="PgIntervalBuilder";constructor(T,_){super(T,"string","PgInterval");this.config.intervalConfig=_}build(T){return new NZ(T,this.config)}}class NZ extends S{static[H]="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 CZ(T,_={}){let{name:F,config:W}=a(T,_);return new IZ(F,W)}class BZ extends f{static[H]="PgJsonBuilder";constructor(T){super(T,"json","PgJson")}build(T){return new E1(T,this.config)}}class E1 extends S{static[H]="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 kZ(T){return new BZ(T??"")}class fZ extends f{static[H]="PgJsonbBuilder";constructor(T){super(T,"json","PgJsonb")}build(T){return new z1(T,this.config)}}class z1 extends S{static[H]="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 PZ(T){return new fZ(T??"")}class qZ extends f{static[H]="PgLineBuilder";constructor(T){super(T,"array","PgLine")}build(T){return new jZ(T,this.config)}}class jZ extends S{static[H]="PgLine";getSQLType(){return"line"}mapFromDriverValue(T){let[_,F,W]=T.slice(1,-1).split(",");return[Number.parseFloat(_),Number.parseFloat(F),Number.parseFloat(W)]}mapToDriverValue(T){return`{${T[0]},${T[1]},${T[2]}}`}}class yZ extends f{static[H]="PgLineABCBuilder";constructor(T){super(T,"json","PgLineABC")}build(T){return new vZ(T,this.config)}}class vZ extends S{static[H]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(T){let[_,F,W]=T.slice(1,-1).split(",");return{a:Number.parseFloat(_),b:Number.parseFloat(F),c:Number.parseFloat(W)}}mapToDriverValue(T){return`{${T.a},${T.b},${T.c}}`}}function xZ(T,_){let{name:F,config:W}=a(T,_);if(!W?.mode||W.mode==="tuple")return new qZ(F);return new yZ(F)}class bZ extends f{static[H]="PgMacaddrBuilder";constructor(T){super(T,"string","PgMacaddr")}build(T){return new hZ(T,this.config)}}class hZ extends S{static[H]="PgMacaddr";getSQLType(){return"macaddr"}}function pZ(T){return new bZ(T??"")}class gZ extends f{static[H]="PgMacaddr8Builder";constructor(T){super(T,"string","PgMacaddr8")}build(T){return new mZ(T,this.config)}}class mZ extends S{static[H]="PgMacaddr8";getSQLType(){return"macaddr8"}}function oZ(T){return new gZ(T??"")}class uZ extends f{static[H]="PgNumericBuilder";constructor(T,_,F){super(T,"string","PgNumeric");this.config.precision=_,this.config.scale=F}build(T){return new V1(T,this.config)}}class V1 extends S{static[H]="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 cZ extends f{static[H]="PgNumericNumberBuilder";constructor(T,_,F){super(T,"number","PgNumericNumber");this.config.precision=_,this.config.scale=F}build(T){return new dZ(T,this.config)}}class dZ extends S{static[H]="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 lZ extends f{static[H]="PgNumericBigIntBuilder";constructor(T,_,F){super(T,"bigint","PgNumericBigInt");this.config.precision=_,this.config.scale=F}build(T){return new tZ(T,this.config)}}class tZ extends S{static[H]="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 iZ(T,_){let{name:F,config:W}=a(T,_),J=W?.mode;return J==="number"?new cZ(F,W?.precision,W?.scale):J==="bigint"?new lZ(F,W?.precision,W?.scale):new uZ(F,W?.precision,W?.scale)}class nZ extends f{static[H]="PgPointTupleBuilder";constructor(T){super(T,"array","PgPointTuple")}build(T){return new rZ(T,this.config)}}class rZ extends S{static[H]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[_,F]=T.slice(1,-1).split(",");return[Number.parseFloat(_),Number.parseFloat(F)]}return[T.x,T.y]}mapToDriverValue(T){return`(${T[0]},${T[1]})`}}class sZ extends f{static[H]="PgPointObjectBuilder";constructor(T){super(T,"json","PgPointObject")}build(T){return new aZ(T,this.config)}}class aZ extends S{static[H]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[_,F]=T.slice(1,-1).split(",");return{x:Number.parseFloat(_),y:Number.parseFloat(F)}}return T}mapToDriverValue(T){return`(${T.x},${T.y})`}}function eZ(T,_){let{name:F,config:W}=a(T,_);if(!W?.mode||W.mode==="tuple")return new nZ(F);return new sZ(F)}function $3(T){let _=[];for(let F=0;F<T.length;F+=2)_.push(Number.parseInt(T.slice(F,F+2),16));return new Uint8Array(_)}function TX(T,_){let F=new ArrayBuffer(8),W=new DataView(F);for(let J=0;J<8;J++)W.setUint8(J,T[_+J]);return W.getFloat64(0,!0)}function u2(T){let _=$3(T),F=0,W=_[F];F+=1;let J=new DataView(_.buffer),Y=J.getUint32(F,W===1);F+=4;let $;if(Y&536870912)$=J.getUint32(F,W===1),F+=4;if((Y&65535)===1){let Z=TX(_,F);F+=8;let G=TX(_,F);return F+=8,[Z,G]}throw new Error("Unsupported geometry type")}class _X extends f{static[H]="PgGeometryBuilder";constructor(T){super(T,"array","PgGeometry")}build(T){return new FX(T,this.config)}}class FX extends S{static[H]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){return u2(T)}mapToDriverValue(T){return`point(${T[0]} ${T[1]})`}}class WX extends f{static[H]="PgGeometryObjectBuilder";constructor(T){super(T,"json","PgGeometryObject")}build(T){return new JX(T,this.config)}}class JX extends S{static[H]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){let _=u2(T);return{x:_[0],y:_[1]}}mapToDriverValue(T){return`point(${T.x} ${T.y})`}}function YX(T,_){let{name:F,config:W}=a(T,_);if(!W?.mode||W.mode==="tuple")return new _X(F);return new WX(F)}class $X extends f{static[H]="PgRealBuilder";constructor(T,_){super(T,"number","PgReal");this.config.length=_}build(T){return new ZX(T,this.config)}}class ZX extends S{static[H]="PgReal";constructor(T,_){super(T,_)}getSQLType(){return"real"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number.parseFloat(T);return T}}function XX(T){return new $X(T??"")}class GX extends f{static[H]="PgSerialBuilder";constructor(T){super(T,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new AX(T,this.config)}}class AX extends S{static[H]="PgSerial";getSQLType(){return"serial"}}function HX(T){return new GX(T??"")}class OX extends E0{static[H]="PgSmallIntBuilder";constructor(T){super(T,"number","PgSmallInt")}build(T){return new UX(T,this.config)}}class UX extends S{static[H]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number(T);return T}}function MX(T){return new OX(T??"")}class wX extends f{static[H]="PgSmallSerialBuilder";constructor(T){super(T,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new QX(T,this.config)}}class QX extends S{static[H]="PgSmallSerial";getSQLType(){return"smallserial"}}function RX(T){return new wX(T??"")}class EX extends f{static[H]="PgTextBuilder";constructor(T,_){super(T,"string","PgText");this.config.enumValues=_.enum}build(T){return new zX(T,this.config)}}class zX extends S{static[H]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function VX(T,_={}){let{name:F,config:W}=a(T,_);return new EX(F,W)}class KX extends e_{constructor(T,_,F){super(T,"string","PgTime");this.withTimezone=_,this.precision=F,this.config.withTimezone=_,this.config.precision=F}static[H]="PgTimeBuilder";build(T){return new K1(T,this.config)}}class K1 extends S{static[H]="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 LX(T,_={}){let{name:F,config:W}=a(T,_);return new KX(F,W.withTimezone??!1,W.precision)}class DX extends e_{static[H]="PgTimestampBuilder";constructor(T,_,F){super(T,"date","PgTimestamp");this.config.withTimezone=_,this.config.precision=F}build(T){return new L1(T,this.config)}}class L1 extends S{static[H]="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 SX extends e_{static[H]="PgTimestampStringBuilder";constructor(T,_,F){super(T,"string","PgTimestampString");this.config.withTimezone=_,this.config.precision=F}build(T){return new D1(T,this.config)}}class D1 extends S{static[H]="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 IX(T,_={}){let{name:F,config:W}=a(T,_);if(W?.mode==="string")return new SX(F,W.withTimezone??!1,W.precision);return new DX(F,W?.withTimezone??!1,W?.precision)}class NX extends f{static[H]="PgUUIDBuilder";constructor(T){super(T,"string","PgUUID")}defaultRandom(){return this.default(U`gen_random_uuid()`)}build(T){return new S1(T,this.config)}}class S1 extends S{static[H]="PgUUID";getSQLType(){return"uuid"}}function D_(T){return new NX(T??"")}class CX extends f{static[H]="PgVarcharBuilder";constructor(T,_){super(T,"string","PgVarchar");this.config.length=_.length,this.config.enumValues=_.enum}build(T){return new BX(T,this.config)}}class BX extends S{static[H]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function dT(T,_={}){let{name:F,config:W}=a(T,_);return new CX(F,W)}class kX extends f{static[H]="PgBinaryVectorBuilder";constructor(T,_){super(T,"string","PgBinaryVector");this.config.dimensions=_.dimensions}build(T){return new fX(T,this.config)}}class fX extends S{static[H]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function PX(T,_){let{name:F,config:W}=a(T,_);return new kX(F,W)}class qX extends f{static[H]="PgHalfVectorBuilder";constructor(T,_){super(T,"array","PgHalfVector");this.config.dimensions=_.dimensions}build(T){return new jX(T,this.config)}}class jX extends S{static[H]="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 yX(T,_){let{name:F,config:W}=a(T,_);return new qX(F,W)}class vX extends f{static[H]="PgSparseVectorBuilder";constructor(T,_){super(T,"string","PgSparseVector");this.config.dimensions=_.dimensions}build(T){return new xX(T,this.config)}}class xX extends S{static[H]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function bX(T,_){let{name:F,config:W}=a(T,_);return new vX(F,W)}class hX extends f{static[H]="PgVectorBuilder";constructor(T,_){super(T,"array","PgVector");this.config.dimensions=_.dimensions}build(T){return new pX(T,this.config)}}class pX extends S{static[H]="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 gX(T,_){let{name:F,config:W}=a(T,_);return new hX(F,W)}function mX(){return{bigint:s$,bigserial:FZ,boolean:XW,char:ZZ,cidr:AZ,customType:UZ,date:QZ,doublePrecision:zZ,inet:LZ,integer:GW,interval:CZ,json:kZ,jsonb:PZ,line:xZ,macaddr:pZ,macaddr8:oZ,numeric:iZ,point:eZ,geometry:YX,real:XX,serial:HX,smallint:MX,smallserial:RX,text:VX,time:LX,timestamp:IX,uuid:D_,varchar:dT,bit:PX,halfvec:yX,sparsevec:bX,vector:gX}}var c2=Symbol.for("drizzle:PgInlineForeignKeys"),oX=Symbol.for("drizzle:EnableRLS");class vT extends I{static[H]="PgTable";static Symbol=Object.assign({},I.Symbol,{InlineForeignKeys:c2,EnableRLS:oX});[c2]=[];[oX]=!1;[I.Symbol.ExtraConfigBuilder]=void 0;[I.Symbol.ExtraConfigColumns]={}}function Z3(T,_,F,W,J=T){let Y=new vT(T,W,J),$=typeof _==="function"?_(mX()):_,Z=Object.fromEntries(Object.entries($).map(([O,M])=>{let Q=M;Q.setName(O);let K=Q.build(Y);return Y[c2].push(...Q.buildForeignKeys(K,Y)),[O,K]})),G=Object.fromEntries(Object.entries($).map(([O,M])=>{let Q=M;Q.setName(O);let K=Q.buildExtraConfigColumn(Y);return[O,K]})),X=Object.assign(Y,Z);if(X[I.Symbol.Columns]=Z,X[I.Symbol.ExtraConfigColumns]=G,F)X[vT.Symbol.ExtraConfigBuilder]=F;return Object.assign(X,{enableRLS:()=>{return X[vT.Symbol.EnableRLS]=!0,X}})}var z0=(T,_,F)=>{return Z3(T,_,F,void 0)};function uX(...T){if(T[0].columns)return new AW(T[0].columns,T[0].name);return new AW(T)}class AW{static[H]="PgPrimaryKeyBuilder";columns;name;constructor(T,_){this.columns=T,this.name=_}build(T){return new cX(T,this.columns,this.name)}}class cX{constructor(T,_,F){this.table=T,this.columns=_,this.name=F}static[H]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[vT.Symbol.Name]}_${this.columns.map((T)=>T.name).join("_")}_pk`}}function X_(T,_){if(p$(_)&&!b2(T)&&!R(T,Q_)&&!R(T,R0)&&!R(T,GT)&&!R(T,I)&&!R(T,Z_))return new Q_(T,_);return T}var I1=(T,_)=>{return U`${T} = ${X_(_,T)}`},dX=(T,_)=>{return U`${T} <> ${X_(_,T)}`};function HW(...T){let _=T.filter((F)=>F!==void 0);if(_.length===0)return;if(_.length===1)return new k(_);return new k([new yT("("),U.join(_,new yT(" and ")),new yT(")")])}function lX(...T){let _=T.filter((F)=>F!==void 0);if(_.length===0)return;if(_.length===1)return new k(_);return new k([new yT("("),U.join(_,new yT(" or ")),new yT(")")])}function tX(T){return U`not ${T}`}var iX=(T,_)=>{return U`${T} > ${X_(_,T)}`},nX=(T,_)=>{return U`${T} >= ${X_(_,T)}`},rX=(T,_)=>{return U`${T} < ${X_(_,T)}`},sX=(T,_)=>{return U`${T} <= ${X_(_,T)}`};function aX(T,_){if(Array.isArray(_)){if(_.length===0)return U`false`;return U`${T} in ${_.map((F)=>X_(F,T))}`}return U`${T} in ${X_(_,T)}`}function eX(T,_){if(Array.isArray(_)){if(_.length===0)return U`true`;return U`${T} not in ${_.map((F)=>X_(F,T))}`}return U`${T} not in ${X_(_,T)}`}function T5(T){return U`${T} is null`}function _5(T){return U`${T} is not null`}function F5(T){return U`exists ${T}`}function W5(T){return U`not exists ${T}`}function J5(T,_,F){return U`${T} between ${X_(_,T)} and ${X_(F,T)}`}function Y5(T,_,F){return U`${T} not between ${X_(_,T)} and ${X_(F,T)}`}function $5(T,_){return U`${T} like ${_}`}function Z5(T,_){return U`${T} not like ${_}`}function X5(T,_){return U`${T} ilike ${_}`}function G5(T,_){return U`${T} not ilike ${_}`}function A5(T){return U`${T} asc`}function H5(T){return U`${T} desc`}class d2{constructor(T,_,F){this.sourceTable=T,this.referencedTable=_,this.relationName=F,this.referencedTableName=_[I.Symbol.Name]}static[H]="Relation";referencedTableName;fieldName}class O5{constructor(T,_){this.table=T,this.config=_}static[H]="Relations"}class V0 extends d2{constructor(T,_,F,W){super(T,_,F?.relationName);this.config=F,this.isNullable=W}static[H]="One";withFieldName(T){let _=new V0(this.sourceTable,this.referencedTable,this.config,this.isNullable);return _.fieldName=T,_}}class OW extends d2{constructor(T,_,F){super(T,_,F?.relationName);this.config=F}static[H]="Many";withFieldName(T){let _=new OW(this.sourceTable,this.referencedTable,this.config);return _.fieldName=T,_}}function U5(){return{and:HW,between:J5,eq:I1,exists:F5,gt:iX,gte:nX,ilike:X5,inArray:aX,isNull:T5,isNotNull:_5,like:$5,lt:rX,lte:sX,ne:dX,not:tX,notBetween:Y5,notExists:W5,notLike:Z5,notIlike:G5,notInArray:eX,or:lX,sql:U}}function M5(){return{sql:U,asc:A5,desc:H5}}function w5(T,_){if(Object.keys(T).length===1&&"default"in T&&!R(T.default,I))T=T.default;let F={},W={},J={};for(let[Y,$]of Object.entries(T))if(R($,I)){let Z=f0($),G=W[Z];F[Z]=Y,J[Y]={tsName:Y,dbName:$[I.Symbol.Name],schema:$[I.Symbol.Schema],columns:$[I.Symbol.Columns],relations:G?.relations??{},primaryKey:G?.primaryKey??[]};for(let O of Object.values($[I.Symbol.Columns]))if(O.primary)J[Y].primaryKey.push(O);let X=$[I.Symbol.ExtraConfigBuilder]?.($[I.Symbol.ExtraConfigColumns]);if(X){for(let O of Object.values(X))if(R(O,AW))J[Y].primaryKey.push(...O.columns)}}else if(R($,O5)){let Z=f0($.table),G=F[Z],X=$.config(_($.table)),O;for(let[M,Q]of Object.entries(X))if(G){let K=J[G];if(K.relations[M]=Q,O)K.primaryKey.push(...O)}else{if(!(Z in W))W[Z]={relations:{},primaryKey:O};W[Z].relations[M]=Q}}return{tables:J,tableNamesMap:F}}function X3(T){return function _(F,W){return new V0(T,F,W,W?.fields.reduce((J,Y)=>J&&Y.notNull,!0)??!1)}}function G3(T){return function _(F,W){return new OW(T,F,W)}}function Q5(T,_,F){if(R(F,V0)&&F.config)return{fields:F.config.fields,references:F.config.references};let W=_[f0(F.referencedTable)];if(!W)throw new Error(`Table "${F.referencedTable[I.Symbol.Name]}" not found in schema`);let J=T[W];if(!J)throw new Error(`Table "${W}" not found in schema`);let Y=F.sourceTable,$=_[f0(Y)];if(!$)throw new Error(`Table "${Y[I.Symbol.Name]}" not found in schema`);let Z=[];for(let G of Object.values(J.relations))if(F.relationName&&F!==G&&G.relationName===F.relationName||!F.relationName&&G.referencedTable===F.sourceTable)Z.push(G);if(Z.length>1)throw F.relationName?new Error(`There are multiple relations with name "${F.relationName}" in table "${W}"`):new Error(`There are multiple relations between "${W}" and "${F.sourceTable[I.Symbol.Name]}". Please specify relation name`);if(Z[0]&&R(Z[0],V0)&&Z[0].config)return{fields:Z[0].config.references,references:Z[0].config.fields};throw new Error(`There is not enough information to infer relation "${$}.${F.fieldName}"`)}function R5(T){return{one:X3(T),many:G3(T)}}function N1(T,_,F,W,J=(Y)=>Y){let Y={};for(let[$,Z]of W.entries())if(Z.isJson){let G=_.relations[Z.tsKey],X=F[$],O=typeof X==="string"?JSON.parse(X):X;Y[Z.tsKey]=R(G,V0)?O&&N1(T,T[Z.relationTableTsKey],O,Z.selection,J):O.map((M)=>N1(T,T[Z.relationTableTsKey],M,Z.selection,J))}else{let G=J(F[$]),X=Z.field,O;if(R(X,GT))O=X;else if(R(X,k))O=X.decoder;else O=X.sql.decoder;Y[Z.tsKey]=G===null?null:O.mapFromDriverValue(G)}return Y}import j3 from"os";import y3 from"fs";var C1=new Map,l2=new Map,t2=Symbol("OriginError"),GF={};class S_ extends Promise{constructor(T,_,F,W,J={}){let Y,$;super((Z,G)=>{Y=Z,$=G});this.tagged=Array.isArray(T.raw),this.strings=T,this.args=_,this.handler=F,this.canceller=W,this.options=J,this.state=null,this.statement=null,this.resolve=(Z)=>(this.active=!1,Y(Z)),this.reject=(Z)=>(this.active=!1,$(Z)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[t2]=this.handler.debug?new Error:this.tagged&&A3(this.strings)}get origin(){return(this.handler.debug?this[t2].stack:this.tagged&&l2.has(this.strings)?l2.get(this.strings):l2.set(this.strings,this[t2].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 F;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};F&&F();let W=new Promise((J,Y)=>{this.cursorFn=($)=>{return J({value:$,done:!1}),new Promise((Z)=>F=Z)},this.resolve=()=>(this.active=!1,J({done:!0})),this.reject=($)=>(this.active=!1,Y($))});return this.execute(),W},return(){return F&&F(GF),{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 A3(T){if(C1.has(T))return C1.get(T);let _=Error.stackTraceLimit;return Error.stackTraceLimit=4,C1.set(T,new Error),Error.stackTraceLimit=_,C1.get(T)}class AF extends Error{constructor(T){super(T.message);this.name=this.constructor.name,Object.assign(this,T)}}var BT={connection:E5,postgres:z5,generic:V5,notSupported:K5};function E5(T,_,F){let{host:W,port:J}=F||_,Y=Object.assign(new Error("write "+T+" "+(_.path||W+":"+J)),{code:T,errno:T,address:_.path||W},_.path?{}:{port:J});return Error.captureStackTrace(Y,E5),Y}function z5(T){let _=new AF(T);return Error.captureStackTrace(_,z5),_}function V5(T,_){let F=Object.assign(new Error(T+": "+_),{code:T});return Error.captureStackTrace(F,V5),F}function K5(T){let _=Object.assign(new Error(T+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:T});return Error.captureStackTrace(_,K5),_}var H3={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 f1{then(){i2()}catch(){i2()}finally(){i2()}}class QW extends f1{constructor(T){super();this.value=j1(T)}}class o_ extends f1{constructor(T,_,F){super();this.value=T,this.type=_,this.array=F}}class P1 extends f1{constructor(T,_){super();this.first=T,this.rest=_}build(T,_,F,W){let J=O3.map(([Y,$])=>({fn:$,i:T.search(Y)})).sort((Y,$)=>Y.i-$.i).pop();return J.i===-1?e2(this.first,W):J.fn(this.first,this.rest,_,F,W)}}function q1(T,_,F,W){let J=T instanceof o_?T.value:T;if(J===void 0){if(T instanceof o_?T.value=W.transform.undefined:J=T=W.transform.undefined,J===void 0)throw BT.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+F.push(T instanceof o_?(_.push(T.value),T.array?T.array[T.type||k1(T.value)]||T.type||I5(T.value):T.type):(_.push(T),k1(T)))}var D5=C5(H3);function s2(T,_,F,W,J,Y){for(let $=1;$<T.strings.length;$++)_+=a2(_,F,W,J,Y)+T.strings[$],F=T.args[$];return _}function a2(T,_,F,W,J){return _ instanceof P1?_.build(T,F,W,J):_ instanceof S_?r2(_,F,W,J):_ instanceof QW?_.value:_&&_[0]instanceof S_?_.reduce((Y,$)=>Y+" "+r2($,F,W,J),""):q1(_,F,W,J)}function r2(T,_,F,W){return T.fragment=!0,s2(T,T.strings[0],T.args[0],_,F,W)}function S5(T,_,F,W,J){return T.map((Y)=>"("+W.map(($)=>a2("values",Y[$],_,F,J)).join(",")+")").join(",")}function L5(T,_,F,W,J){let Y=Array.isArray(T[0]),$=_.length?_.flat():Object.keys(Y?T[0]:T);return S5(Y?T:[T],F,W,$,J)}function B1(T,_,F,W,J){if(typeof T==="string"&&(T=[T].concat(_)),Array.isArray(T))return e2(T,J);let Y;return(_.length?_.flat():Object.keys(T)).map((Z)=>{return Y=T[Z],(Y instanceof S_?r2(Y,F,W,J):Y instanceof QW?Y.value:q1(Y,F,W,J))+" as "+j1(J.transform.column.to?J.transform.column.to(Z):Z)}).join(",")}var O3=Object.entries({values:L5,in:(...T)=>{let _=L5(...T);return _==="()"?"(null)":_},select:B1,as:B1,returning:B1,"\\(":B1,update(T,_,F,W,J){return(_.length?_.flat():Object.keys(T)).map((Y)=>j1(J.transform.column.to?J.transform.column.to(Y):Y)+"="+a2("values",T[Y],F,W,J))},insert(T,_,F,W,J){let Y=_.length?_.flat():Object.keys(Array.isArray(T)?T[0]:T);return"("+e2(Y,J)+")values"+S5(Array.isArray(T)?T:[T],F,W,Y,J)}}).map(([T,_])=>[new RegExp("((?:^|[\\s(])"+T+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),_]);function i2(){throw BT.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:U3,parsers:M3}=D5;function I5(T){if(Array.isArray(T))return I5(T[0]);return typeof T==="string"?1009:0}var N5=function(T){let _=C5(T||{});return{serializers:Object.assign({},U3,_.serializers),parsers:Object.assign({},M3,_.parsers)}};function C5(T){return Object.keys(T).reduce((_,F)=>{if(T[F].from&&[].concat(T[F].from).forEach((W)=>_.parsers[W]=T[F].parse),T[F].serialize)_.serializers[T[F].to]=T[F].serialize,T[F].from&&[].concat(T[F].from).forEach((W)=>_.serializers[W]=T[F].serialize);return _},{parsers:{},serializers:{}})}function e2(T,{transform:{column:_}}){return T.map((F)=>j1(_.to?_.to(F):F)).join(",")}var j1=function T(_){return'"'+_.replace(/"/g,'""').replace(/\./g,'"."')+'"'},k1=function T(_){return _ instanceof o_?_.type:_ instanceof Date?1184:_ instanceof Uint8Array?17:_===!0||_===!1?16:typeof _==="bigint"?20:Array.isArray(_)?T(_[0]):0},w3=/\\/g,Q3=/"/g;function R3(T){return T.replace(w3,"\\\\").replace(Q3,"\\\"")}var B5=function T(_,F,W,J){if(Array.isArray(_)===!1)return _;if(!_.length)return"{}";let Y=_[0],$=J===1020?";":",";if(Array.isArray(Y)&&!Y.type)return"{"+_.map((Z)=>T(Z,F,W,J)).join($)+"}";return"{"+_.map((Z)=>{if(Z===void 0){if(Z=W.transform.undefined,Z===void 0)throw BT.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return Z===null?"null":'"'+R3(F?F(Z.type?Z.value:Z):""+Z)+'"'}).join($)+"}"},n2={i:0,char:null,str:"",quoted:!1,last:0},k5=function T(_,F,W){return n2.i=n2.last=0,f5(n2,_,F,W)};function f5(T,_,F,W){let J=[],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==='"')J.push(F?F(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,J.push(f5(T,_,F,W));else if(T.char==="}"){T.quoted=!1,T.last<T.i&&J.push(F?F(_.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!=='"')J.push(F?F(_.slice(T.last,T.i)):_.slice(T.last,T.i)),T.last=T.i+1;T.p=T.char}return T.last<T.i&&J.push(F?F(_.slice(T.last,T.i+1)):_.slice(T.last,T.i+1)),J}var P0=(T)=>{let _=T[0];for(let F=1;F<T.length;F++)_+=T[F]==="_"?T[++F].toUpperCase():T[F];return _},q0=(T)=>{let _=T[0].toUpperCase();for(let F=1;F<T.length;F++)_+=T[F]==="_"?T[++F].toUpperCase():T[F];return _},j0=(T)=>T.replace(/_/g,"-"),UW=(T)=>T.replace(/([A-Z])/g,"_$1").toLowerCase(),MW=(T)=>(T.slice(0,1)+T.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),wW=(T)=>T.replace(/-/g,"_");function T8(T){return function _(F,W){return typeof F==="object"&&F!==null&&(W.type===114||W.type===3802)?Array.isArray(F)?F.map((J)=>_(J,W)):Object.entries(F).reduce((J,[Y,$])=>Object.assign(J,{[T(Y)]:_($,W)}),{}):F}}P0.column={from:P0};P0.value={from:T8(P0)};UW.column={to:UW};var _8={...P0};_8.column.to=UW;q0.column={from:q0};q0.value={from:T8(q0)};MW.column={to:MW};var F8={...q0};F8.column.to=MW;j0.column={from:j0};j0.value={from:T8(j0)};wW.column={to:wW};var W8={...j0};W8.column.to=wW;import P5 from"net";import K3 from"tls";import RW from"crypto";import J8 from"stream";import{performance as q5}from"perf_hooks";class y0 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 R_=E3;function E3(T=[]){let _=T.slice(),F=0;return{get length(){return _.length-F},remove:(W)=>{let J=_.indexOf(W);return J===-1?null:(_.splice(J,1),W)},push:(W)=>(_.push(W),W),shift:()=>{let W=_[F++];if(F===_.length)F=0,_=[];else _[F-1]=void 0;return W}}}var lT=Buffer.allocUnsafe(256),z3="BCcDdEFfHPpQSX".split("").reduce((T,_)=>{let F=_.charCodeAt(0);return T[_]=()=>{return lT[0]=F,$T.i=5,$T},T},{}),$T=Object.assign(V3,z3,{N:String.fromCharCode(0),i:0,inc(T){return $T.i+=T,$T},str(T){let _=Buffer.byteLength(T);return y1(_),$T.i+=lT.write(T,$T.i,_,"utf8"),$T},i16(T){return y1(2),lT.writeUInt16BE(T,$T.i),$T.i+=2,$T},i32(T,_){if(_||_===0)return lT.writeUInt32BE(T,_),$T;return y1(4),lT.writeUInt32BE(T,$T.i),$T.i+=4,$T},z(T){return y1(T),lT.fill(0,$T.i,$T.i+T),$T.i+=T,$T},raw(T){return lT=Buffer.concat([lT.subarray(0,$T.i),T]),$T.i=lT.length,$T},end(T=1){lT.writeUInt32BE($T.i-T,T);let _=lT.subarray(0,$T.i);return $T.i=0,lT=Buffer.allocUnsafe(256),_}}),b=$T;function y1(T){if(lT.length-$T.i<T){let _=lT,F=_.length;lT=Buffer.allocUnsafe(F+(F>>1)+T),_.copy(lT)}}function V3(){return $T.i=0,$T}var Z8=v5,L3=1,K0=b().S().end(),j5=b().H().end(),D3=b().i32(8).i32(80877103).end(8),S3=Buffer.concat([b().E().str(b.N).i32(0).end(),K0]),I3=b().D().str("S").str(b.N).end(),HF=()=>{},N3=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),C3={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 v5(T,_={},{onopen:F=HF,onend:W=HF,onclose:J=HF}={}){let{ssl:Y,max:$,user:Z,host:G,port:X,database:O,parsers:M,transform:Q,onnotice:K,onnotify:B,onparameter:V,max_pipeline:v,keep_alive:q,backoff:j,target_session_attrs:y}=T,u=R_(),h=L3++,p={pid:null,secret:null},t=$8(i1,T.idle_timeout),ST=$8(i1,T.max_lifetime),A_=$8(JG,T.connect_timeout),D=null,ZT,i=new y0,TT=Buffer.alloc(0),bT=T.fetch_types,H_={},I_={},b0=Math.random().toString(36).slice(2),L=1,o=0,JT=0,zT=0,kT=0,n=0,YT=0,NT=0,VT=null,wT=null,gT=!1,HT=null,N_=null,hT=null,_0=null,fT=null,QT=null,C_=null,v_=null,C=null,wF=null,mT={queue:_.closed,idleTimer:t,connect(A){hT=A,y8()},terminate:RF,execute:QF,cancel:TG,end:i1,count:0,id:h};return _.closed&&_.closed.push(mT),mT;async function e5(){let A;try{A=T.socket?await Promise.resolve(T.socket(T)):new P5.Socket}catch(w){p0(w);return}return A.on("error",p0),A.on("close",v8),A.on("drain",q8),A}async function TG({pid:A,secret:w},g,_T){try{ZT=b().i32(16).i32(80877102).i32(A).i32(w).end(16),await j8(),D.once("error",_T),D.once("close",g)}catch(LT){_T(LT)}}function QF(A){if(gT)return IW(A,BT.connection("CONNECTION_DESTROYED",T));if(A.cancelled)return;try{return A.state=p,C?u.push(A):(C=A,C.active=!0),WG(A),pT(_G(A))&&!A.describeFirst&&!A.cursorFn&&u.length<v&&(!A.options.onexecute||A.options.onexecute(mT))}catch(w){return u.length===0&&pT(K0),x_(w),!0}}function _G(A){if(A.parameters.length>=65534)throw BT.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return A.options.simple?b().Q().str(A.statement.string+b.N).end():A.describeFirst?Buffer.concat([k8(A),j5]):A.prepare?A.prepared?SW(A):Buffer.concat([k8(A),SW(A)]):FG(A)}function k8(A){return Buffer.concat([b8(A.statement.string,A.parameters,A.statement.types,A.statement.name),oG("S",A.statement.name)])}function SW(A){return Buffer.concat([mG(A.parameters,A.statement.types,A.statement.name,A.cursorName),A.cursorFn?h8("",A.cursorRows):S3])}function FG(A){return Buffer.concat([b8(A.statement.string,A.parameters,A.statement.types),I3,SW(A)])}function WG(A){let w=[],g=[],_T=s2(A,A.strings[0],A.args[0],w,g,T);!A.tagged&&A.args.forEach((LT)=>q1(LT,w,g,T)),A.prepare=T.prepare&&("prepare"in A.options?A.options.prepare:!0),A.string=_T,A.signature=A.prepare&&g+_T,A.onlyDescribe&&delete I_[A.signature],A.parameters=A.parameters||w,A.prepared=A.prepare&&A.signature in I_,A.describeFirst=A.onlyDescribe||w.length&&!A.prepared,A.statement=A.prepared?I_[A.signature]:{string:_T,types:g,name:A.prepare?b0+L++:""},typeof T.debug==="function"&&T.debug(h,_T,w,g)}function pT(A,w){if(QT=QT?Buffer.concat([QT,A]):Buffer.from(A),w||QT.length>=1024)return f8(w);return wT===null&&(wT=setImmediate(f8)),!0}function f8(A){let w=D.write(QT,A);return wT!==null&&clearImmediate(wT),QT=wT=null,w}function JG(){x_(BT.connection("CONNECT_TIMEOUT",T,D)),D.destroy()}async function P8(){if(pT(D3),!await new Promise((w)=>D.once("data",(g)=>w(g[0]===83)))&&Y==="prefer")return h0();D.removeAllListeners(),D=K3.connect({socket:D,servername:P5.isIP(D.host)?void 0:D.host,...Y==="require"||Y==="allow"||Y==="prefer"?{rejectUnauthorized:!1}:Y==="verify-full"?{}:typeof Y==="object"?Y:{}}),D.on("secureConnect",h0),D.on("error",p0),D.on("close",v8),D.on("drain",q8)}function q8(){!C&&F(mT)}function t1(A){if(HT){if(HT.push(A),JT-=A.length,JT>0)return}TT=HT?Buffer.concat(HT,n-JT):TT.length===0?A:Buffer.concat([TT,A],TT.length+A.length);while(TT.length>4){if(n=TT.readUInt32BE(1),n>=TT.length){JT=n-TT.length,HT=[TT];break}try{YG(TT.subarray(0,n+1))}catch(w){C&&(C.cursorFn||C.describeFirst)&&pT(K0),x_(w)}TT=TT.subarray(n+1),JT=0,HT=null}}async function j8(){if(gT=!1,H_={},D||(D=await e5()),!D)return;if(A_.start(),T.socket)return Y?P8():h0();if(D.on("connect",Y?P8:h0),T.path)return D.connect(T.path);D.ssl=Y,D.connect(X[zT],G[zT]),D.host=G[zT],D.port=X[zT],zT=(zT+1)%X.length}function y8(){setTimeout(j8,o?o+YT-q5.now():0)}function h0(){try{I_={},bT=T.fetch_types,b0=Math.random().toString(36).slice(2),L=1,ST.start(),D.on("data",t1),q&&D.setKeepAlive&&D.setKeepAlive(!0,1000*q);let A=cG();pT(A)}catch(A){p0(A)}}function p0(A){if(mT.queue===_.connecting&&T.host[kT+1])return;x_(A);while(u.length)IW(u.shift(),A)}function x_(A){fT&&(fT.destroy(A),fT=null),C&&IW(C,A),hT&&(IW(hT,A),hT=null)}function IW(A,w){if(A.reserve)return A.reject(w);if(!w||typeof w!=="object")w=new Error(w);"query"in w||"parameters"in w||Object.defineProperties(w,{stack:{value:w.stack+A.origin.replace(/.*\n/,`
|
|
49
|
+
${$.trace}`:"No previous disposal trace was found."),W.type){case"atom_family":case"mutable_atom_family":return T.defaults.get(W.key);case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(T.defaults.has(W.key))return T.defaults.get(F.family.key);let Z=$_(T,W).default(Y);return T.defaults.set(W.key,Z),Z}}}return U0(T,$_(T,F))}class O${parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new g_({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new g_({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 g_({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new g_({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new _1(100);molecules=new Map;moleculeJoins=new g_({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeGraph=new g_({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});moleculeData=new g_({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...T)=>T.sort().join(":")});miscResources=new Map;on={atomCreation:new FT,atomDisposal:new FT,selectorCreation:new FT,selectorDisposal:new FT,timelineCreation:new FT,transactionCreation:new FT,transactionApplying:new R2(null),operationClose:new FT,moleculeCreation:new FT,moleculeDisposal:new FT};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new Q2("warn",(T,_,F)=>!M$(F))];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},O0(_))this.transactionMeta={epoch:new Map(_?.transactionMeta.epoch),actionContinuities:new g_(_?.transactionMeta.actionContinuities.toJSON())};for(let[,W]of _.families){if(W.internalRoles?.includes("mutable")||W.internalRoles?.includes("join"))continue;W.install(this)}let F=new Set;for(let[,W]of _.atoms){if(F.has(W.key))continue;if(W.install(this),W.type==="mutable_atom"){let J=$F(_,W),Y=U$(W);F.add(J.key),F.add(Y.key)}}for(let[,W]of _.readonlySelectors)W.install(this);for(let[,W]of _.writableSelectors){if(F.has(W.key))continue;W.install(this)}for(let[,W]of _.transactions)W.install(this);for(let[,W]of _.timelines)W.install(this)}}}var tY={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new O$({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function $_(T,_){let F,W=T;while(W!==null){switch(_.type){case"atom":case"mutable_atom":F=W.atoms.get(_.key);break;case"writable_pure_selector":case"writable_held_selector":F=W.writableSelectors.get(_.key);break;case"readonly_pure_selector":case"readonly_held_selector":F=W.readonlySelectors.get(_.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":F=W.families.get(_.key);break;case"timeline":F=W.timelines.get(_.key);break;case"transaction":F=W.transactions.get(_.key);break}if(F)return F;W=W.child}throw new rF(_,T)}var w$=(T,_)=>{let F=m(T);if(F.operation.open)return F.operation.prev.get(_.key);return F.valueMap.get(_.key)};var D2=(T,_)=>{let F=m(T);return Z$(_,T).map((J)=>{let Y=F.atoms.get(J);if(Y===void 0)throw new Error(`Atom "${J}", a dependency of selector "${_.key}", not found in store "${T.config.name}".`);return Y.subject.subscribe(`${_.type}:${_.key}`,($)=>{T.logger.info("\uD83D\uDCE2",_.type,_.key,"root",J,"went",$.oldValue,"->",$.newValue);let Z=w$(F,_),G=U0(F,_);T.logger.info("\u2728",_.type,_.key,"went",Z,"->",G),_.subject.next({newValue:G,oldValue:Z})})})};function TW(T,_,F,W){function J(M){if(T.operation.open){let Q=T.on.operationClose.subscribe(`state subscription ${F}`,()=>{Q(),W(M)})}else W(M)}let Y=$_(T,_);T.logger.info("\uD83D\uDC40",Y.type,Y.key,`Adding subscription "${F}"`);let $=Y.type==="writable_pure_selector"||Y.type==="readonly_pure_selector",Z=null,G=J;if($)Z=D2(T,Y),G=(M)=>{if(Z)Z.length=0,Z.push(...D2(T,Y));J(M)};let X=Y.subject.subscribe(F,G);return()=>{if(T.logger.info("\uD83D\uDE48",Y.type,Y.key,`Removing subscription "${F}"`),X(),Z)for(let M of Z)M()}}var Q$=(T,_,F,W)=>{let J=$_(T,_);T.logger.info("\uD83D\uDC40","timeline",_.key,`Adding subscription "${F}"`);let Y=J.subject.subscribe(F,W);return()=>{T.logger.info("\uD83D\uDE48","timeline",_.key,`Removing subscription "${F}" from timeline`),Y()}};class S2{initializeState(T,_){let F=`*${T.key}`;_.atoms.delete(F),_.valueMap.delete(F);let W=T.family?{key:`*${T.family.key}`,subKey:T.family.subKey}:void 0,J=I2(_,{key:F,default:null},W);if(_.parent?.valueMap.has(F)){let Y=_.parent.valueMap.get(F);_.valueMap.set(F,Y)}return J}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(T,_,F){let W=`tracker:${F.config.name}:${M_(F)?F.transactionMeta.update.key:"main"}:${T.key}`,J=eF(F,T);this.unsubscribeFromInnerValue=J.subscribe(W,(Y)=>{Q0(F,_,Y)}),this.unsubscribeFromState=TW(F,T,W,(Y)=>{if(Y.newValue!==Y.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=Y.newValue.subscribe(W,($)=>{Q0(F,_,$)})})}updateCore(T,_,F){let W=`tracker:${F.config.name}:${M_(F)?F.transactionMeta.update.key:"main"}:${T.key}`;TW(F,_,W,({newValue:J,oldValue:Y})=>{let $=F.timelineTopics.getRelatedKey(_.key);if($){if(F.timelines.get($)?.timeTraveling){let X=Q$(F,{key:$,type:"timeline"},W,(O)=>{X(),Q0(F,T,(M)=>{if(O==="redo"&&J)M.do(J);else if(O==="undo"&&Y)M.undo(Y);return M})});return}}let Z=F.on.operationClose.subscribe(W,()=>{Z();let G=eF(F,T),X=J===null?-1:G.getUpdateNumber(J),O=X-G.cacheUpdateNumber;if(J&&O===1)Q0(F,T,(M)=>(M.do(J),M));else F.logger.info("\u274C","mutable_atom",T.key,`could not be updated. Expected update number ${G.cacheUpdateNumber+1}, but got ${X}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(T,_){this.mutableState=T;let F=m(_);this.latestUpdateState=this.initializeState(T,F),this.observeCore(T,this.latestUpdateState,F),this.updateCore(T,this.latestUpdateState,F),F.trackers.set(T.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),F.trackers.delete(T.key)}}}var $F=(T,_)=>{if(_.family){let W=m(T),Y={key:`${_.family.key}:JSON`,type:"writable_pure_selector_family"},$=$_(W,Y),Z=JSON.parse(_.family.subKey);return w_(T,$,Z)}return{type:"writable_pure_selector",key:`${_.key}:JSON`}};var U$=(T)=>{let F={type:"atom",key:`*${T.key}`};if(T.family)F.family={key:`*${T.family.key}`,subKey:T.family.subKey};return F};function W$(T){return typeof T==="object"&&T!==null&&"do"in T&&"undo"in T&&"subscribe"in T}function sF(T,_,F){let W=F.valueMap.get(_.key),J=T.valueMap.get(_.key);if(W!==J)return J;if(W===void 0)return _.default();F.logger.info("\uD83D\uDCC3","atom",_.key,"copying");let Y=_.toJson(W),$=_.fromJson(Y);return T.valueMap.set(_.key,$),new S2(_,F),$}function sT(T,_,F,W){let J=T.valueMap.get(_);if(J instanceof tF)J.use(F);if(F instanceof Promise){let Y=new tF(F);return T.valueMap.set(_,Y),Y.then(($)=>{sT(T,_,$,W),W.next({newValue:$,oldValue:Y})}).catch(($)=>{T.logger.error("\uD83D\uDCA5","state",_,"rejected:",$)}),Y}return T.valueMap.set(_,F),F}var rY=(T,_)=>{let F=_.valueMap.get(T.key);if(T.type==="mutable_atom"&&M_(_)){let{parent:W}=_;F=sF(_,T,W)}return F},_$=(T,_)=>{let F=_.valueMap.get(T);if(F instanceof tF){let W=F,J=_.writableSelectors.get(T)??_.readonlySelectors.get(T);if(J)W.use(J.get());return}if(_.operation.open)_.operation.prev.set(T,F);_.valueMap.delete(T),_.logger.info("\uD83D\uDDD1","state",T,"evicted")};var J$=(T,_)=>{return m(T).atomsThatAreDefault.has(_)},R$=(T,_)=>{let F=m(T);F.atomsThatAreDefault=new Set(F.atomsThatAreDefault).add(_)},Y$=(T,_)=>{let F=m(T);F.atomsThatAreDefault=new Set(m(T).atomsThatAreDefault),F.atomsThatAreDefault.delete(_)};function I2(T,_,F){let{key:J,default:Y}=_;T.logger.info("\uD83D\uDD28","atom",J,`creating in store "${T.config.name}"`);let $=m(T),Z=$.atoms.get(J);if(Z&&Z.type==="atom")return T.logger.error("\u274C","atom",J,"Tried to create atom, but it already exists in the store."),nF(Z);let G=new FT,X={..._,type:"atom",install:(Q)=>{return Q.logger.info("\uD83D\uDEE0\uFE0F","atom",J,`installing in store "${Q.config.name}"`),I2(Q,_,F)},subject:G};if(F)X.family=F;let O=Y;if(Y instanceof Function)O=Y();$.atoms.set(J,X),R$(T,J),sT($,J,O,G);let M=nF(X);if(_.effects){let Q=0,K=[];for(let B of _.effects){let V=B({setSelf:(v)=>{Q0(T,M,v)},onSet:(v)=>TW(T,M,`effect[${Q}]`,v)});if(V)K.push(V);++Q}X.cleanup=()=>{for(let B of K)B()}}return M}class ZF extends Set{mode="record";subject=new FT;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(T,_=0){super(T);if(T instanceof ZF)this.parent=T,this.cacheUpdateNumber=T.cacheUpdateNumber;if(_)this.cacheLimit=_,this.cache=new Array(_),this.subscribe("auto cache",(F)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=F})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(T){let _=new ZF(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:${rT(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:${rT(T)}`);return _}parent=null;child=null;transactionUpdates=null;transaction(T){this.mode="transaction",this.transactionUpdates=[],this.child=new ZF(this);let _=this.child._subscribe("transaction",(F)=>{this.transactionUpdates?.push(F)});try{if(T(this.child)){for(let W of this.transactionUpdates)this.doStep(W);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(F){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",F),F}finally{_(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(T,_){return this.subject.subscribe(T,_)}subscribe(T,_){return this.subject.subscribe(T,(F)=>{_(`${this.cacheUpdateNumber}=${F}`)})}emit(T){this.subject.next(T)}doStep(T){let _=T.indexOf(":"),F=T.substring(0,_),W=T.substring(_+1);switch(F){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 J of W.split(";"))this.doStep(J)}}getUpdateNumber(T){let _=T.indexOf("=");return Number(T.substring(0,_))}do(T){let _=T.indexOf("="),F=Number(T.substring(0,_)),W=F-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=F,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 Z=!1;while(!Z){this.cacheIdx%=this.cacheLimit;let X=this.cache[this.cacheIdx];if(this.cacheIdx--,!X)return"OUT_OF_RANGE";this.undo(X),Z=this.cacheIdx===Y-1}let G=T.substring(_+1);return this.doStep(G),this.mode="record",this.cacheUpdateNumber=F,null}return"OUT_OF_RANGE"}undoStep(T){let _=T.indexOf(":"),F=T.substring(0,_),W=T.substring(_+1);switch(F){case"add":this.delete(JSON.parse(W));break;case"del":this.add(JSON.parse(W));break;case"clear":{let J=JSON.parse(W);for(let Y of J)this.add(Y);break}case"tx":{let J=W.split(";");for(let Y=J.length-1;Y>=0;Y--)this.undoStep(J[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}}function M$(T){return T.startsWith("\uD83D\uDD0D ")}class $1{supported;constructor(T){this.supported=T}refine(T){for(let[_,F]of Object.entries(this.supported))try{if(F(T)===!0&&F!==Boolean)return{type:_,data:T}}catch(W){try{if(T instanceof F)return{type:_,data:T}}catch(J){}}return null}}var l7=new $1({number:(T)=>typeof T==="number",string:(T)=>typeof T==="string",boolean:(T)=>typeof T==="boolean",null:(T)=>T===null});function t7(T){if(!T)return!1;return Object.getPrototypeOf(T)===Object.prototype}var i7=new $1({object:t7,array:(T)=>Array.isArray(T)}),n7=new $1({...l7.supported,...i7.supported}),E$=(T)=>{if(T===void 0)return"undefined";let _=n7.refine(T);if(_)return _.type;return Object.getPrototypeOf(T).constructor.name};class Z1{listeners;globalListeners;handleEvent(T,..._){for(let W of this.globalListeners)W(T,..._);let F=this.listeners.get(T);if(F)for(let W of F)W(..._)}id="no_id_retrieved";emit;constructor(T){this.emit=T,this.listeners=new Map,this.globalListeners=new Set}on(T,_){let F=this.listeners.get(T);if(F)F.add(_);else this.listeners.set(T,new Set([_]));return this}onAny(T){return this.globalListeners.add(T),this}off(T,_){let F=this.listeners.get(T);if(F)if(_)F.delete(_);else this.listeners.delete(T);return this}offAny(T){return this.globalListeners.delete(T),this}}class z$ extends Z1{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(T){super((..._)=>{return this.out.next(_),this});this.id=T,this.in=new FT,this.out=new FT,this.in.subscribe("socket",(_)=>{this.handleEvent(..._)})}dispose(){for(let T of this.disposalFunctions)T()}}class N2 extends Z1{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...T){this.process.stderr.write(rT(T.map((_)=>_ instanceof ZF?`{ ${_.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 F=JSON.stringify([T,..._]);return this.process.stdout.write(F+"\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 F=this.unprocessedEvents.shift();this.incompleteData+=F??"";try{let W=iF(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",W),this.handleEvent(...W);while(this.unprocessedEvents.length>0){let J=this.unprocessedEvents.shift();if(J){if(this.unprocessedEvents.length===0)this.incompleteData=J;let Y=iF(J);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 z$(`user:${T}`);this.relays.set(T,_),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let F of this.relayServices){let W=F(_);if(W)_.disposalFunctions.push(W)}this.on(`user:${T}`,(...F)=>{_.in.next(F)}),_.out.subscribe("socket",(F)=>{this.emit(...F)})}),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{file:s5,serve:HO}=globalThis.Bun;import{readFileSync as L$}from"fs";import{createServer as e7}from"http";import{createServer as T3}from"https";import{resolve as B2}from"path";function V$(T,_){if(T instanceof Promise)throw new Error(_)}function r7(T,_){let F={},W=[];for(let J in T){let Y=T[J]["~standard"].validate(_[J]);if(V$(Y,`Validation must be synchronous, but ${J} returned a Promise.`),Y.issues){W.push(...Y.issues.map(($)=>({...$,message:$.message,path:[J,...$.path??[]]})));continue}F[J]=Y.value}if(W.length)return{issues:W};return{value:F}}function C2(T){let _=T.runtimeEnvStrict??T.runtimeEnv??process.env;if(T.emptyStringAsUndefined??!1){for(let[j,y]of Object.entries(_))if(y==="")delete _[j]}if(!!T.skipValidation)return _;let J=typeof T.client==="object"?T.client:{},Y=typeof T.server==="object"?T.server:{},$=typeof T.shared==="object"?T.shared:{},Z=T.isServer??(typeof window==="undefined"||("Deno"in window)),G=Z?{...Y,...$,...J}:{...J,...$},X=T.createFinalSchema?.(G,Z)["~standard"].validate(_)??r7(G,_);V$(X,"Validation must be synchronous");let O=T.onValidationError??((j)=>{throw console.error("\u274C Invalid environment variables:",j),new Error("Invalid environment variables")}),M=T.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(X.issues)return O(X.issues);let Q=(j)=>{if(!T.clientPrefix)return!0;return!j.startsWith(T.clientPrefix)&&!(j in $)},K=(j)=>{return Z||!Q(j)},B=(j)=>{return j==="__esModule"||j==="$$typeof"},V=(T.extends??[]).reduce((j,y)=>{return Object.assign(j,y)},{}),v=Object.assign(V,X.value);return new Proxy(v,{get(j,y){if(typeof y!=="string")return;if(B(y))return;if(!K(y))return M(y);return Reflect.get(j,y)}})}var s7="__vite_start_time"in globalThis,a7=typeof window!=="undefined",fN="vitest"in globalThis,s_=Y_("string"),K$=Y_('"true" | "false" | undefined'),q_=C2({isServer:!s7&&!a7,server:{CI:Y_("string | undefined").pipe(Boolean),POSTGRES_USER:s_,POSTGRES_PASSWORD:s_,POSTGRES_DATABASE:s_,POSTGRES_HOST:s_,POSTGRES_PORT:s_.pipe((T)=>Number.parseInt(T,10)),BACKEND_PORT:s_.pipe((T)=>Number.parseInt(T,10)),RUN_WORKERS_FROM_SOURCE:K$.pipe((T)=>T==="true"),FRONTEND_PORT:s_.pipe((T)=>Number.parseInt(T,10)),FRONTEND_ORIGINS:s_.pipe.try((T)=>JSON.parse(T),Y_("string[]")),API_KEY_OPENAI:Y_("string | undefined"),API_KEY_RESEND:Y_("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:s_,VITE_DEV_FRONTEND_HOST:Y_("string | undefined"),VITE_DEV_HTTPS:K$.pipe((T)=>T==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var D$=B2(import.meta.dirname,"../dev"),X1=q_.VITE_DEV_HTTPS?{cert:L$(B2(D$,"./cert.pem"),"utf-8"),key:L$(B2(D$,"./key.pem"),"utf-8")}:void 0;function bN(T){if(X1)return T3(X1,T);return e7({},T)}import JO from"path";var H=Symbol.for("drizzle:entityKind"),pN=Symbol.for("drizzle:hasOwnEntityKind");function R(T,_){if(!T||typeof T!=="object")return!1;if(T instanceof _)return!0;if(!Object.prototype.hasOwnProperty.call(_,H))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 F=Object.getPrototypeOf(T).constructor;if(F)while(F){if(H in F&&F[H]===_[H])return!0;F=Object.getPrototypeOf(F)}return!1}class GT{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[H]="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 k2{static[H]="ColumnBuilder";config;constructor(T,_,F){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:F,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 j_=Symbol.for("drizzle:Name");class f2{static[H]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(T,_){if(this.reference=()=>{let{name:F,columns:W,foreignColumns:J}=T();return{name:F,columns:W,foreignTable:J[0].table,foreignColumns:J}},_)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 S$(T,this)}}class S${constructor(T,_){this.table=T,this.reference=_.reference,this.onUpdate=_._onUpdate,this.onDelete=_._onDelete}static[H]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:T,columns:_,foreignColumns:F}=this.reference(),W=_.map(($)=>$.name),J=F.map(($)=>$.name),Y=[this.table[j_],...W,F[0].table[j_],...J];return T??`${Y.join("_")}_fk`}}function G1(T,..._){return T(..._)}function I$(T,_){return`${T[j_]}_${_.join("_")}_unique`}function N$(T,_,F){for(let W=_;W<T.length;W++){let J=T[W];if(J==="\\"){W++;continue}if(J==='"')return[T.slice(_,W).replace(/\\/g,""),W+1];if(F)continue;if(J===","||J==="}")return[T.slice(_,W).replace(/\\/g,""),W]}return[T.slice(_).replace(/\\/g,""),T.length]}function C$(T,_=0){let F=[],W=_,J=!1;while(W<T.length){let Y=T[W];if(Y===","){if(J||W===_)F.push("");J=!0,W++;continue}if(J=!1,Y==="\\"){W+=2;continue}if(Y==='"'){let[G,X]=N$(T,W+1,!0);F.push(G),W=X;continue}if(Y==="}")return[F,W+1];if(Y==="{"){let[G,X]=C$(T,W+1);F.push(G),W=X;continue}let[$,Z]=N$(T,W,!1);F.push($),W=Z}return[F,W]}function B$(T){let[_]=C$(T,1);return _}function P2(T){return`{${T.map((_)=>{if(Array.isArray(_))return P2(_);if(typeof _==="string")return`"${_.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${_}`}).join(",")}}`}class f extends k2{foreignKeyConfigs=[];static[H]="PgColumnBuilder";array(T){return new f$(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:F,actions:W})=>{return G1((J,Y)=>{let $=new f2(()=>{let Z=J();return{columns:[T],foreignColumns:[Z]}});if(Y.onUpdate)$.onUpdate(Y.onUpdate);if(Y.onDelete)$.onDelete(Y.onDelete);return $.build(_)},F,W)})}buildExtraConfigColumn(T){return new k$(T,this.config)}}class S extends GT{constructor(T,_){if(!_.uniqueName)_.uniqueName=I$(T,[_.name]);super(T,_);this.table=T}static[H]="PgColumn"}class k$ extends S{static[H]="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 _W{static[H]="IndexedColumn";constructor(T,_,F,W){this.name=T,this.keyAsName=_,this.type=F,this.indexConfig=W}name;keyAsName;type;indexConfig}class f$ extends f{static[H]="PgArrayBuilder";constructor(T,_,F){super(T,"array","PgArray");this.config.baseBuilder=_,this.config.size=F}build(T){let _=this.config.baseBuilder.build(T);return new q2(T,this.config,_)}}class q2 extends S{constructor(T,_,F,W){super(T,_);this.baseColumn=F,this.range=W,this.size=_.size}size;static[H]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(T){if(typeof T==="string")T=B$(T);return T.map((_)=>this.baseColumn.mapFromDriverValue(_))}mapToDriverValue(T,_=!1){let F=T.map((W)=>W===null?null:R(this.baseColumn,q2)?this.baseColumn.mapToDriverValue(W,!0):this.baseColumn.mapToDriverValue(W));if(_)return F;return P2(F)}}class P$ extends f{static[H]="PgEnumObjectColumnBuilder";constructor(T,_){super(T,"string","PgEnumObjectColumn");this.config.enum=_}build(T){return new q$(T,this.config)}}class q$ extends S{static[H]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(T,_){super(T,_);this.enum=_.enum}getSQLType(){return this.enum.enumName}}var A1=Symbol.for("drizzle:isPgEnum");function j$(T){return!!T&&typeof T==="function"&&A1 in T&&T[A1]===!0}class y$ extends f{static[H]="PgEnumColumnBuilder";constructor(T,_){super(T,"string","PgEnumColumn");this.config.enum=_}build(T){return new v$(T,this.config)}}class v$ extends S{static[H]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(T,_){super(T,_);this.enum=_.enum}getSQLType(){return this.enum.enumName}}function FW(T,_){return Array.isArray(_)?_3(T,[..._],void 0):F3(T,_,void 0)}function _3(T,_,F){let W=Object.assign((J)=>new y$(J??"",W),{enumName:T,enumValues:_,schema:F,[A1]:!0});return W}function F3(T,_,F){let W=Object.assign((J)=>new P$(J??"",W),{enumName:T,enumValues:Object.values(_),schema:F,[A1]:!0});return W}class IT{static[H]="Subquery";constructor(T,_,F,W=!1,J=[]){this._={brand:"Subquery",sql:T,selectedFields:_,alias:F,isWith:W,usedTables:J}}}class WW extends IT{static[H]="WithSubquery"}var x$="0.44.1";var j2,y2,AT={startActiveSpan(T,_){if(!j2)return _();if(!y2)y2=j2.trace.getTracer("drizzle-orm",x$);return G1((F,W)=>W.startActiveSpan(T,(J)=>{try{return _(J)}catch(Y){throw J.setStatus({code:F.SpanStatusCode.ERROR,message:Y instanceof Error?Y.message:"Unknown error"}),Y}finally{J.end()}}),j2,y2)}};var MT=Symbol.for("drizzle:ViewBaseConfig");var k0=Symbol.for("drizzle:Schema"),H1=Symbol.for("drizzle:Columns"),b$=Symbol.for("drizzle:ExtraConfigColumns"),v2=Symbol.for("drizzle:OriginalName"),x2=Symbol.for("drizzle:BaseName"),JW=Symbol.for("drizzle:IsAlias"),h$=Symbol.for("drizzle:ExtraConfigBuilder"),W3=Symbol.for("drizzle:IsDrizzleTable");class I{static[H]="Table";static Symbol={Name:j_,Schema:k0,OriginalName:v2,Columns:H1,ExtraConfigColumns:b$,BaseName:x2,IsAlias:JW,ExtraConfigBuilder:h$};[j_];[v2];[k0];[H1];[b$];[x2];[JW]=!1;[W3]=!0;[h$]=void 0;constructor(T,_,F){this[j_]=this[v2]=T,this[k0]=_,this[x2]=F}}function xT(T){return T[j_]}function f0(T){return`${T[k0]??"public"}.${T[j_]}`}function b2(T){return T!==null&&T!==void 0&&typeof T.getSQL==="function"}function J3(T){let _={sql:"",params:[]};for(let F of T)if(_.sql+=F.sql,_.params.push(...F.params),F.typings?.length){if(!_.typings)_.typings=[];_.typings.push(...F.typings)}return _}class yT{static[H]="StringChunk";value;constructor(T){this.value=Array.isArray(T)?T:[T]}getSQL(){return new k([this])}}class k{constructor(T){this.queryChunks=T;for(let _ of T)if(R(_,I)){let F=_[I.Symbol.Schema];this.usedTables.push(F===void 0?_[I.Symbol.Name]:F+"."+_[I.Symbol.Name])}}static[H]="SQL";decoder=g$;shouldInlineParams=!1;usedTables=[];append(T){return this.queryChunks.push(...T.queryChunks),this}toQuery(T){return AT.startActiveSpan("drizzle.buildSQL",(_)=>{let F=this.buildQueryFromSourceParams(this.queryChunks,T);return _?.setAttributes({"drizzle.query.text":F.sql,"drizzle.query.params":JSON.stringify(F.params)}),F})}buildQueryFromSourceParams(T,_){let F=Object.assign({},_,{inlineParams:_.inlineParams||this.shouldInlineParams,paramStartIndex:_.paramStartIndex||{value:0}}),{casing:W,escapeName:J,escapeParam:Y,prepareTyping:$,inlineParams:Z,paramStartIndex:G}=F;return J3(T.map((X)=>{if(R(X,yT))return{sql:X.value.join(""),params:[]};if(R(X,O1))return{sql:J(X.value),params:[]};if(X===void 0)return{sql:"",params:[]};if(Array.isArray(X)){let O=[new yT("(")];for(let[M,Q]of X.entries())if(O.push(Q),M<X.length-1)O.push(new yT(", "));return O.push(new yT(")")),this.buildQueryFromSourceParams(O,F)}if(R(X,k))return this.buildQueryFromSourceParams(X.queryChunks,{...F,inlineParams:Z||X.shouldInlineParams});if(R(X,I)){let O=X[I.Symbol.Schema],M=X[I.Symbol.Name];return{sql:O===void 0||X[JW]?J(M):J(O)+"."+J(M),params:[]}}if(R(X,GT)){let O=W.getColumnCasing(X);if(_.invokeSource==="indexes")return{sql:J(O),params:[]};let M=X.table[I.Symbol.Schema];return{sql:X.table[JW]||M===void 0?J(X.table[I.Symbol.Name])+"."+J(O):J(M)+"."+J(X.table[I.Symbol.Name])+"."+J(O),params:[]}}if(R(X,Z_)){let O=X[MT].schema,M=X[MT].name;return{sql:O===void 0||X[MT].isAlias?J(M):J(O)+"."+J(M),params:[]}}if(R(X,Q_)){if(R(X.value,R0))return{sql:Y(G.value++,X),params:[X],typings:["none"]};let O=X.value===null?null:X.encoder.mapToDriverValue(X.value);if(R(O,k))return this.buildQueryFromSourceParams([O],F);if(Z)return{sql:this.mapInlineParam(O,F),params:[]};let M=["none"];if($)M=[$(X.encoder)];return{sql:Y(G.value++,O),params:[O],typings:M}}if(R(X,R0))return{sql:Y(G.value++,X),params:[X],typings:["none"]};if(R(X,k.Aliased)&&X.fieldAlias!==void 0)return{sql:J(X.fieldAlias),params:[]};if(R(X,IT)){if(X._.isWith)return{sql:J(X._.alias),params:[]};return this.buildQueryFromSourceParams([new yT("("),X._.sql,new yT(") "),new O1(X._.alias)],F)}if(j$(X)){if(X.schema)return{sql:J(X.schema)+"."+J(X.enumName),params:[]};return{sql:J(X.enumName),params:[]}}if(b2(X)){if(X.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([X.getSQL()],F);return this.buildQueryFromSourceParams([new yT("("),X.getSQL(),new yT(")")],F)}if(Z)return{sql:this.mapInlineParam(X,F),params:[]};return{sql:Y(G.value++,X),params:[X],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 F=T.toString();if(F==="[object Object]")return _(JSON.stringify(T));return _(F)}throw new Error("Unexpected param value: "+T)}getSQL(){return this}as(T){if(T===void 0)return this;return new k.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 O1{constructor(T){this.value=T}static[H]="Name";brand;getSQL(){return new k([this])}}function p$(T){return typeof T==="object"&&T!==null&&"mapToDriverValue"in T&&typeof T.mapToDriverValue==="function"}var g$={mapFromDriverValue:(T)=>T},m$={mapToDriverValue:(T)=>T},CC={...g$,...m$};class Q_{constructor(T,_=m$){this.value=T,this.encoder=_}static[H]="Param";brand;getSQL(){return new k([this])}}function U(T,..._){let F=[];if(_.length>0||T.length>0&&T[0]!=="")F.push(new yT(T[0]));for(let[W,J]of _.entries())F.push(J,new yT(T[W+1]));return new k(F)}((T)=>{function _(){return new k([])}T.empty=_;function F(G){return new k(G)}T.fromList=F;function W(G){return new k([new yT(G)])}T.raw=W;function J(G,X){let O=[];for(let[M,Q]of G.entries()){if(M>0&&X!==void 0)O.push(X);O.push(Q)}return new k(O)}T.join=J;function Y(G){return new O1(G)}T.identifier=Y;function $(G){return new R0(G)}T.placeholder=$;function Z(G,X){return new Q_(G,X)}T.param=Z})(U||(U={}));((T)=>{class _{constructor(F,W){this.sql=F,this.fieldAlias=W}static[H]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new _(this.sql,this.fieldAlias)}}T.Aliased=_})(k||(k={}));class R0{constructor(T){this.name=T}static[H]="Placeholder";getSQL(){return new k([this])}}function h2(T,_){return T.map((F)=>{if(R(F,R0)){if(!(F.name in _))throw new Error(`No value for placeholder "${F.name}" was provided`);return _[F.name]}if(R(F,Q_)&&R(F.value,R0)){if(!(F.value.name in _))throw new Error(`No value for placeholder "${F.value.name}" was provided`);return F.encoder.mapToDriverValue(_[F.value.name])}return F})}var Y3=Symbol.for("drizzle:IsDrizzleView");class Z_{static[H]="View";[MT];[Y3]=!0;constructor({name:T,schema:_,selectedFields:F,query:W}){this[MT]={name:T,originalName:T,schema:_,selectedFields:F,query:W,isExisting:!W,isAlias:!1}}getSQL(){return new k([this])}}GT.prototype.getSQL=function(){return new k([this])};I.prototype.getSQL=function(){return new k([this])};IT.prototype.getSQL=function(){return new k([this])};class XF{constructor(T){this.table=T}static[H]="ColumnAliasProxyHandler";get(T,_){if(_==="table")return this.table;return T[_]}}class YW{constructor(T,_){this.alias=T,this.replaceOriginalName=_}static[H]="TableAliasProxyHandler";get(T,_){if(_===I.Symbol.IsAlias)return!0;if(_===I.Symbol.Name)return this.alias;if(this.replaceOriginalName&&_===I.Symbol.OriginalName)return this.alias;if(_===MT)return{...T[MT],name:this.alias,isAlias:!0};if(_===I.Symbol.Columns){let W=T[I.Symbol.Columns];if(!W)return W;let J={};return Object.keys(W).map((Y)=>{J[Y]=new Proxy(W[Y],new XF(new Proxy(T,this)))}),J}let F=T[_];if(R(F,GT))return new Proxy(F,new XF(new Proxy(T,this)));return F}}function U1(T,_){return new Proxy(T,new YW(_,!1))}function m_(T,_){return new Proxy(T,new XF(new Proxy(T.table,new YW(_,!1))))}function p2(T,_){return new k.Aliased($W(T.sql,_),T.fieldAlias)}function $W(T,_){return U.join(T.queryChunks.map((F)=>{if(R(F,GT))return m_(F,_);if(R(F,k))return $W(F,_);if(R(F,k.Aliased))return p2(F,_);return F}))}class M1 extends Error{static[H]="DrizzleError";constructor({message:T,cause:_}){super(T);this.name="DrizzleError",this.cause=_}}class g2 extends M1{static[H]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class o${static[H]="ConsoleLogWriter";write(T){console.log(T)}}class m2{static[H]="DefaultLogger";writer;constructor(T){this.writer=T?.writer??new o$}logQuery(T,_){let F=_.map((J)=>{try{return JSON.stringify(J)}catch{return String(J)}}),W=F.length?` -- params: [${F.join(", ")}]`:"";this.writer.write(`Query: ${T}${W}`)}}class o2{static[H]="NoopLogger";logQuery(){}}class aT{static[H]="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 u$(T,_,F){let W={},J=T.reduce((Y,{path:$,field:Z},G)=>{let X;if(R(Z,GT))X=Z;else if(R(Z,k))X=Z.decoder;else X=Z.sql.decoder;let O=Y;for(let[M,Q]of $.entries())if(M<$.length-1){if(!(Q in O))O[Q]={};O=O[Q]}else{let K=_[G],B=O[Q]=K===null?null:X.mapFromDriverValue(K);if(F&&R(Z,GT)&&$.length===2){let V=$[0];if(!(V in W))W[V]=B===null?xT(Z.table):!1;else if(typeof W[V]==="string"&&W[V]!==xT(Z.table))W[V]=!1}}return Y},{});if(F&&Object.keys(W).length>0){for(let[Y,$]of Object.entries(W))if(typeof $==="string"&&!F[$])J[Y]=null}return J}function L_(T,_){return Object.entries(T).reduce((F,[W,J])=>{if(typeof W!=="string")return F;let Y=_?[..._,W]:[W];if(R(J,GT)||R(J,k)||R(J,k.Aliased))F.push({path:Y,field:J});else if(R(J,I))F.push(...L_(J[I.Symbol.Columns],Y));else F.push(...L_(J,Y));return F},[])}function ZW(T,_){let F=Object.keys(T),W=Object.keys(_);if(F.length!==W.length)return!1;for(let[J,Y]of F.entries())if(Y!==W[J])return!1;return!0}function w1(T,_){let F=Object.entries(_).filter(([,W])=>W!==void 0).map(([W,J])=>{if(R(J,k)||R(J,GT))return[W,J];else return[W,new Q_(J,T[I.Symbol.Columns][W])]});if(F.length===0)throw new Error("No values to set");return Object.fromEntries(F)}function c$(T,_){for(let F of _)for(let W of Object.getOwnPropertyNames(F.prototype)){if(W==="constructor")continue;Object.defineProperty(T.prototype,W,Object.getOwnPropertyDescriptor(F.prototype,W)||Object.create(null))}}function d$(T){return T[I.Symbol.Columns]}function a_(T){return R(T,IT)?T._.alias:R(T,Z_)?T[MT].name:R(T,k)?void 0:T[I.Symbol.IsAlias]?T[I.Symbol.Name]:T[I.Symbol.BaseName]}function a(T,_){return{name:typeof T==="string"&&T.length>0?T:"",config:typeof T==="object"?T:_}}function l$(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 E0 extends f{static[H]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(T){if(T){let{name:_,...F}=T;this.config.generatedIdentity={type:"always",sequenceName:_,sequenceOptions:F}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(T){if(T){let{name:_,...F}=T;this.config.generatedIdentity={type:"byDefault",sequenceName:_,sequenceOptions:F}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class t$ extends E0{static[H]="PgBigInt53Builder";constructor(T){super(T,"number","PgBigInt53")}build(T){return new i$(T,this.config)}}class i$ extends S{static[H]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class n$ extends E0{static[H]="PgBigInt64Builder";constructor(T){super(T,"bigint","PgBigInt64")}build(T){return new r$(T,this.config)}}class r$ extends S{static[H]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(T){return BigInt(T)}}function s$(T,_){let{name:F,config:W}=a(T,_);if(W.mode==="number")return new t$(F);return new n$(F)}class a$ extends f{static[H]="PgBigSerial53Builder";constructor(T){super(T,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new e$(T,this.config)}}class e$ extends S{static[H]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(T){if(typeof T==="number")return T;return Number(T)}}class TZ extends f{static[H]="PgBigSerial64Builder";constructor(T){super(T,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(T){return new _Z(T,this.config)}}class _Z extends S{static[H]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(T){return BigInt(T)}}function FZ(T,_){let{name:F,config:W}=a(T,_);if(W.mode==="number")return new a$(F);return new TZ(F)}class WZ extends f{static[H]="PgBooleanBuilder";constructor(T){super(T,"boolean","PgBoolean")}build(T){return new JZ(T,this.config)}}class JZ extends S{static[H]="PgBoolean";getSQLType(){return"boolean"}}function XW(T){return new WZ(T??"")}class YZ extends f{static[H]="PgCharBuilder";constructor(T,_){super(T,"string","PgChar");this.config.length=_.length,this.config.enumValues=_.enum}build(T){return new $Z(T,this.config)}}class $Z extends S{static[H]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function ZZ(T,_={}){let{name:F,config:W}=a(T,_);return new YZ(F,W)}class XZ extends f{static[H]="PgCidrBuilder";constructor(T){super(T,"string","PgCidr")}build(T){return new GZ(T,this.config)}}class GZ extends S{static[H]="PgCidr";getSQLType(){return"cidr"}}function AZ(T){return new XZ(T??"")}class HZ extends f{static[H]="PgCustomColumnBuilder";constructor(T,_,F){super(T,"custom","PgCustomColumn");this.config.fieldConfig=_,this.config.customTypeParams=F}build(T){return new OZ(T,this.config)}}class OZ extends S{static[H]="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 UZ(T){return(_,F)=>{let{name:W,config:J}=a(_,F);return new HZ(W,J,T)}}class e_ extends f{static[H]="PgDateColumnBaseBuilder";defaultNow(){return this.default(U`now()`)}}class MZ extends e_{static[H]="PgDateBuilder";constructor(T){super(T,"date","PgDate")}build(T){return new Q1(T,this.config)}}class Q1 extends S{static[H]="PgDate";getSQLType(){return"date"}mapFromDriverValue(T){return new Date(T)}mapToDriverValue(T){return T.toISOString()}}class wZ extends e_{static[H]="PgDateStringBuilder";constructor(T){super(T,"string","PgDateString")}build(T){return new R1(T,this.config)}}class R1 extends S{static[H]="PgDateString";getSQLType(){return"date"}}function QZ(T,_){let{name:F,config:W}=a(T,_);if(W?.mode==="date")return new MZ(F);return new wZ(F)}class RZ extends f{static[H]="PgDoublePrecisionBuilder";constructor(T){super(T,"number","PgDoublePrecision")}build(T){return new EZ(T,this.config)}}class EZ extends S{static[H]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseFloat(T);return T}}function zZ(T){return new RZ(T??"")}class VZ extends f{static[H]="PgInetBuilder";constructor(T){super(T,"string","PgInet")}build(T){return new KZ(T,this.config)}}class KZ extends S{static[H]="PgInet";getSQLType(){return"inet"}}function LZ(T){return new VZ(T??"")}class DZ extends E0{static[H]="PgIntegerBuilder";constructor(T){super(T,"number","PgInteger")}build(T){return new SZ(T,this.config)}}class SZ extends S{static[H]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(T){if(typeof T==="string")return Number.parseInt(T);return T}}function GW(T){return new DZ(T??"")}class IZ extends f{static[H]="PgIntervalBuilder";constructor(T,_){super(T,"string","PgInterval");this.config.intervalConfig=_}build(T){return new NZ(T,this.config)}}class NZ extends S{static[H]="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 CZ(T,_={}){let{name:F,config:W}=a(T,_);return new IZ(F,W)}class BZ extends f{static[H]="PgJsonBuilder";constructor(T){super(T,"json","PgJson")}build(T){return new E1(T,this.config)}}class E1 extends S{static[H]="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 kZ(T){return new BZ(T??"")}class fZ extends f{static[H]="PgJsonbBuilder";constructor(T){super(T,"json","PgJsonb")}build(T){return new z1(T,this.config)}}class z1 extends S{static[H]="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 PZ(T){return new fZ(T??"")}class qZ extends f{static[H]="PgLineBuilder";constructor(T){super(T,"array","PgLine")}build(T){return new jZ(T,this.config)}}class jZ extends S{static[H]="PgLine";getSQLType(){return"line"}mapFromDriverValue(T){let[_,F,W]=T.slice(1,-1).split(",");return[Number.parseFloat(_),Number.parseFloat(F),Number.parseFloat(W)]}mapToDriverValue(T){return`{${T[0]},${T[1]},${T[2]}}`}}class yZ extends f{static[H]="PgLineABCBuilder";constructor(T){super(T,"json","PgLineABC")}build(T){return new vZ(T,this.config)}}class vZ extends S{static[H]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(T){let[_,F,W]=T.slice(1,-1).split(",");return{a:Number.parseFloat(_),b:Number.parseFloat(F),c:Number.parseFloat(W)}}mapToDriverValue(T){return`{${T.a},${T.b},${T.c}}`}}function xZ(T,_){let{name:F,config:W}=a(T,_);if(!W?.mode||W.mode==="tuple")return new qZ(F);return new yZ(F)}class bZ extends f{static[H]="PgMacaddrBuilder";constructor(T){super(T,"string","PgMacaddr")}build(T){return new hZ(T,this.config)}}class hZ extends S{static[H]="PgMacaddr";getSQLType(){return"macaddr"}}function pZ(T){return new bZ(T??"")}class gZ extends f{static[H]="PgMacaddr8Builder";constructor(T){super(T,"string","PgMacaddr8")}build(T){return new mZ(T,this.config)}}class mZ extends S{static[H]="PgMacaddr8";getSQLType(){return"macaddr8"}}function oZ(T){return new gZ(T??"")}class uZ extends f{static[H]="PgNumericBuilder";constructor(T,_,F){super(T,"string","PgNumeric");this.config.precision=_,this.config.scale=F}build(T){return new V1(T,this.config)}}class V1 extends S{static[H]="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 cZ extends f{static[H]="PgNumericNumberBuilder";constructor(T,_,F){super(T,"number","PgNumericNumber");this.config.precision=_,this.config.scale=F}build(T){return new dZ(T,this.config)}}class dZ extends S{static[H]="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 lZ extends f{static[H]="PgNumericBigIntBuilder";constructor(T,_,F){super(T,"bigint","PgNumericBigInt");this.config.precision=_,this.config.scale=F}build(T){return new tZ(T,this.config)}}class tZ extends S{static[H]="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 iZ(T,_){let{name:F,config:W}=a(T,_),J=W?.mode;return J==="number"?new cZ(F,W?.precision,W?.scale):J==="bigint"?new lZ(F,W?.precision,W?.scale):new uZ(F,W?.precision,W?.scale)}class nZ extends f{static[H]="PgPointTupleBuilder";constructor(T){super(T,"array","PgPointTuple")}build(T){return new rZ(T,this.config)}}class rZ extends S{static[H]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[_,F]=T.slice(1,-1).split(",");return[Number.parseFloat(_),Number.parseFloat(F)]}return[T.x,T.y]}mapToDriverValue(T){return`(${T[0]},${T[1]})`}}class sZ extends f{static[H]="PgPointObjectBuilder";constructor(T){super(T,"json","PgPointObject")}build(T){return new aZ(T,this.config)}}class aZ extends S{static[H]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(T){if(typeof T==="string"){let[_,F]=T.slice(1,-1).split(",");return{x:Number.parseFloat(_),y:Number.parseFloat(F)}}return T}mapToDriverValue(T){return`(${T.x},${T.y})`}}function eZ(T,_){let{name:F,config:W}=a(T,_);if(!W?.mode||W.mode==="tuple")return new nZ(F);return new sZ(F)}function $3(T){let _=[];for(let F=0;F<T.length;F+=2)_.push(Number.parseInt(T.slice(F,F+2),16));return new Uint8Array(_)}function TX(T,_){let F=new ArrayBuffer(8),W=new DataView(F);for(let J=0;J<8;J++)W.setUint8(J,T[_+J]);return W.getFloat64(0,!0)}function u2(T){let _=$3(T),F=0,W=_[F];F+=1;let J=new DataView(_.buffer),Y=J.getUint32(F,W===1);F+=4;let $;if(Y&536870912)$=J.getUint32(F,W===1),F+=4;if((Y&65535)===1){let Z=TX(_,F);F+=8;let G=TX(_,F);return F+=8,[Z,G]}throw new Error("Unsupported geometry type")}class _X extends f{static[H]="PgGeometryBuilder";constructor(T){super(T,"array","PgGeometry")}build(T){return new FX(T,this.config)}}class FX extends S{static[H]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){return u2(T)}mapToDriverValue(T){return`point(${T[0]} ${T[1]})`}}class WX extends f{static[H]="PgGeometryObjectBuilder";constructor(T){super(T,"json","PgGeometryObject")}build(T){return new JX(T,this.config)}}class JX extends S{static[H]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(T){let _=u2(T);return{x:_[0],y:_[1]}}mapToDriverValue(T){return`point(${T.x} ${T.y})`}}function YX(T,_){let{name:F,config:W}=a(T,_);if(!W?.mode||W.mode==="tuple")return new _X(F);return new WX(F)}class $X extends f{static[H]="PgRealBuilder";constructor(T,_){super(T,"number","PgReal");this.config.length=_}build(T){return new ZX(T,this.config)}}class ZX extends S{static[H]="PgReal";constructor(T,_){super(T,_)}getSQLType(){return"real"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number.parseFloat(T);return T}}function XX(T){return new $X(T??"")}class GX extends f{static[H]="PgSerialBuilder";constructor(T){super(T,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new AX(T,this.config)}}class AX extends S{static[H]="PgSerial";getSQLType(){return"serial"}}function HX(T){return new GX(T??"")}class OX extends E0{static[H]="PgSmallIntBuilder";constructor(T){super(T,"number","PgSmallInt")}build(T){return new UX(T,this.config)}}class UX extends S{static[H]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(T)=>{if(typeof T==="string")return Number(T);return T}}function MX(T){return new OX(T??"")}class wX extends f{static[H]="PgSmallSerialBuilder";constructor(T){super(T,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(T){return new QX(T,this.config)}}class QX extends S{static[H]="PgSmallSerial";getSQLType(){return"smallserial"}}function RX(T){return new wX(T??"")}class EX extends f{static[H]="PgTextBuilder";constructor(T,_){super(T,"string","PgText");this.config.enumValues=_.enum}build(T){return new zX(T,this.config)}}class zX extends S{static[H]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function VX(T,_={}){let{name:F,config:W}=a(T,_);return new EX(F,W)}class KX extends e_{constructor(T,_,F){super(T,"string","PgTime");this.withTimezone=_,this.precision=F,this.config.withTimezone=_,this.config.precision=F}static[H]="PgTimeBuilder";build(T){return new K1(T,this.config)}}class K1 extends S{static[H]="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 LX(T,_={}){let{name:F,config:W}=a(T,_);return new KX(F,W.withTimezone??!1,W.precision)}class DX extends e_{static[H]="PgTimestampBuilder";constructor(T,_,F){super(T,"date","PgTimestamp");this.config.withTimezone=_,this.config.precision=F}build(T){return new L1(T,this.config)}}class L1 extends S{static[H]="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 SX extends e_{static[H]="PgTimestampStringBuilder";constructor(T,_,F){super(T,"string","PgTimestampString");this.config.withTimezone=_,this.config.precision=F}build(T){return new D1(T,this.config)}}class D1 extends S{static[H]="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 IX(T,_={}){let{name:F,config:W}=a(T,_);if(W?.mode==="string")return new SX(F,W.withTimezone??!1,W.precision);return new DX(F,W?.withTimezone??!1,W?.precision)}class NX extends f{static[H]="PgUUIDBuilder";constructor(T){super(T,"string","PgUUID")}defaultRandom(){return this.default(U`gen_random_uuid()`)}build(T){return new S1(T,this.config)}}class S1 extends S{static[H]="PgUUID";getSQLType(){return"uuid"}}function D_(T){return new NX(T??"")}class CX extends f{static[H]="PgVarcharBuilder";constructor(T,_){super(T,"string","PgVarchar");this.config.length=_.length,this.config.enumValues=_.enum}build(T){return new BX(T,this.config)}}class BX extends S{static[H]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function dT(T,_={}){let{name:F,config:W}=a(T,_);return new CX(F,W)}class kX extends f{static[H]="PgBinaryVectorBuilder";constructor(T,_){super(T,"string","PgBinaryVector");this.config.dimensions=_.dimensions}build(T){return new fX(T,this.config)}}class fX extends S{static[H]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function PX(T,_){let{name:F,config:W}=a(T,_);return new kX(F,W)}class qX extends f{static[H]="PgHalfVectorBuilder";constructor(T,_){super(T,"array","PgHalfVector");this.config.dimensions=_.dimensions}build(T){return new jX(T,this.config)}}class jX extends S{static[H]="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 yX(T,_){let{name:F,config:W}=a(T,_);return new qX(F,W)}class vX extends f{static[H]="PgSparseVectorBuilder";constructor(T,_){super(T,"string","PgSparseVector");this.config.dimensions=_.dimensions}build(T){return new xX(T,this.config)}}class xX extends S{static[H]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function bX(T,_){let{name:F,config:W}=a(T,_);return new vX(F,W)}class hX extends f{static[H]="PgVectorBuilder";constructor(T,_){super(T,"array","PgVector");this.config.dimensions=_.dimensions}build(T){return new pX(T,this.config)}}class pX extends S{static[H]="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 gX(T,_){let{name:F,config:W}=a(T,_);return new hX(F,W)}function mX(){return{bigint:s$,bigserial:FZ,boolean:XW,char:ZZ,cidr:AZ,customType:UZ,date:QZ,doublePrecision:zZ,inet:LZ,integer:GW,interval:CZ,json:kZ,jsonb:PZ,line:xZ,macaddr:pZ,macaddr8:oZ,numeric:iZ,point:eZ,geometry:YX,real:XX,serial:HX,smallint:MX,smallserial:RX,text:VX,time:LX,timestamp:IX,uuid:D_,varchar:dT,bit:PX,halfvec:yX,sparsevec:bX,vector:gX}}var c2=Symbol.for("drizzle:PgInlineForeignKeys"),oX=Symbol.for("drizzle:EnableRLS");class vT extends I{static[H]="PgTable";static Symbol=Object.assign({},I.Symbol,{InlineForeignKeys:c2,EnableRLS:oX});[c2]=[];[oX]=!1;[I.Symbol.ExtraConfigBuilder]=void 0;[I.Symbol.ExtraConfigColumns]={}}function Z3(T,_,F,W,J=T){let Y=new vT(T,W,J),$=typeof _==="function"?_(mX()):_,Z=Object.fromEntries(Object.entries($).map(([O,M])=>{let Q=M;Q.setName(O);let K=Q.build(Y);return Y[c2].push(...Q.buildForeignKeys(K,Y)),[O,K]})),G=Object.fromEntries(Object.entries($).map(([O,M])=>{let Q=M;Q.setName(O);let K=Q.buildExtraConfigColumn(Y);return[O,K]})),X=Object.assign(Y,Z);if(X[I.Symbol.Columns]=Z,X[I.Symbol.ExtraConfigColumns]=G,F)X[vT.Symbol.ExtraConfigBuilder]=F;return Object.assign(X,{enableRLS:()=>{return X[vT.Symbol.EnableRLS]=!0,X}})}var z0=(T,_,F)=>{return Z3(T,_,F,void 0)};function uX(...T){if(T[0].columns)return new AW(T[0].columns,T[0].name);return new AW(T)}class AW{static[H]="PgPrimaryKeyBuilder";columns;name;constructor(T,_){this.columns=T,this.name=_}build(T){return new cX(T,this.columns,this.name)}}class cX{constructor(T,_,F){this.table=T,this.columns=_,this.name=F}static[H]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[vT.Symbol.Name]}_${this.columns.map((T)=>T.name).join("_")}_pk`}}function X_(T,_){if(p$(_)&&!b2(T)&&!R(T,Q_)&&!R(T,R0)&&!R(T,GT)&&!R(T,I)&&!R(T,Z_))return new Q_(T,_);return T}var I1=(T,_)=>{return U`${T} = ${X_(_,T)}`},dX=(T,_)=>{return U`${T} <> ${X_(_,T)}`};function HW(...T){let _=T.filter((F)=>F!==void 0);if(_.length===0)return;if(_.length===1)return new k(_);return new k([new yT("("),U.join(_,new yT(" and ")),new yT(")")])}function lX(...T){let _=T.filter((F)=>F!==void 0);if(_.length===0)return;if(_.length===1)return new k(_);return new k([new yT("("),U.join(_,new yT(" or ")),new yT(")")])}function tX(T){return U`not ${T}`}var iX=(T,_)=>{return U`${T} > ${X_(_,T)}`},nX=(T,_)=>{return U`${T} >= ${X_(_,T)}`},rX=(T,_)=>{return U`${T} < ${X_(_,T)}`},sX=(T,_)=>{return U`${T} <= ${X_(_,T)}`};function aX(T,_){if(Array.isArray(_)){if(_.length===0)return U`false`;return U`${T} in ${_.map((F)=>X_(F,T))}`}return U`${T} in ${X_(_,T)}`}function eX(T,_){if(Array.isArray(_)){if(_.length===0)return U`true`;return U`${T} not in ${_.map((F)=>X_(F,T))}`}return U`${T} not in ${X_(_,T)}`}function T5(T){return U`${T} is null`}function _5(T){return U`${T} is not null`}function F5(T){return U`exists ${T}`}function W5(T){return U`not exists ${T}`}function J5(T,_,F){return U`${T} between ${X_(_,T)} and ${X_(F,T)}`}function Y5(T,_,F){return U`${T} not between ${X_(_,T)} and ${X_(F,T)}`}function $5(T,_){return U`${T} like ${_}`}function Z5(T,_){return U`${T} not like ${_}`}function X5(T,_){return U`${T} ilike ${_}`}function G5(T,_){return U`${T} not ilike ${_}`}function A5(T){return U`${T} asc`}function H5(T){return U`${T} desc`}class d2{constructor(T,_,F){this.sourceTable=T,this.referencedTable=_,this.relationName=F,this.referencedTableName=_[I.Symbol.Name]}static[H]="Relation";referencedTableName;fieldName}class O5{constructor(T,_){this.table=T,this.config=_}static[H]="Relations"}class V0 extends d2{constructor(T,_,F,W){super(T,_,F?.relationName);this.config=F,this.isNullable=W}static[H]="One";withFieldName(T){let _=new V0(this.sourceTable,this.referencedTable,this.config,this.isNullable);return _.fieldName=T,_}}class OW extends d2{constructor(T,_,F){super(T,_,F?.relationName);this.config=F}static[H]="Many";withFieldName(T){let _=new OW(this.sourceTable,this.referencedTable,this.config);return _.fieldName=T,_}}function U5(){return{and:HW,between:J5,eq:I1,exists:F5,gt:iX,gte:nX,ilike:X5,inArray:aX,isNull:T5,isNotNull:_5,like:$5,lt:rX,lte:sX,ne:dX,not:tX,notBetween:Y5,notExists:W5,notLike:Z5,notIlike:G5,notInArray:eX,or:lX,sql:U}}function M5(){return{sql:U,asc:A5,desc:H5}}function w5(T,_){if(Object.keys(T).length===1&&"default"in T&&!R(T.default,I))T=T.default;let F={},W={},J={};for(let[Y,$]of Object.entries(T))if(R($,I)){let Z=f0($),G=W[Z];F[Z]=Y,J[Y]={tsName:Y,dbName:$[I.Symbol.Name],schema:$[I.Symbol.Schema],columns:$[I.Symbol.Columns],relations:G?.relations??{},primaryKey:G?.primaryKey??[]};for(let O of Object.values($[I.Symbol.Columns]))if(O.primary)J[Y].primaryKey.push(O);let X=$[I.Symbol.ExtraConfigBuilder]?.($[I.Symbol.ExtraConfigColumns]);if(X){for(let O of Object.values(X))if(R(O,AW))J[Y].primaryKey.push(...O.columns)}}else if(R($,O5)){let Z=f0($.table),G=F[Z],X=$.config(_($.table)),O;for(let[M,Q]of Object.entries(X))if(G){let K=J[G];if(K.relations[M]=Q,O)K.primaryKey.push(...O)}else{if(!(Z in W))W[Z]={relations:{},primaryKey:O};W[Z].relations[M]=Q}}return{tables:J,tableNamesMap:F}}function X3(T){return function _(F,W){return new V0(T,F,W,W?.fields.reduce((J,Y)=>J&&Y.notNull,!0)??!1)}}function G3(T){return function _(F,W){return new OW(T,F,W)}}function Q5(T,_,F){if(R(F,V0)&&F.config)return{fields:F.config.fields,references:F.config.references};let W=_[f0(F.referencedTable)];if(!W)throw new Error(`Table "${F.referencedTable[I.Symbol.Name]}" not found in schema`);let J=T[W];if(!J)throw new Error(`Table "${W}" not found in schema`);let Y=F.sourceTable,$=_[f0(Y)];if(!$)throw new Error(`Table "${Y[I.Symbol.Name]}" not found in schema`);let Z=[];for(let G of Object.values(J.relations))if(F.relationName&&F!==G&&G.relationName===F.relationName||!F.relationName&&G.referencedTable===F.sourceTable)Z.push(G);if(Z.length>1)throw F.relationName?new Error(`There are multiple relations with name "${F.relationName}" in table "${W}"`):new Error(`There are multiple relations between "${W}" and "${F.sourceTable[I.Symbol.Name]}". Please specify relation name`);if(Z[0]&&R(Z[0],V0)&&Z[0].config)return{fields:Z[0].config.references,references:Z[0].config.fields};throw new Error(`There is not enough information to infer relation "${$}.${F.fieldName}"`)}function R5(T){return{one:X3(T),many:G3(T)}}function N1(T,_,F,W,J=(Y)=>Y){let Y={};for(let[$,Z]of W.entries())if(Z.isJson){let G=_.relations[Z.tsKey],X=F[$],O=typeof X==="string"?JSON.parse(X):X;Y[Z.tsKey]=R(G,V0)?O&&N1(T,T[Z.relationTableTsKey],O,Z.selection,J):O.map((M)=>N1(T,T[Z.relationTableTsKey],M,Z.selection,J))}else{let G=J(F[$]),X=Z.field,O;if(R(X,GT))O=X;else if(R(X,k))O=X.decoder;else O=X.sql.decoder;Y[Z.tsKey]=G===null?null:O.mapFromDriverValue(G)}return Y}import j3 from"os";import y3 from"fs";var C1=new Map,l2=new Map,t2=Symbol("OriginError"),GF={};class S_ extends Promise{constructor(T,_,F,W,J={}){let Y,$;super((Z,G)=>{Y=Z,$=G});this.tagged=Array.isArray(T.raw),this.strings=T,this.args=_,this.handler=F,this.canceller=W,this.options=J,this.state=null,this.statement=null,this.resolve=(Z)=>(this.active=!1,Y(Z)),this.reject=(Z)=>(this.active=!1,$(Z)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[t2]=this.handler.debug?new Error:this.tagged&&A3(this.strings)}get origin(){return(this.handler.debug?this[t2].stack:this.tagged&&l2.has(this.strings)?l2.get(this.strings):l2.set(this.strings,this[t2].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 F;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};F&&F();let W=new Promise((J,Y)=>{this.cursorFn=($)=>{return J({value:$,done:!1}),new Promise((Z)=>F=Z)},this.resolve=()=>(this.active=!1,J({done:!0})),this.reject=($)=>(this.active=!1,Y($))});return this.execute(),W},return(){return F&&F(GF),{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 A3(T){if(C1.has(T))return C1.get(T);let _=Error.stackTraceLimit;return Error.stackTraceLimit=4,C1.set(T,new Error),Error.stackTraceLimit=_,C1.get(T)}class AF extends Error{constructor(T){super(T.message);this.name=this.constructor.name,Object.assign(this,T)}}var BT={connection:E5,postgres:z5,generic:V5,notSupported:K5};function E5(T,_,F){let{host:W,port:J}=F||_,Y=Object.assign(new Error("write "+T+" "+(_.path||W+":"+J)),{code:T,errno:T,address:_.path||W},_.path?{}:{port:J});return Error.captureStackTrace(Y,E5),Y}function z5(T){let _=new AF(T);return Error.captureStackTrace(_,z5),_}function V5(T,_){let F=Object.assign(new Error(T+": "+_),{code:T});return Error.captureStackTrace(F,V5),F}function K5(T){let _=Object.assign(new Error(T+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:T});return Error.captureStackTrace(_,K5),_}var H3={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 f1{then(){i2()}catch(){i2()}finally(){i2()}}class QW extends f1{constructor(T){super();this.value=j1(T)}}class o_ extends f1{constructor(T,_,F){super();this.value=T,this.type=_,this.array=F}}class P1 extends f1{constructor(T,_){super();this.first=T,this.rest=_}build(T,_,F,W){let J=O3.map(([Y,$])=>({fn:$,i:T.search(Y)})).sort((Y,$)=>Y.i-$.i).pop();return J.i===-1?e2(this.first,W):J.fn(this.first,this.rest,_,F,W)}}function q1(T,_,F,W){let J=T instanceof o_?T.value:T;if(J===void 0){if(T instanceof o_?T.value=W.transform.undefined:J=T=W.transform.undefined,J===void 0)throw BT.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+F.push(T instanceof o_?(_.push(T.value),T.array?T.array[T.type||k1(T.value)]||T.type||I5(T.value):T.type):(_.push(T),k1(T)))}var D5=C5(H3);function s2(T,_,F,W,J,Y){for(let $=1;$<T.strings.length;$++)_+=a2(_,F,W,J,Y)+T.strings[$],F=T.args[$];return _}function a2(T,_,F,W,J){return _ instanceof P1?_.build(T,F,W,J):_ instanceof S_?r2(_,F,W,J):_ instanceof QW?_.value:_&&_[0]instanceof S_?_.reduce((Y,$)=>Y+" "+r2($,F,W,J),""):q1(_,F,W,J)}function r2(T,_,F,W){return T.fragment=!0,s2(T,T.strings[0],T.args[0],_,F,W)}function S5(T,_,F,W,J){return T.map((Y)=>"("+W.map(($)=>a2("values",Y[$],_,F,J)).join(",")+")").join(",")}function L5(T,_,F,W,J){let Y=Array.isArray(T[0]),$=_.length?_.flat():Object.keys(Y?T[0]:T);return S5(Y?T:[T],F,W,$,J)}function B1(T,_,F,W,J){if(typeof T==="string"&&(T=[T].concat(_)),Array.isArray(T))return e2(T,J);let Y;return(_.length?_.flat():Object.keys(T)).map((Z)=>{return Y=T[Z],(Y instanceof S_?r2(Y,F,W,J):Y instanceof QW?Y.value:q1(Y,F,W,J))+" as "+j1(J.transform.column.to?J.transform.column.to(Z):Z)}).join(",")}var O3=Object.entries({values:L5,in:(...T)=>{let _=L5(...T);return _==="()"?"(null)":_},select:B1,as:B1,returning:B1,"\\(":B1,update(T,_,F,W,J){return(_.length?_.flat():Object.keys(T)).map((Y)=>j1(J.transform.column.to?J.transform.column.to(Y):Y)+"="+a2("values",T[Y],F,W,J))},insert(T,_,F,W,J){let Y=_.length?_.flat():Object.keys(Array.isArray(T)?T[0]:T);return"("+e2(Y,J)+")values"+S5(Array.isArray(T)?T:[T],F,W,Y,J)}}).map(([T,_])=>[new RegExp("((?:^|[\\s(])"+T+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),_]);function i2(){throw BT.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:U3,parsers:M3}=D5;function I5(T){if(Array.isArray(T))return I5(T[0]);return typeof T==="string"?1009:0}var N5=function(T){let _=C5(T||{});return{serializers:Object.assign({},U3,_.serializers),parsers:Object.assign({},M3,_.parsers)}};function C5(T){return Object.keys(T).reduce((_,F)=>{if(T[F].from&&[].concat(T[F].from).forEach((W)=>_.parsers[W]=T[F].parse),T[F].serialize)_.serializers[T[F].to]=T[F].serialize,T[F].from&&[].concat(T[F].from).forEach((W)=>_.serializers[W]=T[F].serialize);return _},{parsers:{},serializers:{}})}function e2(T,{transform:{column:_}}){return T.map((F)=>j1(_.to?_.to(F):F)).join(",")}var j1=function T(_){return'"'+_.replace(/"/g,'""').replace(/\./g,'"."')+'"'},k1=function T(_){return _ instanceof o_?_.type:_ instanceof Date?1184:_ instanceof Uint8Array?17:_===!0||_===!1?16:typeof _==="bigint"?20:Array.isArray(_)?T(_[0]):0},w3=/\\/g,Q3=/"/g;function R3(T){return T.replace(w3,"\\\\").replace(Q3,"\\\"")}var B5=function T(_,F,W,J){if(Array.isArray(_)===!1)return _;if(!_.length)return"{}";let Y=_[0],$=J===1020?";":",";if(Array.isArray(Y)&&!Y.type)return"{"+_.map((Z)=>T(Z,F,W,J)).join($)+"}";return"{"+_.map((Z)=>{if(Z===void 0){if(Z=W.transform.undefined,Z===void 0)throw BT.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return Z===null?"null":'"'+R3(F?F(Z.type?Z.value:Z):""+Z)+'"'}).join($)+"}"},n2={i:0,char:null,str:"",quoted:!1,last:0},k5=function T(_,F,W){return n2.i=n2.last=0,f5(n2,_,F,W)};function f5(T,_,F,W){let J=[],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==='"')J.push(F?F(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,J.push(f5(T,_,F,W));else if(T.char==="}"){T.quoted=!1,T.last<T.i&&J.push(F?F(_.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!=='"')J.push(F?F(_.slice(T.last,T.i)):_.slice(T.last,T.i)),T.last=T.i+1;T.p=T.char}return T.last<T.i&&J.push(F?F(_.slice(T.last,T.i+1)):_.slice(T.last,T.i+1)),J}var P0=(T)=>{let _=T[0];for(let F=1;F<T.length;F++)_+=T[F]==="_"?T[++F].toUpperCase():T[F];return _},q0=(T)=>{let _=T[0].toUpperCase();for(let F=1;F<T.length;F++)_+=T[F]==="_"?T[++F].toUpperCase():T[F];return _},j0=(T)=>T.replace(/_/g,"-"),UW=(T)=>T.replace(/([A-Z])/g,"_$1").toLowerCase(),MW=(T)=>(T.slice(0,1)+T.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),wW=(T)=>T.replace(/-/g,"_");function T8(T){return function _(F,W){return typeof F==="object"&&F!==null&&(W.type===114||W.type===3802)?Array.isArray(F)?F.map((J)=>_(J,W)):Object.entries(F).reduce((J,[Y,$])=>Object.assign(J,{[T(Y)]:_($,W)}),{}):F}}P0.column={from:P0};P0.value={from:T8(P0)};UW.column={to:UW};var _8={...P0};_8.column.to=UW;q0.column={from:q0};q0.value={from:T8(q0)};MW.column={to:MW};var F8={...q0};F8.column.to=MW;j0.column={from:j0};j0.value={from:T8(j0)};wW.column={to:wW};var W8={...j0};W8.column.to=wW;import P5 from"net";import K3 from"tls";import RW from"crypto";import J8 from"stream";import{performance as q5}from"perf_hooks";class y0 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 R_=E3;function E3(T=[]){let _=T.slice(),F=0;return{get length(){return _.length-F},remove:(W)=>{let J=_.indexOf(W);return J===-1?null:(_.splice(J,1),W)},push:(W)=>(_.push(W),W),shift:()=>{let W=_[F++];if(F===_.length)F=0,_=[];else _[F-1]=void 0;return W}}}var lT=Buffer.allocUnsafe(256),z3="BCcDdEFfHPpQSX".split("").reduce((T,_)=>{let F=_.charCodeAt(0);return T[_]=()=>{return lT[0]=F,$T.i=5,$T},T},{}),$T=Object.assign(V3,z3,{N:String.fromCharCode(0),i:0,inc(T){return $T.i+=T,$T},str(T){let _=Buffer.byteLength(T);return y1(_),$T.i+=lT.write(T,$T.i,_,"utf8"),$T},i16(T){return y1(2),lT.writeUInt16BE(T,$T.i),$T.i+=2,$T},i32(T,_){if(_||_===0)return lT.writeUInt32BE(T,_),$T;return y1(4),lT.writeUInt32BE(T,$T.i),$T.i+=4,$T},z(T){return y1(T),lT.fill(0,$T.i,$T.i+T),$T.i+=T,$T},raw(T){return lT=Buffer.concat([lT.subarray(0,$T.i),T]),$T.i=lT.length,$T},end(T=1){lT.writeUInt32BE($T.i-T,T);let _=lT.subarray(0,$T.i);return $T.i=0,lT=Buffer.allocUnsafe(256),_}}),b=$T;function y1(T){if(lT.length-$T.i<T){let _=lT,F=_.length;lT=Buffer.allocUnsafe(F+(F>>1)+T),_.copy(lT)}}function V3(){return $T.i=0,$T}var Z8=v5,L3=1,K0=b().S().end(),j5=b().H().end(),D3=b().i32(8).i32(80877103).end(8),S3=Buffer.concat([b().E().str(b.N).i32(0).end(),K0]),I3=b().D().str("S").str(b.N).end(),HF=()=>{},N3=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),C3={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 v5(T,_={},{onopen:F=HF,onend:W=HF,onclose:J=HF}={}){let{ssl:Y,max:$,user:Z,host:G,port:X,database:O,parsers:M,transform:Q,onnotice:K,onnotify:B,onparameter:V,max_pipeline:v,keep_alive:q,backoff:j,target_session_attrs:y}=T,u=R_(),h=L3++,p={pid:null,secret:null},t=$8(i1,T.idle_timeout),ST=$8(i1,T.max_lifetime),A_=$8(JG,T.connect_timeout),D=null,ZT,i=new y0,TT=Buffer.alloc(0),bT=T.fetch_types,H_={},I_={},b0=Math.random().toString(36).slice(2),L=1,o=0,JT=0,zT=0,kT=0,n=0,YT=0,NT=0,VT=null,wT=null,gT=!1,HT=null,N_=null,hT=null,_0=null,fT=null,QT=null,C_=null,v_=null,C=null,wF=null,mT={queue:_.closed,idleTimer:t,connect(A){hT=A,y8()},terminate:RF,execute:QF,cancel:TG,end:i1,count:0,id:h};return _.closed&&_.closed.push(mT),mT;async function e5(){let A;try{A=T.socket?await Promise.resolve(T.socket(T)):new P5.Socket}catch(w){p0(w);return}return A.on("error",p0),A.on("close",v8),A.on("drain",q8),A}async function TG({pid:A,secret:w},g,_T){try{ZT=b().i32(16).i32(80877102).i32(A).i32(w).end(16),await j8(),D.once("error",_T),D.once("close",g)}catch(LT){_T(LT)}}function QF(A){if(gT)return IW(A,BT.connection("CONNECTION_DESTROYED",T));if(A.cancelled)return;try{return A.state=p,C?u.push(A):(C=A,C.active=!0),WG(A),pT(_G(A))&&!A.describeFirst&&!A.cursorFn&&u.length<v&&(!A.options.onexecute||A.options.onexecute(mT))}catch(w){return u.length===0&&pT(K0),x_(w),!0}}function _G(A){if(A.parameters.length>=65534)throw BT.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return A.options.simple?b().Q().str(A.statement.string+b.N).end():A.describeFirst?Buffer.concat([k8(A),j5]):A.prepare?A.prepared?SW(A):Buffer.concat([k8(A),SW(A)]):FG(A)}function k8(A){return Buffer.concat([b8(A.statement.string,A.parameters,A.statement.types,A.statement.name),oG("S",A.statement.name)])}function SW(A){return Buffer.concat([mG(A.parameters,A.statement.types,A.statement.name,A.cursorName),A.cursorFn?h8("",A.cursorRows):S3])}function FG(A){return Buffer.concat([b8(A.statement.string,A.parameters,A.statement.types),I3,SW(A)])}function WG(A){let w=[],g=[],_T=s2(A,A.strings[0],A.args[0],w,g,T);!A.tagged&&A.args.forEach((LT)=>q1(LT,w,g,T)),A.prepare=T.prepare&&("prepare"in A.options?A.options.prepare:!0),A.string=_T,A.signature=A.prepare&&g+_T,A.onlyDescribe&&delete I_[A.signature],A.parameters=A.parameters||w,A.prepared=A.prepare&&A.signature in I_,A.describeFirst=A.onlyDescribe||w.length&&!A.prepared,A.statement=A.prepared?I_[A.signature]:{string:_T,types:g,name:A.prepare?b0+L++:""},typeof T.debug==="function"&&T.debug(h,_T,w,g)}function pT(A,w){if(QT=QT?Buffer.concat([QT,A]):Buffer.from(A),w||QT.length>=1024)return f8(w);return wT===null&&(wT=setImmediate(f8)),!0}function f8(A){let w=D.write(QT,A);return wT!==null&&clearImmediate(wT),QT=wT=null,w}function JG(){x_(BT.connection("CONNECT_TIMEOUT",T,D)),D.destroy()}async function P8(){if(pT(D3),!await new Promise((w)=>D.once("data",(g)=>w(g[0]===83)))&&Y==="prefer")return h0();D.removeAllListeners(),D=K3.connect({socket:D,servername:P5.isIP(D.host)?void 0:D.host,...Y==="require"||Y==="allow"||Y==="prefer"?{rejectUnauthorized:!1}:Y==="verify-full"?{}:typeof Y==="object"?Y:{}}),D.on("secureConnect",h0),D.on("error",p0),D.on("close",v8),D.on("drain",q8)}function q8(){!C&&F(mT)}function t1(A){if(HT){if(HT.push(A),JT-=A.length,JT>0)return}TT=HT?Buffer.concat(HT,n-JT):TT.length===0?A:Buffer.concat([TT,A],TT.length+A.length);while(TT.length>4){if(n=TT.readUInt32BE(1),n>=TT.length){JT=n-TT.length,HT=[TT];break}try{YG(TT.subarray(0,n+1))}catch(w){C&&(C.cursorFn||C.describeFirst)&&pT(K0),x_(w)}TT=TT.subarray(n+1),JT=0,HT=null}}async function j8(){if(gT=!1,H_={},D||(D=await e5()),!D)return;if(A_.start(),T.socket)return Y?P8():h0();if(D.on("connect",Y?P8:h0),T.path)return D.connect(T.path);D.ssl=Y,D.connect(X[zT],G[zT]),D.host=G[zT],D.port=X[zT],zT=(zT+1)%X.length}function y8(){setTimeout(j8,o?o+YT-q5.now():0)}function h0(){try{I_={},bT=T.fetch_types,b0=Math.random().toString(36).slice(2),L=1,ST.start(),D.on("data",t1),q&&D.setKeepAlive&&D.setKeepAlive(!0,1000*q);let A=cG();pT(A)}catch(A){p0(A)}}function p0(A){if(mT.queue===_.connecting&&T.host[kT+1])return;x_(A);while(u.length)IW(u.shift(),A)}function x_(A){fT&&(fT.destroy(A),fT=null),C&&IW(C,A),hT&&(IW(hT,A),hT=null)}function IW(A,w){if(A.reserve)return A.reject(w);if(!w||typeof w!=="object")w=new Error(w);"query"in w||"parameters"in w||Object.defineProperties(w,{stack:{value:w.stack+A.origin.replace(/.*\n/,`
|
|
50
50
|
`),enumerable:T.debug},query:{value:A.string,enumerable:T.debug},parameters:{value:A.parameters,enumerable:T.debug},args:{value:A.args,enumerable:T.debug},types:{value:A.statement&&A.statement.types,enumerable:T.debug}}),A.reject(w)}function i1(){return _0||(!mT.reserved&&W(mT),!mT.reserved&&!hT&&!C&&u.length===0?(RF(),new Promise((A)=>D&&D.readyState!=="closed"?D.once("close",A):A())):_0=new Promise((A)=>C_=A))}function RF(){if(gT=!0,fT||C||hT||u.length)p0(BT.connection("CONNECTION_DESTROYED",T));if(clearImmediate(wT),D)D.removeListener("data",t1),D.removeListener("connect",h0),D.readyState==="open"&&D.end(b().X().end());C_&&(C_(),_0=C_=null)}async function v8(A){if(TT=Buffer.alloc(0),JT=0,HT=null,clearImmediate(wT),D.removeListener("data",t1),D.removeListener("connect",h0),t.cancel(),ST.cancel(),A_.cancel(),D.removeAllListeners(),D=null,hT)return y8();!A&&(C||u.length)&&p0(BT.connection("CONNECTION_CLOSED",T,D)),o=q5.now(),A&&T.shared.retries++,YT=(typeof j==="function"?j(T.shared.retries):j)*1000,J(mT,BT.connection("CONNECTION_CLOSED",T,D))}function YG(A,w=A[0]){(w===68?$G:w===100?jG:w===65?CG:w===83?ZG:w===90?XG:w===67?GG:w===50?x8:w===49?AG:w===116?HG:w===84?OG:w===82?UG:w===110?zG:w===75?VG:w===69?IG:w===115?BG:w===51?kG:w===71?fG:w===78?vG:w===72?PG:w===99?yG:w===73?xG:w===86?bG:w===118?hG:w===87?qG:pG)(A)}function $G(A){let w=7,g,_T,LT,oT=C.isRaw?new Array(C.statement.columns.length):{};for(let tT=0;tT<C.statement.columns.length;tT++)_T=C.statement.columns[tT],g=A.readInt32BE(w),w+=4,LT=g===-1?null:C.isRaw===!0?A.subarray(w,w+=g):_T.parser===void 0?A.toString("utf8",w,w+=g):_T.parser.array===!0?_T.parser(A.toString("utf8",w+1,w+=g)):_T.parser(A.toString("utf8",w,w+=g)),C.isRaw?oT[tT]=C.isRaw===!0?LT:Q.value.from?Q.value.from(LT,_T):LT:oT[_T.name]=Q.value.from?Q.value.from(LT,_T):LT;C.forEachFn?C.forEachFn(Q.row.from?Q.row.from(oT):oT,i):i[NT++]=Q.row.from?Q.row.from(oT):oT}function ZG(A){let[w,g]=A.toString("utf8",5,A.length-1).split(b.N);if(H_[w]=g,T.parameters[w]!==g)T.parameters[w]=g,V&&V(w,g)}function XG(A){if(C&&C.options.simple&&C.resolve(N_||i),C=N_=null,i=new y0,A_.cancel(),hT){if(y){if(!H_.in_hot_standby||!H_.default_transaction_read_only)return SG();else if(DG(y,H_))return RF()}if(bT)return hT.reserve&&(hT=null),KG();hT&&!hT.reserve&&QF(hT),T.shared.retries=kT=0,hT=null;return}while(u.length&&(C=u.shift())&&(C.active=!0,C.cancelled))v5(T).cancel(C.state,C.cancelled.resolve,C.cancelled.reject);if(C)return;mT.reserved?!mT.reserved.release&&A[5]===73?_0?RF():(mT.reserved=null,F(mT)):mT.reserved():_0?RF():F(mT)}function GG(A){NT=0;for(let w=A.length-1;w>0;w--){if(A[w]===32&&A[w+1]<58&&i.count===null)i.count=+A.toString("utf8",w+1,A.length-1);if(A[w-1]>=65){i.command=A.toString("utf8",5,w),i.state=p;break}}if(wF&&(wF(),wF=null),i.command==="BEGIN"&&$!==1&&!mT.reserved)return x_(BT.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(C.options.simple)return x8();if(C.cursorFn)i.count&&C.cursorFn(i),pT(K0);C.resolve(i)}function AG(){C.parsing=!1}function x8(){!i.statement&&(i.statement=C.statement),i.columns=C.statement.columns}function HG(A){let w=A.readUInt16BE(5);for(let g=0;g<w;++g)!C.statement.types[g]&&(C.statement.types[g]=A.readUInt32BE(7+g*4));C.prepare&&(I_[C.signature]=C.statement),C.describeFirst&&!C.onlyDescribe&&(pT(SW(C)),C.describeFirst=!1)}function OG(A){if(i.command)N_=N_||[i],N_.push(i=new y0),i.count=null,C.statement.columns=null;let w=A.readUInt16BE(5),g=7,_T;C.statement.columns=Array(w);for(let LT=0;LT<w;++LT){_T=g;while(A[g++]!==0);let oT=A.readUInt32BE(g),tT=A.readUInt16BE(g+4),F0=A.readUInt32BE(g+6);C.statement.columns[LT]={name:Q.column.from?Q.column.from(A.toString("utf8",_T,g-1)):A.toString("utf8",_T,g-1),parser:M[F0],table:oT,number:tT,type:F0},g+=18}if(i.statement=C.statement,C.onlyDescribe)return C.resolve(C.statement),pT(K0)}async function UG(A,w=A.readUInt32BE(5)){(w===3?MG:w===5?wG:w===10?QG:w===11?RG:w===12?EG:w!==0?gG:HF)(A,w)}async function MG(){let A=await n1();pT(b().p().str(A).z(1).end())}async function wG(A){let w="md5"+await y5(Buffer.concat([Buffer.from(await y5(await n1()+Z)),A.subarray(9)]));pT(b().p().str(w).z(1).end())}async function QG(){v_=(await RW.randomBytes(18)).toString("base64"),b().p().str("SCRAM-SHA-256"+b.N);let A=b.i;pT(b.inc(4).str("n,,n=*,r="+v_).i32(b.i-A-4,A).end())}async function RG(A){let w=A.toString("utf8",9).split(",").reduce((tT,F0)=>(tT[F0[0]]=F0.slice(2),tT),{}),g=await RW.pbkdf2Sync(await n1(),Buffer.from(w.s,"base64"),parseInt(w.i),32,"sha256"),_T=await v1(g,"Client Key"),LT="n=*,r="+v_+",r="+w.r+",s="+w.s+",i="+w.i+",c=biws,r="+w.r;VT=(await v1(await v1(g,"Server Key"),LT)).toString("base64");let oT="c=biws,r="+w.r+",p="+k3(_T,Buffer.from(await v1(await B3(_T),LT))).toString("base64");pT(b().p().str(oT).end())}function EG(A){if(A.toString("utf8",9).split(b.N,1)[0].slice(2)===VT)return;x_(BT.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),D.destroy()}function n1(){return Promise.resolve(typeof T.pass==="function"?T.pass():T.pass)}function zG(){if(i.statement=C.statement,i.statement.columns=[],C.onlyDescribe)return C.resolve(C.statement),pT(K0)}function VG(A){p.pid=A.readUInt32BE(5),p.secret=A.readUInt32BE(9)}async function KG(){bT=!1,(await new S_([`
|
|
51
51
|
select b.oid, b.typarray
|
|
52
52
|
from pg_catalog.pg_type a
|