tempest.games 0.2.6 → 0.2.8
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.
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var jD=Object.create;var{getPrototypeOf:ID,defineProperty:N9,getOwnPropertyNames:PD}=Object;var fD=Object.prototype.hasOwnProperty;var xD=(W,$,X)=>{X=W!=null?jD(ID(W)):{};let Y=$||!W||!W.__esModule?N9(X,"default",{value:W,enumerable:!0}):X;for(let G of PD(W))if(!fD.call(Y,G))N9(Y,G,{get:()=>W[G],enumerable:!0});return Y};var bD=(W,$)=>()=>($||W(($={exports:{}}).exports,$),$.exports);var vD=(W,$)=>{for(var X in $)N9(W,X,{get:$[X],enumerable:!0,configurable:!0,set:(Y)=>$[X]=()=>Y})};var _B=(W,$)=>()=>(W&&($=W(W=0)),$);var wJ=import.meta.require;var f3=bD((Qk,P3)=>{var M$=wJ("os"),O$=wJ("path");function I3(W){let $=process.env.XDG_CACHE_HOME||O$.join(M$.homedir(),".cache");return O$.join($,W)}function AV(W){return O$.join(M$.homedir(),"Library","Caches",W)}function EV(W){let $=process.env.LOCALAPPDATA||O$.join(M$.homedir(),"AppData","Local");return O$.join($,W,"Cache")}var LV=function(){switch(M$.platform()){case"darwin":return AV;case"win32":return EV;case"aix":case"android":case"freebsd":case"linux":case"netbsd":case"openbsd":case"sunos":return I3;default:return console.error(`(node:${process.pid}) [cachedir] Warning: the platform "${M$.platform()}" is not currently supported by node-cachedir, falling back to "posix". Please file an issue with your platform here: https://github.com/LinusU/node-cachedir/issues/new`),I3}}();P3.exports=function W($){if(typeof $!=="string")throw new TypeError("id is not a string");if($.length===0)throw new Error("id cannot be empty");if(/[^0-9a-zA-Z-]/.test($))throw new Error("id cannot contain special characters");return LV($)}});class l4 extends Promise{fate;resolve;reject;done=!1;constructor(W){let $,X;super((Y,G)=>{$=Y,X=G});this.resolve=$,this.reject=X,this.use(W instanceof Promise?W:new Promise(W))}pass(W,$){if(W===this.fate)this.resolve($),this.done=!0}fail(W,$){if(W===this.fate)this.reject($),this.done=!0}use(W){if(W instanceof Promise){let $=W;this.fate=$,$.then((X)=>{this.pass($,X)},(X)=>{this.fail($,X)})}else this.resolve(W),this.fate=void 0}}var VB=(W,$,X=DJ.STORE)=>{return UJ(X,{key:`${W.key}:JSON`,get:({get:Y})=>$.toJson(Y(W)),set:({set:Y},G)=>{Y(W,$.fromJson(G))}})};function KB(W,$,X){return Z9(W,{key:`${$.key}:JSON`,get:(G)=>({get:J})=>{let H=J($,G);return X.toJson(H)},set:(G)=>({set:J},H)=>{J($,G,X.fromJson(H))}},["mutable","json"])}var o4=(W)=>JSON.parse(W),S1=(W)=>JSON.stringify(W),EB=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];function s(W){while(W.child!==null)W=W.child;return W}class GX{_buffer;_index=0;constructor(W){let $;if(typeof W==="number")$=W;else $=W.length;this._buffer=Array.from({length:$})}get buffer(){return this._buffer}get index(){return this._index}add(W){this._buffer[this._index]=W,this._index=(this._index+1)%this._buffer.length}copy(){let W=new GX([...this._buffer]);return W._index=this._index,W}}var yD={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 VJ(W,$){let X=S1($),Y=`${W.key}(${X})`,G=yD[W.type],J={key:Y,type:G};return Object.assign(J,{family:{key:W.key,subKey:X}}),Object.assign(J,{counterfeit:!0}),J}function i4(W){let $={key:W.key,type:W.type};if("family"in W)$.family=W.family;return $}var S9=(W)=>($,X,Y,G,...J)=>{console[W](`${$} ${X} "${Y}" ${G}`,...J)},hD={error:S9("error"),info:S9("info"),warn:S9("warn")};class q9{logLevel;filter;logger;constructor(W,$,X=hD){this.logLevel=W,this.filter=$,this.logger=X}error=(...W)=>{let $=this.filter?.(...W)??!0;if(this.logLevel!==null){if($===!0)this.logger.error(...W);else if($!==!1)this.logger.error(...$)}};info=(...W)=>{let $=this.filter?.(...W)??!0;if(this.logLevel==="info"){if($===!0)this.logger.info(...W);else if($!==!1)this.logger.info(...$)}};warn=(...W)=>{let $=this.filter?.(...W)??!0;if(this.logLevel!=="error"&&this.logLevel!==null){if($===!0)this.logger.warn(...W);else if($!==!1)this.logger.warn(...$)}}}class fW{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(W,$)=>`${W}:${$}`;warn;getRelatedKeys(W){return this.relations.get(W)}addRelation(W,$){let X=this.relations.get(W),Y=this.relations.get($);if(X)X.add($);else X=new Set([$]),this.relations.set(W,X);if(Y)Y.add(W);else Y=new Set([W]),this.relations.set($,Y)}deleteRelation(W,$){let X=this.relations.get(W);if(X){if(X.delete($),X.size===0)this.relations.delete(W);let Y=this.relations.get($);if(Y){if(Y.delete(W),Y.size===0)this.relations.delete($)}}}replaceRelationsUnsafely(W,$){this.relations.set(W,new Set($));for(let X of $){let Y=new Set().add(W);this.relations.set(X,Y)}}replaceRelationsSafely(W,$){let X=this.relations.get(W),Y=this.isAType?.(W)?W:void 0,G=Y===void 0?W:void 0;if(X)for(let J of X){Y??=J,G??=J;let H=this.relations.get(J);if(H){if(H.size===1)this.relations.delete(J);else H.delete(W);this.contents.delete(this.makeContentKey(Y,G))}}this.relations.set(W,new Set($));for(let J of $){let H=this.relations.get(J);if(H)H.add(W);else H=new Set().add(W),this.relations.set(J,H)}}getContentInternal(W){return this.contents.get(W)}setContent(W,$){this.contents.set(W,$)}deleteContent(W){this.contents.delete(W)}constructor(W,$){if(this.a=W.between[0],this.b=W.between[1],this.cardinality=W.cardinality,!$?.externalStore)this.relations=new Map(W.relations?.map(([X,Y])=>[X,new Set(Y)])),this.contents=new Map(W.contents);if(this.isAType=$?.isAType??null,this.isBType=$?.isBType??null,this.isContent=$?.isContent??null,$?.makeContentKey)this.makeContentKey=$.makeContentKey;if($?.externalStore){let X=$.externalStore;if(this.has=(Y,G)=>X.has(Y,G),this.addRelation=(Y,G)=>{X.addRelation(Y,G)},this.deleteRelation=(Y,G)=>{X.deleteRelation(Y,G)},this.replaceRelationsSafely=(Y,G)=>{X.replaceRelationsSafely(Y,G)},this.replaceRelationsUnsafely=(Y,G)=>{X.replaceRelationsUnsafely(Y,G)},this.getRelatedKeys=(Y)=>X.getRelatedKeys(Y),X.getContent)this.getContentInternal=(Y)=>{return X.getContent(Y)},this.setContent=(Y,G)=>{X.setContent(Y,G)},this.deleteContent=(Y)=>{X.deleteContent(Y)};for(let[Y,G]of W.relations??[]){let J=this.isAType?.(Y)?Y:void 0,H=J===void 0?Y:void 0;for(let Q of G)J??=Q,H??=Q,this.addRelation(J,H)}for(let[Y,G]of W.contents??[])this.setContent(Y,G)}if($?.warn)this.warn=$.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([W,$])=>[W,[...$]]),contents:[...this.contents.entries()]}}set(...W){let $,X,Y;switch(W.length){case 1:{let G=W[0];$=G[this.a],X=G[this.b],Y=void 0;break}case 2:{let G=W[0];if(typeof G==="string")[$,X]=W;else $=G[this.a],X=G[this.b],Y=W[1];break}default:{$=W[0],X=W[1],Y=W[2];break}}switch(this.cardinality){case"1:1":{let G=this.getRelatedKey($);if(G&&G!==X)this.delete($,G)}case"1:n":{let G=this.getRelatedKey(X);if(G&&G!==$)this.delete(G,X)}break;case"n:n":}if(Y){let G=this.makeContentKey($,X);this.setContent(G,Y)}return this.addRelation($,X),this}delete(W,$){$=typeof $==="string"?$:W[this.b];let X=typeof W==="string"?W:W[this.a];if(X===void 0&&typeof $==="string"){let Y=this.getRelatedKeys($);if(Y)for(let G of Y)this.delete(G,$)}if(typeof X==="string"&&$===void 0){let Y=this.getRelatedKeys(X);if(Y)for(let G of Y)this.delete(X,G)}if(typeof X==="string"&&typeof $==="string"){this.deleteRelation(X,$);let Y=this.makeContentKey(X,$);this.deleteContent(Y)}return this}getRelatedKey(W){let $=this.getRelatedKeys(W);if($){if($.size>1)this.warn?.(`${$.size} related keys were found for key "${W}": (${[...$].map((Y)=>`"${Y}"`).join(", ")}). Only one related key was expected.`);let X;for(let Y of $){X=Y;break}return X}}replaceRelations(W,$,X){let Y=!Array.isArray($),G=Y?Object.keys($):$;if(X?.reckless)this.replaceRelationsUnsafely(W,G);else this.replaceRelationsSafely(W,G);if(Y)for(let J of G){let H=this.makeContentKey(W,J),Q=$[J];this.setContent(H,Q)}return this}getContent(W,$){let X=this.makeContentKey(W,$);return this.getContentInternal(X)}getRelationEntries(W){let $=W[this.a],X=W[this.b];if($!==void 0&&X===void 0){let Y=this.getRelatedKeys($);if(Y)return[...Y].map((G)=>{return[G,this.getContent($,G)]})}if($===void 0&&X!==void 0){let Y=this.getRelatedKeys(X);if(Y)return[...Y].map((G)=>{return[G,this.getContent(G,X)]})}return[]}has(W,$){if($)return this.getRelatedKeys(W)?.has($)??!1;return this.relations.has(W)}}class B0{Subscriber;subscribers=new Map;subscribe(W,$){return this.subscribers.set(W,$),()=>{this.unsubscribe(W)}}unsubscribe(W){this.subscribers.delete(W)}next(W){let $=this.subscribers.values();for(let X of $)X(W)}}class C9 extends B0{state;constructor(W){super();this.state=W}next(W){this.state=W,super.next(W)}}function A2(W){return"epoch"in W.transactionMeta}function o1(W){return"phase"in W.transactionMeta}function MJ(W){return W[0].toUpperCase()+W.slice(1)}function JX(W){return W.type.split("_").map(MJ).join(" ")}class n4 extends Error{constructor(W,$){super(`${JX(W)} ${S1(W.key)} not found in store "${$.config.name}".`)}}var b8=(W)=>($)=>W instanceof Function?W($):W;var E2=(W,$)=>{if(W.valueMap.has($.key))return W.logger.info("\uD83D\uDCD6",$.type,$.key,"reading cached value"),OJ($,W);switch($.type){case"readonly_held_selector":case"readonly_pure_selector":case"writable_held_selector":case"writable_pure_selector":return W.logger.info("\uD83E\uDDEE",$.type,$.key,"computing value"),$.get();case"atom":case"mutable_atom":{let X=$.default,Y;if(X instanceof Function)Y=X();else Y=X;return W.logger.info("\uD83D\uDC81","atom",$.key,"could not find cached value; using default",Y),Y}}};var KJ=(W,$)=>{if(W.operation.open){let X=performance.now();return W.logger.info("\u2757",$.type,$.key,`deferring setState at T-${X} until setState for "${W.operation.token.key}" is done`),X}W.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:$},W.logger.info("\u2B55",$.type,$.key,`operation start in store "${W.config.name}"${!o1(W)?"":` ${W.transactionMeta.phase} "${W.transactionMeta.update.key}"`}`)},AJ=(W)=>{if(W.operation.open)W.logger.info("\uD83D\uDD34",W.operation.token.type,W.operation.token.key,`operation done in store "${W.config.name}"`);W.operation={open:!1},W.on.operationClose.next(W.operation)},EJ=(W,$)=>{if(!W.operation.open)return W.logger.error("\uD83D\uDC1E","unknown",$,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return W.operation.done.has($)},L2=(W,$)=>{if(!W.operation.open){W.logger.error("\uD83D\uDC1E","unknown",$,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}W.operation.done.add($)};var LJ=(W,$,X)=>{switch($.type){case"mutable_atom":W.logger.info("\uD83D\uDCE2",$.type,$.key,"is now (",X.newValue,") subscribers:",$.subject.subscribers);break;case"atom":case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":W.logger.info("\uD83D\uDCE2",$.type,$.key,"went (",X.oldValue,"->",X.newValue,") subscribers:",$.subject.subscribers)}$.subject.next(X)};var k9=(W,$)=>{let X=s(W),Y=X.selectorAtoms.getRelatedKeys($.key);if(X.logger.info("\uD83E\uDDF9",$.type,$.key,Y?`evicting ${Y.size} states downstream:`:"no downstream states",Y??"to evict"),Y){if(X.operation.open)X.logger.info("\uD83E\uDDF9",$.type,$.key,`[ ${[...X.operation.done].join(", ")} ] already done`);for(let G of Y){if(EJ(X,G))continue;BJ(G,X),L2(X,G)}}};var RJ=(W,$,X)=>{let Y=E2(W,$),G=Y;if($.type==="mutable_atom"&&o1(W)){let{parent:H}=W;G=r4(W,$,H)}if(G=b8(X)(G),W.logger.info("\uD83D\uDCDD","atom",$.key,"set to",G),G=q1(W,$.key,G,$.subject),ZJ(W,$.key))SJ(W,$.key);L2(W,$.key),k9(W,$);let J={oldValue:Y,newValue:G};if(!o1(W)){LJ(W,$,J);return}if(W.on.transactionApplying.state===null){let{key:H}=$;if(NJ(J.newValue))return;let Q={type:"atom_update",key:H,...J};if($.family)Q.family=$.family;W.transactionMeta.update.updates.push(Q),W.logger.info("\uD83D\uDCC1","atom",H,"stowed (",J.oldValue,"->",J.newValue,")")}else if($.key.startsWith("*")){let H=$.key.slice(1),Q=W.atoms.get(H),z=W.valueMap.get(H);if(Q.type==="mutable_atom"&&o1(W)){let{parent:F}=W;z=r4(W,Q,F)}if(z.do(J.newValue)===null)k9(W,Q)}};var HX=(W,$,X)=>{switch($.type){case"atom":case"mutable_atom":RJ(W,$,X);break;case"writable_pure_selector":case"writable_held_selector":$.set(X);break}};var QX=(W,$)=>s(W).atoms.has($),gD=(W,$)=>s(W).writableSelectors.has($),mD=(W,$)=>s(W).readonlySelectors.has($),qJ=(W,$)=>QX(W,$)||gD(W,$)||mD(W,$);var zX=(W,$)=>{return s(W).selectorGraph.getRelationEntries({downstreamSelectorKey:$}).filter(([Y,{source:G}])=>G!==$).map(([Y,{source:G}])=>G).filter((Y)=>qJ(W,Y))};var j9=(W,$,X)=>{let Y=[],G=zX(W,$);while(G.length>0){let J=G.shift();if(X.has(J))continue;if(X.add(J),!QX(W,J))G.push(...zX(W,J));else if(!Y.includes(J))Y.push(J)}return Y},CJ=(W,$)=>{let X=W.key,Y=zX($,X),G=new Set;return Y.flatMap((J)=>QX($,J)?J:j9($,J,G))};var kJ=(W,$,X,Y,G)=>{let J=s(W),{type:H,key:Q}=Y;if(H==="atom"||H==="mutable_atom")J.selectorAtoms.set({selectorKey:X,atomKey:Q}),W.logger.info("\uD83D\uDD0D",$,X,`discovers root atom "${Q}"`);else{let z=j9(W,Q,G);W.logger.info("\uD83D\uDD0D",$,X,`discovers root atoms: [ ${z.map((T)=>`"${T}"`).join(", ")} ]`);for(let T of z)J.selectorAtoms=J.selectorAtoms.set({selectorKey:X,atomKey:T})}G.add(Q)};var B2=(W,$,X,Y)=>({get:(...G)=>{let J=s(W),H;if(G.length===2){let[F,_]=G;H=i1(W,F,_)}else[H]=G;let Q=b1(W,H),z=E2(W,Q),T=H.key;return W.logger.info("\uD83D\uDD0C",$,X,`registers dependency ( "${T}" =`,z,")"),J.selectorGraph.set({upstreamSelectorKey:T,downstreamSelectorKey:X},{source:H.key}),kJ(W,$,X,H,Y),z},set:(...G)=>{let J,H;if(G.length===2)J=G[0],H=G[1];else{let T=G[0],F=G[1];H=G[2],J=i1(W,T,F)}let Q=s(W),z=b1(Q,J);HX(Q,z,H)},find:(...G)=>i1(W,...G),json:(G)=>v8(W,G)});var I9=(W,$,X)=>{let Y=s(W),G=new B0,J=new Set,{key:H,const:Q}=$,z="readonly_held_selector",{get:T,find:F,json:_}=B2(Y,"readonly_held_selector",H,J),O={...$,type:"readonly_held_selector",subject:G,install:(A)=>I9(A,$,X),get:()=>{return $.get({get:T,find:F,json:_},Q),q1(s(W),H,Q,G),J.clear(),Q},...X&&{family:X}};Y.readonlySelectors.set(H,O),W.logger.info("\u2728","readonly_held_selector",H,"=",Q);let M={key:H,type:"readonly_held_selector"};if(X)M.family=X;return M};var P9=(W,$,X)=>{let Y=s(W),G=new B0,J=new Set,H=$.key,Q="readonly_pure_selector",{get:z,find:T,json:F}=B2(Y,"readonly_pure_selector",H,J),_=()=>{let A=$.get({get:z,find:T,json:F});return q1(s(W),H,A,G),J.clear(),A},w={...$,type:"readonly_pure_selector",subject:G,install:(A)=>P9(A,$,X),get:_,...X&&{family:X}};Y.readonlySelectors.set(H,w);let O=_();W.logger.info("\u2728","readonly_pure_selector",H,"=",O);let M={key:H,type:"readonly_pure_selector"};if(X)M.family=X;return M};var f9=(W,$,X)=>{let Y=s(W),G=new B0,J=new Set,{key:H,const:Q}=$,z="writable_held_selector",T=B2(Y,"writable_held_selector",H,J),{find:F,get:_,json:w}=T,O={find:F,get:_,json:w},M=(Z=$.get,P=s(W))=>{return Z(O,Q),q1(P,H,Q,G),J.clear(),Q},I={...$,type:"writable_held_selector",subject:G,install:(Z)=>f9(Z,$,X),get:M,set:(Z)=>{let P=s(W),h=M($.get,P),x=b8(Z)(h);if(W.logger.info("\uD83D\uDCDD","writable_held_selector",H,"set (",h,"->",x,")"),q1(P,H,x,G),L2(P,H),A2(P))G.next({newValue:x,oldValue:h});$.set(T,x)},...X&&{family:X}};Y.writableSelectors.set(H,I);let j=M();W.logger.info("\u2728","writable_held_selector",H,"=",j);let R={key:H,type:"writable_held_selector"};if(X)R.family=X;return R};var t4=(W,$,X)=>{let Y=s(W),G=new B0,J=new Set,H=$.key,Q="writable_pure_selector",z=B2(Y,"writable_pure_selector",H,J),{find:T,get:F,json:_}=z,w={find:T,get:F,json:_},O=(R=$.get,Z=s(W))=>{let P=R(w);return q1(Z,H,P,G),J.clear(),P},A={...$,type:"writable_pure_selector",subject:G,install:(R)=>t4(R,$,X),get:O,set:(R)=>{let Z=s(W),P=O($.get,Z),h=b8(R)(P);if(W.logger.info("\uD83D\uDCDD","writable_pure_selector",H,"set (",P,"->",h,")"),q1(Z,$.key,h,G),L2(Z,$.key),A2(Z))G.next({newValue:h,oldValue:P});$.set(z,h)},...X&&{family:X}};Y.writableSelectors.set(H,A);let I=O();W.logger.info("\u2728",A.type,A.key,"=",I);let j={key:H,type:"writable_pure_selector"};if(X)j.family=X;return j};function UJ(W,$){let X="set"in $,Y="const"in $;if(Y&&X){let J=f9(W,$,void 0);return W.on.selectorCreation.next(J),J}if(Y){let J=I9(W,$,void 0);return W.on.selectorCreation.next(J),J}if(X){let J=t4(W,$,void 0);return W.on.selectorCreation.next(J),J}let G=P9(W,$,void 0);return W.on.selectorCreation.next(G),G}function Z9(W,$,X){let Y=$.key,G="writable_pure_selector_family",J={key:Y,type:"writable_pure_selector_family"},H=W.families.get(Y);if(H)W.logger.error("\u2757","writable_pure_selector_family",Y,`Overwriting an existing ${JX(H)} "${H.key}" in store "${W.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let Q=new B0,T=Object.assign((F)=>{let _=S1(F),w={key:Y,subKey:_},O=`${Y}(${_})`,M=s(W),A=t4(M,{key:O,get:$.get(F),set:$.set(F)},w);return Q.next({type:"state_creation",token:A}),A},J,{internalRoles:X,subject:Q,install:(F)=>Z9(F,$),default:(F)=>{return $.get(F)({get:(...w)=>a4(W,...w),find:(...w)=>i1(W,...w),json:(w)=>v8(W,w)})}});return W.families.set(Y,T),J}function jJ(W,$,X){let Y=W.families.get($.key);if(Y===void 0)throw new n4($,W);let G=Y(X),J=s(W);if(G.family){if(A2(J))switch(G.type){case"atom":case"mutable_atom":W.on.atomCreation.next(G);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":W.on.selectorCreation.next(G);break}else if(o1(J)&&J.on.transactionApplying.state===null)J.transactionMeta.update.updates.push({type:"state_creation",token:G})}return G}function IJ(W,$,X){let Y=S1(X),G=`${$.key}(${Y})`,J=s(W),H;switch($.type){case"atom_family":case"mutable_atom_family":H=J.atoms.get(G);break;case"writable_held_selector_family":case"writable_pure_selector_family":H=J.writableSelectors.get(G);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":H=J.readonlySelectors.get(G);break}if(H)return i4(H);return H}function i1(W,$,X){let Y=IJ(W,$,X);if(Y)return Y;let G=S1(X),J=W.molecules.get(G);if(!J&&W.config.lifespan==="immortal"){let H=VJ($,X);return W.logger.error("\u274C",H.type,H.key,`was not found in store "${W.config.name}"; returned a counterfeit token.`),H}if(Y=jJ(W,$,X),J)s(W).moleculeData.set(G,$.key);return Y}function PJ(W,$){if($.family){let X=W.families.get($.family.key);if(X)return X}}function R2(W,...$){let X,Y,G,J;if($.length===2){if(X=$[0],J=$[1],Y=PJ(W,X)??null,Y)G=X.family?o4(X.family.subKey):null,X=i1(W,Y,G)}else Y=$[0],G=$[1],J=$[2],X=i1(W,Y,G);if("counterfeit"in X&&"family"in X){let z=X.family.subKey,T=W.disposalTraces.buffer.find((F)=>F?.key===z);W.logger.error("\u274C",X.type,X.key,`could not be set because it was not found in the store "${W.config.name}".`,T?`This state was previously disposed:
|
|
4
|
-
${
|
|
5
|
-
${H.trace}`:"No previous disposal trace was found."),Y.type){case"atom_family":case"mutable_atom_family":return W.defaults.get(Y.key);case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(W.defaults.has(Y.key))return W.defaults.get(X.family.key);let Q=b1(W,Y).default(J);return W.defaults.set(Y.key,Q),Q}}}return E2(W,b1(W,X))}class fJ{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new fW({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new fW({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new fW({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new fW({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new GX(100);molecules=new Map;moleculeJoins=new fW({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});moleculeGraph=new fW({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});moleculeData=new fW({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});miscResources=new Map;on={atomCreation:new B0,atomDisposal:new B0,selectorCreation:new B0,selectorDisposal:new B0,timelineCreation:new B0,transactionCreation:new B0,transactionApplying:new C9(null),operationClose:new B0,moleculeCreation:new B0,moleculeDisposal:new B0};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new q9("warn",(W,$,X)=>!bJ(X))];logger={error:(...W)=>{for(let $ of this.loggers)$.error(...W)},info:(...W)=>{for(let $ of this.loggers)$.info(...W)},warn:(...W)=>{for(let $ of this.loggers)$.warn(...W)}};constructor(W,$=null){if(this.config={...$?.config,...W},$!==null){if(this.valueMap=new Map($?.valueMap),this.operation={...$?.operation},A2($))this.transactionMeta={epoch:new Map($?.transactionMeta.epoch),actionContinuities:new fW($?.transactionMeta.actionContinuities.toJSON())};for(let[,Y]of $.families){if(Y.internalRoles?.includes("mutable")||Y.internalRoles?.includes("join"))continue;Y.install(this)}let X=new Set;for(let[,Y]of $.atoms){if(X.has(Y.key))continue;if(Y.install(this),Y.type==="mutable_atom"){let G=v8($,Y),J=xJ(Y);X.add(G.key),X.add(J.key)}}for(let[,Y]of $.readonlySelectors)Y.install(this);for(let[,Y]of $.writableSelectors){if(X.has(Y.key))continue;Y.install(this)}for(let[,Y]of $.transactions)Y.install(this);for(let[,Y]of $.timelines)Y.install(this)}}}var DJ={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new fJ({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function b1(W,$){let X,Y=W;while(Y!==null){switch($.type){case"atom":case"mutable_atom":X=Y.atoms.get($.key);break;case"writable_pure_selector":case"writable_held_selector":X=Y.writableSelectors.get($.key);break;case"readonly_pure_selector":case"readonly_held_selector":X=Y.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":X=Y.families.get($.key);break;case"timeline":X=Y.timelines.get($.key);break;case"transaction":X=Y.transactions.get($.key);break}if(X)return X;Y=Y.child}throw new n4($,W)}var vJ=(W,$)=>{let X=s(W);if(X.operation.open)return X.operation.prev.get($.key);return X.valueMap.get($.key)};var x9=(W,$)=>{let X=s(W);return CJ($,W).map((G)=>{let J=X.atoms.get(G);if(J===void 0)throw new Error(`Atom "${G}", a dependency of selector "${$.key}", not found in store "${W.config.name}".`);return J.subject.subscribe(`${$.type}:${$.key}`,(H)=>{W.logger.info("\uD83D\uDCE2",$.type,$.key,"root",G,"went",H.oldValue,"->",H.newValue);let Q=vJ(X,$),z=E2(X,$);W.logger.info("\u2728",$.type,$.key,"went",Q,"->",z),$.subject.next({newValue:z,oldValue:Q})})})};function s4(W,$,X,Y){function G(_){if(W.operation.open){let w=W.on.operationClose.subscribe(`state subscription ${X}`,()=>{w(),Y(_)})}else Y(_)}let J=b1(W,$);W.logger.info("\uD83D\uDC40",J.type,J.key,`Adding subscription "${X}"`);let H=J.type==="writable_pure_selector"||J.type==="readonly_pure_selector",Q=null,z=G;if(H)Q=x9(W,J),z=(_)=>{if(Q)Q.length=0,Q.push(...x9(W,J));G(_)};let T=J.subject.subscribe(X,z);return()=>{if(W.logger.info("\uD83D\uDE48",J.type,J.key,`Removing subscription "${X}"`),T(),Q)for(let _ of Q)_()}}var yJ=(W,$,X,Y)=>{let G=b1(W,$);W.logger.info("\uD83D\uDC40","timeline",$.key,`Adding subscription "${X}"`);let J=G.subject.subscribe(X,Y);return()=>{W.logger.info("\uD83D\uDE48","timeline",$.key,`Removing subscription "${X}" from timeline`),J()}};class b9{initializeState(W,$){let X=`*${W.key}`;$.atoms.delete(X),$.valueMap.delete(X);let Y=W.family?{key:`*${W.family.key}`,subKey:W.family.subKey}:void 0,G=v9($,{key:X,default:null},Y);if($.parent?.valueMap.has(X)){let J=$.parent.valueMap.get(X);$.valueMap.set(X,J)}return G}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(W,$,X){let Y=`tracker:${X.config.name}:${o1(X)?X.transactionMeta.update.key:"main"}:${W.key}`,G=a4(X,W);this.unsubscribeFromInnerValue=G.subscribe(Y,(J)=>{R2(X,$,J)}),this.unsubscribeFromState=s4(X,W,Y,(J)=>{if(J.newValue!==J.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=J.newValue.subscribe(Y,(H)=>{R2(X,$,H)})})}updateCore(W,$,X){let Y=`tracker:${X.config.name}:${o1(X)?X.transactionMeta.update.key:"main"}:${W.key}`;s4(X,$,Y,({newValue:G,oldValue:J})=>{let H=X.timelineTopics.getRelatedKey($.key);if(H){if(X.timelines.get(H)?.timeTraveling){let T=yJ(X,{key:H,type:"timeline"},Y,(F)=>{T(),R2(X,W,(_)=>{if(F==="redo"&&G)_.do(G);else if(F==="undo"&&J)_.undo(J);return _})});return}}let Q=X.on.operationClose.subscribe(Y,()=>{Q();let z=a4(X,W),T=G===null?-1:z.getUpdateNumber(G),F=T-z.cacheUpdateNumber;if(G&&F===1)R2(X,W,(_)=>(_.do(G),_));else X.logger.info("\u274C","mutable_atom",W.key,`could not be updated. Expected update number ${z.cacheUpdateNumber+1}, but got ${T}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(W,$){this.mutableState=W;let X=s($);this.latestUpdateState=this.initializeState(W,X),this.observeCore(W,this.latestUpdateState,X),this.updateCore(W,this.latestUpdateState,X),X.trackers.set(W.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),X.trackers.delete(W.key)}}}var v8=(W,$)=>{if($.family){let Y=s(W),J={key:`${$.family.key}:JSON`,type:"writable_pure_selector_family"},H=b1(Y,J),Q=JSON.parse($.family.subKey);return i1(W,H,Q)}return{type:"writable_pure_selector",key:`${$.key}:JSON`}};var xJ=(W)=>{let X={type:"atom",key:`*${W.key}`};if(W.family)X.family={key:`*${W.family.key}`,subKey:W.family.subKey};return X};function NJ(W){return typeof W==="object"&&W!==null&&"do"in W&&"undo"in W&&"subscribe"in W}function r4(W,$,X){let Y=X.valueMap.get($.key),G=W.valueMap.get($.key);if(Y!==G)return G;if(Y===void 0)return $.default();X.logger.info("\uD83D\uDCC3","atom",$.key,"copying");let J=$.toJson(Y),H=$.fromJson(J);return W.valueMap.set($.key,H),new b9($,X),H}function q1(W,$,X,Y){let G=W.valueMap.get($);if(G instanceof l4)G.use(X);if(X instanceof Promise){let J=new l4(X);return W.valueMap.set($,J),J.then((H)=>{q1(W,$,H,Y),Y.next({newValue:H,oldValue:J})}).catch((H)=>{W.logger.error("\uD83D\uDCA5","state",$,"rejected:",H)}),J}return W.valueMap.set($,X),X}var OJ=(W,$)=>{let X=$.valueMap.get(W.key);if(W.type==="mutable_atom"&&o1($)){let{parent:Y}=$;X=r4($,W,Y)}return X},BJ=(W,$)=>{let X=$.valueMap.get(W);if(X instanceof l4){let Y=X,G=$.writableSelectors.get(W)??$.readonlySelectors.get(W);if(G)Y.use(G.get());return}if($.operation.open)$.operation.prev.set(W,X);$.valueMap.delete(W),$.logger.info("\uD83D\uDDD1","state",W,"evicted")};var ZJ=(W,$)=>{return s(W).atomsThatAreDefault.has($)},hJ=(W,$)=>{let X=s(W);X.atomsThatAreDefault=new Set(X.atomsThatAreDefault).add($)},SJ=(W,$)=>{let X=s(W);X.atomsThatAreDefault=new Set(s(W).atomsThatAreDefault),X.atomsThatAreDefault.delete($)};function v9(W,$,X){let{key:G,default:J}=$;W.logger.info("\uD83D\uDD28","atom",G,`creating in store "${W.config.name}"`);let H=s(W),Q=H.atoms.get(G);if(Q&&Q.type==="atom")return W.logger.error("\u274C","atom",G,"Tried to create atom, but it already exists in the store."),i4(Q);let z=new B0,T={...$,type:"atom",install:(w)=>{return w.logger.info("\uD83D\uDEE0\uFE0F","atom",G,`installing in store "${w.config.name}"`),v9(w,$,X)},subject:z};if(X)T.family=X;let F=J;if(J instanceof Function)F=J();H.atoms.set(G,T),hJ(W,G),q1(H,G,F,z);let _=i4(T);if($.effects){let w=0,O=[];for(let M of $.effects){let A=M({setSelf:(I)=>{R2(W,_,I)},onSet:(I)=>s4(W,_,`effect[${w}]`,I)});if(A)O.push(A);++w}T.cleanup=()=>{for(let M of O)M()}}return _}class y8 extends Set{mode="record";subject=new B0;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(W,$=0){super(W);if(W instanceof y8)this.parent=W,this.cacheUpdateNumber=W.cacheUpdateNumber;if($)this.cacheLimit=$,this.cache=new Array($),this.subscribe("auto cache",(X)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=X})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(W){let $=new y8(W.members,W.cacheLimit);return $.cache=W.cache,$.cacheIdx=W.cacheIdx,$.cacheUpdateNumber=W.cacheUpdateNumber,$}add(W){let $=super.add(W);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${S1(W)}`);return $}clear(){let W=this.mode==="record"?[...this]:null;if(super.clear(),W)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(W)}`)}delete(W){let $=super.delete(W);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${S1(W)}`);return $}parent=null;child=null;transactionUpdates=null;transaction(W){this.mode="transaction",this.transactionUpdates=[],this.child=new y8(this);let $=this.child._subscribe("transaction",(X)=>{this.transactionUpdates?.push(X)});try{if(W(this.child)){for(let Y of this.transactionUpdates)this.doStep(Y);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(X){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",X),X}finally{$(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(W,$){return this.subject.subscribe(W,$)}subscribe(W,$){return this.subject.subscribe(W,(X)=>{$(`${this.cacheUpdateNumber}=${X}`)})}emit(W){this.subject.next(W)}doStep(W){let $=W.indexOf(":"),X=W.substring(0,$),Y=W.substring($+1);switch(X){case"add":this.add(JSON.parse(Y));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(Y));break;case"tx":for(let G of Y.split(";"))this.doStep(G)}}getUpdateNumber(W){let $=W.indexOf("=");return Number(W.substring(0,$))}do(W){let $=W.indexOf("="),X=Number(W.substring(0,$)),Y=X-this.cacheUpdateNumber;if(Y>0){if(Y===1){this.mode="playback";let J=W.substring($+1);return this.doStep(J),this.mode="record",this.cacheUpdateNumber=X,null}return this.cacheUpdateNumber+1}if(Math.abs(Y)<this.cacheLimit){let J=this.cacheIdx+Y;if(this.cache[J]===W)return null;this.mode="playback";let Q=!1;while(!Q){this.cacheIdx%=this.cacheLimit;let T=this.cache[this.cacheIdx];if(this.cacheIdx--,!T)return"OUT_OF_RANGE";this.undo(T),Q=this.cacheIdx===J-1}let z=W.substring($+1);return this.doStep(z),this.mode="record",this.cacheUpdateNumber=X,null}return"OUT_OF_RANGE"}undoStep(W){let $=W.indexOf(":"),X=W.substring(0,$),Y=W.substring($+1);switch(X){case"add":this.delete(JSON.parse(Y));break;case"del":this.add(JSON.parse(Y));break;case"clear":{let G=JSON.parse(Y);for(let J of G)this.add(J);break}case"tx":{let G=Y.split(";");for(let J=G.length-1;J>=0;J--)this.undoStep(G[J])}}}undo(W){let $=W.indexOf("=");if(Number(W.substring(0,$))===this.cacheUpdateNumber){this.mode="playback";let Y=W.substring($+1);return this.undoStep(Y),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function bJ(W){return W.startsWith("\uD83D\uDD0D ")}class TX{listeners;globalListeners;handleEvent(W,...$){for(let Y of this.globalListeners)Y(W,...$);let X=this.listeners.get(W);if(X)for(let Y of X)Y(...$)}id="no_id_retrieved";emit;constructor(W){this.emit=W,this.listeners=new Map,this.globalListeners=new Set}on(W,$){let X=this.listeners.get(W);if(X)X.add($);else this.listeners.set(W,new Set([$]));return this}onAny(W){return this.globalListeners.add(W),this}off(W,$){let X=this.listeners.get(W);if(X)if($)X.delete($);else this.listeners.delete(W);return this}offAny(W){return this.globalListeners.delete(W),this}}class gJ extends TX{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(W){super((...$)=>{return this.out.next($),this});this.id=W,this.in=new B0,this.out=new B0,this.in.subscribe("socket",($)=>{this.handleEvent(...$)})}dispose(){for(let W of this.disposalFunctions)W()}}class y9 extends TX{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...W){this.process.stderr.write(S1(W.map(($)=>$ instanceof y8?`{ ${$.toJSON().members.join(" | ")} }`:$))+"\x03")}logger={info:(...W)=>{this.log("i",...W)},warn:(...W)=>{this.log("w",...W)},error:(...W)=>{this.log("e",...W)}};constructor(){super((W,...$)=>{let X=JSON.stringify([W,...$]);return this.process.stdout.write(X+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(W)=>{let $=W.toString();this.unprocessedEvents.push(...$.split("\x03"));let X=this.unprocessedEvents.shift();this.incompleteData+=X??"";try{let Y=o4(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",Y),this.handleEvent(...Y);while(this.unprocessedEvents.length>0){let G=this.unprocessedEvents.shift();if(G){if(this.unprocessedEvents.length===0)this.incompleteData=G;let J=o4(G);this.handleEvent(...J)}}this.incompleteData=""}catch(Y){if(Y instanceof Error)this.logger.error("\u2757",Y.message,Y.cause,Y.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(W)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${W}`)}),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",(W)=>{this.logger.info("\uD83D\uDC64","user",W,"joined");let $=new gJ(`user:${W}`);this.relays.set(W,$),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let X of this.relayServices){let Y=X($);if(Y)$.disposalFunctions.push(Y)}this.on(`user:${W}`,(...X)=>{$.in.next(X)}),$.out.subscribe("socket",(X)=>{this.emit(...X)})}),this.on("user-leaves",(W)=>{let $=this.relays.get(W);if(this.off(`relay:${W}`),$)$.dispose(),this.relays.delete(W)}),process.stdout.write("ALIVE")}relay(W){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(W)}}var pJ=Symbol("Let zodToJsonSchema decide on which parser to use");var mJ={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},uJ=(W)=>typeof W==="string"?{...mJ,name:W}:{...mJ,...W};var cJ=(W)=>{let $=uJ(W),X=$.name!==void 0?[...$.basePath,$.definitionPath,$.name]:$.basePath;return{...$,currentPath:X,propertyPath:void 0,seen:new Map(Object.entries($.definitions).map(([Y,G])=>[G._def,{def:G._def,path:[...$.basePath,$.definitionPath,Y],jsonSchema:void 0}]))}};function h9(W,$,X,Y){if(!Y?.errorMessages)return;if(X)W.errorMessage={...W.errorMessage,[$]:X}}function O0(W,$,X,Y,G){W[$]=X,h9(W,$,Y,G)}var A0;(function(W){W.assertEqual=(G)=>G;function $(G){}W.assertIs=$;function X(G){throw new Error}W.assertNever=X,W.arrayToEnum=(G)=>{let J={};for(let H of G)J[H]=H;return J},W.getValidEnumValues=(G)=>{let J=W.objectKeys(G).filter((Q)=>typeof G[G[Q]]!=="number"),H={};for(let Q of J)H[Q]=G[Q];return W.objectValues(H)},W.objectValues=(G)=>{return W.objectKeys(G).map(function(J){return G[J]})},W.objectKeys=typeof Object.keys==="function"?(G)=>Object.keys(G):(G)=>{let J=[];for(let H in G)if(Object.prototype.hasOwnProperty.call(G,H))J.push(H);return J},W.find=(G,J)=>{for(let H of G)if(J(H))return H;return},W.isInteger=typeof Number.isInteger==="function"?(G)=>Number.isInteger(G):(G)=>typeof G==="number"&&isFinite(G)&&Math.floor(G)===G;function Y(G,J=" | "){return G.map((H)=>typeof H==="string"?`'${H}'`:H).join(J)}W.joinValues=Y,W.jsonStringifyReplacer=(G,J)=>{if(typeof J==="bigint")return J.toString();return J}})(A0||(A0={}));var dJ;(function(W){W.mergeShapes=($,X)=>{return{...$,...X}}})(dJ||(dJ={}));var u=A0.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),N2=(W)=>{switch(typeof W){case"undefined":return u.undefined;case"string":return u.string;case"number":return isNaN(W)?u.nan:u.number;case"boolean":return u.boolean;case"function":return u.function;case"bigint":return u.bigint;case"symbol":return u.symbol;case"object":if(Array.isArray(W))return u.array;if(W===null)return u.null;if(W.then&&typeof W.then==="function"&&W.catch&&typeof W.catch==="function")return u.promise;if(typeof Map!=="undefined"&&W instanceof Map)return u.map;if(typeof Set!=="undefined"&&W instanceof Set)return u.set;if(typeof Date!=="undefined"&&W instanceof Date)return u.date;return u.object;default:return u.unknown}},S=A0.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class YW extends Error{get errors(){return this.issues}constructor(W){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=W}format(W){let $=W||function(G){return G.message},X={_errors:[]},Y=(G)=>{for(let J of G.issues)if(J.code==="invalid_union")J.unionErrors.map(Y);else if(J.code==="invalid_return_type")Y(J.returnTypeError);else if(J.code==="invalid_arguments")Y(J.argumentsError);else if(J.path.length===0)X._errors.push($(J));else{let H=X,Q=0;while(Q<J.path.length){let z=J.path[Q];if(Q!==J.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push($(J));H=H[z],Q++}}};return Y(this),X}static assert(W){if(!(W instanceof YW))throw new Error(`Not a ZodError: ${W}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,A0.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(W=($)=>$.message){let $={},X=[];for(let Y of this.issues)if(Y.path.length>0)$[Y.path[0]]=$[Y.path[0]]||[],$[Y.path[0]].push(W(Y));else X.push(W(Y));return{formErrors:X,fieldErrors:$}}get formErrors(){return this.flatten()}}YW.create=(W)=>{return new YW(W)};var Y$=(W,$)=>{let X;switch(W.code){case S.invalid_type:if(W.received===u.undefined)X="Required";else X=`Expected ${W.expected}, received ${W.received}`;break;case S.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify(W.expected,A0.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:X=`Unrecognized key(s) in object: ${A0.joinValues(W.keys,", ")}`;break;case S.invalid_union:X="Invalid input";break;case S.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${A0.joinValues(W.options)}`;break;case S.invalid_enum_value:X=`Invalid enum value. Expected ${A0.joinValues(W.options)}, received '${W.received}'`;break;case S.invalid_arguments:X="Invalid function arguments";break;case S.invalid_return_type:X="Invalid function return type";break;case S.invalid_date:X="Invalid date";break;case S.invalid_string:if(typeof W.validation==="object")if("includes"in W.validation){if(X=`Invalid input: must include "${W.validation.includes}"`,typeof W.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${W.validation.position}`}else if("startsWith"in W.validation)X=`Invalid input: must start with "${W.validation.startsWith}"`;else if("endsWith"in W.validation)X=`Invalid input: must end with "${W.validation.endsWith}"`;else A0.assertNever(W.validation);else if(W.validation!=="regex")X=`Invalid ${W.validation}`;else X="Invalid";break;case S.too_small:if(W.type==="array")X=`Array must contain ${W.exact?"exactly":W.inclusive?"at least":"more than"} ${W.minimum} element(s)`;else if(W.type==="string")X=`String must contain ${W.exact?"exactly":W.inclusive?"at least":"over"} ${W.minimum} character(s)`;else if(W.type==="number")X=`Number must be ${W.exact?"exactly equal to ":W.inclusive?"greater than or equal to ":"greater than "}${W.minimum}`;else if(W.type==="date")X=`Date must be ${W.exact?"exactly equal to ":W.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(W.minimum))}`;else X="Invalid input";break;case S.too_big:if(W.type==="array")X=`Array must contain ${W.exact?"exactly":W.inclusive?"at most":"less than"} ${W.maximum} element(s)`;else if(W.type==="string")X=`String must contain ${W.exact?"exactly":W.inclusive?"at most":"under"} ${W.maximum} character(s)`;else if(W.type==="number")X=`Number must be ${W.exact?"exactly":W.inclusive?"less than or equal to":"less than"} ${W.maximum}`;else if(W.type==="bigint")X=`BigInt must be ${W.exact?"exactly":W.inclusive?"less than or equal to":"less than"} ${W.maximum}`;else if(W.type==="date")X=`Date must be ${W.exact?"exactly":W.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(W.maximum))}`;else X="Invalid input";break;case S.custom:X="Invalid input";break;case S.invalid_intersection_types:X="Intersection results could not be merged";break;case S.not_multiple_of:X=`Number must be a multiple of ${W.multipleOf}`;break;case S.not_finite:X="Number must be finite";break;default:X=$.defaultError,A0.assertNever(W)}return{message:X}},pD=Y$;function m9(){return pD}var p9=(W)=>{let{data:$,path:X,errorMaps:Y,issueData:G}=W,J=[...X,...G.path||[]],H={...G,path:J};if(G.message!==void 0)return{...G,path:J,message:G.message};let Q="",z=Y.filter((T)=>!!T).slice().reverse();for(let T of z)Q=T(H,{data:$,defaultError:Q}).message;return{...G,path:J,message:Q}};function y(W,$){let X=m9(),Y=p9({issueData:$,data:W.data,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,X,X===Y$?void 0:Y$].filter((G)=>!!G)});W.common.issues.push(Y)}class C1{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(W,$){let X=[];for(let Y of $){if(Y.status==="aborted")return X0;if(Y.status==="dirty")W.dirty();X.push(Y.value)}return{status:W.value,value:X}}static async mergeObjectAsync(W,$){let X=[];for(let Y of $){let G=await Y.key,J=await Y.value;X.push({key:G,value:J})}return C1.mergeObjectSync(W,X)}static mergeObjectSync(W,$){let X={};for(let Y of $){let{key:G,value:J}=Y;if(G.status==="aborted")return X0;if(J.status==="aborted")return X0;if(G.status==="dirty")W.dirty();if(J.status==="dirty")W.dirty();if(G.value!=="__proto__"&&(typeof J.value!=="undefined"||Y.alwaysSet))X[G.value]=J.value}return{status:W.value,value:X}}}var X0=Object.freeze({status:"aborted"}),e4=(W)=>({status:"dirty",value:W}),v1=(W)=>({status:"valid",value:W}),lJ=(W)=>W.status==="aborted",oJ=(W)=>W.status==="dirty",g8=(W)=>W.status==="valid",FX=(W)=>typeof Promise!=="undefined"&&W instanceof Promise;function _X(W,$,X,Y){if(X==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!Y:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call(W):Y?Y.value:$.get(W)}function nJ(W,$,X,Y,G){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?G.call(W,X):G?G.value=X:$.set(W,X),X}var l;(function(W){W.errToObj=($)=>typeof $==="string"?{message:$}:$||{},W.toString=($)=>typeof $==="string"?$:$===null||$===void 0?void 0:$.message})(l||(l={}));var W$,$$;class KW{constructor(W,$,X,Y){this._cachedPath=[],this.parent=W,this.data=$,this._path=X,this._key=Y}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var iJ=(W,$)=>{if(g8($))return{success:!0,data:$.value};else{if(!W.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let X=new YW(W.common.issues);return this._error=X,this._error}}}};function Q0(W){if(!W)return{};let{errorMap:$,invalid_type_error:X,required_error:Y,description:G}=W;if($&&(X||Y))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:G};return{errorMap:(H,Q)=>{var z,T;let{message:F}=W;if(H.code==="invalid_enum_value")return{message:F!==null&&F!==void 0?F:Q.defaultError};if(typeof Q.data==="undefined")return{message:(z=F!==null&&F!==void 0?F:Y)!==null&&z!==void 0?z:Q.defaultError};if(H.code!=="invalid_type")return{message:Q.defaultError};return{message:(T=F!==null&&F!==void 0?F:X)!==null&&T!==void 0?T:Q.defaultError}},description:G}}class _0{get description(){return this._def.description}_getType(W){return N2(W.data)}_getOrReturnCtx(W,$){return $||{common:W.parent.common,data:W.data,parsedType:N2(W.data),schemaErrorMap:this._def.errorMap,path:W.path,parent:W.parent}}_processInputParams(W){return{status:new C1,ctx:{common:W.parent.common,data:W.data,parsedType:N2(W.data),schemaErrorMap:this._def.errorMap,path:W.path,parent:W.parent}}}_parseSync(W){let $=this._parse(W);if(FX($))throw new Error("Synchronous parse encountered promise.");return $}_parseAsync(W){let $=this._parse(W);return Promise.resolve($)}parse(W,$){let X=this.safeParse(W,$);if(X.success)return X.data;throw X.error}safeParse(W,$){var X;let Y={common:{issues:[],async:(X=$===null||$===void 0?void 0:$.async)!==null&&X!==void 0?X:!1,contextualErrorMap:$===null||$===void 0?void 0:$.errorMap},path:($===null||$===void 0?void 0:$.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:W,parsedType:N2(W)},G=this._parseSync({data:W,path:Y.path,parent:Y});return iJ(Y,G)}"~validate"(W){var $,X;let Y={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:W,parsedType:N2(W)};if(!this["~standard"].async)try{let G=this._parseSync({data:W,path:[],parent:Y});return g8(G)?{value:G.value}:{issues:Y.common.issues}}catch(G){if((X=($=G===null||G===void 0?void 0:G.message)===null||$===void 0?void 0:$.toLowerCase())===null||X===void 0?void 0:X.includes("encountered"))this["~standard"].async=!0;Y.common={issues:[],async:!0}}return this._parseAsync({data:W,path:[],parent:Y}).then((G)=>g8(G)?{value:G.value}:{issues:Y.common.issues})}async parseAsync(W,$){let X=await this.safeParseAsync(W,$);if(X.success)return X.data;throw X.error}async safeParseAsync(W,$){let X={common:{issues:[],contextualErrorMap:$===null||$===void 0?void 0:$.errorMap,async:!0},path:($===null||$===void 0?void 0:$.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:W,parsedType:N2(W)},Y=this._parse({data:W,path:X.path,parent:X}),G=await(FX(Y)?Y:Promise.resolve(Y));return iJ(X,G)}refine(W,$){let X=(Y)=>{if(typeof $==="string"||typeof $==="undefined")return{message:$};else if(typeof $==="function")return $(Y);else return $};return this._refinement((Y,G)=>{let J=W(Y),H=()=>G.addIssue({code:S.custom,...X(Y)});if(typeof Promise!=="undefined"&&J instanceof Promise)return J.then((Q)=>{if(!Q)return H(),!1;else return!0});if(!J)return H(),!1;else return!0})}refinement(W,$){return this._refinement((X,Y)=>{if(!W(X))return Y.addIssue(typeof $==="function"?$(X,Y):$),!1;else return!0})}_refinement(W){return new bW({schema:this,typeName:q.ZodEffects,effect:{type:"refinement",refinement:W}})}superRefine(W){return this._refinement(W)}constructor(W){this.spa=this.safeParseAsync,this._def=W,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return GW.create(this,this._def)}nullable(){return Z2.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return xW.create(this)}promise(){return c8.create(this,this._def)}or(W){return Q$.create([this,W],this._def)}and(W){return z$.create(this,W,this._def)}transform(W){return new bW({...Q0(this._def),schema:this,typeName:q.ZodEffects,effect:{type:"transform",transform:W}})}default(W){let $=typeof W==="function"?W:()=>W;return new w$({...Q0(this._def),innerType:this,defaultValue:$,typeName:q.ZodDefault})}brand(){return new d9({typeName:q.ZodBranded,type:this,...Q0(this._def)})}catch(W){let $=typeof W==="function"?W:()=>W;return new U$({...Q0(this._def),innerType:this,catchValue:$,typeName:q.ZodCatch})}describe(W){return new this.constructor({...this._def,description:W})}pipe(W){return AX.create(this,W)}readonly(){return D$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var uD=/^c[^\s-]{8,}$/i,cD=/^[0-9a-z]+$/,dD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,oD=/^[a-z0-9_-]{21}$/i,iD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,nD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,rD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,tD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",g9,aD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,sD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,eD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,WV=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$V=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,XV=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rJ="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",YV=new RegExp(`^${rJ}$`);function tJ(W){let $="[0-5]\\d";if(W.precision)$=`${$}\\.\\d{${W.precision}}`;else if(W.precision==null)$=`${$}(\\.\\d+)?`;let X=W.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${X}`}function GV(W){return new RegExp(`^${tJ(W)}$`)}function JV(W){let $=`${rJ}T${tJ(W)}`,X=[];if(X.push(W.local?"Z?":"Z"),W.offset)X.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${X.join("|")})`,new RegExp(`^${$}$`)}function HV(W,$){if(($==="v4"||!$)&&aD.test(W))return!0;if(($==="v6"||!$)&&eD.test(W))return!0;return!1}function QV(W,$){if(!iD.test(W))return!1;try{let[X]=W.split("."),Y=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.length%4)%4,"="),G=JSON.parse(atob(Y));if(typeof G!=="object"||G===null)return!1;if(!G.typ||!G.alg)return!1;if($&&G.alg!==$)return!1;return!0}catch(X){return!1}}function zV(W,$){if(($==="v4"||!$)&&sD.test(W))return!0;if(($==="v6"||!$)&&WV.test(W))return!0;return!1}class oW extends _0{_parse(W){if(this._def.coerce)W.data=String(W.data);if(this._getType(W)!==u.string){let G=this._getOrReturnCtx(W);return y(G,{code:S.invalid_type,expected:u.string,received:G.parsedType}),X0}let X=new C1,Y=void 0;for(let G of this._def.checks)if(G.kind==="min"){if(W.data.length<G.value)Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),X.dirty()}else if(G.kind==="max"){if(W.data.length>G.value)Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),X.dirty()}else if(G.kind==="length"){let J=W.data.length>G.value,H=W.data.length<G.value;if(J||H){if(Y=this._getOrReturnCtx(W,Y),J)y(Y,{code:S.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});else if(H)y(Y,{code:S.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});X.dirty()}}else if(G.kind==="email"){if(!rD.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"email",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="emoji"){if(!g9)g9=new RegExp(tD,"u");if(!g9.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"emoji",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="uuid"){if(!lD.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"uuid",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="nanoid"){if(!oD.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"nanoid",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="cuid"){if(!uD.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"cuid",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="cuid2"){if(!cD.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"cuid2",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="ulid"){if(!dD.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"ulid",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="url")try{new URL(W.data)}catch(J){Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"url",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="regex"){if(G.regex.lastIndex=0,!G.regex.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"regex",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="trim")W.data=W.data.trim();else if(G.kind==="includes"){if(!W.data.includes(G.value,G.position))Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.invalid_string,validation:{includes:G.value,position:G.position},message:G.message}),X.dirty()}else if(G.kind==="toLowerCase")W.data=W.data.toLowerCase();else if(G.kind==="toUpperCase")W.data=W.data.toUpperCase();else if(G.kind==="startsWith"){if(!W.data.startsWith(G.value))Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.invalid_string,validation:{startsWith:G.value},message:G.message}),X.dirty()}else if(G.kind==="endsWith"){if(!W.data.endsWith(G.value))Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.invalid_string,validation:{endsWith:G.value},message:G.message}),X.dirty()}else if(G.kind==="datetime"){if(!JV(G).test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.invalid_string,validation:"datetime",message:G.message}),X.dirty()}else if(G.kind==="date"){if(!YV.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.invalid_string,validation:"date",message:G.message}),X.dirty()}else if(G.kind==="time"){if(!GV(G).test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.invalid_string,validation:"time",message:G.message}),X.dirty()}else if(G.kind==="duration"){if(!nD.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"duration",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="ip"){if(!HV(W.data,G.version))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"ip",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="jwt"){if(!QV(W.data,G.alg))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"jwt",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="cidr"){if(!zV(W.data,G.version))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"cidr",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="base64"){if(!$V.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"base64",code:S.invalid_string,message:G.message}),X.dirty()}else if(G.kind==="base64url"){if(!XV.test(W.data))Y=this._getOrReturnCtx(W,Y),y(Y,{validation:"base64url",code:S.invalid_string,message:G.message}),X.dirty()}else A0.assertNever(G);return{status:X.value,value:W.data}}_regex(W,$,X){return this.refinement((Y)=>W.test(Y),{validation:$,code:S.invalid_string,...l.errToObj(X)})}_addCheck(W){return new oW({...this._def,checks:[...this._def.checks,W]})}email(W){return this._addCheck({kind:"email",...l.errToObj(W)})}url(W){return this._addCheck({kind:"url",...l.errToObj(W)})}emoji(W){return this._addCheck({kind:"emoji",...l.errToObj(W)})}uuid(W){return this._addCheck({kind:"uuid",...l.errToObj(W)})}nanoid(W){return this._addCheck({kind:"nanoid",...l.errToObj(W)})}cuid(W){return this._addCheck({kind:"cuid",...l.errToObj(W)})}cuid2(W){return this._addCheck({kind:"cuid2",...l.errToObj(W)})}ulid(W){return this._addCheck({kind:"ulid",...l.errToObj(W)})}base64(W){return this._addCheck({kind:"base64",...l.errToObj(W)})}base64url(W){return this._addCheck({kind:"base64url",...l.errToObj(W)})}jwt(W){return this._addCheck({kind:"jwt",...l.errToObj(W)})}ip(W){return this._addCheck({kind:"ip",...l.errToObj(W)})}cidr(W){return this._addCheck({kind:"cidr",...l.errToObj(W)})}datetime(W){var $,X;if(typeof W==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:W});return this._addCheck({kind:"datetime",precision:typeof(W===null||W===void 0?void 0:W.precision)==="undefined"?null:W===null||W===void 0?void 0:W.precision,offset:($=W===null||W===void 0?void 0:W.offset)!==null&&$!==void 0?$:!1,local:(X=W===null||W===void 0?void 0:W.local)!==null&&X!==void 0?X:!1,...l.errToObj(W===null||W===void 0?void 0:W.message)})}date(W){return this._addCheck({kind:"date",message:W})}time(W){if(typeof W==="string")return this._addCheck({kind:"time",precision:null,message:W});return this._addCheck({kind:"time",precision:typeof(W===null||W===void 0?void 0:W.precision)==="undefined"?null:W===null||W===void 0?void 0:W.precision,...l.errToObj(W===null||W===void 0?void 0:W.message)})}duration(W){return this._addCheck({kind:"duration",...l.errToObj(W)})}regex(W,$){return this._addCheck({kind:"regex",regex:W,...l.errToObj($)})}includes(W,$){return this._addCheck({kind:"includes",value:W,position:$===null||$===void 0?void 0:$.position,...l.errToObj($===null||$===void 0?void 0:$.message)})}startsWith(W,$){return this._addCheck({kind:"startsWith",value:W,...l.errToObj($)})}endsWith(W,$){return this._addCheck({kind:"endsWith",value:W,...l.errToObj($)})}min(W,$){return this._addCheck({kind:"min",value:W,...l.errToObj($)})}max(W,$){return this._addCheck({kind:"max",value:W,...l.errToObj($)})}length(W,$){return this._addCheck({kind:"length",value:W,...l.errToObj($)})}nonempty(W){return this.min(1,l.errToObj(W))}trim(){return new oW({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new oW({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new oW({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((W)=>W.kind==="datetime")}get isDate(){return!!this._def.checks.find((W)=>W.kind==="date")}get isTime(){return!!this._def.checks.find((W)=>W.kind==="time")}get isDuration(){return!!this._def.checks.find((W)=>W.kind==="duration")}get isEmail(){return!!this._def.checks.find((W)=>W.kind==="email")}get isURL(){return!!this._def.checks.find((W)=>W.kind==="url")}get isEmoji(){return!!this._def.checks.find((W)=>W.kind==="emoji")}get isUUID(){return!!this._def.checks.find((W)=>W.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((W)=>W.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((W)=>W.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((W)=>W.kind==="cuid2")}get isULID(){return!!this._def.checks.find((W)=>W.kind==="ulid")}get isIP(){return!!this._def.checks.find((W)=>W.kind==="ip")}get isCIDR(){return!!this._def.checks.find((W)=>W.kind==="cidr")}get isBase64(){return!!this._def.checks.find((W)=>W.kind==="base64")}get isBase64url(){return!!this._def.checks.find((W)=>W.kind==="base64url")}get minLength(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W}get maxLength(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W}}oW.create=(W)=>{var $;return new oW({checks:[],typeName:q.ZodString,coerce:($=W===null||W===void 0?void 0:W.coerce)!==null&&$!==void 0?$:!1,...Q0(W)})};function TV(W,$){let X=(W.toString().split(".")[1]||"").length,Y=($.toString().split(".")[1]||"").length,G=X>Y?X:Y,J=parseInt(W.toFixed(G).replace(".","")),H=parseInt($.toFixed(G).replace(".",""));return J%H/Math.pow(10,G)}class m8 extends _0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(W){if(this._def.coerce)W.data=Number(W.data);if(this._getType(W)!==u.number){let G=this._getOrReturnCtx(W);return y(G,{code:S.invalid_type,expected:u.number,received:G.parsedType}),X0}let X=void 0,Y=new C1;for(let G of this._def.checks)if(G.kind==="int"){if(!A0.isInteger(W.data))X=this._getOrReturnCtx(W,X),y(X,{code:S.invalid_type,expected:"integer",received:"float",message:G.message}),Y.dirty()}else if(G.kind==="min"){if(G.inclusive?W.data<G.value:W.data<=G.value)X=this._getOrReturnCtx(W,X),y(X,{code:S.too_small,minimum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),Y.dirty()}else if(G.kind==="max"){if(G.inclusive?W.data>G.value:W.data>=G.value)X=this._getOrReturnCtx(W,X),y(X,{code:S.too_big,maximum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),Y.dirty()}else if(G.kind==="multipleOf"){if(TV(W.data,G.value)!==0)X=this._getOrReturnCtx(W,X),y(X,{code:S.not_multiple_of,multipleOf:G.value,message:G.message}),Y.dirty()}else if(G.kind==="finite"){if(!Number.isFinite(W.data))X=this._getOrReturnCtx(W,X),y(X,{code:S.not_finite,message:G.message}),Y.dirty()}else A0.assertNever(G);return{status:Y.value,value:W.data}}gte(W,$){return this.setLimit("min",W,!0,l.toString($))}gt(W,$){return this.setLimit("min",W,!1,l.toString($))}lte(W,$){return this.setLimit("max",W,!0,l.toString($))}lt(W,$){return this.setLimit("max",W,!1,l.toString($))}setLimit(W,$,X,Y){return new m8({...this._def,checks:[...this._def.checks,{kind:W,value:$,inclusive:X,message:l.toString(Y)}]})}_addCheck(W){return new m8({...this._def,checks:[...this._def.checks,W]})}int(W){return this._addCheck({kind:"int",message:l.toString(W)})}positive(W){return this._addCheck({kind:"min",value:0,inclusive:!1,message:l.toString(W)})}negative(W){return this._addCheck({kind:"max",value:0,inclusive:!1,message:l.toString(W)})}nonpositive(W){return this._addCheck({kind:"max",value:0,inclusive:!0,message:l.toString(W)})}nonnegative(W){return this._addCheck({kind:"min",value:0,inclusive:!0,message:l.toString(W)})}multipleOf(W,$){return this._addCheck({kind:"multipleOf",value:W,message:l.toString($)})}finite(W){return this._addCheck({kind:"finite",message:l.toString(W)})}safe(W){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:l.toString(W)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:l.toString(W)})}get minValue(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W}get maxValue(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W}get isInt(){return!!this._def.checks.find((W)=>W.kind==="int"||W.kind==="multipleOf"&&A0.isInteger(W.value))}get isFinite(){let W=null,$=null;for(let X of this._def.checks)if(X.kind==="finite"||X.kind==="int"||X.kind==="multipleOf")return!0;else if(X.kind==="min"){if($===null||X.value>$)$=X.value}else if(X.kind==="max"){if(W===null||X.value<W)W=X.value}return Number.isFinite($)&&Number.isFinite(W)}}m8.create=(W)=>{return new m8({checks:[],typeName:q.ZodNumber,coerce:(W===null||W===void 0?void 0:W.coerce)||!1,...Q0(W)})};class p8 extends _0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(W){if(this._def.coerce)try{W.data=BigInt(W.data)}catch(G){return this._getInvalidInput(W)}if(this._getType(W)!==u.bigint)return this._getInvalidInput(W);let X=void 0,Y=new C1;for(let G of this._def.checks)if(G.kind==="min"){if(G.inclusive?W.data<G.value:W.data<=G.value)X=this._getOrReturnCtx(W,X),y(X,{code:S.too_small,type:"bigint",minimum:G.value,inclusive:G.inclusive,message:G.message}),Y.dirty()}else if(G.kind==="max"){if(G.inclusive?W.data>G.value:W.data>=G.value)X=this._getOrReturnCtx(W,X),y(X,{code:S.too_big,type:"bigint",maximum:G.value,inclusive:G.inclusive,message:G.message}),Y.dirty()}else if(G.kind==="multipleOf"){if(W.data%G.value!==BigInt(0))X=this._getOrReturnCtx(W,X),y(X,{code:S.not_multiple_of,multipleOf:G.value,message:G.message}),Y.dirty()}else A0.assertNever(G);return{status:Y.value,value:W.data}}_getInvalidInput(W){let $=this._getOrReturnCtx(W);return y($,{code:S.invalid_type,expected:u.bigint,received:$.parsedType}),X0}gte(W,$){return this.setLimit("min",W,!0,l.toString($))}gt(W,$){return this.setLimit("min",W,!1,l.toString($))}lte(W,$){return this.setLimit("max",W,!0,l.toString($))}lt(W,$){return this.setLimit("max",W,!1,l.toString($))}setLimit(W,$,X,Y){return new p8({...this._def,checks:[...this._def.checks,{kind:W,value:$,inclusive:X,message:l.toString(Y)}]})}_addCheck(W){return new p8({...this._def,checks:[...this._def.checks,W]})}positive(W){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:l.toString(W)})}negative(W){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:l.toString(W)})}nonpositive(W){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:l.toString(W)})}nonnegative(W){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:l.toString(W)})}multipleOf(W,$){return this._addCheck({kind:"multipleOf",value:W,message:l.toString($)})}get minValue(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W}get maxValue(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W}}p8.create=(W)=>{var $;return new p8({checks:[],typeName:q.ZodBigInt,coerce:($=W===null||W===void 0?void 0:W.coerce)!==null&&$!==void 0?$:!1,...Q0(W)})};class wX extends _0{_parse(W){if(this._def.coerce)W.data=Boolean(W.data);if(this._getType(W)!==u.boolean){let X=this._getOrReturnCtx(W);return y(X,{code:S.invalid_type,expected:u.boolean,received:X.parsedType}),X0}return v1(W.data)}}wX.create=(W)=>{return new wX({typeName:q.ZodBoolean,coerce:(W===null||W===void 0?void 0:W.coerce)||!1,...Q0(W)})};class G$ extends _0{_parse(W){if(this._def.coerce)W.data=new Date(W.data);if(this._getType(W)!==u.date){let G=this._getOrReturnCtx(W);return y(G,{code:S.invalid_type,expected:u.date,received:G.parsedType}),X0}if(isNaN(W.data.getTime())){let G=this._getOrReturnCtx(W);return y(G,{code:S.invalid_date}),X0}let X=new C1,Y=void 0;for(let G of this._def.checks)if(G.kind==="min"){if(W.data.getTime()<G.value)Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.too_small,message:G.message,inclusive:!0,exact:!1,minimum:G.value,type:"date"}),X.dirty()}else if(G.kind==="max"){if(W.data.getTime()>G.value)Y=this._getOrReturnCtx(W,Y),y(Y,{code:S.too_big,message:G.message,inclusive:!0,exact:!1,maximum:G.value,type:"date"}),X.dirty()}else A0.assertNever(G);return{status:X.value,value:new Date(W.data.getTime())}}_addCheck(W){return new G$({...this._def,checks:[...this._def.checks,W]})}min(W,$){return this._addCheck({kind:"min",value:W.getTime(),message:l.toString($)})}max(W,$){return this._addCheck({kind:"max",value:W.getTime(),message:l.toString($)})}get minDate(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W!=null?new Date(W):null}get maxDate(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W!=null?new Date(W):null}}G$.create=(W)=>{return new G$({checks:[],coerce:(W===null||W===void 0?void 0:W.coerce)||!1,typeName:q.ZodDate,...Q0(W)})};class UX extends _0{_parse(W){if(this._getType(W)!==u.symbol){let X=this._getOrReturnCtx(W);return y(X,{code:S.invalid_type,expected:u.symbol,received:X.parsedType}),X0}return v1(W.data)}}UX.create=(W)=>{return new UX({typeName:q.ZodSymbol,...Q0(W)})};class J$ extends _0{_parse(W){if(this._getType(W)!==u.undefined){let X=this._getOrReturnCtx(W);return y(X,{code:S.invalid_type,expected:u.undefined,received:X.parsedType}),X0}return v1(W.data)}}J$.create=(W)=>{return new J$({typeName:q.ZodUndefined,...Q0(W)})};class H$ extends _0{_parse(W){if(this._getType(W)!==u.null){let X=this._getOrReturnCtx(W);return y(X,{code:S.invalid_type,expected:u.null,received:X.parsedType}),X0}return v1(W.data)}}H$.create=(W)=>{return new H$({typeName:q.ZodNull,...Q0(W)})};class DX extends _0{constructor(){super(...arguments);this._any=!0}_parse(W){return v1(W.data)}}DX.create=(W)=>{return new DX({typeName:q.ZodAny,...Q0(W)})};class n2 extends _0{constructor(){super(...arguments);this._unknown=!0}_parse(W){return v1(W.data)}}n2.create=(W)=>{return new n2({typeName:q.ZodUnknown,...Q0(W)})};class iW extends _0{_parse(W){let $=this._getOrReturnCtx(W);return y($,{code:S.invalid_type,expected:u.never,received:$.parsedType}),X0}}iW.create=(W)=>{return new iW({typeName:q.ZodNever,...Q0(W)})};class VX extends _0{_parse(W){if(this._getType(W)!==u.undefined){let X=this._getOrReturnCtx(W);return y(X,{code:S.invalid_type,expected:u.void,received:X.parsedType}),X0}return v1(W.data)}}VX.create=(W)=>{return new VX({typeName:q.ZodVoid,...Q0(W)})};class xW extends _0{_parse(W){let{ctx:$,status:X}=this._processInputParams(W),Y=this._def;if($.parsedType!==u.array)return y($,{code:S.invalid_type,expected:u.array,received:$.parsedType}),X0;if(Y.exactLength!==null){let J=$.data.length>Y.exactLength.value,H=$.data.length<Y.exactLength.value;if(J||H)y($,{code:J?S.too_big:S.too_small,minimum:H?Y.exactLength.value:void 0,maximum:J?Y.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Y.exactLength.message}),X.dirty()}if(Y.minLength!==null){if($.data.length<Y.minLength.value)y($,{code:S.too_small,minimum:Y.minLength.value,type:"array",inclusive:!0,exact:!1,message:Y.minLength.message}),X.dirty()}if(Y.maxLength!==null){if($.data.length>Y.maxLength.value)y($,{code:S.too_big,maximum:Y.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Y.maxLength.message}),X.dirty()}if($.common.async)return Promise.all([...$.data].map((J,H)=>{return Y.type._parseAsync(new KW($,J,$.path,H))})).then((J)=>{return C1.mergeArray(X,J)});let G=[...$.data].map((J,H)=>{return Y.type._parseSync(new KW($,J,$.path,H))});return C1.mergeArray(X,G)}get element(){return this._def.type}min(W,$){return new xW({...this._def,minLength:{value:W,message:l.toString($)}})}max(W,$){return new xW({...this._def,maxLength:{value:W,message:l.toString($)}})}length(W,$){return new xW({...this._def,exactLength:{value:W,message:l.toString($)}})}nonempty(W){return this.min(1,W)}}xW.create=(W,$)=>{return new xW({type:W,minLength:null,maxLength:null,exactLength:null,typeName:q.ZodArray,...Q0($)})};function h8(W){if(W instanceof o0){let $={};for(let X in W.shape){let Y=W.shape[X];$[X]=GW.create(h8(Y))}return new o0({...W._def,shape:()=>$})}else if(W instanceof xW)return new xW({...W._def,type:h8(W.element)});else if(W instanceof GW)return GW.create(h8(W.unwrap()));else if(W instanceof Z2)return Z2.create(h8(W.unwrap()));else if(W instanceof nW)return nW.create(W.items.map(($)=>h8($)));else return W}class o0 extends _0{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let W=this._def.shape(),$=A0.objectKeys(W);return this._cached={shape:W,keys:$}}_parse(W){if(this._getType(W)!==u.object){let z=this._getOrReturnCtx(W);return y(z,{code:S.invalid_type,expected:u.object,received:z.parsedType}),X0}let{status:X,ctx:Y}=this._processInputParams(W),{shape:G,keys:J}=this._getCached(),H=[];if(!(this._def.catchall instanceof iW&&this._def.unknownKeys==="strip")){for(let z in Y.data)if(!J.includes(z))H.push(z)}let Q=[];for(let z of J){let T=G[z],F=Y.data[z];Q.push({key:{status:"valid",value:z},value:T._parse(new KW(Y,F,Y.path,z)),alwaysSet:z in Y.data})}if(this._def.catchall instanceof iW){let z=this._def.unknownKeys;if(z==="passthrough")for(let T of H)Q.push({key:{status:"valid",value:T},value:{status:"valid",value:Y.data[T]}});else if(z==="strict"){if(H.length>0)y(Y,{code:S.unrecognized_keys,keys:H}),X.dirty()}else if(z==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let z=this._def.catchall;for(let T of H){let F=Y.data[T];Q.push({key:{status:"valid",value:T},value:z._parse(new KW(Y,F,Y.path,T)),alwaysSet:T in Y.data})}}if(Y.common.async)return Promise.resolve().then(async()=>{let z=[];for(let T of Q){let F=await T.key,_=await T.value;z.push({key:F,value:_,alwaysSet:T.alwaysSet})}return z}).then((z)=>{return C1.mergeObjectSync(X,z)});else return C1.mergeObjectSync(X,Q)}get shape(){return this._def.shape()}strict(W){return l.errToObj,new o0({...this._def,unknownKeys:"strict",...W!==void 0?{errorMap:($,X)=>{var Y,G,J,H;let Q=(J=(G=(Y=this._def).errorMap)===null||G===void 0?void 0:G.call(Y,$,X).message)!==null&&J!==void 0?J:X.defaultError;if($.code==="unrecognized_keys")return{message:(H=l.errToObj(W).message)!==null&&H!==void 0?H:Q};return{message:Q}}}:{}})}strip(){return new o0({...this._def,unknownKeys:"strip"})}passthrough(){return new o0({...this._def,unknownKeys:"passthrough"})}extend(W){return new o0({...this._def,shape:()=>({...this._def.shape(),...W})})}merge(W){return new o0({unknownKeys:W._def.unknownKeys,catchall:W._def.catchall,shape:()=>({...this._def.shape(),...W._def.shape()}),typeName:q.ZodObject})}setKey(W,$){return this.augment({[W]:$})}catchall(W){return new o0({...this._def,catchall:W})}pick(W){let $={};return A0.objectKeys(W).forEach((X)=>{if(W[X]&&this.shape[X])$[X]=this.shape[X]}),new o0({...this._def,shape:()=>$})}omit(W){let $={};return A0.objectKeys(this.shape).forEach((X)=>{if(!W[X])$[X]=this.shape[X]}),new o0({...this._def,shape:()=>$})}deepPartial(){return h8(this)}partial(W){let $={};return A0.objectKeys(this.shape).forEach((X)=>{let Y=this.shape[X];if(W&&!W[X])$[X]=Y;else $[X]=Y.optional()}),new o0({...this._def,shape:()=>$})}required(W){let $={};return A0.objectKeys(this.shape).forEach((X)=>{if(W&&!W[X])$[X]=this.shape[X];else{let G=this.shape[X];while(G instanceof GW)G=G._def.innerType;$[X]=G}}),new o0({...this._def,shape:()=>$})}keyof(){return aJ(A0.objectKeys(this.shape))}}o0.create=(W,$)=>{return new o0({shape:()=>W,unknownKeys:"strip",catchall:iW.create(),typeName:q.ZodObject,...Q0($)})};o0.strictCreate=(W,$)=>{return new o0({shape:()=>W,unknownKeys:"strict",catchall:iW.create(),typeName:q.ZodObject,...Q0($)})};o0.lazycreate=(W,$)=>{return new o0({shape:W,unknownKeys:"strip",catchall:iW.create(),typeName:q.ZodObject,...Q0($)})};class Q$ extends _0{_parse(W){let{ctx:$}=this._processInputParams(W),X=this._def.options;function Y(G){for(let H of G)if(H.result.status==="valid")return H.result;for(let H of G)if(H.result.status==="dirty")return $.common.issues.push(...H.ctx.common.issues),H.result;let J=G.map((H)=>new YW(H.ctx.common.issues));return y($,{code:S.invalid_union,unionErrors:J}),X0}if($.common.async)return Promise.all(X.map(async(G)=>{let J={...$,common:{...$.common,issues:[]},parent:null};return{result:await G._parseAsync({data:$.data,path:$.path,parent:J}),ctx:J}})).then(Y);else{let G=void 0,J=[];for(let Q of X){let z={...$,common:{...$.common,issues:[]},parent:null},T=Q._parseSync({data:$.data,path:$.path,parent:z});if(T.status==="valid")return T;else if(T.status==="dirty"&&!G)G={result:T,ctx:z};if(z.common.issues.length)J.push(z.common.issues)}if(G)return $.common.issues.push(...G.ctx.common.issues),G.result;let H=J.map((Q)=>new YW(Q));return y($,{code:S.invalid_union,unionErrors:H}),X0}}get options(){return this._def.options}}Q$.create=(W,$)=>{return new Q$({options:W,typeName:q.ZodUnion,...Q0($)})};var lW=(W)=>{if(W instanceof T$)return lW(W.schema);else if(W instanceof bW)return lW(W.innerType());else if(W instanceof F$)return[W.value];else if(W instanceof r2)return W.options;else if(W instanceof _$)return A0.objectValues(W.enum);else if(W instanceof w$)return lW(W._def.innerType);else if(W instanceof J$)return[void 0];else if(W instanceof H$)return[null];else if(W instanceof GW)return[void 0,...lW(W.unwrap())];else if(W instanceof Z2)return[null,...lW(W.unwrap())];else if(W instanceof d9)return lW(W.unwrap());else if(W instanceof D$)return lW(W.unwrap());else if(W instanceof U$)return lW(W._def.innerType);else return[]};class c9 extends _0{_parse(W){let{ctx:$}=this._processInputParams(W);if($.parsedType!==u.object)return y($,{code:S.invalid_type,expected:u.object,received:$.parsedType}),X0;let X=this.discriminator,Y=$.data[X],G=this.optionsMap.get(Y);if(!G)return y($,{code:S.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),X0;if($.common.async)return G._parseAsync({data:$.data,path:$.path,parent:$});else return G._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(W,$,X){let Y=new Map;for(let G of $){let J=lW(G.shape[W]);if(!J.length)throw new Error(`A discriminator value for key \`${W}\` could not be extracted from all schema options`);for(let H of J){if(Y.has(H))throw new Error(`Discriminator property ${String(W)} has duplicate value ${String(H)}`);Y.set(H,G)}}return new c9({typeName:q.ZodDiscriminatedUnion,discriminator:W,options:$,optionsMap:Y,...Q0(X)})}}function u9(W,$){let X=N2(W),Y=N2($);if(W===$)return{valid:!0,data:W};else if(X===u.object&&Y===u.object){let G=A0.objectKeys($),J=A0.objectKeys(W).filter((Q)=>G.indexOf(Q)!==-1),H={...W,...$};for(let Q of J){let z=u9(W[Q],$[Q]);if(!z.valid)return{valid:!1};H[Q]=z.data}return{valid:!0,data:H}}else if(X===u.array&&Y===u.array){if(W.length!==$.length)return{valid:!1};let G=[];for(let J=0;J<W.length;J++){let H=W[J],Q=$[J],z=u9(H,Q);if(!z.valid)return{valid:!1};G.push(z.data)}return{valid:!0,data:G}}else if(X===u.date&&Y===u.date&&+W===+$)return{valid:!0,data:W};else return{valid:!1}}class z$ extends _0{_parse(W){let{status:$,ctx:X}=this._processInputParams(W),Y=(G,J)=>{if(lJ(G)||lJ(J))return X0;let H=u9(G.value,J.value);if(!H.valid)return y(X,{code:S.invalid_intersection_types}),X0;if(oJ(G)||oJ(J))$.dirty();return{status:$.value,value:H.data}};if(X.common.async)return Promise.all([this._def.left._parseAsync({data:X.data,path:X.path,parent:X}),this._def.right._parseAsync({data:X.data,path:X.path,parent:X})]).then(([G,J])=>Y(G,J));else return Y(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}z$.create=(W,$,X)=>{return new z$({left:W,right:$,typeName:q.ZodIntersection,...Q0(X)})};class nW extends _0{_parse(W){let{status:$,ctx:X}=this._processInputParams(W);if(X.parsedType!==u.array)return y(X,{code:S.invalid_type,expected:u.array,received:X.parsedType}),X0;if(X.data.length<this._def.items.length)return y(X,{code:S.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X0;if(!this._def.rest&&X.data.length>this._def.items.length)y(X,{code:S.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let G=[...X.data].map((J,H)=>{let Q=this._def.items[H]||this._def.rest;if(!Q)return null;return Q._parse(new KW(X,J,X.path,H))}).filter((J)=>!!J);if(X.common.async)return Promise.all(G).then((J)=>{return C1.mergeArray($,J)});else return C1.mergeArray($,G)}get items(){return this._def.items}rest(W){return new nW({...this._def,rest:W})}}nW.create=(W,$)=>{if(!Array.isArray(W))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new nW({items:W,typeName:q.ZodTuple,rest:null,...Q0($)})};class MX extends _0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(W){let{status:$,ctx:X}=this._processInputParams(W);if(X.parsedType!==u.object)return y(X,{code:S.invalid_type,expected:u.object,received:X.parsedType}),X0;let Y=[],G=this._def.keyType,J=this._def.valueType;for(let H in X.data)Y.push({key:G._parse(new KW(X,H,X.path,H)),value:J._parse(new KW(X,X.data[H],X.path,H)),alwaysSet:H in X.data});if(X.common.async)return C1.mergeObjectAsync($,Y);else return C1.mergeObjectSync($,Y)}get element(){return this._def.valueType}static create(W,$,X){if($ instanceof _0)return new MX({keyType:W,valueType:$,typeName:q.ZodRecord,...Q0(X)});return new MX({keyType:oW.create(),valueType:W,typeName:q.ZodRecord,...Q0($)})}}class OX extends _0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(W){let{status:$,ctx:X}=this._processInputParams(W);if(X.parsedType!==u.map)return y(X,{code:S.invalid_type,expected:u.map,received:X.parsedType}),X0;let Y=this._def.keyType,G=this._def.valueType,J=[...X.data.entries()].map(([H,Q],z)=>{return{key:Y._parse(new KW(X,H,X.path,[z,"key"])),value:G._parse(new KW(X,Q,X.path,[z,"value"]))}});if(X.common.async){let H=new Map;return Promise.resolve().then(async()=>{for(let Q of J){let z=await Q.key,T=await Q.value;if(z.status==="aborted"||T.status==="aborted")return X0;if(z.status==="dirty"||T.status==="dirty")$.dirty();H.set(z.value,T.value)}return{status:$.value,value:H}})}else{let H=new Map;for(let Q of J){let{key:z,value:T}=Q;if(z.status==="aborted"||T.status==="aborted")return X0;if(z.status==="dirty"||T.status==="dirty")$.dirty();H.set(z.value,T.value)}return{status:$.value,value:H}}}}OX.create=(W,$,X)=>{return new OX({valueType:$,keyType:W,typeName:q.ZodMap,...Q0(X)})};class u8 extends _0{_parse(W){let{status:$,ctx:X}=this._processInputParams(W);if(X.parsedType!==u.set)return y(X,{code:S.invalid_type,expected:u.set,received:X.parsedType}),X0;let Y=this._def;if(Y.minSize!==null){if(X.data.size<Y.minSize.value)y(X,{code:S.too_small,minimum:Y.minSize.value,type:"set",inclusive:!0,exact:!1,message:Y.minSize.message}),$.dirty()}if(Y.maxSize!==null){if(X.data.size>Y.maxSize.value)y(X,{code:S.too_big,maximum:Y.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Y.maxSize.message}),$.dirty()}let G=this._def.valueType;function J(Q){let z=new Set;for(let T of Q){if(T.status==="aborted")return X0;if(T.status==="dirty")$.dirty();z.add(T.value)}return{status:$.value,value:z}}let H=[...X.data.values()].map((Q,z)=>G._parse(new KW(X,Q,X.path,z)));if(X.common.async)return Promise.all(H).then((Q)=>J(Q));else return J(H)}min(W,$){return new u8({...this._def,minSize:{value:W,message:l.toString($)}})}max(W,$){return new u8({...this._def,maxSize:{value:W,message:l.toString($)}})}size(W,$){return this.min(W,$).max(W,$)}nonempty(W){return this.min(1,W)}}u8.create=(W,$)=>{return new u8({valueType:W,minSize:null,maxSize:null,typeName:q.ZodSet,...Q0($)})};class X$ extends _0{constructor(){super(...arguments);this.validate=this.implement}_parse(W){let{ctx:$}=this._processInputParams(W);if($.parsedType!==u.function)return y($,{code:S.invalid_type,expected:u.function,received:$.parsedType}),X0;function X(H,Q){return p9({data:H,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,m9(),Y$].filter((z)=>!!z),issueData:{code:S.invalid_arguments,argumentsError:Q}})}function Y(H,Q){return p9({data:H,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,m9(),Y$].filter((z)=>!!z),issueData:{code:S.invalid_return_type,returnTypeError:Q}})}let G={errorMap:$.common.contextualErrorMap},J=$.data;if(this._def.returns instanceof c8){let H=this;return v1(async function(...Q){let z=new YW([]),T=await H._def.args.parseAsync(Q,G).catch((w)=>{throw z.addIssue(X(Q,w)),z}),F=await Reflect.apply(J,this,T);return await H._def.returns._def.type.parseAsync(F,G).catch((w)=>{throw z.addIssue(Y(F,w)),z})})}else{let H=this;return v1(function(...Q){let z=H._def.args.safeParse(Q,G);if(!z.success)throw new YW([X(Q,z.error)]);let T=Reflect.apply(J,this,z.data),F=H._def.returns.safeParse(T,G);if(!F.success)throw new YW([Y(T,F.error)]);return F.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...W){return new X$({...this._def,args:nW.create(W).rest(n2.create())})}returns(W){return new X$({...this._def,returns:W})}implement(W){return this.parse(W)}strictImplement(W){return this.parse(W)}static create(W,$,X){return new X$({args:W?W:nW.create([]).rest(n2.create()),returns:$||n2.create(),typeName:q.ZodFunction,...Q0(X)})}}class T$ extends _0{get schema(){return this._def.getter()}_parse(W){let{ctx:$}=this._processInputParams(W);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}T$.create=(W,$)=>{return new T$({getter:W,typeName:q.ZodLazy,...Q0($)})};class F$ extends _0{_parse(W){if(W.data!==this._def.value){let $=this._getOrReturnCtx(W);return y($,{received:$.data,code:S.invalid_literal,expected:this._def.value}),X0}return{status:"valid",value:W.data}}get value(){return this._def.value}}F$.create=(W,$)=>{return new F$({value:W,typeName:q.ZodLiteral,...Q0($)})};function aJ(W,$){return new r2({values:W,typeName:q.ZodEnum,...Q0($)})}class r2 extends _0{constructor(){super(...arguments);W$.set(this,void 0)}_parse(W){if(typeof W.data!=="string"){let $=this._getOrReturnCtx(W),X=this._def.values;return y($,{expected:A0.joinValues(X),received:$.parsedType,code:S.invalid_type}),X0}if(!_X(this,W$,"f"))nJ(this,W$,new Set(this._def.values),"f");if(!_X(this,W$,"f").has(W.data)){let $=this._getOrReturnCtx(W),X=this._def.values;return y($,{received:$.data,code:S.invalid_enum_value,options:X}),X0}return v1(W.data)}get options(){return this._def.values}get enum(){let W={};for(let $ of this._def.values)W[$]=$;return W}get Values(){let W={};for(let $ of this._def.values)W[$]=$;return W}get Enum(){let W={};for(let $ of this._def.values)W[$]=$;return W}extract(W,$=this._def){return r2.create(W,{...this._def,...$})}exclude(W,$=this._def){return r2.create(this.options.filter((X)=>!W.includes(X)),{...this._def,...$})}}W$=new WeakMap;r2.create=aJ;class _$ extends _0{constructor(){super(...arguments);$$.set(this,void 0)}_parse(W){let $=A0.getValidEnumValues(this._def.values),X=this._getOrReturnCtx(W);if(X.parsedType!==u.string&&X.parsedType!==u.number){let Y=A0.objectValues($);return y(X,{expected:A0.joinValues(Y),received:X.parsedType,code:S.invalid_type}),X0}if(!_X(this,$$,"f"))nJ(this,$$,new Set(A0.getValidEnumValues(this._def.values)),"f");if(!_X(this,$$,"f").has(W.data)){let Y=A0.objectValues($);return y(X,{received:X.data,code:S.invalid_enum_value,options:Y}),X0}return v1(W.data)}get enum(){return this._def.values}}$$=new WeakMap;_$.create=(W,$)=>{return new _$({values:W,typeName:q.ZodNativeEnum,...Q0($)})};class c8 extends _0{unwrap(){return this._def.type}_parse(W){let{ctx:$}=this._processInputParams(W);if($.parsedType!==u.promise&&$.common.async===!1)return y($,{code:S.invalid_type,expected:u.promise,received:$.parsedType}),X0;let X=$.parsedType===u.promise?$.data:Promise.resolve($.data);return v1(X.then((Y)=>{return this._def.type.parseAsync(Y,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}c8.create=(W,$)=>{return new c8({type:W,typeName:q.ZodPromise,...Q0($)})};class bW extends _0{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(W){let{status:$,ctx:X}=this._processInputParams(W),Y=this._def.effect||null,G={addIssue:(J)=>{if(y(X,J),J.fatal)$.abort();else $.dirty()},get path(){return X.path}};if(G.addIssue=G.addIssue.bind(G),Y.type==="preprocess"){let J=Y.transform(X.data,G);if(X.common.async)return Promise.resolve(J).then(async(H)=>{if($.value==="aborted")return X0;let Q=await this._def.schema._parseAsync({data:H,path:X.path,parent:X});if(Q.status==="aborted")return X0;if(Q.status==="dirty")return e4(Q.value);if($.value==="dirty")return e4(Q.value);return Q});else{if($.value==="aborted")return X0;let H=this._def.schema._parseSync({data:J,path:X.path,parent:X});if(H.status==="aborted")return X0;if(H.status==="dirty")return e4(H.value);if($.value==="dirty")return e4(H.value);return H}}if(Y.type==="refinement"){let J=(H)=>{let Q=Y.refinement(H,G);if(X.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return H};if(X.common.async===!1){let H=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(H.status==="aborted")return X0;if(H.status==="dirty")$.dirty();return J(H.value),{status:$.value,value:H.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((H)=>{if(H.status==="aborted")return X0;if(H.status==="dirty")$.dirty();return J(H.value).then(()=>{return{status:$.value,value:H.value}})})}if(Y.type==="transform")if(X.common.async===!1){let J=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!g8(J))return J;let H=Y.transform(J.value,G);if(H instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:H}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((J)=>{if(!g8(J))return J;return Promise.resolve(Y.transform(J.value,G)).then((H)=>({status:$.value,value:H}))});A0.assertNever(Y)}}bW.create=(W,$,X)=>{return new bW({schema:W,typeName:q.ZodEffects,effect:$,...Q0(X)})};bW.createWithPreprocess=(W,$,X)=>{return new bW({schema:$,effect:{type:"preprocess",transform:W},typeName:q.ZodEffects,...Q0(X)})};class GW extends _0{_parse(W){if(this._getType(W)===u.undefined)return v1(void 0);return this._def.innerType._parse(W)}unwrap(){return this._def.innerType}}GW.create=(W,$)=>{return new GW({innerType:W,typeName:q.ZodOptional,...Q0($)})};class Z2 extends _0{_parse(W){if(this._getType(W)===u.null)return v1(null);return this._def.innerType._parse(W)}unwrap(){return this._def.innerType}}Z2.create=(W,$)=>{return new Z2({innerType:W,typeName:q.ZodNullable,...Q0($)})};class w$ extends _0{_parse(W){let{ctx:$}=this._processInputParams(W),X=$.data;if($.parsedType===u.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}w$.create=(W,$)=>{return new w$({innerType:W,typeName:q.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...Q0($)})};class U$ extends _0{_parse(W){let{ctx:$}=this._processInputParams(W),X={...$,common:{...$.common,issues:[]}},Y=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(FX(Y))return Y.then((G)=>{return{status:"valid",value:G.status==="valid"?G.value:this._def.catchValue({get error(){return new YW(X.common.issues)},input:X.data})}});else return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new YW(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}U$.create=(W,$)=>{return new U$({innerType:W,typeName:q.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...Q0($)})};class KX extends _0{_parse(W){if(this._getType(W)!==u.nan){let X=this._getOrReturnCtx(W);return y(X,{code:S.invalid_type,expected:u.nan,received:X.parsedType}),X0}return{status:"valid",value:W.data}}}KX.create=(W)=>{return new KX({typeName:q.ZodNaN,...Q0(W)})};var iZ=Symbol("zod_brand");class d9 extends _0{_parse(W){let{ctx:$}=this._processInputParams(W),X=$.data;return this._def.type._parse({data:X,path:$.path,parent:$})}unwrap(){return this._def.type}}class AX extends _0{_parse(W){let{status:$,ctx:X}=this._processInputParams(W);if(X.common.async)return(async()=>{let G=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if(G.status==="aborted")return X0;if(G.status==="dirty")return $.dirty(),e4(G.value);else return this._def.out._parseAsync({data:G.value,path:X.path,parent:X})})();else{let Y=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(Y.status==="aborted")return X0;if(Y.status==="dirty")return $.dirty(),{status:"dirty",value:Y.value};else return this._def.out._parseSync({data:Y.value,path:X.path,parent:X})}}static create(W,$){return new AX({in:W,out:$,typeName:q.ZodPipeline})}}class D$ extends _0{_parse(W){let $=this._def.innerType._parse(W),X=(Y)=>{if(g8(Y))Y.value=Object.freeze(Y.value);return Y};return FX($)?$.then((Y)=>X(Y)):X($)}unwrap(){return this._def.innerType}}D$.create=(W,$)=>{return new D$({innerType:W,typeName:q.ZodReadonly,...Q0($)})};var nZ={object:o0.lazycreate},q;(function(W){W.ZodString="ZodString",W.ZodNumber="ZodNumber",W.ZodNaN="ZodNaN",W.ZodBigInt="ZodBigInt",W.ZodBoolean="ZodBoolean",W.ZodDate="ZodDate",W.ZodSymbol="ZodSymbol",W.ZodUndefined="ZodUndefined",W.ZodNull="ZodNull",W.ZodAny="ZodAny",W.ZodUnknown="ZodUnknown",W.ZodNever="ZodNever",W.ZodVoid="ZodVoid",W.ZodArray="ZodArray",W.ZodObject="ZodObject",W.ZodUnion="ZodUnion",W.ZodDiscriminatedUnion="ZodDiscriminatedUnion",W.ZodIntersection="ZodIntersection",W.ZodTuple="ZodTuple",W.ZodRecord="ZodRecord",W.ZodMap="ZodMap",W.ZodSet="ZodSet",W.ZodFunction="ZodFunction",W.ZodLazy="ZodLazy",W.ZodLiteral="ZodLiteral",W.ZodEnum="ZodEnum",W.ZodEffects="ZodEffects",W.ZodNativeEnum="ZodNativeEnum",W.ZodOptional="ZodOptional",W.ZodNullable="ZodNullable",W.ZodDefault="ZodDefault",W.ZodCatch="ZodCatch",W.ZodPromise="ZodPromise",W.ZodBranded="ZodBranded",W.ZodPipeline="ZodPipeline",W.ZodReadonly="ZodReadonly"})(q||(q={}));var rZ=oW.create,tZ=m8.create,aZ=KX.create,sZ=p8.create,eZ=wX.create,WS=G$.create,$S=UX.create,XS=J$.create,YS=H$.create,GS=DX.create,JS=n2.create,HS=iW.create,QS=VX.create,zS=xW.create,TS=o0.create,FS=o0.strictCreate,_S=Q$.create,wS=c9.create,US=z$.create,DS=nW.create,VS=MX.create,MS=OX.create,OS=u8.create,KS=X$.create,AS=T$.create,ES=F$.create,LS=r2.create,BS=_$.create,RS=c8.create,NS=bW.create,ZS=GW.create,SS=Z2.create,qS=bW.createWithPreprocess,CS=AX.create;function sJ(){return{}}function eJ(W,$){let X={type:"array"};if(W.type?._def&&W.type?._def?.typeName!==q.ZodAny)X.items=W0(W.type._def,{...$,currentPath:[...$.currentPath,"items"]});if(W.minLength)O0(X,"minItems",W.minLength.value,W.minLength.message,$);if(W.maxLength)O0(X,"maxItems",W.maxLength.value,W.maxLength.message,$);if(W.exactLength)O0(X,"minItems",W.exactLength.value,W.exactLength.message,$),O0(X,"maxItems",W.exactLength.value,W.exactLength.message,$);return X}function W3(W,$){let X={type:"integer",format:"int64"};if(!W.checks)return X;for(let Y of W.checks)switch(Y.kind){case"min":if($.target==="jsonSchema7")if(Y.inclusive)O0(X,"minimum",Y.value,Y.message,$);else O0(X,"exclusiveMinimum",Y.value,Y.message,$);else{if(!Y.inclusive)X.exclusiveMinimum=!0;O0(X,"minimum",Y.value,Y.message,$)}break;case"max":if($.target==="jsonSchema7")if(Y.inclusive)O0(X,"maximum",Y.value,Y.message,$);else O0(X,"exclusiveMaximum",Y.value,Y.message,$);else{if(!Y.inclusive)X.exclusiveMaximum=!0;O0(X,"maximum",Y.value,Y.message,$)}break;case"multipleOf":O0(X,"multipleOf",Y.value,Y.message,$);break}return X}function $3(){return{type:"boolean"}}function EX(W,$){return W0(W.type._def,$)}var X3=(W,$)=>{return W0(W.innerType._def,$)};function l9(W,$,X){let Y=X??$.dateStrategy;if(Array.isArray(Y))return{anyOf:Y.map((G,J)=>l9(W,$,G))};switch(Y){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return FV(W,$)}}var FV=(W,$)=>{let X={type:"integer",format:"unix-time"};if($.target==="openApi3")return X;for(let Y of W.checks)switch(Y.kind){case"min":O0(X,"minimum",Y.value,Y.message,$);break;case"max":O0(X,"maximum",Y.value,Y.message,$);break}return X};function Y3(W,$){return{...W0(W.innerType._def,$),default:W.defaultValue()}}function G3(W,$){return $.effectStrategy==="input"?W0(W.schema._def,$):{}}function J3(W){return{type:"string",enum:Array.from(W.values)}}var _V=(W)=>{if("type"in W&&W.type==="string")return!1;return"allOf"in W};function H3(W,$){let X=[W0(W.left._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),W0(W.right._def,{...$,currentPath:[...$.currentPath,"allOf","1"]})].filter((J)=>!!J),Y=$.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,G=[];return X.forEach((J)=>{if(_V(J)){if(G.push(...J.allOf),J.unevaluatedProperties===void 0)Y=void 0}else{let H=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:Q,...z}=J;H=z}else Y=void 0;G.push(H)}}),G.length?{allOf:G,...Y}:void 0}function Q3(W,$){let X=typeof W.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(W.value)?"array":"object"};if($.target==="openApi3")return{type:X==="bigint"?"integer":X,enum:[W.value]};return{type:X==="bigint"?"integer":X,const:W.value}}var o9=void 0,AW={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(o9===void 0)o9=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return o9},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function LX(W,$){let X={type:"string"};if(W.checks)for(let Y of W.checks)switch(Y.kind){case"min":O0(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Y.value):Y.value,Y.message,$);break;case"max":O0(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Y.value):Y.value,Y.message,$);break;case"email":switch($.emailStrategy){case"format:email":EW(X,"email",Y.message,$);break;case"format:idn-email":EW(X,"idn-email",Y.message,$);break;case"pattern:zod":k1(X,AW.email,Y.message,$);break}break;case"url":EW(X,"uri",Y.message,$);break;case"uuid":EW(X,"uuid",Y.message,$);break;case"regex":k1(X,Y.regex,Y.message,$);break;case"cuid":k1(X,AW.cuid,Y.message,$);break;case"cuid2":k1(X,AW.cuid2,Y.message,$);break;case"startsWith":k1(X,RegExp(`^${i9(Y.value,$)}`),Y.message,$);break;case"endsWith":k1(X,RegExp(`${i9(Y.value,$)}$`),Y.message,$);break;case"datetime":EW(X,"date-time",Y.message,$);break;case"date":EW(X,"date",Y.message,$);break;case"time":EW(X,"time",Y.message,$);break;case"duration":EW(X,"duration",Y.message,$);break;case"length":O0(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Y.value):Y.value,Y.message,$),O0(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Y.value):Y.value,Y.message,$);break;case"includes":{k1(X,RegExp(i9(Y.value,$)),Y.message,$);break}case"ip":{if(Y.version!=="v6")EW(X,"ipv4",Y.message,$);if(Y.version!=="v4")EW(X,"ipv6",Y.message,$);break}case"base64url":k1(X,AW.base64url,Y.message,$);break;case"jwt":k1(X,AW.jwt,Y.message,$);break;case"cidr":{if(Y.version!=="v6")k1(X,AW.ipv4Cidr,Y.message,$);if(Y.version!=="v4")k1(X,AW.ipv6Cidr,Y.message,$);break}case"emoji":k1(X,AW.emoji(),Y.message,$);break;case"ulid":{k1(X,AW.ulid,Y.message,$);break}case"base64":{switch($.base64Strategy){case"format:binary":{EW(X,"binary",Y.message,$);break}case"contentEncoding:base64":{O0(X,"contentEncoding","base64",Y.message,$);break}case"pattern:zod":{k1(X,AW.base64,Y.message,$);break}}break}case"nanoid":k1(X,AW.nanoid,Y.message,$);case"toLowerCase":case"toUpperCase":case"trim":break;default:((G)=>{})(Y)}return X}function i9(W,$){return $.patternStrategy==="escape"?UV(W):W}var wV=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function UV(W){let $="";for(let X=0;X<W.length;X++){if(!wV.has(W[X]))$+="\\";$+=W[X]}return $}function EW(W,$,X,Y){if(W.format||W.anyOf?.some((G)=>G.format)){if(!W.anyOf)W.anyOf=[];if(W.format){if(W.anyOf.push({format:W.format,...W.errorMessage&&Y.errorMessages&&{errorMessage:{format:W.errorMessage.format}}}),delete W.format,W.errorMessage){if(delete W.errorMessage.format,Object.keys(W.errorMessage).length===0)delete W.errorMessage}}W.anyOf.push({format:$,...X&&Y.errorMessages&&{errorMessage:{format:X}}})}else O0(W,"format",$,X,Y)}function k1(W,$,X,Y){if(W.pattern||W.allOf?.some((G)=>G.pattern)){if(!W.allOf)W.allOf=[];if(W.pattern){if(W.allOf.push({pattern:W.pattern,...W.errorMessage&&Y.errorMessages&&{errorMessage:{pattern:W.errorMessage.pattern}}}),delete W.pattern,W.errorMessage){if(delete W.errorMessage.pattern,Object.keys(W.errorMessage).length===0)delete W.errorMessage}}W.allOf.push({pattern:z3($,Y),...X&&Y.errorMessages&&{errorMessage:{pattern:X}}})}else O0(W,"pattern",z3($,Y),X,Y)}function z3(W,$){if(!$.applyRegexFlags||!W.flags)return W.source;let X={i:W.flags.includes("i"),m:W.flags.includes("m"),s:W.flags.includes("s")},Y=X.i?W.source.toLowerCase():W.source,G="",J=!1,H=!1,Q=!1;for(let z=0;z<Y.length;z++){if(J){G+=Y[z],J=!1;continue}if(X.i){if(H){if(Y[z].match(/[a-z]/)){if(Q)G+=Y[z],G+=`${Y[z-2]}-${Y[z]}`.toUpperCase(),Q=!1;else if(Y[z+1]==="-"&&Y[z+2]?.match(/[a-z]/))G+=Y[z],Q=!0;else G+=`${Y[z]}${Y[z].toUpperCase()}`;continue}}else if(Y[z].match(/[a-z]/)){G+=`[${Y[z]}${Y[z].toUpperCase()}]`;continue}}if(X.m){if(Y[z]==="^"){G+=`(^|(?<=[\r
|
|
6
|
-
]))`;continue}else if(
|
|
7
|
-
]))`;continue}}if(
|
|
8
|
-
`:`[${
|
|
9
|
-
]`;continue}if(G+=Y[z],Y[z]==="\\")J=!0;else if(H&&Y[z]==="]")H=!1;else if(!H&&Y[z]==="[")H=!0}try{new RegExp(G)}catch{return console.warn(`Could not convert regex pattern at ${$.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),W.source}return G}function BX(W,$){if($.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if($.target==="openApi3"&&W.keyType?._def.typeName===q.ZodEnum)return{type:"object",required:W.keyType._def.values,properties:W.keyType._def.values.reduce((Y,G)=>({...Y,[G]:W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"properties",G]})??{}}),{}),additionalProperties:$.rejectedAdditionalProperties};let X={type:"object",additionalProperties:W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]})??$.allowedAdditionalProperties};if($.target==="openApi3")return X;if(W.keyType?._def.typeName===q.ZodString&&W.keyType._def.checks?.length){let{type:Y,...G}=LX(W.keyType._def,$);return{...X,propertyNames:G}}else if(W.keyType?._def.typeName===q.ZodEnum)return{...X,propertyNames:{enum:W.keyType._def.values}};else if(W.keyType?._def.typeName===q.ZodBranded&&W.keyType._def.type._def.typeName===q.ZodString&&W.keyType._def.type._def.checks?.length){let{type:Y,...G}=EX(W.keyType._def,$);return{...X,propertyNames:G}}return X}function T3(W,$){if($.mapStrategy==="record")return BX(W,$);let X=W0(W.keyType._def,{...$,currentPath:[...$.currentPath,"items","items","0"]})||{},Y=W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[X,Y],minItems:2,maxItems:2}}}function F3(W){let $=W.values,Y=Object.keys(W.values).filter((J)=>{return typeof $[$[J]]!=="number"}).map((J)=>$[J]),G=Array.from(new Set(Y.map((J)=>typeof J)));return{type:G.length===1?G[0]==="string"?"string":"number":["string","number"],enum:Y}}function _3(){return{not:{}}}function w3(W){return W.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var V$={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function D3(W,$){if($.target==="openApi3")return U3(W,$);let X=W.options instanceof Map?Array.from(W.options.values()):W.options;if(X.every((Y)=>(Y._def.typeName in V$)&&(!Y._def.checks||!Y._def.checks.length))){let Y=X.reduce((G,J)=>{let H=V$[J._def.typeName];return H&&!G.includes(H)?[...G,H]:G},[]);return{type:Y.length>1?Y:Y[0]}}else if(X.every((Y)=>Y._def.typeName==="ZodLiteral"&&!Y.description)){let Y=X.reduce((G,J)=>{let H=typeof J._def.value;switch(H){case"string":case"number":case"boolean":return[...G,H];case"bigint":return[...G,"integer"];case"object":if(J._def.value===null)return[...G,"null"];case"symbol":case"undefined":case"function":default:return G}},[]);if(Y.length===X.length){let G=Y.filter((J,H,Q)=>Q.indexOf(J)===H);return{type:G.length>1?G:G[0],enum:X.reduce((J,H)=>{return J.includes(H._def.value)?J:[...J,H._def.value]},[])}}}else if(X.every((Y)=>Y._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((Y,G)=>[...Y,...G._def.values.filter((J)=>!Y.includes(J))],[])};return U3(W,$)}var U3=(W,$)=>{let X=(W.options instanceof Map?Array.from(W.options.values()):W.options).map((Y,G)=>W0(Y._def,{...$,currentPath:[...$.currentPath,"anyOf",`${G}`]})).filter((Y)=>!!Y&&(!$.strictUnions||typeof Y==="object"&&Object.keys(Y).length>0));return X.length?{anyOf:X}:void 0};function V3(W,$){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(W.innerType._def.typeName)&&(!W.innerType._def.checks||!W.innerType._def.checks.length)){if($.target==="openApi3")return{type:V$[W.innerType._def.typeName],nullable:!0};return{type:[V$[W.innerType._def.typeName],"null"]}}if($.target==="openApi3"){let Y=W0(W.innerType._def,{...$,currentPath:[...$.currentPath]});if(Y&&"$ref"in Y)return{allOf:[Y],nullable:!0};return Y&&{...Y,nullable:!0}}let X=W0(W.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function M3(W,$){let X={type:"number"};if(!W.checks)return X;for(let Y of W.checks)switch(Y.kind){case"int":X.type="integer",h9(X,"type",Y.message,$);break;case"min":if($.target==="jsonSchema7")if(Y.inclusive)O0(X,"minimum",Y.value,Y.message,$);else O0(X,"exclusiveMinimum",Y.value,Y.message,$);else{if(!Y.inclusive)X.exclusiveMinimum=!0;O0(X,"minimum",Y.value,Y.message,$)}break;case"max":if($.target==="jsonSchema7")if(Y.inclusive)O0(X,"maximum",Y.value,Y.message,$);else O0(X,"exclusiveMaximum",Y.value,Y.message,$);else{if(!Y.inclusive)X.exclusiveMaximum=!0;O0(X,"maximum",Y.value,Y.message,$)}break;case"multipleOf":O0(X,"multipleOf",Y.value,Y.message,$);break}return X}function O3(W,$){let X=$.target==="openAi",Y={type:"object",properties:{}},G=[],J=W.shape();for(let Q in J){let z=J[Q];if(z===void 0||z._def===void 0)continue;let T=VV(z);if(T&&X){if(z instanceof GW)z=z._def.innerType;if(!z.isNullable())z=z.nullable();T=!1}let F=W0(z._def,{...$,currentPath:[...$.currentPath,"properties",Q],propertyPath:[...$.currentPath,"properties",Q]});if(F===void 0)continue;if(Y.properties[Q]=F,!T)G.push(Q)}if(G.length)Y.required=G;let H=DV(W,$);if(H!==void 0)Y.additionalProperties=H;return Y}function DV(W,$){if(W.catchall._def.typeName!=="ZodNever")return W0(W.catchall._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]});switch(W.unknownKeys){case"passthrough":return $.allowedAdditionalProperties;case"strict":return $.rejectedAdditionalProperties;case"strip":return $.removeAdditionalStrategy==="strict"?$.allowedAdditionalProperties:$.rejectedAdditionalProperties}}function VV(W){try{return W.isOptional()}catch{return!0}}var K3=(W,$)=>{if($.currentPath.toString()===$.propertyPath?.toString())return W0(W.innerType._def,$);let X=W0(W.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","1"]});return X?{anyOf:[{not:{}},X]}:{}};var A3=(W,$)=>{if($.pipeStrategy==="input")return W0(W.in._def,$);else if($.pipeStrategy==="output")return W0(W.out._def,$);let X=W0(W.in._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),Y=W0(W.out._def,{...$,currentPath:[...$.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,Y].filter((G)=>G!==void 0)}};function E3(W,$){return W0(W.type._def,$)}function L3(W,$){let Y={type:"array",uniqueItems:!0,items:W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"items"]})};if(W.minSize)O0(Y,"minItems",W.minSize.value,W.minSize.message,$);if(W.maxSize)O0(Y,"maxItems",W.maxSize.value,W.maxSize.message,$);return Y}function B3(W,$){if(W.rest)return{type:"array",minItems:W.items.length,items:W.items.map((X,Y)=>W0(X._def,{...$,currentPath:[...$.currentPath,"items",`${Y}`]})).reduce((X,Y)=>Y===void 0?X:[...X,Y],[]),additionalItems:W0(W.rest._def,{...$,currentPath:[...$.currentPath,"additionalItems"]})};else return{type:"array",minItems:W.items.length,maxItems:W.items.length,items:W.items.map((X,Y)=>W0(X._def,{...$,currentPath:[...$.currentPath,"items",`${Y}`]})).reduce((X,Y)=>Y===void 0?X:[...X,Y],[])}}function R3(){return{not:{}}}function N3(){return{}}var Z3=(W,$)=>{return W0(W.innerType._def,$)};var S3=(W,$,X)=>{switch($){case q.ZodString:return LX(W,X);case q.ZodNumber:return M3(W,X);case q.ZodObject:return O3(W,X);case q.ZodBigInt:return W3(W,X);case q.ZodBoolean:return $3();case q.ZodDate:return l9(W,X);case q.ZodUndefined:return R3();case q.ZodNull:return w3(X);case q.ZodArray:return eJ(W,X);case q.ZodUnion:case q.ZodDiscriminatedUnion:return D3(W,X);case q.ZodIntersection:return H3(W,X);case q.ZodTuple:return B3(W,X);case q.ZodRecord:return BX(W,X);case q.ZodLiteral:return Q3(W,X);case q.ZodEnum:return J3(W);case q.ZodNativeEnum:return F3(W);case q.ZodNullable:return V3(W,X);case q.ZodOptional:return K3(W,X);case q.ZodMap:return T3(W,X);case q.ZodSet:return L3(W,X);case q.ZodLazy:return()=>W.getter()._def;case q.ZodPromise:return E3(W,X);case q.ZodNaN:case q.ZodNever:return _3();case q.ZodEffects:return G3(W,X);case q.ZodAny:return sJ();case q.ZodUnknown:return N3();case q.ZodDefault:return Y3(W,X);case q.ZodBranded:return EX(W,X);case q.ZodReadonly:return Z3(W,X);case q.ZodCatch:return X3(W,X);case q.ZodPipeline:return A3(W,X);case q.ZodFunction:case q.ZodVoid:case q.ZodSymbol:return;default:return((Y)=>{return})($)}};function W0(W,$,X=!1){let Y=$.seen.get(W);if($.override){let Q=$.override?.(W,$,Y,X);if(Q!==pJ)return Q}if(Y&&!X){let Q=MV(Y,$);if(Q!==void 0)return Q}let G={def:W,path:$.currentPath,jsonSchema:void 0};$.seen.set(W,G);let J=S3(W,W.typeName,$),H=typeof J==="function"?W0(J(),$):J;if(H)KV(W,$,H);if($.postProcess){let Q=$.postProcess(H,W,$);return G.jsonSchema=H,Q}return G.jsonSchema=H,H}var MV=(W,$)=>{switch($.$refStrategy){case"root":return{$ref:W.path.join("/")};case"relative":return{$ref:OV($.currentPath,W.path)};case"none":case"seen":{if(W.path.length<$.currentPath.length&&W.path.every((X,Y)=>$.currentPath[Y]===X))return console.warn(`Recursive reference detected at ${$.currentPath.join("/")}! Defaulting to any`),{};return $.$refStrategy==="seen"?{}:void 0}}},OV=(W,$)=>{let X=0;for(;X<W.length&&X<$.length;X++)if(W[X]!==$[X])break;return[(W.length-X).toString(),...$.slice(X)].join("/")},KV=(W,$,X)=>{if(W.description){if(X.description=W.description,$.markdownDescription)X.markdownDescription=W.description}return X};var q3=(W,$)=>{let X=cJ($),Y=typeof $==="object"&&$.definitions?Object.entries($.definitions).reduce((z,[T,F])=>({...z,[T]:W0(F._def,{...X,currentPath:[...X.basePath,X.definitionPath,T]},!0)??{}}),{}):void 0,G=typeof $==="string"?$:$?.nameStrategy==="title"?void 0:$?.name,J=W0(W._def,G===void 0?X:{...X,currentPath:[...X.basePath,X.definitionPath,G]},!1)??{},H=typeof $==="object"&&$.name!==void 0&&$.nameStrategy==="title"?$.name:void 0;if(H!==void 0)J.title=H;let Q=G===void 0?Y?{...J,[X.definitionPath]:Y}:J:{$ref:[...X.$refStrategy==="relative"?[]:X.basePath,X.definitionPath,G].join("/"),[X.definitionPath]:{...Y,[G]:J}};if(X.target==="jsonSchema7")Q.$schema="http://json-schema.org/draft-07/schema#";else if(X.target==="jsonSchema2019-09"||X.target==="openAi")Q.$schema="https://json-schema.org/draft/2019-09/schema#";if(X.target==="openAi"&&(("anyOf"in Q)||("oneOf"in Q)||("allOf"in Q)||("type"in Q)&&Array.isArray(Q.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return Q};var C3=q3;function k3(W,$){return function X({schema:Y,fallback:G,toJsonSchema:J=C3}){let H=J(Y);return async function Q(z,T=3){let F,_=[];while(_.length<T){F=await W(z,H,G,_);let w=await Y["~standard"].validate(F);if("value"in w)return w.value;$?.warn(`safegen failed to generate well-formed data.
|
|
3
|
+
var jD=Object.create;var{getPrototypeOf:ID,defineProperty:S9,getOwnPropertyNames:PD}=Object;var fD=Object.prototype.hasOwnProperty;var bD=(W,$,Y)=>{Y=W!=null?jD(ID(W)):{};let X=$||!W||!W.__esModule?S9(Y,"default",{value:W,enumerable:!0}):Y;for(let G of PD(W))if(!fD.call(X,G))S9(X,G,{get:()=>W[G],enumerable:!0});return X};var xD=(W,$)=>()=>($||W(($={exports:{}}).exports,$),$.exports);var vD=(W,$)=>{for(var Y in $)S9(W,Y,{get:$[Y],enumerable:!0,configurable:!0,set:(X)=>$[Y]=()=>X})};var wZ=(W,$)=>()=>(W&&($=W(W=0)),$);var DJ=import.meta.require;var f3=xD((Bk,P3)=>{var K4=DJ("os"),E4=DJ("path");function I3(W){let $=process.env.XDG_CACHE_HOME||E4.join(K4.homedir(),".cache");return E4.join($,W)}function AM(W){return E4.join(K4.homedir(),"Library","Caches",W)}function LM(W){let $=process.env.LOCALAPPDATA||E4.join(K4.homedir(),"AppData","Local");return E4.join($,W,"Cache")}var ZM=function(){switch(K4.platform()){case"darwin":return AM;case"win32":return LM;case"aix":case"android":case"freebsd":case"linux":case"netbsd":case"openbsd":case"sunos":return I3;default:return console.error(`(node:${process.pid}) [cachedir] Warning: the platform "${K4.platform()}" is not currently supported by node-cachedir, falling back to "posix". Please file an issue with your platform here: https://github.com/LinusU/node-cachedir/issues/new`),I3}}();P3.exports=function W($){if(typeof $!=="string")throw new TypeError("id is not a string");if($.length===0)throw new Error("id cannot be empty");if(/[^0-9a-zA-Z-]/.test($))throw new Error("id cannot contain special characters");return ZM($)}});class i8 extends Promise{fate;resolve;reject;done=!1;constructor(W){let $,Y;super((X,G)=>{$=X,Y=G});this.resolve=$,this.reject=Y,this.use(W instanceof Promise?W:new Promise(W))}pass(W,$){if(W===this.fate)this.resolve($),this.done=!0}fail(W,$){if(W===this.fate)this.reject($),this.done=!0}use(W){if(W instanceof Promise){let $=W;this.fate=$,$.then((Y)=>{this.pass($,Y)},(Y)=>{this.fail($,Y)})}else this.resolve(W),this.fate=void 0}}var VZ=(W,$,Y=VJ.STORE)=>{return MJ(Y,{key:`${W.key}:JSON`,get:({get:X})=>$.toJson(X(W)),set:({set:X},G)=>{X(W,$.fromJson(G))}})};function EZ(W,$,Y){return q9(W,{key:`${$.key}:JSON`,get:(G)=>({get:J})=>{let H=J($,G);return Y.toJson(H)},set:(G)=>({set:J},H)=>{J($,G,Y.fromJson(H))}},["mutable","json"])}var n8=(W)=>JSON.parse(W),q1=(W)=>JSON.stringify(W),LZ=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];function s(W){while(W.child!==null)W=W.child;return W}class HY{_buffer;_index=0;constructor(W){let $;if(typeof W==="number")$=W;else $=W.length;this._buffer=Array.from({length:$})}get buffer(){return this._buffer}get index(){return this._index}add(W){this._buffer[this._index]=W,this._index=(this._index+1)%this._buffer.length}copy(){let W=new HY([...this._buffer]);return W._index=this._index,W}}var yD={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 OJ(W,$){let Y=q1($),X=`${W.key}(${Y})`,G=yD[W.type],J={key:X,type:G};return Object.assign(J,{family:{key:W.key,subKey:Y}}),Object.assign(J,{counterfeit:!0}),J}function r8(W){let $={key:W.key,type:W.type};if("family"in W)$.family=W.family;return $}var C9=(W)=>($,Y,X,G,...J)=>{console[W](`${$} ${Y} "${X}" ${G}`,...J)},hD={error:C9("error"),info:C9("info"),warn:C9("warn")};class k9{logLevel;filter;logger;constructor(W,$,Y=hD){this.logLevel=W,this.filter=$,this.logger=Y}error=(...W)=>{let $=this.filter?.(...W)??!0;if(this.logLevel!==null){if($===!0)this.logger.error(...W);else if($!==!1)this.logger.error(...$)}};info=(...W)=>{let $=this.filter?.(...W)??!0;if(this.logLevel==="info"){if($===!0)this.logger.info(...W);else if($!==!1)this.logger.info(...$)}};warn=(...W)=>{let $=this.filter?.(...W)??!0;if(this.logLevel!=="error"&&this.logLevel!==null){if($===!0)this.logger.warn(...W);else if($!==!1)this.logger.warn(...$)}}}class fW{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(W,$)=>`${W}:${$}`;warn;getRelatedKeys(W){return this.relations.get(W)}addRelation(W,$){let Y=this.relations.get(W),X=this.relations.get($);if(Y)Y.add($);else Y=new Set([$]),this.relations.set(W,Y);if(X)X.add(W);else X=new Set([W]),this.relations.set($,X)}deleteRelation(W,$){let Y=this.relations.get(W);if(Y){if(Y.delete($),Y.size===0)this.relations.delete(W);let X=this.relations.get($);if(X){if(X.delete(W),X.size===0)this.relations.delete($)}}}replaceRelationsUnsafely(W,$){this.relations.set(W,new Set($));for(let Y of $){let X=new Set().add(W);this.relations.set(Y,X)}}replaceRelationsSafely(W,$){let Y=this.relations.get(W),X=this.isAType?.(W)?W:void 0,G=X===void 0?W:void 0;if(Y)for(let J of Y){X??=J,G??=J;let H=this.relations.get(J);if(H){if(H.size===1)this.relations.delete(J);else H.delete(W);this.contents.delete(this.makeContentKey(X,G))}}this.relations.set(W,new Set($));for(let J of $){let H=this.relations.get(J);if(H)H.add(W);else H=new Set().add(W),this.relations.set(J,H)}}getContentInternal(W){return this.contents.get(W)}setContent(W,$){this.contents.set(W,$)}deleteContent(W){this.contents.delete(W)}constructor(W,$){if(this.a=W.between[0],this.b=W.between[1],this.cardinality=W.cardinality,!$?.externalStore)this.relations=new Map(W.relations?.map(([Y,X])=>[Y,new Set(X)])),this.contents=new Map(W.contents);if(this.isAType=$?.isAType??null,this.isBType=$?.isBType??null,this.isContent=$?.isContent??null,$?.makeContentKey)this.makeContentKey=$.makeContentKey;if($?.externalStore){let Y=$.externalStore;if(this.has=(X,G)=>Y.has(X,G),this.addRelation=(X,G)=>{Y.addRelation(X,G)},this.deleteRelation=(X,G)=>{Y.deleteRelation(X,G)},this.replaceRelationsSafely=(X,G)=>{Y.replaceRelationsSafely(X,G)},this.replaceRelationsUnsafely=(X,G)=>{Y.replaceRelationsUnsafely(X,G)},this.getRelatedKeys=(X)=>Y.getRelatedKeys(X),Y.getContent)this.getContentInternal=(X)=>{return Y.getContent(X)},this.setContent=(X,G)=>{Y.setContent(X,G)},this.deleteContent=(X)=>{Y.deleteContent(X)};for(let[X,G]of W.relations??[]){let J=this.isAType?.(X)?X:void 0,H=J===void 0?X:void 0;for(let T of G)J??=T,H??=T,this.addRelation(J,H)}for(let[X,G]of W.contents??[])this.setContent(X,G)}if($?.warn)this.warn=$.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([W,$])=>[W,[...$]]),contents:[...this.contents.entries()]}}set(...W){let $,Y,X;switch(W.length){case 1:{let G=W[0];$=G[this.a],Y=G[this.b],X=void 0;break}case 2:{let G=W[0];if(typeof G==="string")[$,Y]=W;else $=G[this.a],Y=G[this.b],X=W[1];break}default:{$=W[0],Y=W[1],X=W[2];break}}switch(this.cardinality){case"1:1":{let G=this.getRelatedKey($);if(G&&G!==Y)this.delete($,G)}case"1:n":{let G=this.getRelatedKey(Y);if(G&&G!==$)this.delete(G,Y)}break;case"n:n":}if(X){let G=this.makeContentKey($,Y);this.setContent(G,X)}return this.addRelation($,Y),this}delete(W,$){$=typeof $==="string"?$:W[this.b];let Y=typeof W==="string"?W:W[this.a];if(Y===void 0&&typeof $==="string"){let X=this.getRelatedKeys($);if(X)for(let G of X)this.delete(G,$)}if(typeof Y==="string"&&$===void 0){let X=this.getRelatedKeys(Y);if(X)for(let G of X)this.delete(Y,G)}if(typeof Y==="string"&&typeof $==="string"){this.deleteRelation(Y,$);let X=this.makeContentKey(Y,$);this.deleteContent(X)}return this}getRelatedKey(W){let $=this.getRelatedKeys(W);if($){if($.size>1)this.warn?.(`${$.size} related keys were found for key "${W}": (${[...$].map((X)=>`"${X}"`).join(", ")}). Only one related key was expected.`);let Y;for(let X of $){Y=X;break}return Y}}replaceRelations(W,$,Y){let X=!Array.isArray($),G=X?Object.keys($):$;if(Y?.reckless)this.replaceRelationsUnsafely(W,G);else this.replaceRelationsSafely(W,G);if(X)for(let J of G){let H=this.makeContentKey(W,J),T=$[J];this.setContent(H,T)}return this}getContent(W,$){let Y=this.makeContentKey(W,$);return this.getContentInternal(Y)}getRelationEntries(W){let $=W[this.a],Y=W[this.b];if($!==void 0&&Y===void 0){let X=this.getRelatedKeys($);if(X)return[...X].map((G)=>{return[G,this.getContent($,G)]})}if($===void 0&&Y!==void 0){let X=this.getRelatedKeys(Y);if(X)return[...X].map((G)=>{return[G,this.getContent(G,Y)]})}return[]}has(W,$){if($)return this.getRelatedKeys(W)?.has($)??!1;return this.relations.has(W)}}class Z0{Subscriber;subscribers=new Map;subscribe(W,$){return this.subscribers.set(W,$),()=>{this.unsubscribe(W)}}unsubscribe(W){this.subscribers.delete(W)}next(W){let $=this.subscribers.values();for(let Y of $)Y(W)}}class j9 extends Z0{state;constructor(W){super();this.state=W}next(W){this.state=W,super.next(W)}}function A$(W){return"epoch"in W.transactionMeta}function o1(W){return"phase"in W.transactionMeta}function KJ(W){return W[0].toUpperCase()+W.slice(1)}function TY(W){return W.type.split("_").map(KJ).join(" ")}class t8 extends Error{constructor(W,$){super(`${TY(W)} ${q1(W.key)} not found in store "${$.config.name}".`)}}var y2=(W)=>($)=>W instanceof Function?W($):W;var L$=(W,$)=>{if(W.valueMap.has($.key))return W.logger.info("\uD83D\uDCD6",$.type,$.key,"reading cached value"),EJ($,W);switch($.type){case"readonly_held_selector":case"readonly_pure_selector":case"writable_held_selector":case"writable_pure_selector":return W.logger.info("\uD83E\uDDEE",$.type,$.key,"computing value"),$.get();case"atom":case"mutable_atom":{let Y=$.default,X;if(Y instanceof Function)X=Y();else X=Y;return W.logger.info("\uD83D\uDC81","atom",$.key,"could not find cached value; using default",X),X}}};var AJ=(W,$)=>{if(W.operation.open){let Y=performance.now();return W.logger.info("\u2757",$.type,$.key,`deferring setState at T-${Y} until setState for "${W.operation.token.key}" is done`),Y}W.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:$},W.logger.info("\u2B55",$.type,$.key,`operation start in store "${W.config.name}"${!o1(W)?"":` ${W.transactionMeta.phase} "${W.transactionMeta.update.key}"`}`)},LJ=(W)=>{if(W.operation.open)W.logger.info("\uD83D\uDD34",W.operation.token.type,W.operation.token.key,`operation done in store "${W.config.name}"`);W.operation={open:!1},W.on.operationClose.next(W.operation)},ZJ=(W,$)=>{if(!W.operation.open)return W.logger.error("\uD83D\uDC1E","unknown",$,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return W.operation.done.has($)},Z$=(W,$)=>{if(!W.operation.open){W.logger.error("\uD83D\uDC1E","unknown",$,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}W.operation.done.add($)};var NJ=(W,$,Y)=>{switch($.type){case"mutable_atom":W.logger.info("\uD83D\uDCE2",$.type,$.key,"is now (",Y.newValue,") subscribers:",$.subject.subscribers);break;case"atom":case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":W.logger.info("\uD83D\uDCE2",$.type,$.key,"went (",Y.oldValue,"->",Y.newValue,") subscribers:",$.subject.subscribers)}$.subject.next(Y)};var I9=(W,$)=>{let Y=s(W),X=Y.selectorAtoms.getRelatedKeys($.key);if(Y.logger.info("\uD83E\uDDF9",$.type,$.key,X?`evicting ${X.size} states downstream:`:"no downstream states",X??"to evict"),X){if(Y.operation.open)Y.logger.info("\uD83E\uDDF9",$.type,$.key,`[ ${[...Y.operation.done].join(", ")} ] already done`);for(let G of X){if(ZJ(Y,G))continue;RJ(G,Y),Z$(Y,G)}}};var BJ=(W,$,Y)=>{let X=L$(W,$),G=X;if($.type==="mutable_atom"&&o1(W)){let{parent:H}=W;G=a8(W,$,H)}if(G=y2(Y)(G),W.logger.info("\uD83D\uDCDD","atom",$.key,"set to",G),G=C1(W,$.key,G,$.subject),qJ(W,$.key))CJ(W,$.key);Z$(W,$.key),I9(W,$);let J={oldValue:X,newValue:G};if(!o1(W)){NJ(W,$,J);return}if(W.on.transactionApplying.state===null){let{key:H}=$;if(SJ(J.newValue))return;let T={type:"atom_update",key:H,...J};if($.family)T.family=$.family;W.transactionMeta.update.updates.push(T),W.logger.info("\uD83D\uDCC1","atom",H,"stowed (",J.oldValue,"->",J.newValue,")")}else if($.key.startsWith("*")){let H=$.key.slice(1),T=W.atoms.get(H),Q=W.valueMap.get(H);if(T.type==="mutable_atom"&&o1(W)){let{parent:z}=W;Q=a8(W,T,z)}if(Q.do(J.newValue)===null)I9(W,T)}};var QY=(W,$,Y)=>{switch($.type){case"atom":case"mutable_atom":BJ(W,$,Y);break;case"writable_pure_selector":case"writable_held_selector":$.set(Y);break}};var _Y=(W,$)=>s(W).atoms.has($),gD=(W,$)=>s(W).writableSelectors.has($),mD=(W,$)=>s(W).readonlySelectors.has($),kJ=(W,$)=>_Y(W,$)||gD(W,$)||mD(W,$);var zY=(W,$)=>{return s(W).selectorGraph.getRelationEntries({downstreamSelectorKey:$}).filter(([X,{source:G}])=>G!==$).map(([X,{source:G}])=>G).filter((X)=>kJ(W,X))};var P9=(W,$,Y)=>{let X=[],G=zY(W,$);while(G.length>0){let J=G.shift();if(Y.has(J))continue;if(Y.add(J),!_Y(W,J))G.push(...zY(W,J));else if(!X.includes(J))X.push(J)}return X},jJ=(W,$)=>{let Y=W.key,X=zY($,Y),G=new Set;return X.flatMap((J)=>_Y($,J)?J:P9($,J,G))};var IJ=(W,$,Y,X,G)=>{let J=s(W),{type:H,key:T}=X;if(H==="atom"||H==="mutable_atom")J.selectorAtoms.set({selectorKey:Y,atomKey:T}),W.logger.info("\uD83D\uDD0D",$,Y,`discovers root atom "${T}"`);else{let Q=P9(W,T,G);W.logger.info("\uD83D\uDD0D",$,Y,`discovers root atoms: [ ${Q.map((_)=>`"${_}"`).join(", ")} ]`);for(let _ of Q)J.selectorAtoms=J.selectorAtoms.set({selectorKey:Y,atomKey:_})}G.add(T)};var N$=(W,$,Y,X)=>({get:(...G)=>{let J=s(W),H;if(G.length===2){let[z,F]=G;H=i1(W,z,F)}else[H]=G;let T=v1(W,H),Q=L$(W,T),_=H.key;return W.logger.info("\uD83D\uDD0C",$,Y,`registers dependency ( "${_}" =`,Q,")"),J.selectorGraph.set({upstreamSelectorKey:_,downstreamSelectorKey:Y},{source:H.key}),IJ(W,$,Y,H,X),Q},set:(...G)=>{let J,H;if(G.length===2)J=G[0],H=G[1];else{let _=G[0],z=G[1];H=G[2],J=i1(W,_,z)}let T=s(W),Q=v1(T,J);QY(T,Q,H)},find:(...G)=>i1(W,...G),json:(G)=>h2(W,G)});var f9=(W,$,Y)=>{let X=s(W),G=new Z0,J=new Set,{key:H,const:T}=$,Q="readonly_held_selector",{get:_,find:z,json:F}=N$(X,"readonly_held_selector",H,J),O={...$,type:"readonly_held_selector",subject:G,install:(E)=>f9(E,$,Y),get:()=>{return $.get({get:_,find:z,json:F},T),C1(s(W),H,T,G),J.clear(),T},...Y&&{family:Y}};X.readonlySelectors.set(H,O),W.logger.info("\u2728","readonly_held_selector",H,"=",T);let V={key:H,type:"readonly_held_selector"};if(Y)V.family=Y;return V};var b9=(W,$,Y)=>{let X=s(W),G=new Z0,J=new Set,H=$.key,T="readonly_pure_selector",{get:Q,find:_,json:z}=N$(X,"readonly_pure_selector",H,J),F=()=>{let E=$.get({get:Q,find:_,json:z});return C1(s(W),H,E,G),J.clear(),E},w={...$,type:"readonly_pure_selector",subject:G,install:(E)=>b9(E,$,Y),get:F,...Y&&{family:Y}};X.readonlySelectors.set(H,w);let O=F();W.logger.info("\u2728","readonly_pure_selector",H,"=",O);let V={key:H,type:"readonly_pure_selector"};if(Y)V.family=Y;return V};var x9=(W,$,Y)=>{let X=s(W),G=new Z0,J=new Set,{key:H,const:T}=$,Q="writable_held_selector",_=N$(X,"writable_held_selector",H,J),{find:z,get:F,json:w}=_,O={find:z,get:F,json:w},V=(B=$.get,P=s(W))=>{return B(O,T),C1(P,H,T,G),J.clear(),T},I={...$,type:"writable_held_selector",subject:G,install:(B)=>x9(B,$,Y),get:V,set:(B)=>{let P=s(W),g=V($.get,P),x=y2(B)(g);if(W.logger.info("\uD83D\uDCDD","writable_held_selector",H,"set (",g,"->",x,")"),C1(P,H,x,G),Z$(P,H),A$(P))G.next({newValue:x,oldValue:g});$.set(_,x)},...Y&&{family:Y}};X.writableSelectors.set(H,I);let j=V();W.logger.info("\u2728","writable_held_selector",H,"=",j);let N={key:H,type:"writable_held_selector"};if(Y)N.family=Y;return N};var s8=(W,$,Y)=>{let X=s(W),G=new Z0,J=new Set,H=$.key,T="writable_pure_selector",Q=N$(X,"writable_pure_selector",H,J),{find:_,get:z,json:F}=Q,w={find:_,get:z,json:F},O=(N=$.get,B=s(W))=>{let P=N(w);return C1(B,H,P,G),J.clear(),P},E={...$,type:"writable_pure_selector",subject:G,install:(N)=>s8(N,$,Y),get:O,set:(N)=>{let B=s(W),P=O($.get,B),g=y2(N)(P);if(W.logger.info("\uD83D\uDCDD","writable_pure_selector",H,"set (",P,"->",g,")"),C1(B,$.key,g,G),Z$(B,$.key),A$(B))G.next({newValue:g,oldValue:P});$.set(Q,g)},...Y&&{family:Y}};X.writableSelectors.set(H,E);let I=O();W.logger.info("\u2728",E.type,E.key,"=",I);let j={key:H,type:"writable_pure_selector"};if(Y)j.family=Y;return j};function MJ(W,$){let Y="set"in $,X="const"in $;if(X&&Y){let J=x9(W,$,void 0);return W.on.selectorCreation.next(J),J}if(X){let J=f9(W,$,void 0);return W.on.selectorCreation.next(J),J}if(Y){let J=s8(W,$,void 0);return W.on.selectorCreation.next(J),J}let G=b9(W,$,void 0);return W.on.selectorCreation.next(G),G}function q9(W,$,Y){let X=$.key,G="writable_pure_selector_family",J={key:X,type:"writable_pure_selector_family"},H=W.families.get(X);if(H)W.logger.error("\u2757","writable_pure_selector_family",X,`Overwriting an existing ${TY(H)} "${H.key}" in store "${W.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let T=new Z0,_=Object.assign((z)=>{let F=q1(z),w={key:X,subKey:F},O=`${X}(${F})`,V=s(W),E=s8(V,{key:O,get:$.get(z),set:$.set(z)},w);return T.next({type:"state_creation",token:E}),E},J,{internalRoles:Y,subject:T,install:(z)=>q9(z,$),default:(z)=>{return $.get(z)({get:(...w)=>e8(W,...w),find:(...w)=>i1(W,...w),json:(w)=>h2(W,w)})}});return W.families.set(X,_),J}function PJ(W,$,Y){let X=W.families.get($.key);if(X===void 0)throw new t8($,W);let G=X(Y),J=s(W);if(G.family){if(A$(J))switch(G.type){case"atom":case"mutable_atom":W.on.atomCreation.next(G);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":W.on.selectorCreation.next(G);break}else if(o1(J)&&J.on.transactionApplying.state===null)J.transactionMeta.update.updates.push({type:"state_creation",token:G})}return G}function fJ(W,$,Y){let X=q1(Y),G=`${$.key}(${X})`,J=s(W),H;switch($.type){case"atom_family":case"mutable_atom_family":H=J.atoms.get(G);break;case"writable_held_selector_family":case"writable_pure_selector_family":H=J.writableSelectors.get(G);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":H=J.readonlySelectors.get(G);break}if(H)return r8(H);return H}function i1(W,$,Y){let X=fJ(W,$,Y);if(X)return X;let G=q1(Y),J=W.molecules.get(G);if(!J&&W.config.lifespan==="immortal"){let H=OJ($,Y);return W.logger.error("\u274C",H.type,H.key,`was not found in store "${W.config.name}"; returned a counterfeit token.`),H}if(X=PJ(W,$,Y),J)s(W).moleculeData.set(G,$.key);return X}function bJ(W,$){if($.family){let Y=W.families.get($.family.key);if(Y)return Y}}function R$(W,...$){let Y,X,G,J;if($.length===2){if(Y=$[0],J=$[1],X=bJ(W,Y)??null,X)G=Y.family?n8(Y.family.subKey):null,Y=i1(W,X,G)}else X=$[0],G=$[1],J=$[2],Y=i1(W,X,G);if("counterfeit"in Y&&"family"in Y){let Q=Y.family.subKey,_=W.disposalTraces.buffer.find((z)=>z?.key===Q);W.logger.error("\u274C",Y.type,Y.key,`could not be set because it was not found in the store "${W.config.name}".`,_?`This state was previously disposed:
|
|
4
|
+
${_.trace}`:"No previous disposal trace was found.");return}let H=AJ(W,Y);if(H){let Q=W.on.operationClose.subscribe(`waiting to set "${Y.key}" at T-${H}`,()=>{Q(),W.logger.info("\uD83D\uDFE2",Y.type,Y.key,`resuming deferred setState from T-${H}`),R$(W,Y,J)});return}let T=v1(W,Y);QY(W,T,J),LJ(W)}function e8(W,...$){let Y,X,G;if($.length===1)Y=$[0];else X=$[0],G=$[1],Y=i1(W,X,G);if("counterfeit"in Y&&"family"in Y){X=W.families.get(Y.family.key);let J=Y.family.subKey,H=W.disposalTraces.buffer.find((T)=>T?.key===J);switch(W.logger.error("\u274C",Y.type,Y.key,`could not be retrieved because it was not found in the store "${W.config.name}".`,H?`This state was previously disposed:
|
|
5
|
+
${H.trace}`:"No previous disposal trace was found."),X.type){case"atom_family":case"mutable_atom_family":return W.defaults.get(X.key);case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(W.defaults.has(X.key))return W.defaults.get(Y.family.key);let T=v1(W,X).default(J);return W.defaults.set(X.key,T),T}}}return L$(W,v1(W,Y))}class xJ{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new fW({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new fW({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new fW({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new fW({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new HY(100);molecules=new Map;moleculeJoins=new fW({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});moleculeGraph=new fW({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});moleculeData=new fW({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...W)=>W.sort().join(":")});miscResources=new Map;on={atomCreation:new Z0,atomDisposal:new Z0,selectorCreation:new Z0,selectorDisposal:new Z0,timelineCreation:new Z0,transactionCreation:new Z0,transactionApplying:new j9(null),operationClose:new Z0,moleculeCreation:new Z0,moleculeDisposal:new Z0};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new k9("warn",(W,$,Y)=>!yJ(Y))];logger={error:(...W)=>{for(let $ of this.loggers)$.error(...W)},info:(...W)=>{for(let $ of this.loggers)$.info(...W)},warn:(...W)=>{for(let $ of this.loggers)$.warn(...W)}};constructor(W,$=null){if(this.config={...$?.config,...W},$!==null){if(this.valueMap=new Map($?.valueMap),this.operation={...$?.operation},A$($))this.transactionMeta={epoch:new Map($?.transactionMeta.epoch),actionContinuities:new fW($?.transactionMeta.actionContinuities.toJSON())};for(let[,X]of $.families){if(X.internalRoles?.includes("mutable")||X.internalRoles?.includes("join"))continue;X.install(this)}let Y=new Set;for(let[,X]of $.atoms){if(Y.has(X.key))continue;if(X.install(this),X.type==="mutable_atom"){let G=h2($,X),J=vJ(X);Y.add(G.key),Y.add(J.key)}}for(let[,X]of $.readonlySelectors)X.install(this);for(let[,X]of $.writableSelectors){if(Y.has(X.key))continue;X.install(this)}for(let[,X]of $.transactions)X.install(this);for(let[,X]of $.timelines)X.install(this)}}}var VJ={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new xJ({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function v1(W,$){let Y,X=W;while(X!==null){switch($.type){case"atom":case"mutable_atom":Y=X.atoms.get($.key);break;case"writable_pure_selector":case"writable_held_selector":Y=X.writableSelectors.get($.key);break;case"readonly_pure_selector":case"readonly_held_selector":Y=X.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":Y=X.families.get($.key);break;case"timeline":Y=X.timelines.get($.key);break;case"transaction":Y=X.transactions.get($.key);break}if(Y)return Y;X=X.child}throw new t8($,W)}var hJ=(W,$)=>{let Y=s(W);if(Y.operation.open)return Y.operation.prev.get($.key);return Y.valueMap.get($.key)};var v9=(W,$)=>{let Y=s(W);return jJ($,W).map((G)=>{let J=Y.atoms.get(G);if(J===void 0)throw new Error(`Atom "${G}", a dependency of selector "${$.key}", not found in store "${W.config.name}".`);return J.subject.subscribe(`${$.type}:${$.key}`,(H)=>{W.logger.info("\uD83D\uDCE2",$.type,$.key,"root",G,"went",H.oldValue,"->",H.newValue);let T=hJ(Y,$),Q=L$(Y,$);W.logger.info("\u2728",$.type,$.key,"went",T,"->",Q),$.subject.next({newValue:Q,oldValue:T})})})};function W4(W,$,Y,X){function G(F){if(W.operation.open){let w=W.on.operationClose.subscribe(`state subscription ${Y}`,()=>{w(),X(F)})}else X(F)}let J=v1(W,$);W.logger.info("\uD83D\uDC40",J.type,J.key,`Adding subscription "${Y}"`);let H=J.type==="writable_pure_selector"||J.type==="readonly_pure_selector",T=null,Q=G;if(H)T=v9(W,J),Q=(F)=>{if(T)T.length=0,T.push(...v9(W,J));G(F)};let _=J.subject.subscribe(Y,Q);return()=>{if(W.logger.info("\uD83D\uDE48",J.type,J.key,`Removing subscription "${Y}"`),_(),T)for(let F of T)F()}}var gJ=(W,$,Y,X)=>{let G=v1(W,$);W.logger.info("\uD83D\uDC40","timeline",$.key,`Adding subscription "${Y}"`);let J=G.subject.subscribe(Y,X);return()=>{W.logger.info("\uD83D\uDE48","timeline",$.key,`Removing subscription "${Y}" from timeline`),J()}};class y9{initializeState(W,$){let Y=`*${W.key}`;$.atoms.delete(Y),$.valueMap.delete(Y);let X=W.family?{key:`*${W.family.key}`,subKey:W.family.subKey}:void 0,G=h9($,{key:Y,default:null},X);if($.parent?.valueMap.has(Y)){let J=$.parent.valueMap.get(Y);$.valueMap.set(Y,J)}return G}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(W,$,Y){let X=`tracker:${Y.config.name}:${o1(Y)?Y.transactionMeta.update.key:"main"}:${W.key}`,G=e8(Y,W);this.unsubscribeFromInnerValue=G.subscribe(X,(J)=>{R$(Y,$,J)}),this.unsubscribeFromState=W4(Y,W,X,(J)=>{if(J.newValue!==J.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=J.newValue.subscribe(X,(H)=>{R$(Y,$,H)})})}updateCore(W,$,Y){let X=`tracker:${Y.config.name}:${o1(Y)?Y.transactionMeta.update.key:"main"}:${W.key}`;W4(Y,$,X,({newValue:G,oldValue:J})=>{let H=Y.timelineTopics.getRelatedKey($.key);if(H){if(Y.timelines.get(H)?.timeTraveling){let _=gJ(Y,{key:H,type:"timeline"},X,(z)=>{_(),R$(Y,W,(F)=>{if(z==="redo"&&G)F.do(G);else if(z==="undo"&&J)F.undo(J);return F})});return}}let T=Y.on.operationClose.subscribe(X,()=>{T();let Q=e8(Y,W),_=G===null?-1:Q.getUpdateNumber(G),z=_-Q.cacheUpdateNumber;if(G&&z===1)R$(Y,W,(F)=>(F.do(G),F));else Y.logger.info("\u274C","mutable_atom",W.key,`could not be updated. Expected update number ${Q.cacheUpdateNumber+1}, but got ${_}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(W,$){this.mutableState=W;let Y=s($);this.latestUpdateState=this.initializeState(W,Y),this.observeCore(W,this.latestUpdateState,Y),this.updateCore(W,this.latestUpdateState,Y),Y.trackers.set(W.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),Y.trackers.delete(W.key)}}}var h2=(W,$)=>{if($.family){let X=s(W),J={key:`${$.family.key}:JSON`,type:"writable_pure_selector_family"},H=v1(X,J),T=JSON.parse($.family.subKey);return i1(W,H,T)}return{type:"writable_pure_selector",key:`${$.key}:JSON`}};var vJ=(W)=>{let Y={type:"atom",key:`*${W.key}`};if(W.family)Y.family={key:`*${W.family.key}`,subKey:W.family.subKey};return Y};function SJ(W){return typeof W==="object"&&W!==null&&"do"in W&&"undo"in W&&"subscribe"in W}function a8(W,$,Y){let X=Y.valueMap.get($.key),G=W.valueMap.get($.key);if(X!==G)return G;if(X===void 0)return $.default();Y.logger.info("\uD83D\uDCC3","atom",$.key,"copying");let J=$.toJson(X),H=$.fromJson(J);return W.valueMap.set($.key,H),new y9($,Y),H}function C1(W,$,Y,X){let G=W.valueMap.get($);if(G instanceof i8)G.use(Y);if(Y instanceof Promise){let J=new i8(Y);return W.valueMap.set($,J),J.then((H)=>{C1(W,$,H,X),X.next({newValue:H,oldValue:J})}).catch((H)=>{W.logger.error("\uD83D\uDCA5","state",$,"rejected:",H)}),J}return W.valueMap.set($,Y),Y}var EJ=(W,$)=>{let Y=$.valueMap.get(W.key);if(W.type==="mutable_atom"&&o1($)){let{parent:X}=$;Y=a8($,W,X)}return Y},RJ=(W,$)=>{let Y=$.valueMap.get(W);if(Y instanceof i8){let X=Y,G=$.writableSelectors.get(W)??$.readonlySelectors.get(W);if(G)X.use(G.get());return}if($.operation.open)$.operation.prev.set(W,Y);$.valueMap.delete(W),$.logger.info("\uD83D\uDDD1","state",W,"evicted")};var qJ=(W,$)=>{return s(W).atomsThatAreDefault.has($)},mJ=(W,$)=>{let Y=s(W);Y.atomsThatAreDefault=new Set(Y.atomsThatAreDefault).add($)},CJ=(W,$)=>{let Y=s(W);Y.atomsThatAreDefault=new Set(s(W).atomsThatAreDefault),Y.atomsThatAreDefault.delete($)};function h9(W,$,Y){let{key:G,default:J}=$;W.logger.info("\uD83D\uDD28","atom",G,`creating in store "${W.config.name}"`);let H=s(W),T=H.atoms.get(G);if(T&&T.type==="atom")return W.logger.error("\u274C","atom",G,"Tried to create atom, but it already exists in the store."),r8(T);let Q=new Z0,_={...$,type:"atom",install:(w)=>{return w.logger.info("\uD83D\uDEE0\uFE0F","atom",G,`installing in store "${w.config.name}"`),h9(w,$,Y)},subject:Q};if(Y)_.family=Y;let z=J;if(J instanceof Function)z=J();H.atoms.set(G,_),mJ(W,G),C1(H,G,z,Q);let F=r8(_);if($.effects){let w=0,O=[];for(let V of $.effects){let E=V({setSelf:(I)=>{R$(W,F,I)},onSet:(I)=>W4(W,F,`effect[${w}]`,I)});if(E)O.push(E);++w}_.cleanup=()=>{for(let V of O)V()}}return F}class g2 extends Set{mode="record";subject=new Z0;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(W,$=0){super(W);if(W instanceof g2)this.parent=W,this.cacheUpdateNumber=W.cacheUpdateNumber;if($)this.cacheLimit=$,this.cache=new Array($),this.subscribe("auto cache",(Y)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=Y})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(W){let $=new g2(W.members,W.cacheLimit);return $.cache=W.cache,$.cacheIdx=W.cacheIdx,$.cacheUpdateNumber=W.cacheUpdateNumber,$}add(W){let $=super.add(W);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${q1(W)}`);return $}clear(){let W=this.mode==="record"?[...this]:null;if(super.clear(),W)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(W)}`)}delete(W){let $=super.delete(W);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${q1(W)}`);return $}parent=null;child=null;transactionUpdates=null;transaction(W){this.mode="transaction",this.transactionUpdates=[],this.child=new g2(this);let $=this.child._subscribe("transaction",(Y)=>{this.transactionUpdates?.push(Y)});try{if(W(this.child)){for(let X of this.transactionUpdates)this.doStep(X);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(Y){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",Y),Y}finally{$(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(W,$){return this.subject.subscribe(W,$)}subscribe(W,$){return this.subject.subscribe(W,(Y)=>{$(`${this.cacheUpdateNumber}=${Y}`)})}emit(W){this.subject.next(W)}doStep(W){let $=W.indexOf(":"),Y=W.substring(0,$),X=W.substring($+1);switch(Y){case"add":this.add(JSON.parse(X));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(X));break;case"tx":for(let G of X.split(";"))this.doStep(G)}}getUpdateNumber(W){let $=W.indexOf("=");return Number(W.substring(0,$))}do(W){let $=W.indexOf("="),Y=Number(W.substring(0,$)),X=Y-this.cacheUpdateNumber;if(X>0){if(X===1){this.mode="playback";let J=W.substring($+1);return this.doStep(J),this.mode="record",this.cacheUpdateNumber=Y,null}return this.cacheUpdateNumber+1}if(Math.abs(X)<this.cacheLimit){let J=this.cacheIdx+X;if(this.cache[J]===W)return null;this.mode="playback";let T=!1;while(!T){this.cacheIdx%=this.cacheLimit;let _=this.cache[this.cacheIdx];if(this.cacheIdx--,!_)return"OUT_OF_RANGE";this.undo(_),T=this.cacheIdx===J-1}let Q=W.substring($+1);return this.doStep(Q),this.mode="record",this.cacheUpdateNumber=Y,null}return"OUT_OF_RANGE"}undoStep(W){let $=W.indexOf(":"),Y=W.substring(0,$),X=W.substring($+1);switch(Y){case"add":this.delete(JSON.parse(X));break;case"del":this.add(JSON.parse(X));break;case"clear":{let G=JSON.parse(X);for(let J of G)this.add(J);break}case"tx":{let G=X.split(";");for(let J=G.length-1;J>=0;J--)this.undoStep(G[J])}}}undo(W){let $=W.indexOf("=");if(Number(W.substring(0,$))===this.cacheUpdateNumber){this.mode="playback";let X=W.substring($+1);return this.undoStep(X),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function yJ(W){return W.startsWith("\uD83D\uDD0D ")}class FY{listeners;globalListeners;handleEvent(W,...$){for(let X of this.globalListeners)X(W,...$);let Y=this.listeners.get(W);if(Y)for(let X of Y)X(...$)}id="no_id_retrieved";emit;constructor(W){this.emit=W,this.listeners=new Map,this.globalListeners=new Set}on(W,$){let Y=this.listeners.get(W);if(Y)Y.add($);else this.listeners.set(W,new Set([$]));return this}onAny(W){return this.globalListeners.add(W),this}off(W,$){let Y=this.listeners.get(W);if(Y)if($)Y.delete($);else this.listeners.delete(W);return this}offAny(W){return this.globalListeners.delete(W),this}}class pJ extends FY{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(W){super((...$)=>{return this.out.next($),this});this.id=W,this.in=new Z0,this.out=new Z0,this.in.subscribe("socket",($)=>{this.handleEvent(...$)})}dispose(){for(let W of this.disposalFunctions)W()}}class g9 extends FY{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...W){this.process.stderr.write(q1(W.map(($)=>$ instanceof g2?`{ ${$.toJSON().members.join(" | ")} }`:$))+"\x03")}logger={info:(...W)=>{this.log("i",...W)},warn:(...W)=>{this.log("w",...W)},error:(...W)=>{this.log("e",...W)}};constructor(){super((W,...$)=>{let Y=JSON.stringify([W,...$]);return this.process.stdout.write(Y+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(W)=>{let $=W.toString();this.unprocessedEvents.push(...$.split("\x03"));let Y=this.unprocessedEvents.shift();this.incompleteData+=Y??"";try{let X=n8(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",X),this.handleEvent(...X);while(this.unprocessedEvents.length>0){let G=this.unprocessedEvents.shift();if(G){if(this.unprocessedEvents.length===0)this.incompleteData=G;let J=n8(G);this.handleEvent(...J)}}this.incompleteData=""}catch(X){if(X instanceof Error)this.logger.error("\u2757",X.message,X.cause,X.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(W)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${W}`)}),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",(W)=>{this.logger.info("\uD83D\uDC64","user",W,"joined");let $=new pJ(`user:${W}`);this.relays.set(W,$),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let Y of this.relayServices){let X=Y($);if(X)$.disposalFunctions.push(X)}this.on(`user:${W}`,(...Y)=>{$.in.next(Y)}),$.out.subscribe("socket",(Y)=>{this.emit(...Y)})}),this.on("user-leaves",(W)=>{let $=this.relays.get(W);if(this.off(`relay:${W}`),$)$.dispose(),this.relays.delete(W)}),process.stdout.write("ALIVE")}relay(W){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(W)}}var cJ=Symbol("Let zodToJsonSchema decide on which parser to use");var uJ={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},dJ=(W)=>typeof W==="string"?{...uJ,name:W}:{...uJ,...W};var lJ=(W)=>{let $=dJ(W),Y=$.name!==void 0?[...$.basePath,$.definitionPath,$.name]:$.basePath;return{...$,currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries($.definitions).map(([X,G])=>[G._def,{def:G._def,path:[...$.basePath,$.definitionPath,X],jsonSchema:void 0}]))}};function m9(W,$,Y,X){if(!X?.errorMessages)return;if(Y)W.errorMessage={...W.errorMessage,[$]:Y}}function K0(W,$,Y,X,G){W[$]=Y,m9(W,$,X,G)}var V0;(function(W){W.assertEqual=(G)=>{};function $(G){}W.assertIs=$;function Y(G){throw new Error}W.assertNever=Y,W.arrayToEnum=(G)=>{let J={};for(let H of G)J[H]=H;return J},W.getValidEnumValues=(G)=>{let J=W.objectKeys(G).filter((T)=>typeof G[G[T]]!=="number"),H={};for(let T of J)H[T]=G[T];return W.objectValues(H)},W.objectValues=(G)=>{return W.objectKeys(G).map(function(J){return G[J]})},W.objectKeys=typeof Object.keys==="function"?(G)=>Object.keys(G):(G)=>{let J=[];for(let H in G)if(Object.prototype.hasOwnProperty.call(G,H))J.push(H);return J},W.find=(G,J)=>{for(let H of G)if(J(H))return H;return},W.isInteger=typeof Number.isInteger==="function"?(G)=>Number.isInteger(G):(G)=>typeof G==="number"&&Number.isFinite(G)&&Math.floor(G)===G;function X(G,J=" | "){return G.map((H)=>typeof H==="string"?`'${H}'`:H).join(J)}W.joinValues=X,W.jsonStringifyReplacer=(G,J)=>{if(typeof J==="bigint")return J.toString();return J}})(V0||(V0={}));var oJ;(function(W){W.mergeShapes=($,Y)=>{return{...$,...Y}}})(oJ||(oJ={}));var f=V0.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),lW=(W)=>{switch(typeof W){case"undefined":return f.undefined;case"string":return f.string;case"number":return Number.isNaN(W)?f.nan:f.number;case"boolean":return f.boolean;case"function":return f.function;case"bigint":return f.bigint;case"symbol":return f.symbol;case"object":if(Array.isArray(W))return f.array;if(W===null)return f.null;if(W.then&&typeof W.then==="function"&&W.catch&&typeof W.catch==="function")return f.promise;if(typeof Map!=="undefined"&&W instanceof Map)return f.map;if(typeof Set!=="undefined"&&W instanceof Set)return f.set;if(typeof Date!=="undefined"&&W instanceof Date)return f.date;return f.object;default:return f.unknown}};var S=V0.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class n1 extends Error{get errors(){return this.issues}constructor(W){super();this.issues=[],this.addIssue=(Y)=>{this.issues=[...this.issues,Y]},this.addIssues=(Y=[])=>{this.issues=[...this.issues,...Y]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=W}format(W){let $=W||function(G){return G.message},Y={_errors:[]},X=(G)=>{for(let J of G.issues)if(J.code==="invalid_union")J.unionErrors.map(X);else if(J.code==="invalid_return_type")X(J.returnTypeError);else if(J.code==="invalid_arguments")X(J.argumentsError);else if(J.path.length===0)Y._errors.push($(J));else{let H=Y,T=0;while(T<J.path.length){let Q=J.path[T];if(T!==J.path.length-1)H[Q]=H[Q]||{_errors:[]};else H[Q]=H[Q]||{_errors:[]},H[Q]._errors.push($(J));H=H[Q],T++}}};return X(this),Y}static assert(W){if(!(W instanceof n1))throw new Error(`Not a ZodError: ${W}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,V0.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(W=($)=>$.message){let $={},Y=[];for(let X of this.issues)if(X.path.length>0)$[X.path[0]]=$[X.path[0]]||[],$[X.path[0]].push(W(X));else Y.push(W(X));return{formErrors:Y,fieldErrors:$}}get formErrors(){return this.flatten()}}n1.create=(W)=>{return new n1(W)};var pD=(W,$)=>{let Y;switch(W.code){case S.invalid_type:if(W.received===f.undefined)Y="Required";else Y=`Expected ${W.expected}, received ${W.received}`;break;case S.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(W.expected,V0.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:Y=`Unrecognized key(s) in object: ${V0.joinValues(W.keys,", ")}`;break;case S.invalid_union:Y="Invalid input";break;case S.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${V0.joinValues(W.options)}`;break;case S.invalid_enum_value:Y=`Invalid enum value. Expected ${V0.joinValues(W.options)}, received '${W.received}'`;break;case S.invalid_arguments:Y="Invalid function arguments";break;case S.invalid_return_type:Y="Invalid function return type";break;case S.invalid_date:Y="Invalid date";break;case S.invalid_string:if(typeof W.validation==="object")if("includes"in W.validation){if(Y=`Invalid input: must include "${W.validation.includes}"`,typeof W.validation.position==="number")Y=`${Y} at one or more positions greater than or equal to ${W.validation.position}`}else if("startsWith"in W.validation)Y=`Invalid input: must start with "${W.validation.startsWith}"`;else if("endsWith"in W.validation)Y=`Invalid input: must end with "${W.validation.endsWith}"`;else V0.assertNever(W.validation);else if(W.validation!=="regex")Y=`Invalid ${W.validation}`;else Y="Invalid";break;case S.too_small:if(W.type==="array")Y=`Array must contain ${W.exact?"exactly":W.inclusive?"at least":"more than"} ${W.minimum} element(s)`;else if(W.type==="string")Y=`String must contain ${W.exact?"exactly":W.inclusive?"at least":"over"} ${W.minimum} character(s)`;else if(W.type==="number")Y=`Number must be ${W.exact?"exactly equal to ":W.inclusive?"greater than or equal to ":"greater than "}${W.minimum}`;else if(W.type==="date")Y=`Date must be ${W.exact?"exactly equal to ":W.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(W.minimum))}`;else Y="Invalid input";break;case S.too_big:if(W.type==="array")Y=`Array must contain ${W.exact?"exactly":W.inclusive?"at most":"less than"} ${W.maximum} element(s)`;else if(W.type==="string")Y=`String must contain ${W.exact?"exactly":W.inclusive?"at most":"under"} ${W.maximum} character(s)`;else if(W.type==="number")Y=`Number must be ${W.exact?"exactly":W.inclusive?"less than or equal to":"less than"} ${W.maximum}`;else if(W.type==="bigint")Y=`BigInt must be ${W.exact?"exactly":W.inclusive?"less than or equal to":"less than"} ${W.maximum}`;else if(W.type==="date")Y=`Date must be ${W.exact?"exactly":W.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(W.maximum))}`;else Y="Invalid input";break;case S.custom:Y="Invalid input";break;case S.invalid_intersection_types:Y="Intersection results could not be merged";break;case S.not_multiple_of:Y=`Number must be a multiple of ${W.multipleOf}`;break;case S.not_finite:Y="Number must be finite";break;default:Y=$.defaultError,V0.assertNever(W)}return{message:Y}},B$=pD;var uD=B$;function $4(){return uD}var wY=(W)=>{let{data:$,path:Y,errorMaps:X,issueData:G}=W,J=[...Y,...G.path||[]],H={...G,path:J};if(G.message!==void 0)return{...G,path:J,message:G.message};let T="",Q=X.filter((_)=>!!_).slice().reverse();for(let _ of Q)T=_(H,{data:$,defaultError:T}).message;return{...G,path:J,message:T}};function h(W,$){let Y=$4(),X=wY({issueData:$,data:W.data,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,Y,Y===B$?void 0:B$].filter((G)=>!!G)});W.common.issues.push(X)}class L1{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(W,$){let Y=[];for(let X of $){if(X.status==="aborted")return $0;if(X.status==="dirty")W.dirty();Y.push(X.value)}return{status:W.value,value:Y}}static async mergeObjectAsync(W,$){let Y=[];for(let X of $){let G=await X.key,J=await X.value;Y.push({key:G,value:J})}return L1.mergeObjectSync(W,Y)}static mergeObjectSync(W,$){let Y={};for(let X of $){let{key:G,value:J}=X;if(G.status==="aborted")return $0;if(J.status==="aborted")return $0;if(G.status==="dirty")W.dirty();if(J.status==="dirty")W.dirty();if(G.value!=="__proto__"&&(typeof J.value!=="undefined"||X.alwaysSet))Y[G.value]=J.value}return{status:W.value,value:Y}}}var $0=Object.freeze({status:"aborted"}),m2=(W)=>({status:"dirty",value:W}),k1=(W)=>({status:"valid",value:W}),p9=(W)=>W.status==="aborted",u9=(W)=>W.status==="dirty",r$=(W)=>W.status==="valid",Y4=(W)=>typeof Promise!=="undefined"&&W instanceof Promise;var l;(function(W){W.errToObj=($)=>typeof $==="string"?{message:$}:$||{},W.toString=($)=>typeof $==="string"?$:$?.message})(l||(l={}));var UY=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},nJ=function(W,$,Y,X,G){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?G.call(W,Y):G?G.value=Y:$.set(W,Y),Y},X4,G4;class KW{constructor(W,$,Y,X){this._cachedPath=[],this.parent=W,this.data=$,this._path=Y,this._key=X}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var iJ=(W,$)=>{if(r$($))return{success:!0,data:$.value};else{if(!W.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Y=new n1(W.common.issues);return this._error=Y,this._error}}}};function T0(W){if(!W)return{};let{errorMap:$,invalid_type_error:Y,required_error:X,description:G}=W;if($&&(Y||X))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:G};return{errorMap:(H,T)=>{let{message:Q}=W;if(H.code==="invalid_enum_value")return{message:Q??T.defaultError};if(typeof T.data==="undefined")return{message:Q??X??T.defaultError};if(H.code!=="invalid_type")return{message:T.defaultError};return{message:Q??Y??T.defaultError}},description:G}}class F0{get description(){return this._def.description}_getType(W){return lW(W.data)}_getOrReturnCtx(W,$){return $||{common:W.parent.common,data:W.data,parsedType:lW(W.data),schemaErrorMap:this._def.errorMap,path:W.path,parent:W.parent}}_processInputParams(W){return{status:new L1,ctx:{common:W.parent.common,data:W.data,parsedType:lW(W.data),schemaErrorMap:this._def.errorMap,path:W.path,parent:W.parent}}}_parseSync(W){let $=this._parse(W);if(Y4($))throw new Error("Synchronous parse encountered promise.");return $}_parseAsync(W){let $=this._parse(W);return Promise.resolve($)}parse(W,$){let Y=this.safeParse(W,$);if(Y.success)return Y.data;throw Y.error}safeParse(W,$){let Y={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:W,parsedType:lW(W)},X=this._parseSync({data:W,path:Y.path,parent:Y});return iJ(Y,X)}"~validate"(W){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:W,parsedType:lW(W)};if(!this["~standard"].async)try{let Y=this._parseSync({data:W,path:[],parent:$});return r$(Y)?{value:Y.value}:{issues:$.common.issues}}catch(Y){if(Y?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:W,path:[],parent:$}).then((Y)=>r$(Y)?{value:Y.value}:{issues:$.common.issues})}async parseAsync(W,$){let Y=await this.safeParseAsync(W,$);if(Y.success)return Y.data;throw Y.error}async safeParseAsync(W,$){let Y={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:W,parsedType:lW(W)},X=this._parse({data:W,path:Y.path,parent:Y}),G=await(Y4(X)?X:Promise.resolve(X));return iJ(Y,G)}refine(W,$){let Y=(X)=>{if(typeof $==="string"||typeof $==="undefined")return{message:$};else if(typeof $==="function")return $(X);else return $};return this._refinement((X,G)=>{let J=W(X),H=()=>G.addIssue({code:S.custom,...Y(X)});if(typeof Promise!=="undefined"&&J instanceof Promise)return J.then((T)=>{if(!T)return H(),!1;else return!0});if(!J)return H(),!1;else return!0})}refinement(W,$){return this._refinement((Y,X)=>{if(!W(Y))return X.addIssue(typeof $==="function"?$(Y,X):$),!1;else return!0})}_refinement(W){return new xW({schema:this,typeName:q.ZodEffects,effect:{type:"refinement",refinement:W}})}superRefine(W){return this._refinement(W)}constructor(W){this.spa=this.safeParseAsync,this._def=W,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return GW.create(this,this._def)}nullable(){return S$.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return bW.create(this)}promise(){return l2.create(this,this._def)}or(W){return _4.create([this,W],this._def)}and(W){return z4.create(this,W,this._def)}transform(W){return new xW({...T0(this._def),schema:this,typeName:q.ZodEffects,effect:{type:"transform",transform:W}})}default(W){let $=typeof W==="function"?W:()=>W;return new D4({...T0(this._def),innerType:this,defaultValue:$,typeName:q.ZodDefault})}brand(){return new o9({typeName:q.ZodBranded,type:this,...T0(this._def)})}catch(W){let $=typeof W==="function"?W:()=>W;return new M4({...T0(this._def),innerType:this,catchValue:$,typeName:q.ZodCatch})}describe(W){return new this.constructor({...this._def,description:W})}pipe(W){return LY.create(this,W)}readonly(){return V4.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var cD=/^c[^\s-]{8,}$/i,dD=/^[0-9a-z]+$/,lD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,oD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,iD=/^[a-z0-9_-]{21}$/i,nD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,rD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,tD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,aD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",c9,sD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,eD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,WM=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,$M=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,YM=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,XM=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rJ="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",GM=new RegExp(`^${rJ}$`);function tJ(W){let $="[0-5]\\d";if(W.precision)$=`${$}\\.\\d{${W.precision}}`;else if(W.precision==null)$=`${$}(\\.\\d+)?`;let Y=W.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${Y}`}function JM(W){return new RegExp(`^${tJ(W)}$`)}function HM(W){let $=`${rJ}T${tJ(W)}`,Y=[];if(Y.push(W.local?"Z?":"Z"),W.offset)Y.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${Y.join("|")})`,new RegExp(`^${$}$`)}function TM(W,$){if(($==="v4"||!$)&&sD.test(W))return!0;if(($==="v6"||!$)&&WM.test(W))return!0;return!1}function QM(W,$){if(!nD.test(W))return!1;try{let[Y]=W.split("."),X=Y.replace(/-/g,"+").replace(/_/g,"/").padEnd(Y.length+(4-Y.length%4)%4,"="),G=JSON.parse(atob(X));if(typeof G!=="object"||G===null)return!1;if("typ"in G&&G?.typ!=="JWT")return!1;if(!G.alg)return!1;if($&&G.alg!==$)return!1;return!0}catch{return!1}}function _M(W,$){if(($==="v4"||!$)&&eD.test(W))return!0;if(($==="v6"||!$)&&$M.test(W))return!0;return!1}class iW extends F0{_parse(W){if(this._def.coerce)W.data=String(W.data);if(this._getType(W)!==f.string){let G=this._getOrReturnCtx(W);return h(G,{code:S.invalid_type,expected:f.string,received:G.parsedType}),$0}let Y=new L1,X=void 0;for(let G of this._def.checks)if(G.kind==="min"){if(W.data.length<G.value)X=this._getOrReturnCtx(W,X),h(X,{code:S.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),Y.dirty()}else if(G.kind==="max"){if(W.data.length>G.value)X=this._getOrReturnCtx(W,X),h(X,{code:S.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),Y.dirty()}else if(G.kind==="length"){let J=W.data.length>G.value,H=W.data.length<G.value;if(J||H){if(X=this._getOrReturnCtx(W,X),J)h(X,{code:S.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});else if(H)h(X,{code:S.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});Y.dirty()}}else if(G.kind==="email"){if(!tD.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"email",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="emoji"){if(!c9)c9=new RegExp(aD,"u");if(!c9.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"emoji",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="uuid"){if(!oD.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"uuid",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="nanoid"){if(!iD.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"nanoid",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="cuid"){if(!cD.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"cuid",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="cuid2"){if(!dD.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"cuid2",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="ulid"){if(!lD.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"ulid",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="url")try{new URL(W.data)}catch{X=this._getOrReturnCtx(W,X),h(X,{validation:"url",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="regex"){if(G.regex.lastIndex=0,!G.regex.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"regex",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="trim")W.data=W.data.trim();else if(G.kind==="includes"){if(!W.data.includes(G.value,G.position))X=this._getOrReturnCtx(W,X),h(X,{code:S.invalid_string,validation:{includes:G.value,position:G.position},message:G.message}),Y.dirty()}else if(G.kind==="toLowerCase")W.data=W.data.toLowerCase();else if(G.kind==="toUpperCase")W.data=W.data.toUpperCase();else if(G.kind==="startsWith"){if(!W.data.startsWith(G.value))X=this._getOrReturnCtx(W,X),h(X,{code:S.invalid_string,validation:{startsWith:G.value},message:G.message}),Y.dirty()}else if(G.kind==="endsWith"){if(!W.data.endsWith(G.value))X=this._getOrReturnCtx(W,X),h(X,{code:S.invalid_string,validation:{endsWith:G.value},message:G.message}),Y.dirty()}else if(G.kind==="datetime"){if(!HM(G).test(W.data))X=this._getOrReturnCtx(W,X),h(X,{code:S.invalid_string,validation:"datetime",message:G.message}),Y.dirty()}else if(G.kind==="date"){if(!GM.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{code:S.invalid_string,validation:"date",message:G.message}),Y.dirty()}else if(G.kind==="time"){if(!JM(G).test(W.data))X=this._getOrReturnCtx(W,X),h(X,{code:S.invalid_string,validation:"time",message:G.message}),Y.dirty()}else if(G.kind==="duration"){if(!rD.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"duration",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="ip"){if(!TM(W.data,G.version))X=this._getOrReturnCtx(W,X),h(X,{validation:"ip",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="jwt"){if(!QM(W.data,G.alg))X=this._getOrReturnCtx(W,X),h(X,{validation:"jwt",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="cidr"){if(!_M(W.data,G.version))X=this._getOrReturnCtx(W,X),h(X,{validation:"cidr",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="base64"){if(!YM.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"base64",code:S.invalid_string,message:G.message}),Y.dirty()}else if(G.kind==="base64url"){if(!XM.test(W.data))X=this._getOrReturnCtx(W,X),h(X,{validation:"base64url",code:S.invalid_string,message:G.message}),Y.dirty()}else V0.assertNever(G);return{status:Y.value,value:W.data}}_regex(W,$,Y){return this.refinement((X)=>W.test(X),{validation:$,code:S.invalid_string,...l.errToObj(Y)})}_addCheck(W){return new iW({...this._def,checks:[...this._def.checks,W]})}email(W){return this._addCheck({kind:"email",...l.errToObj(W)})}url(W){return this._addCheck({kind:"url",...l.errToObj(W)})}emoji(W){return this._addCheck({kind:"emoji",...l.errToObj(W)})}uuid(W){return this._addCheck({kind:"uuid",...l.errToObj(W)})}nanoid(W){return this._addCheck({kind:"nanoid",...l.errToObj(W)})}cuid(W){return this._addCheck({kind:"cuid",...l.errToObj(W)})}cuid2(W){return this._addCheck({kind:"cuid2",...l.errToObj(W)})}ulid(W){return this._addCheck({kind:"ulid",...l.errToObj(W)})}base64(W){return this._addCheck({kind:"base64",...l.errToObj(W)})}base64url(W){return this._addCheck({kind:"base64url",...l.errToObj(W)})}jwt(W){return this._addCheck({kind:"jwt",...l.errToObj(W)})}ip(W){return this._addCheck({kind:"ip",...l.errToObj(W)})}cidr(W){return this._addCheck({kind:"cidr",...l.errToObj(W)})}datetime(W){if(typeof W==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:W});return this._addCheck({kind:"datetime",precision:typeof W?.precision==="undefined"?null:W?.precision,offset:W?.offset??!1,local:W?.local??!1,...l.errToObj(W?.message)})}date(W){return this._addCheck({kind:"date",message:W})}time(W){if(typeof W==="string")return this._addCheck({kind:"time",precision:null,message:W});return this._addCheck({kind:"time",precision:typeof W?.precision==="undefined"?null:W?.precision,...l.errToObj(W?.message)})}duration(W){return this._addCheck({kind:"duration",...l.errToObj(W)})}regex(W,$){return this._addCheck({kind:"regex",regex:W,...l.errToObj($)})}includes(W,$){return this._addCheck({kind:"includes",value:W,position:$?.position,...l.errToObj($?.message)})}startsWith(W,$){return this._addCheck({kind:"startsWith",value:W,...l.errToObj($)})}endsWith(W,$){return this._addCheck({kind:"endsWith",value:W,...l.errToObj($)})}min(W,$){return this._addCheck({kind:"min",value:W,...l.errToObj($)})}max(W,$){return this._addCheck({kind:"max",value:W,...l.errToObj($)})}length(W,$){return this._addCheck({kind:"length",value:W,...l.errToObj($)})}nonempty(W){return this.min(1,l.errToObj(W))}trim(){return new iW({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new iW({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new iW({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((W)=>W.kind==="datetime")}get isDate(){return!!this._def.checks.find((W)=>W.kind==="date")}get isTime(){return!!this._def.checks.find((W)=>W.kind==="time")}get isDuration(){return!!this._def.checks.find((W)=>W.kind==="duration")}get isEmail(){return!!this._def.checks.find((W)=>W.kind==="email")}get isURL(){return!!this._def.checks.find((W)=>W.kind==="url")}get isEmoji(){return!!this._def.checks.find((W)=>W.kind==="emoji")}get isUUID(){return!!this._def.checks.find((W)=>W.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((W)=>W.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((W)=>W.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((W)=>W.kind==="cuid2")}get isULID(){return!!this._def.checks.find((W)=>W.kind==="ulid")}get isIP(){return!!this._def.checks.find((W)=>W.kind==="ip")}get isCIDR(){return!!this._def.checks.find((W)=>W.kind==="cidr")}get isBase64(){return!!this._def.checks.find((W)=>W.kind==="base64")}get isBase64url(){return!!this._def.checks.find((W)=>W.kind==="base64url")}get minLength(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W}get maxLength(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W}}iW.create=(W)=>{return new iW({checks:[],typeName:q.ZodString,coerce:W?.coerce??!1,...T0(W)})};function zM(W,$){let Y=(W.toString().split(".")[1]||"").length,X=($.toString().split(".")[1]||"").length,G=Y>X?Y:X,J=Number.parseInt(W.toFixed(G).replace(".","")),H=Number.parseInt($.toFixed(G).replace(".",""));return J%H/10**G}class u2 extends F0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(W){if(this._def.coerce)W.data=Number(W.data);if(this._getType(W)!==f.number){let G=this._getOrReturnCtx(W);return h(G,{code:S.invalid_type,expected:f.number,received:G.parsedType}),$0}let Y=void 0,X=new L1;for(let G of this._def.checks)if(G.kind==="int"){if(!V0.isInteger(W.data))Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.invalid_type,expected:"integer",received:"float",message:G.message}),X.dirty()}else if(G.kind==="min"){if(G.inclusive?W.data<G.value:W.data<=G.value)Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.too_small,minimum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),X.dirty()}else if(G.kind==="max"){if(G.inclusive?W.data>G.value:W.data>=G.value)Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.too_big,maximum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),X.dirty()}else if(G.kind==="multipleOf"){if(zM(W.data,G.value)!==0)Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.not_multiple_of,multipleOf:G.value,message:G.message}),X.dirty()}else if(G.kind==="finite"){if(!Number.isFinite(W.data))Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.not_finite,message:G.message}),X.dirty()}else V0.assertNever(G);return{status:X.value,value:W.data}}gte(W,$){return this.setLimit("min",W,!0,l.toString($))}gt(W,$){return this.setLimit("min",W,!1,l.toString($))}lte(W,$){return this.setLimit("max",W,!0,l.toString($))}lt(W,$){return this.setLimit("max",W,!1,l.toString($))}setLimit(W,$,Y,X){return new u2({...this._def,checks:[...this._def.checks,{kind:W,value:$,inclusive:Y,message:l.toString(X)}]})}_addCheck(W){return new u2({...this._def,checks:[...this._def.checks,W]})}int(W){return this._addCheck({kind:"int",message:l.toString(W)})}positive(W){return this._addCheck({kind:"min",value:0,inclusive:!1,message:l.toString(W)})}negative(W){return this._addCheck({kind:"max",value:0,inclusive:!1,message:l.toString(W)})}nonpositive(W){return this._addCheck({kind:"max",value:0,inclusive:!0,message:l.toString(W)})}nonnegative(W){return this._addCheck({kind:"min",value:0,inclusive:!0,message:l.toString(W)})}multipleOf(W,$){return this._addCheck({kind:"multipleOf",value:W,message:l.toString($)})}finite(W){return this._addCheck({kind:"finite",message:l.toString(W)})}safe(W){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:l.toString(W)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:l.toString(W)})}get minValue(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W}get maxValue(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W}get isInt(){return!!this._def.checks.find((W)=>W.kind==="int"||W.kind==="multipleOf"&&V0.isInteger(W.value))}get isFinite(){let W=null,$=null;for(let Y of this._def.checks)if(Y.kind==="finite"||Y.kind==="int"||Y.kind==="multipleOf")return!0;else if(Y.kind==="min"){if($===null||Y.value>$)$=Y.value}else if(Y.kind==="max"){if(W===null||Y.value<W)W=Y.value}return Number.isFinite($)&&Number.isFinite(W)}}u2.create=(W)=>{return new u2({checks:[],typeName:q.ZodNumber,coerce:W?.coerce||!1,...T0(W)})};class c2 extends F0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(W){if(this._def.coerce)try{W.data=BigInt(W.data)}catch{return this._getInvalidInput(W)}if(this._getType(W)!==f.bigint)return this._getInvalidInput(W);let Y=void 0,X=new L1;for(let G of this._def.checks)if(G.kind==="min"){if(G.inclusive?W.data<G.value:W.data<=G.value)Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.too_small,type:"bigint",minimum:G.value,inclusive:G.inclusive,message:G.message}),X.dirty()}else if(G.kind==="max"){if(G.inclusive?W.data>G.value:W.data>=G.value)Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.too_big,type:"bigint",maximum:G.value,inclusive:G.inclusive,message:G.message}),X.dirty()}else if(G.kind==="multipleOf"){if(W.data%G.value!==BigInt(0))Y=this._getOrReturnCtx(W,Y),h(Y,{code:S.not_multiple_of,multipleOf:G.value,message:G.message}),X.dirty()}else V0.assertNever(G);return{status:X.value,value:W.data}}_getInvalidInput(W){let $=this._getOrReturnCtx(W);return h($,{code:S.invalid_type,expected:f.bigint,received:$.parsedType}),$0}gte(W,$){return this.setLimit("min",W,!0,l.toString($))}gt(W,$){return this.setLimit("min",W,!1,l.toString($))}lte(W,$){return this.setLimit("max",W,!0,l.toString($))}lt(W,$){return this.setLimit("max",W,!1,l.toString($))}setLimit(W,$,Y,X){return new c2({...this._def,checks:[...this._def.checks,{kind:W,value:$,inclusive:Y,message:l.toString(X)}]})}_addCheck(W){return new c2({...this._def,checks:[...this._def.checks,W]})}positive(W){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:l.toString(W)})}negative(W){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:l.toString(W)})}nonpositive(W){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:l.toString(W)})}nonnegative(W){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:l.toString(W)})}multipleOf(W,$){return this._addCheck({kind:"multipleOf",value:W,message:l.toString($)})}get minValue(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W}get maxValue(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W}}c2.create=(W)=>{return new c2({checks:[],typeName:q.ZodBigInt,coerce:W?.coerce??!1,...T0(W)})};class DY extends F0{_parse(W){if(this._def.coerce)W.data=Boolean(W.data);if(this._getType(W)!==f.boolean){let Y=this._getOrReturnCtx(W);return h(Y,{code:S.invalid_type,expected:f.boolean,received:Y.parsedType}),$0}return k1(W.data)}}DY.create=(W)=>{return new DY({typeName:q.ZodBoolean,coerce:W?.coerce||!1,...T0(W)})};class H4 extends F0{_parse(W){if(this._def.coerce)W.data=new Date(W.data);if(this._getType(W)!==f.date){let G=this._getOrReturnCtx(W);return h(G,{code:S.invalid_type,expected:f.date,received:G.parsedType}),$0}if(Number.isNaN(W.data.getTime())){let G=this._getOrReturnCtx(W);return h(G,{code:S.invalid_date}),$0}let Y=new L1,X=void 0;for(let G of this._def.checks)if(G.kind==="min"){if(W.data.getTime()<G.value)X=this._getOrReturnCtx(W,X),h(X,{code:S.too_small,message:G.message,inclusive:!0,exact:!1,minimum:G.value,type:"date"}),Y.dirty()}else if(G.kind==="max"){if(W.data.getTime()>G.value)X=this._getOrReturnCtx(W,X),h(X,{code:S.too_big,message:G.message,inclusive:!0,exact:!1,maximum:G.value,type:"date"}),Y.dirty()}else V0.assertNever(G);return{status:Y.value,value:new Date(W.data.getTime())}}_addCheck(W){return new H4({...this._def,checks:[...this._def.checks,W]})}min(W,$){return this._addCheck({kind:"min",value:W.getTime(),message:l.toString($)})}max(W,$){return this._addCheck({kind:"max",value:W.getTime(),message:l.toString($)})}get minDate(){let W=null;for(let $ of this._def.checks)if($.kind==="min"){if(W===null||$.value>W)W=$.value}return W!=null?new Date(W):null}get maxDate(){let W=null;for(let $ of this._def.checks)if($.kind==="max"){if(W===null||$.value<W)W=$.value}return W!=null?new Date(W):null}}H4.create=(W)=>{return new H4({checks:[],coerce:W?.coerce||!1,typeName:q.ZodDate,...T0(W)})};class MY extends F0{_parse(W){if(this._getType(W)!==f.symbol){let Y=this._getOrReturnCtx(W);return h(Y,{code:S.invalid_type,expected:f.symbol,received:Y.parsedType}),$0}return k1(W.data)}}MY.create=(W)=>{return new MY({typeName:q.ZodSymbol,...T0(W)})};class T4 extends F0{_parse(W){if(this._getType(W)!==f.undefined){let Y=this._getOrReturnCtx(W);return h(Y,{code:S.invalid_type,expected:f.undefined,received:Y.parsedType}),$0}return k1(W.data)}}T4.create=(W)=>{return new T4({typeName:q.ZodUndefined,...T0(W)})};class Q4 extends F0{_parse(W){if(this._getType(W)!==f.null){let Y=this._getOrReturnCtx(W);return h(Y,{code:S.invalid_type,expected:f.null,received:Y.parsedType}),$0}return k1(W.data)}}Q4.create=(W)=>{return new Q4({typeName:q.ZodNull,...T0(W)})};class VY extends F0{constructor(){super(...arguments);this._any=!0}_parse(W){return k1(W.data)}}VY.create=(W)=>{return new VY({typeName:q.ZodAny,...T0(W)})};class t$ extends F0{constructor(){super(...arguments);this._unknown=!0}_parse(W){return k1(W.data)}}t$.create=(W)=>{return new t$({typeName:q.ZodUnknown,...T0(W)})};class nW extends F0{_parse(W){let $=this._getOrReturnCtx(W);return h($,{code:S.invalid_type,expected:f.never,received:$.parsedType}),$0}}nW.create=(W)=>{return new nW({typeName:q.ZodNever,...T0(W)})};class OY extends F0{_parse(W){if(this._getType(W)!==f.undefined){let Y=this._getOrReturnCtx(W);return h(Y,{code:S.invalid_type,expected:f.void,received:Y.parsedType}),$0}return k1(W.data)}}OY.create=(W)=>{return new OY({typeName:q.ZodVoid,...T0(W)})};class bW extends F0{_parse(W){let{ctx:$,status:Y}=this._processInputParams(W),X=this._def;if($.parsedType!==f.array)return h($,{code:S.invalid_type,expected:f.array,received:$.parsedType}),$0;if(X.exactLength!==null){let J=$.data.length>X.exactLength.value,H=$.data.length<X.exactLength.value;if(J||H)h($,{code:J?S.too_big:S.too_small,minimum:H?X.exactLength.value:void 0,maximum:J?X.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:X.exactLength.message}),Y.dirty()}if(X.minLength!==null){if($.data.length<X.minLength.value)h($,{code:S.too_small,minimum:X.minLength.value,type:"array",inclusive:!0,exact:!1,message:X.minLength.message}),Y.dirty()}if(X.maxLength!==null){if($.data.length>X.maxLength.value)h($,{code:S.too_big,maximum:X.maxLength.value,type:"array",inclusive:!0,exact:!1,message:X.maxLength.message}),Y.dirty()}if($.common.async)return Promise.all([...$.data].map((J,H)=>{return X.type._parseAsync(new KW($,J,$.path,H))})).then((J)=>{return L1.mergeArray(Y,J)});let G=[...$.data].map((J,H)=>{return X.type._parseSync(new KW($,J,$.path,H))});return L1.mergeArray(Y,G)}get element(){return this._def.type}min(W,$){return new bW({...this._def,minLength:{value:W,message:l.toString($)}})}max(W,$){return new bW({...this._def,maxLength:{value:W,message:l.toString($)}})}length(W,$){return new bW({...this._def,exactLength:{value:W,message:l.toString($)}})}nonempty(W){return this.min(1,W)}}bW.create=(W,$)=>{return new bW({type:W,minLength:null,maxLength:null,exactLength:null,typeName:q.ZodArray,...T0($)})};function p2(W){if(W instanceof o0){let $={};for(let Y in W.shape){let X=W.shape[Y];$[Y]=GW.create(p2(X))}return new o0({...W._def,shape:()=>$})}else if(W instanceof bW)return new bW({...W._def,type:p2(W.element)});else if(W instanceof GW)return GW.create(p2(W.unwrap()));else if(W instanceof S$)return S$.create(p2(W.unwrap()));else if(W instanceof rW)return rW.create(W.items.map(($)=>p2($)));else return W}class o0 extends F0{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let W=this._def.shape(),$=V0.objectKeys(W);return this._cached={shape:W,keys:$},this._cached}_parse(W){if(this._getType(W)!==f.object){let Q=this._getOrReturnCtx(W);return h(Q,{code:S.invalid_type,expected:f.object,received:Q.parsedType}),$0}let{status:Y,ctx:X}=this._processInputParams(W),{shape:G,keys:J}=this._getCached(),H=[];if(!(this._def.catchall instanceof nW&&this._def.unknownKeys==="strip")){for(let Q in X.data)if(!J.includes(Q))H.push(Q)}let T=[];for(let Q of J){let _=G[Q],z=X.data[Q];T.push({key:{status:"valid",value:Q},value:_._parse(new KW(X,z,X.path,Q)),alwaysSet:Q in X.data})}if(this._def.catchall instanceof nW){let Q=this._def.unknownKeys;if(Q==="passthrough")for(let _ of H)T.push({key:{status:"valid",value:_},value:{status:"valid",value:X.data[_]}});else if(Q==="strict"){if(H.length>0)h(X,{code:S.unrecognized_keys,keys:H}),Y.dirty()}else if(Q==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Q=this._def.catchall;for(let _ of H){let z=X.data[_];T.push({key:{status:"valid",value:_},value:Q._parse(new KW(X,z,X.path,_)),alwaysSet:_ in X.data})}}if(X.common.async)return Promise.resolve().then(async()=>{let Q=[];for(let _ of T){let z=await _.key,F=await _.value;Q.push({key:z,value:F,alwaysSet:_.alwaysSet})}return Q}).then((Q)=>{return L1.mergeObjectSync(Y,Q)});else return L1.mergeObjectSync(Y,T)}get shape(){return this._def.shape()}strict(W){return l.errToObj,new o0({...this._def,unknownKeys:"strict",...W!==void 0?{errorMap:($,Y)=>{let X=this._def.errorMap?.($,Y).message??Y.defaultError;if($.code==="unrecognized_keys")return{message:l.errToObj(W).message??X};return{message:X}}}:{}})}strip(){return new o0({...this._def,unknownKeys:"strip"})}passthrough(){return new o0({...this._def,unknownKeys:"passthrough"})}extend(W){return new o0({...this._def,shape:()=>({...this._def.shape(),...W})})}merge(W){return new o0({unknownKeys:W._def.unknownKeys,catchall:W._def.catchall,shape:()=>({...this._def.shape(),...W._def.shape()}),typeName:q.ZodObject})}setKey(W,$){return this.augment({[W]:$})}catchall(W){return new o0({...this._def,catchall:W})}pick(W){let $={};for(let Y of V0.objectKeys(W))if(W[Y]&&this.shape[Y])$[Y]=this.shape[Y];return new o0({...this._def,shape:()=>$})}omit(W){let $={};for(let Y of V0.objectKeys(this.shape))if(!W[Y])$[Y]=this.shape[Y];return new o0({...this._def,shape:()=>$})}deepPartial(){return p2(this)}partial(W){let $={};for(let Y of V0.objectKeys(this.shape)){let X=this.shape[Y];if(W&&!W[Y])$[Y]=X;else $[Y]=X.optional()}return new o0({...this._def,shape:()=>$})}required(W){let $={};for(let Y of V0.objectKeys(this.shape))if(W&&!W[Y])$[Y]=this.shape[Y];else{let G=this.shape[Y];while(G instanceof GW)G=G._def.innerType;$[Y]=G}return new o0({...this._def,shape:()=>$})}keyof(){return aJ(V0.objectKeys(this.shape))}}o0.create=(W,$)=>{return new o0({shape:()=>W,unknownKeys:"strip",catchall:nW.create(),typeName:q.ZodObject,...T0($)})};o0.strictCreate=(W,$)=>{return new o0({shape:()=>W,unknownKeys:"strict",catchall:nW.create(),typeName:q.ZodObject,...T0($)})};o0.lazycreate=(W,$)=>{return new o0({shape:W,unknownKeys:"strip",catchall:nW.create(),typeName:q.ZodObject,...T0($)})};class _4 extends F0{_parse(W){let{ctx:$}=this._processInputParams(W),Y=this._def.options;function X(G){for(let H of G)if(H.result.status==="valid")return H.result;for(let H of G)if(H.result.status==="dirty")return $.common.issues.push(...H.ctx.common.issues),H.result;let J=G.map((H)=>new n1(H.ctx.common.issues));return h($,{code:S.invalid_union,unionErrors:J}),$0}if($.common.async)return Promise.all(Y.map(async(G)=>{let J={...$,common:{...$.common,issues:[]},parent:null};return{result:await G._parseAsync({data:$.data,path:$.path,parent:J}),ctx:J}})).then(X);else{let G=void 0,J=[];for(let T of Y){let Q={...$,common:{...$.common,issues:[]},parent:null},_=T._parseSync({data:$.data,path:$.path,parent:Q});if(_.status==="valid")return _;else if(_.status==="dirty"&&!G)G={result:_,ctx:Q};if(Q.common.issues.length)J.push(Q.common.issues)}if(G)return $.common.issues.push(...G.ctx.common.issues),G.result;let H=J.map((T)=>new n1(T));return h($,{code:S.invalid_union,unionErrors:H}),$0}}get options(){return this._def.options}}_4.create=(W,$)=>{return new _4({options:W,typeName:q.ZodUnion,...T0($)})};var oW=(W)=>{if(W instanceof F4)return oW(W.schema);else if(W instanceof xW)return oW(W.innerType());else if(W instanceof w4)return[W.value];else if(W instanceof a$)return W.options;else if(W instanceof U4)return V0.objectValues(W.enum);else if(W instanceof D4)return oW(W._def.innerType);else if(W instanceof T4)return[void 0];else if(W instanceof Q4)return[null];else if(W instanceof GW)return[void 0,...oW(W.unwrap())];else if(W instanceof S$)return[null,...oW(W.unwrap())];else if(W instanceof o9)return oW(W.unwrap());else if(W instanceof V4)return oW(W.unwrap());else if(W instanceof M4)return oW(W._def.innerType);else return[]};class l9 extends F0{_parse(W){let{ctx:$}=this._processInputParams(W);if($.parsedType!==f.object)return h($,{code:S.invalid_type,expected:f.object,received:$.parsedType}),$0;let Y=this.discriminator,X=$.data[Y],G=this.optionsMap.get(X);if(!G)return h($,{code:S.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),$0;if($.common.async)return G._parseAsync({data:$.data,path:$.path,parent:$});else return G._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(W,$,Y){let X=new Map;for(let G of $){let J=oW(G.shape[W]);if(!J.length)throw new Error(`A discriminator value for key \`${W}\` could not be extracted from all schema options`);for(let H of J){if(X.has(H))throw new Error(`Discriminator property ${String(W)} has duplicate value ${String(H)}`);X.set(H,G)}}return new l9({typeName:q.ZodDiscriminatedUnion,discriminator:W,options:$,optionsMap:X,...T0(Y)})}}function d9(W,$){let Y=lW(W),X=lW($);if(W===$)return{valid:!0,data:W};else if(Y===f.object&&X===f.object){let G=V0.objectKeys($),J=V0.objectKeys(W).filter((T)=>G.indexOf(T)!==-1),H={...W,...$};for(let T of J){let Q=d9(W[T],$[T]);if(!Q.valid)return{valid:!1};H[T]=Q.data}return{valid:!0,data:H}}else if(Y===f.array&&X===f.array){if(W.length!==$.length)return{valid:!1};let G=[];for(let J=0;J<W.length;J++){let H=W[J],T=$[J],Q=d9(H,T);if(!Q.valid)return{valid:!1};G.push(Q.data)}return{valid:!0,data:G}}else if(Y===f.date&&X===f.date&&+W===+$)return{valid:!0,data:W};else return{valid:!1}}class z4 extends F0{_parse(W){let{status:$,ctx:Y}=this._processInputParams(W),X=(G,J)=>{if(p9(G)||p9(J))return $0;let H=d9(G.value,J.value);if(!H.valid)return h(Y,{code:S.invalid_intersection_types}),$0;if(u9(G)||u9(J))$.dirty();return{status:$.value,value:H.data}};if(Y.common.async)return Promise.all([this._def.left._parseAsync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseAsync({data:Y.data,path:Y.path,parent:Y})]).then(([G,J])=>X(G,J));else return X(this._def.left._parseSync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseSync({data:Y.data,path:Y.path,parent:Y}))}}z4.create=(W,$,Y)=>{return new z4({left:W,right:$,typeName:q.ZodIntersection,...T0(Y)})};class rW extends F0{_parse(W){let{status:$,ctx:Y}=this._processInputParams(W);if(Y.parsedType!==f.array)return h(Y,{code:S.invalid_type,expected:f.array,received:Y.parsedType}),$0;if(Y.data.length<this._def.items.length)return h(Y,{code:S.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$0;if(!this._def.rest&&Y.data.length>this._def.items.length)h(Y,{code:S.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let G=[...Y.data].map((J,H)=>{let T=this._def.items[H]||this._def.rest;if(!T)return null;return T._parse(new KW(Y,J,Y.path,H))}).filter((J)=>!!J);if(Y.common.async)return Promise.all(G).then((J)=>{return L1.mergeArray($,J)});else return L1.mergeArray($,G)}get items(){return this._def.items}rest(W){return new rW({...this._def,rest:W})}}rW.create=(W,$)=>{if(!Array.isArray(W))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new rW({items:W,typeName:q.ZodTuple,rest:null,...T0($)})};class KY extends F0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(W){let{status:$,ctx:Y}=this._processInputParams(W);if(Y.parsedType!==f.object)return h(Y,{code:S.invalid_type,expected:f.object,received:Y.parsedType}),$0;let X=[],G=this._def.keyType,J=this._def.valueType;for(let H in Y.data)X.push({key:G._parse(new KW(Y,H,Y.path,H)),value:J._parse(new KW(Y,Y.data[H],Y.path,H)),alwaysSet:H in Y.data});if(Y.common.async)return L1.mergeObjectAsync($,X);else return L1.mergeObjectSync($,X)}get element(){return this._def.valueType}static create(W,$,Y){if($ instanceof F0)return new KY({keyType:W,valueType:$,typeName:q.ZodRecord,...T0(Y)});return new KY({keyType:iW.create(),valueType:W,typeName:q.ZodRecord,...T0($)})}}class EY extends F0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(W){let{status:$,ctx:Y}=this._processInputParams(W);if(Y.parsedType!==f.map)return h(Y,{code:S.invalid_type,expected:f.map,received:Y.parsedType}),$0;let X=this._def.keyType,G=this._def.valueType,J=[...Y.data.entries()].map(([H,T],Q)=>{return{key:X._parse(new KW(Y,H,Y.path,[Q,"key"])),value:G._parse(new KW(Y,T,Y.path,[Q,"value"]))}});if(Y.common.async){let H=new Map;return Promise.resolve().then(async()=>{for(let T of J){let Q=await T.key,_=await T.value;if(Q.status==="aborted"||_.status==="aborted")return $0;if(Q.status==="dirty"||_.status==="dirty")$.dirty();H.set(Q.value,_.value)}return{status:$.value,value:H}})}else{let H=new Map;for(let T of J){let{key:Q,value:_}=T;if(Q.status==="aborted"||_.status==="aborted")return $0;if(Q.status==="dirty"||_.status==="dirty")$.dirty();H.set(Q.value,_.value)}return{status:$.value,value:H}}}}EY.create=(W,$,Y)=>{return new EY({valueType:$,keyType:W,typeName:q.ZodMap,...T0(Y)})};class d2 extends F0{_parse(W){let{status:$,ctx:Y}=this._processInputParams(W);if(Y.parsedType!==f.set)return h(Y,{code:S.invalid_type,expected:f.set,received:Y.parsedType}),$0;let X=this._def;if(X.minSize!==null){if(Y.data.size<X.minSize.value)h(Y,{code:S.too_small,minimum:X.minSize.value,type:"set",inclusive:!0,exact:!1,message:X.minSize.message}),$.dirty()}if(X.maxSize!==null){if(Y.data.size>X.maxSize.value)h(Y,{code:S.too_big,maximum:X.maxSize.value,type:"set",inclusive:!0,exact:!1,message:X.maxSize.message}),$.dirty()}let G=this._def.valueType;function J(T){let Q=new Set;for(let _ of T){if(_.status==="aborted")return $0;if(_.status==="dirty")$.dirty();Q.add(_.value)}return{status:$.value,value:Q}}let H=[...Y.data.values()].map((T,Q)=>G._parse(new KW(Y,T,Y.path,Q)));if(Y.common.async)return Promise.all(H).then((T)=>J(T));else return J(H)}min(W,$){return new d2({...this._def,minSize:{value:W,message:l.toString($)}})}max(W,$){return new d2({...this._def,maxSize:{value:W,message:l.toString($)}})}size(W,$){return this.min(W,$).max(W,$)}nonempty(W){return this.min(1,W)}}d2.create=(W,$)=>{return new d2({valueType:W,minSize:null,maxSize:null,typeName:q.ZodSet,...T0($)})};class J4 extends F0{constructor(){super(...arguments);this.validate=this.implement}_parse(W){let{ctx:$}=this._processInputParams(W);if($.parsedType!==f.function)return h($,{code:S.invalid_type,expected:f.function,received:$.parsedType}),$0;function Y(H,T){return wY({data:H,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,$4(),B$].filter((Q)=>!!Q),issueData:{code:S.invalid_arguments,argumentsError:T}})}function X(H,T){return wY({data:H,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,$4(),B$].filter((Q)=>!!Q),issueData:{code:S.invalid_return_type,returnTypeError:T}})}let G={errorMap:$.common.contextualErrorMap},J=$.data;if(this._def.returns instanceof l2){let H=this;return k1(async function(...T){let Q=new n1([]),_=await H._def.args.parseAsync(T,G).catch((w)=>{throw Q.addIssue(Y(T,w)),Q}),z=await Reflect.apply(J,this,_);return await H._def.returns._def.type.parseAsync(z,G).catch((w)=>{throw Q.addIssue(X(z,w)),Q})})}else{let H=this;return k1(function(...T){let Q=H._def.args.safeParse(T,G);if(!Q.success)throw new n1([Y(T,Q.error)]);let _=Reflect.apply(J,this,Q.data),z=H._def.returns.safeParse(_,G);if(!z.success)throw new n1([X(_,z.error)]);return z.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...W){return new J4({...this._def,args:rW.create(W).rest(t$.create())})}returns(W){return new J4({...this._def,returns:W})}implement(W){return this.parse(W)}strictImplement(W){return this.parse(W)}static create(W,$,Y){return new J4({args:W?W:rW.create([]).rest(t$.create()),returns:$||t$.create(),typeName:q.ZodFunction,...T0(Y)})}}class F4 extends F0{get schema(){return this._def.getter()}_parse(W){let{ctx:$}=this._processInputParams(W);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}F4.create=(W,$)=>{return new F4({getter:W,typeName:q.ZodLazy,...T0($)})};class w4 extends F0{_parse(W){if(W.data!==this._def.value){let $=this._getOrReturnCtx(W);return h($,{received:$.data,code:S.invalid_literal,expected:this._def.value}),$0}return{status:"valid",value:W.data}}get value(){return this._def.value}}w4.create=(W,$)=>{return new w4({value:W,typeName:q.ZodLiteral,...T0($)})};function aJ(W,$){return new a$({values:W,typeName:q.ZodEnum,...T0($)})}class a$ extends F0{constructor(){super(...arguments);X4.set(this,void 0)}_parse(W){if(typeof W.data!=="string"){let $=this._getOrReturnCtx(W),Y=this._def.values;return h($,{expected:V0.joinValues(Y),received:$.parsedType,code:S.invalid_type}),$0}if(!UY(this,X4,"f"))nJ(this,X4,new Set(this._def.values),"f");if(!UY(this,X4,"f").has(W.data)){let $=this._getOrReturnCtx(W),Y=this._def.values;return h($,{received:$.data,code:S.invalid_enum_value,options:Y}),$0}return k1(W.data)}get options(){return this._def.values}get enum(){let W={};for(let $ of this._def.values)W[$]=$;return W}get Values(){let W={};for(let $ of this._def.values)W[$]=$;return W}get Enum(){let W={};for(let $ of this._def.values)W[$]=$;return W}extract(W,$=this._def){return a$.create(W,{...this._def,...$})}exclude(W,$=this._def){return a$.create(this.options.filter((Y)=>!W.includes(Y)),{...this._def,...$})}}X4=new WeakMap;a$.create=aJ;class U4 extends F0{constructor(){super(...arguments);G4.set(this,void 0)}_parse(W){let $=V0.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(W);if(Y.parsedType!==f.string&&Y.parsedType!==f.number){let X=V0.objectValues($);return h(Y,{expected:V0.joinValues(X),received:Y.parsedType,code:S.invalid_type}),$0}if(!UY(this,G4,"f"))nJ(this,G4,new Set(V0.getValidEnumValues(this._def.values)),"f");if(!UY(this,G4,"f").has(W.data)){let X=V0.objectValues($);return h(Y,{received:Y.data,code:S.invalid_enum_value,options:X}),$0}return k1(W.data)}get enum(){return this._def.values}}G4=new WeakMap;U4.create=(W,$)=>{return new U4({values:W,typeName:q.ZodNativeEnum,...T0($)})};class l2 extends F0{unwrap(){return this._def.type}_parse(W){let{ctx:$}=this._processInputParams(W);if($.parsedType!==f.promise&&$.common.async===!1)return h($,{code:S.invalid_type,expected:f.promise,received:$.parsedType}),$0;let Y=$.parsedType===f.promise?$.data:Promise.resolve($.data);return k1(Y.then((X)=>{return this._def.type.parseAsync(X,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}l2.create=(W,$)=>{return new l2({type:W,typeName:q.ZodPromise,...T0($)})};class xW extends F0{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(W){let{status:$,ctx:Y}=this._processInputParams(W),X=this._def.effect||null,G={addIssue:(J)=>{if(h(Y,J),J.fatal)$.abort();else $.dirty()},get path(){return Y.path}};if(G.addIssue=G.addIssue.bind(G),X.type==="preprocess"){let J=X.transform(Y.data,G);if(Y.common.async)return Promise.resolve(J).then(async(H)=>{if($.value==="aborted")return $0;let T=await this._def.schema._parseAsync({data:H,path:Y.path,parent:Y});if(T.status==="aborted")return $0;if(T.status==="dirty")return m2(T.value);if($.value==="dirty")return m2(T.value);return T});else{if($.value==="aborted")return $0;let H=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(H.status==="aborted")return $0;if(H.status==="dirty")return m2(H.value);if($.value==="dirty")return m2(H.value);return H}}if(X.type==="refinement"){let J=(H)=>{let T=X.refinement(H,G);if(Y.common.async)return Promise.resolve(T);if(T instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return H};if(Y.common.async===!1){let H=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(H.status==="aborted")return $0;if(H.status==="dirty")$.dirty();return J(H.value),{status:$.value,value:H.value}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((H)=>{if(H.status==="aborted")return $0;if(H.status==="dirty")$.dirty();return J(H.value).then(()=>{return{status:$.value,value:H.value}})})}if(X.type==="transform")if(Y.common.async===!1){let J=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(!r$(J))return J;let H=X.transform(J.value,G);if(H instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:H}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((J)=>{if(!r$(J))return J;return Promise.resolve(X.transform(J.value,G)).then((H)=>({status:$.value,value:H}))});V0.assertNever(X)}}xW.create=(W,$,Y)=>{return new xW({schema:W,typeName:q.ZodEffects,effect:$,...T0(Y)})};xW.createWithPreprocess=(W,$,Y)=>{return new xW({schema:$,effect:{type:"preprocess",transform:W},typeName:q.ZodEffects,...T0(Y)})};class GW extends F0{_parse(W){if(this._getType(W)===f.undefined)return k1(void 0);return this._def.innerType._parse(W)}unwrap(){return this._def.innerType}}GW.create=(W,$)=>{return new GW({innerType:W,typeName:q.ZodOptional,...T0($)})};class S$ extends F0{_parse(W){if(this._getType(W)===f.null)return k1(null);return this._def.innerType._parse(W)}unwrap(){return this._def.innerType}}S$.create=(W,$)=>{return new S$({innerType:W,typeName:q.ZodNullable,...T0($)})};class D4 extends F0{_parse(W){let{ctx:$}=this._processInputParams(W),Y=$.data;if($.parsedType===f.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}D4.create=(W,$)=>{return new D4({innerType:W,typeName:q.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...T0($)})};class M4 extends F0{_parse(W){let{ctx:$}=this._processInputParams(W),Y={...$,common:{...$.common,issues:[]}},X=this._def.innerType._parse({data:Y.data,path:Y.path,parent:{...Y}});if(Y4(X))return X.then((G)=>{return{status:"valid",value:G.status==="valid"?G.value:this._def.catchValue({get error(){return new n1(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new n1(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}M4.create=(W,$)=>{return new M4({innerType:W,typeName:q.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...T0($)})};class AY extends F0{_parse(W){if(this._getType(W)!==f.nan){let Y=this._getOrReturnCtx(W);return h(Y,{code:S.invalid_type,expected:f.nan,received:Y.parsedType}),$0}return{status:"valid",value:W.data}}}AY.create=(W)=>{return new AY({typeName:q.ZodNaN,...T0(W)})};var FS=Symbol("zod_brand");class o9 extends F0{_parse(W){let{ctx:$}=this._processInputParams(W),Y=$.data;return this._def.type._parse({data:Y,path:$.path,parent:$})}unwrap(){return this._def.type}}class LY extends F0{_parse(W){let{status:$,ctx:Y}=this._processInputParams(W);if(Y.common.async)return(async()=>{let G=await this._def.in._parseAsync({data:Y.data,path:Y.path,parent:Y});if(G.status==="aborted")return $0;if(G.status==="dirty")return $.dirty(),m2(G.value);else return this._def.out._parseAsync({data:G.value,path:Y.path,parent:Y})})();else{let X=this._def.in._parseSync({data:Y.data,path:Y.path,parent:Y});if(X.status==="aborted")return $0;if(X.status==="dirty")return $.dirty(),{status:"dirty",value:X.value};else return this._def.out._parseSync({data:X.value,path:Y.path,parent:Y})}}static create(W,$){return new LY({in:W,out:$,typeName:q.ZodPipeline})}}class V4 extends F0{_parse(W){let $=this._def.innerType._parse(W),Y=(X)=>{if(r$(X))X.value=Object.freeze(X.value);return X};return Y4($)?$.then((X)=>Y(X)):Y($)}unwrap(){return this._def.innerType}}V4.create=(W,$)=>{return new V4({innerType:W,typeName:q.ZodReadonly,...T0($)})};var wS={object:o0.lazycreate},q;(function(W){W.ZodString="ZodString",W.ZodNumber="ZodNumber",W.ZodNaN="ZodNaN",W.ZodBigInt="ZodBigInt",W.ZodBoolean="ZodBoolean",W.ZodDate="ZodDate",W.ZodSymbol="ZodSymbol",W.ZodUndefined="ZodUndefined",W.ZodNull="ZodNull",W.ZodAny="ZodAny",W.ZodUnknown="ZodUnknown",W.ZodNever="ZodNever",W.ZodVoid="ZodVoid",W.ZodArray="ZodArray",W.ZodObject="ZodObject",W.ZodUnion="ZodUnion",W.ZodDiscriminatedUnion="ZodDiscriminatedUnion",W.ZodIntersection="ZodIntersection",W.ZodTuple="ZodTuple",W.ZodRecord="ZodRecord",W.ZodMap="ZodMap",W.ZodSet="ZodSet",W.ZodFunction="ZodFunction",W.ZodLazy="ZodLazy",W.ZodLiteral="ZodLiteral",W.ZodEnum="ZodEnum",W.ZodEffects="ZodEffects",W.ZodNativeEnum="ZodNativeEnum",W.ZodOptional="ZodOptional",W.ZodNullable="ZodNullable",W.ZodDefault="ZodDefault",W.ZodCatch="ZodCatch",W.ZodPromise="ZodPromise",W.ZodBranded="ZodBranded",W.ZodPipeline="ZodPipeline",W.ZodReadonly="ZodReadonly"})(q||(q={}));var US=iW.create,DS=u2.create,MS=AY.create,VS=c2.create,OS=DY.create,KS=H4.create,ES=MY.create,AS=T4.create,LS=Q4.create,ZS=VY.create,NS=t$.create,RS=nW.create,BS=OY.create,SS=bW.create,qS=o0.create,CS=o0.strictCreate,kS=_4.create,jS=l9.create,IS=z4.create,PS=rW.create,fS=KY.create,bS=EY.create,xS=d2.create,vS=J4.create,yS=F4.create,hS=w4.create,gS=a$.create,mS=U4.create,pS=l2.create,uS=xW.create,cS=GW.create,dS=S$.create,lS=xW.createWithPreprocess,oS=LY.create;function sJ(){return{}}function eJ(W,$){let Y={type:"array"};if(W.type?._def&&W.type?._def?.typeName!==q.ZodAny)Y.items=W0(W.type._def,{...$,currentPath:[...$.currentPath,"items"]});if(W.minLength)K0(Y,"minItems",W.minLength.value,W.minLength.message,$);if(W.maxLength)K0(Y,"maxItems",W.maxLength.value,W.maxLength.message,$);if(W.exactLength)K0(Y,"minItems",W.exactLength.value,W.exactLength.message,$),K0(Y,"maxItems",W.exactLength.value,W.exactLength.message,$);return Y}function W3(W,$){let Y={type:"integer",format:"int64"};if(!W.checks)return Y;for(let X of W.checks)switch(X.kind){case"min":if($.target==="jsonSchema7")if(X.inclusive)K0(Y,"minimum",X.value,X.message,$);else K0(Y,"exclusiveMinimum",X.value,X.message,$);else{if(!X.inclusive)Y.exclusiveMinimum=!0;K0(Y,"minimum",X.value,X.message,$)}break;case"max":if($.target==="jsonSchema7")if(X.inclusive)K0(Y,"maximum",X.value,X.message,$);else K0(Y,"exclusiveMaximum",X.value,X.message,$);else{if(!X.inclusive)Y.exclusiveMaximum=!0;K0(Y,"maximum",X.value,X.message,$)}break;case"multipleOf":K0(Y,"multipleOf",X.value,X.message,$);break}return Y}function $3(){return{type:"boolean"}}function ZY(W,$){return W0(W.type._def,$)}var Y3=(W,$)=>{return W0(W.innerType._def,$)};function i9(W,$,Y){let X=Y??$.dateStrategy;if(Array.isArray(X))return{anyOf:X.map((G,J)=>i9(W,$,G))};switch(X){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return FM(W,$)}}var FM=(W,$)=>{let Y={type:"integer",format:"unix-time"};if($.target==="openApi3")return Y;for(let X of W.checks)switch(X.kind){case"min":K0(Y,"minimum",X.value,X.message,$);break;case"max":K0(Y,"maximum",X.value,X.message,$);break}return Y};function X3(W,$){return{...W0(W.innerType._def,$),default:W.defaultValue()}}function G3(W,$){return $.effectStrategy==="input"?W0(W.schema._def,$):{}}function J3(W){return{type:"string",enum:Array.from(W.values)}}var wM=(W)=>{if("type"in W&&W.type==="string")return!1;return"allOf"in W};function H3(W,$){let Y=[W0(W.left._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),W0(W.right._def,{...$,currentPath:[...$.currentPath,"allOf","1"]})].filter((J)=>!!J),X=$.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,G=[];return Y.forEach((J)=>{if(wM(J)){if(G.push(...J.allOf),J.unevaluatedProperties===void 0)X=void 0}else{let H=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:T,...Q}=J;H=Q}else X=void 0;G.push(H)}}),G.length?{allOf:G,...X}:void 0}function T3(W,$){let Y=typeof W.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(W.value)?"array":"object"};if($.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[W.value]};return{type:Y==="bigint"?"integer":Y,const:W.value}}var n9=void 0,EW={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(n9===void 0)n9=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return n9},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function NY(W,$){let Y={type:"string"};if(W.checks)for(let X of W.checks)switch(X.kind){case"min":K0(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,X.value):X.value,X.message,$);break;case"max":K0(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,X.value):X.value,X.message,$);break;case"email":switch($.emailStrategy){case"format:email":AW(Y,"email",X.message,$);break;case"format:idn-email":AW(Y,"idn-email",X.message,$);break;case"pattern:zod":j1(Y,EW.email,X.message,$);break}break;case"url":AW(Y,"uri",X.message,$);break;case"uuid":AW(Y,"uuid",X.message,$);break;case"regex":j1(Y,X.regex,X.message,$);break;case"cuid":j1(Y,EW.cuid,X.message,$);break;case"cuid2":j1(Y,EW.cuid2,X.message,$);break;case"startsWith":j1(Y,RegExp(`^${r9(X.value,$)}`),X.message,$);break;case"endsWith":j1(Y,RegExp(`${r9(X.value,$)}$`),X.message,$);break;case"datetime":AW(Y,"date-time",X.message,$);break;case"date":AW(Y,"date",X.message,$);break;case"time":AW(Y,"time",X.message,$);break;case"duration":AW(Y,"duration",X.message,$);break;case"length":K0(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,X.value):X.value,X.message,$),K0(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,X.value):X.value,X.message,$);break;case"includes":{j1(Y,RegExp(r9(X.value,$)),X.message,$);break}case"ip":{if(X.version!=="v6")AW(Y,"ipv4",X.message,$);if(X.version!=="v4")AW(Y,"ipv6",X.message,$);break}case"base64url":j1(Y,EW.base64url,X.message,$);break;case"jwt":j1(Y,EW.jwt,X.message,$);break;case"cidr":{if(X.version!=="v6")j1(Y,EW.ipv4Cidr,X.message,$);if(X.version!=="v4")j1(Y,EW.ipv6Cidr,X.message,$);break}case"emoji":j1(Y,EW.emoji(),X.message,$);break;case"ulid":{j1(Y,EW.ulid,X.message,$);break}case"base64":{switch($.base64Strategy){case"format:binary":{AW(Y,"binary",X.message,$);break}case"contentEncoding:base64":{K0(Y,"contentEncoding","base64",X.message,$);break}case"pattern:zod":{j1(Y,EW.base64,X.message,$);break}}break}case"nanoid":j1(Y,EW.nanoid,X.message,$);case"toLowerCase":case"toUpperCase":case"trim":break;default:((G)=>{})(X)}return Y}function r9(W,$){return $.patternStrategy==="escape"?DM(W):W}var UM=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function DM(W){let $="";for(let Y=0;Y<W.length;Y++){if(!UM.has(W[Y]))$+="\\";$+=W[Y]}return $}function AW(W,$,Y,X){if(W.format||W.anyOf?.some((G)=>G.format)){if(!W.anyOf)W.anyOf=[];if(W.format){if(W.anyOf.push({format:W.format,...W.errorMessage&&X.errorMessages&&{errorMessage:{format:W.errorMessage.format}}}),delete W.format,W.errorMessage){if(delete W.errorMessage.format,Object.keys(W.errorMessage).length===0)delete W.errorMessage}}W.anyOf.push({format:$,...Y&&X.errorMessages&&{errorMessage:{format:Y}}})}else K0(W,"format",$,Y,X)}function j1(W,$,Y,X){if(W.pattern||W.allOf?.some((G)=>G.pattern)){if(!W.allOf)W.allOf=[];if(W.pattern){if(W.allOf.push({pattern:W.pattern,...W.errorMessage&&X.errorMessages&&{errorMessage:{pattern:W.errorMessage.pattern}}}),delete W.pattern,W.errorMessage){if(delete W.errorMessage.pattern,Object.keys(W.errorMessage).length===0)delete W.errorMessage}}W.allOf.push({pattern:Q3($,X),...Y&&X.errorMessages&&{errorMessage:{pattern:Y}}})}else K0(W,"pattern",Q3($,X),Y,X)}function Q3(W,$){if(!$.applyRegexFlags||!W.flags)return W.source;let Y={i:W.flags.includes("i"),m:W.flags.includes("m"),s:W.flags.includes("s")},X=Y.i?W.source.toLowerCase():W.source,G="",J=!1,H=!1,T=!1;for(let Q=0;Q<X.length;Q++){if(J){G+=X[Q],J=!1;continue}if(Y.i){if(H){if(X[Q].match(/[a-z]/)){if(T)G+=X[Q],G+=`${X[Q-2]}-${X[Q]}`.toUpperCase(),T=!1;else if(X[Q+1]==="-"&&X[Q+2]?.match(/[a-z]/))G+=X[Q],T=!0;else G+=`${X[Q]}${X[Q].toUpperCase()}`;continue}}else if(X[Q].match(/[a-z]/)){G+=`[${X[Q]}${X[Q].toUpperCase()}]`;continue}}if(Y.m){if(X[Q]==="^"){G+=`(^|(?<=[\r
|
|
6
|
+
]))`;continue}else if(X[Q]==="$"){G+=`($|(?=[\r
|
|
7
|
+
]))`;continue}}if(Y.s&&X[Q]==="."){G+=H?`${X[Q]}\r
|
|
8
|
+
`:`[${X[Q]}\r
|
|
9
|
+
]`;continue}if(G+=X[Q],X[Q]==="\\")J=!0;else if(H&&X[Q]==="]")H=!1;else if(!H&&X[Q]==="[")H=!0}try{new RegExp(G)}catch{return console.warn(`Could not convert regex pattern at ${$.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),W.source}return G}function RY(W,$){if($.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if($.target==="openApi3"&&W.keyType?._def.typeName===q.ZodEnum)return{type:"object",required:W.keyType._def.values,properties:W.keyType._def.values.reduce((X,G)=>({...X,[G]:W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"properties",G]})??{}}),{}),additionalProperties:$.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]})??$.allowedAdditionalProperties};if($.target==="openApi3")return Y;if(W.keyType?._def.typeName===q.ZodString&&W.keyType._def.checks?.length){let{type:X,...G}=NY(W.keyType._def,$);return{...Y,propertyNames:G}}else if(W.keyType?._def.typeName===q.ZodEnum)return{...Y,propertyNames:{enum:W.keyType._def.values}};else if(W.keyType?._def.typeName===q.ZodBranded&&W.keyType._def.type._def.typeName===q.ZodString&&W.keyType._def.type._def.checks?.length){let{type:X,...G}=ZY(W.keyType._def,$);return{...Y,propertyNames:G}}return Y}function _3(W,$){if($.mapStrategy==="record")return RY(W,$);let Y=W0(W.keyType._def,{...$,currentPath:[...$.currentPath,"items","items","0"]})||{},X=W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[Y,X],minItems:2,maxItems:2}}}function z3(W){let $=W.values,X=Object.keys(W.values).filter((J)=>{return typeof $[$[J]]!=="number"}).map((J)=>$[J]),G=Array.from(new Set(X.map((J)=>typeof J)));return{type:G.length===1?G[0]==="string"?"string":"number":["string","number"],enum:X}}function F3(){return{not:{}}}function w3(W){return W.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var O4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function D3(W,$){if($.target==="openApi3")return U3(W,$);let Y=W.options instanceof Map?Array.from(W.options.values()):W.options;if(Y.every((X)=>(X._def.typeName in O4)&&(!X._def.checks||!X._def.checks.length))){let X=Y.reduce((G,J)=>{let H=O4[J._def.typeName];return H&&!G.includes(H)?[...G,H]:G},[]);return{type:X.length>1?X:X[0]}}else if(Y.every((X)=>X._def.typeName==="ZodLiteral"&&!X.description)){let X=Y.reduce((G,J)=>{let H=typeof J._def.value;switch(H){case"string":case"number":case"boolean":return[...G,H];case"bigint":return[...G,"integer"];case"object":if(J._def.value===null)return[...G,"null"];case"symbol":case"undefined":case"function":default:return G}},[]);if(X.length===Y.length){let G=X.filter((J,H,T)=>T.indexOf(J)===H);return{type:G.length>1?G:G[0],enum:Y.reduce((J,H)=>{return J.includes(H._def.value)?J:[...J,H._def.value]},[])}}}else if(Y.every((X)=>X._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((X,G)=>[...X,...G._def.values.filter((J)=>!X.includes(J))],[])};return U3(W,$)}var U3=(W,$)=>{let Y=(W.options instanceof Map?Array.from(W.options.values()):W.options).map((X,G)=>W0(X._def,{...$,currentPath:[...$.currentPath,"anyOf",`${G}`]})).filter((X)=>!!X&&(!$.strictUnions||typeof X==="object"&&Object.keys(X).length>0));return Y.length?{anyOf:Y}:void 0};function M3(W,$){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(W.innerType._def.typeName)&&(!W.innerType._def.checks||!W.innerType._def.checks.length)){if($.target==="openApi3")return{type:O4[W.innerType._def.typeName],nullable:!0};return{type:[O4[W.innerType._def.typeName],"null"]}}if($.target==="openApi3"){let X=W0(W.innerType._def,{...$,currentPath:[...$.currentPath]});if(X&&"$ref"in X)return{allOf:[X],nullable:!0};return X&&{...X,nullable:!0}}let Y=W0(W.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function V3(W,$){let Y={type:"number"};if(!W.checks)return Y;for(let X of W.checks)switch(X.kind){case"int":Y.type="integer",m9(Y,"type",X.message,$);break;case"min":if($.target==="jsonSchema7")if(X.inclusive)K0(Y,"minimum",X.value,X.message,$);else K0(Y,"exclusiveMinimum",X.value,X.message,$);else{if(!X.inclusive)Y.exclusiveMinimum=!0;K0(Y,"minimum",X.value,X.message,$)}break;case"max":if($.target==="jsonSchema7")if(X.inclusive)K0(Y,"maximum",X.value,X.message,$);else K0(Y,"exclusiveMaximum",X.value,X.message,$);else{if(!X.inclusive)Y.exclusiveMaximum=!0;K0(Y,"maximum",X.value,X.message,$)}break;case"multipleOf":K0(Y,"multipleOf",X.value,X.message,$);break}return Y}function O3(W,$){let Y=$.target==="openAi",X={type:"object",properties:{}},G=[],J=W.shape();for(let T in J){let Q=J[T];if(Q===void 0||Q._def===void 0)continue;let _=VM(Q);if(_&&Y){if(Q instanceof GW)Q=Q._def.innerType;if(!Q.isNullable())Q=Q.nullable();_=!1}let z=W0(Q._def,{...$,currentPath:[...$.currentPath,"properties",T],propertyPath:[...$.currentPath,"properties",T]});if(z===void 0)continue;if(X.properties[T]=z,!_)G.push(T)}if(G.length)X.required=G;let H=MM(W,$);if(H!==void 0)X.additionalProperties=H;return X}function MM(W,$){if(W.catchall._def.typeName!=="ZodNever")return W0(W.catchall._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]});switch(W.unknownKeys){case"passthrough":return $.allowedAdditionalProperties;case"strict":return $.rejectedAdditionalProperties;case"strip":return $.removeAdditionalStrategy==="strict"?$.allowedAdditionalProperties:$.rejectedAdditionalProperties}}function VM(W){try{return W.isOptional()}catch{return!0}}var K3=(W,$)=>{if($.currentPath.toString()===$.propertyPath?.toString())return W0(W.innerType._def,$);let Y=W0(W.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:{}},Y]}:{}};var E3=(W,$)=>{if($.pipeStrategy==="input")return W0(W.in._def,$);else if($.pipeStrategy==="output")return W0(W.out._def,$);let Y=W0(W.in._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),X=W0(W.out._def,{...$,currentPath:[...$.currentPath,"allOf",Y?"1":"0"]});return{allOf:[Y,X].filter((G)=>G!==void 0)}};function A3(W,$){return W0(W.type._def,$)}function L3(W,$){let X={type:"array",uniqueItems:!0,items:W0(W.valueType._def,{...$,currentPath:[...$.currentPath,"items"]})};if(W.minSize)K0(X,"minItems",W.minSize.value,W.minSize.message,$);if(W.maxSize)K0(X,"maxItems",W.maxSize.value,W.maxSize.message,$);return X}function Z3(W,$){if(W.rest)return{type:"array",minItems:W.items.length,items:W.items.map((Y,X)=>W0(Y._def,{...$,currentPath:[...$.currentPath,"items",`${X}`]})).reduce((Y,X)=>X===void 0?Y:[...Y,X],[]),additionalItems:W0(W.rest._def,{...$,currentPath:[...$.currentPath,"additionalItems"]})};else return{type:"array",minItems:W.items.length,maxItems:W.items.length,items:W.items.map((Y,X)=>W0(Y._def,{...$,currentPath:[...$.currentPath,"items",`${X}`]})).reduce((Y,X)=>X===void 0?Y:[...Y,X],[])}}function N3(){return{not:{}}}function R3(){return{}}var B3=(W,$)=>{return W0(W.innerType._def,$)};var S3=(W,$,Y)=>{switch($){case q.ZodString:return NY(W,Y);case q.ZodNumber:return V3(W,Y);case q.ZodObject:return O3(W,Y);case q.ZodBigInt:return W3(W,Y);case q.ZodBoolean:return $3();case q.ZodDate:return i9(W,Y);case q.ZodUndefined:return N3();case q.ZodNull:return w3(Y);case q.ZodArray:return eJ(W,Y);case q.ZodUnion:case q.ZodDiscriminatedUnion:return D3(W,Y);case q.ZodIntersection:return H3(W,Y);case q.ZodTuple:return Z3(W,Y);case q.ZodRecord:return RY(W,Y);case q.ZodLiteral:return T3(W,Y);case q.ZodEnum:return J3(W);case q.ZodNativeEnum:return z3(W);case q.ZodNullable:return M3(W,Y);case q.ZodOptional:return K3(W,Y);case q.ZodMap:return _3(W,Y);case q.ZodSet:return L3(W,Y);case q.ZodLazy:return()=>W.getter()._def;case q.ZodPromise:return A3(W,Y);case q.ZodNaN:case q.ZodNever:return F3();case q.ZodEffects:return G3(W,Y);case q.ZodAny:return sJ();case q.ZodUnknown:return R3();case q.ZodDefault:return X3(W,Y);case q.ZodBranded:return ZY(W,Y);case q.ZodReadonly:return B3(W,Y);case q.ZodCatch:return Y3(W,Y);case q.ZodPipeline:return E3(W,Y);case q.ZodFunction:case q.ZodVoid:case q.ZodSymbol:return;default:return((X)=>{return})($)}};function W0(W,$,Y=!1){let X=$.seen.get(W);if($.override){let T=$.override?.(W,$,X,Y);if(T!==cJ)return T}if(X&&!Y){let T=OM(X,$);if(T!==void 0)return T}let G={def:W,path:$.currentPath,jsonSchema:void 0};$.seen.set(W,G);let J=S3(W,W.typeName,$),H=typeof J==="function"?W0(J(),$):J;if(H)EM(W,$,H);if($.postProcess){let T=$.postProcess(H,W,$);return G.jsonSchema=H,T}return G.jsonSchema=H,H}var OM=(W,$)=>{switch($.$refStrategy){case"root":return{$ref:W.path.join("/")};case"relative":return{$ref:KM($.currentPath,W.path)};case"none":case"seen":{if(W.path.length<$.currentPath.length&&W.path.every((Y,X)=>$.currentPath[X]===Y))return console.warn(`Recursive reference detected at ${$.currentPath.join("/")}! Defaulting to any`),{};return $.$refStrategy==="seen"?{}:void 0}}},KM=(W,$)=>{let Y=0;for(;Y<W.length&&Y<$.length;Y++)if(W[Y]!==$[Y])break;return[(W.length-Y).toString(),...$.slice(Y)].join("/")},EM=(W,$,Y)=>{if(W.description){if(Y.description=W.description,$.markdownDescription)Y.markdownDescription=W.description}return Y};var q3=(W,$)=>{let Y=lJ($),X=typeof $==="object"&&$.definitions?Object.entries($.definitions).reduce((Q,[_,z])=>({...Q,[_]:W0(z._def,{...Y,currentPath:[...Y.basePath,Y.definitionPath,_]},!0)??{}}),{}):void 0,G=typeof $==="string"?$:$?.nameStrategy==="title"?void 0:$?.name,J=W0(W._def,G===void 0?Y:{...Y,currentPath:[...Y.basePath,Y.definitionPath,G]},!1)??{},H=typeof $==="object"&&$.name!==void 0&&$.nameStrategy==="title"?$.name:void 0;if(H!==void 0)J.title=H;let T=G===void 0?X?{...J,[Y.definitionPath]:X}:J:{$ref:[...Y.$refStrategy==="relative"?[]:Y.basePath,Y.definitionPath,G].join("/"),[Y.definitionPath]:{...X,[G]:J}};if(Y.target==="jsonSchema7")T.$schema="http://json-schema.org/draft-07/schema#";else if(Y.target==="jsonSchema2019-09"||Y.target==="openAi")T.$schema="https://json-schema.org/draft/2019-09/schema#";if(Y.target==="openAi"&&(("anyOf"in T)||("oneOf"in T)||("allOf"in T)||("type"in T)&&Array.isArray(T.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return T};var C3=q3;function k3(W,$){return function Y({schema:X,fallback:G,toJsonSchema:J=C3}){let H=J(X);return async function T(Q,_=3){let z,F=[];while(F.length<_){z=await W(Q,H,G,F);let w=await X["~standard"].validate(z);if("value"in w)return w.value;$?.warn(`safegen failed to generate well-formed data.
|
|
10
10
|
`,`Here's what was returned last time:
|
|
11
|
-
`,JSON.stringify(
|
|
11
|
+
`,JSON.stringify(z,null,"\t"),`
|
|
12
12
|
`,`Here are the issues returned from our validation:
|
|
13
|
-
`,JSON.stringify(w.issues,null,"\t")),
|
|
14
|
-
`)}var g3=
|
|
13
|
+
`,JSON.stringify(w.issues,null,"\t")),F.push({response:z,error:w})}return $?.error(`safegen was unable to generate well-formed data after ${_} failed attempts.`),G}}}function j3(W){return["Please generate a response in JSON that conforms to the following JSON Schema:",JSON.stringify(W,null,2)].join(`
|
|
14
|
+
`)}var g3=bD(f3(),1);import*as y1 from"fs";import*as o2 from"path";import{resolve as BM}from"path";import{createHash as SM}from"crypto";import{copyFile as qM}from"fs/promises";import{existsSync as t9,mkdirSync as b3,readFileSync as NM,readdirSync as x3,rmSync as v3,statSync as y3,writeFileSync as RM}from"fs";import{resolve as a9}from"path";var h3=class{rootDir;get initialized(){return t9(this.rootDir)}initialize(){if(!this.initialized)b3(this.rootDir,{recursive:!0})}constructor(W){if(this.rootDir=W.path,W.eagerInit)this.initialize()}getItem(W){let $=a9(this.rootDir,W);if(t9($))return NM($,"utf-8");return null}setItem(W,$){this.initialize();let Y=a9(this.rootDir,W);RM(Y,$)}removeItem(W){let $=a9(this.rootDir,W);if(t9($))this.initialize(),v3($)}key(W){return x3(this.rootDir).sort((X,G)=>{let J=y3(X);return y3(G).ctimeMs-J.ctimeMs})[W]??null}clear(){v3(this.rootDir,{recursive:!0}),b3(this.rootDir,{recursive:!0})}get length(){return x3(this.rootDir).length}};var m3=/[^a-zA-Z0-9\-._]/g;function L4(W,$=64){if($%2===1)$+=1;let Y=W.replace(m3,"-");if(Y.length<=$)return Y;let X=SM("sha256").update(W).digest("base64").slice(0,8).replace("/","_"),G=Y;if(G.length>$){let J=G.slice(0,$/2),H=G.slice(-$/2);G=J+"_"+H}return G+"+"+X}var CM=g3.default("varmint"),A4=L4(process.cwd(),150),s9=BM(CM,A4),Y1="_-$-_-$-_",p3=`file${Y1}`,u3=`list${Y1}`,c3=`root${Y1}`,kM=`unmatched${Y1}`,P0={storage:new h3({path:s9,eagerInit:!1}),startGlobalTracking(){if(console.log(`\uD83D\uDC3F\uFE0F Starting global tracking of varmint files using project identifier "${A4}"`),P0.storage.initialized)console.error(`\uD83D\uDCA5 The global cache for the project "${A4}" was found already initialized. Clearing it and starting fresh.`),P0.storage.clear();P0.storage.initialize()},async prepareUploads(W){console.log(`\uD83D\uDC3F\uFE0F Moving unmatched inputs to /tmp/varmint-uploads using project identifier "${A4}"`);let $=[];for(let Y of y1.readdirSync(P0.storage.rootDir))if(BY(`unmatched${Y1}`,Y))$.push(Y);if($.length===0){console.log("\uD83D\uDC3F\uFE0F ","No unmatched input files found.");return}if(console.log("\uD83D\uDC3F\uFE0F ","Found the following unmatched files:",`
|
|
15
15
|
- ${$.join(`
|
|
16
16
|
`)}
|
|
17
17
|
`,`in root folder:
|
|
18
|
-
`,
|
|
18
|
+
`,s9),process.env[W])y1.mkdirSync("/tmp/varmint-uploads",{recursive:!0}),await Promise.all($.map(async(Y)=>{let X=o2.join(s9,Y),G=o2.join("/tmp/varmint-uploads",Y);await qM(X,G)}));else console.warn("\uD83D\uDCA5 Skipping artifact upload because process.env.CI is not set.")},endGlobalTrackingAndFlushUnusedFiles(){if(console.log(`\uD83D\uDC3F\uFE0F Ending global tracking of varmint files using project identifier "${A4}" and starting cleanup of untouched files.`),!P0.storage.initialized){console.error("\uD83D\uDCA5 called flushGlobal, but the global cache wasn't initialized with startGlobalTracking");return}let W=y1.readdirSync(P0.storage.rootDir),$=new Map,Y=[],X=[],G=[];for(let H of W)if(BY(`root${Y1}`,H))Y.push(H);else if(BY(`list${Y1}`,H))X.push(H);else if(BY(`file${Y1}`,H))G.push(H);if(P0.storage.getItem("DID_CACHE_MISS"))console.log("\uD83D\uDC3F\uFE0F ","Cache miss detected. Since this likely prevented the cache from being fully utilized, we will not attempt to flush unused files.");else{let H=new Map;for(let T of Y){let Q=T.replace(c3,"");H.set(Q,new Map);let _=P0.storage.getItem(T);if(_)$.set(Q,_);else console.error(`\uD83D\uDCA5 Could not find folder ${_} referenced in the global cache`)}for(let T of X){let Q=T.replace(u3,""),[_,z]=Q.split(Y1),F=H.get(_);if(F)F.set(z,new Set);else console.error(`\uD83D\uDCA5 Could not find root ${_} for list ${z}`)}for(let T of G){let Q=T.replace(p3,""),[_,z,F]=Q.split(Y1),w=H.get(_);if(w){let O=w.get(z);if(O)O.add(F);else console.error(`\uD83D\uDCA5 Could not find list ${z} for file ${Q}`)}else console.error(`\uD83D\uDCA5 Could not find root ${_} for file ${Q}`)}console.log("\uD83D\uDC3F\uFE0F ",H);for(let[T,Q]of H.entries()){let _=$.get(T);if(!_){console.error(`\uD83D\uDCA5 Could not find root ${T}`);continue}if(!y1.existsSync(_)){console.warn(`\uD83D\uDCA5 Root folder ${_}, identified as being used during tracking, no longer exists during cleanup.`);continue}let F=y1.readdirSync(_);for(let w of F)if(w!==".ferret"&&!Q.has(w)){let O=o2.join(_,w);console.log(`\uD83E\uDDF9 globalFlush: removing directory ${O}`),y1.rmSync(O,{recursive:!0})}for(let[w,O]of Q.entries()){let V=o2.join(_,w);if(!y1.existsSync(V)){console.warn(`\uD83D\uDCA5 List folder ${V}, identified as being used during tracking, no longer exists.`);continue}let I=y1.readdirSync(V);for(let j of I){let N=j.replace(".input.json","").replace(".output.json","").replace(".stream.txt","");if(!O.has(N)){let B=o2.join(V,j);console.log(`\uD83E\uDDF9 globalFlush: removing file ${B}`),y1.rmSync(B)}}}}}y1.rmSync(P0.storage.rootDir,{recursive:!0})}};function BY(W,$){return $.startsWith(W)}import*as i0 from"fs";import*as LW from"path";import{inspect as d3}from"util";var l3=class{filenameCache=new Map;filesTouched=new Map;mode;baseDir;rootName;constructor(W="off",$=LW.join(process.cwd(),".varmint")){if(this.mode=W,this.baseDir=$,this.rootName=L4(this.baseDir),P0.storage.initialized&&!P0.storage.getItem(`root${Y1}${this.rootName}`))P0.storage.setItem(`root${Y1}${this.rootName}`,this.baseDir)}read(W,$,Y){let X=LW.join(this.baseDir,W),G=`${$}.input.json`,J=LW.join(X,G);if(!i0.existsSync(J)){if(!i0.existsSync(X)){if(P0.storage.initialized&&this.mode==="read")P0.storage.setItem("DID_CACHE_MISS","true");throw new Error(`Squirrel: input file for key "${W}" with "${$}" was not found. Directory "${X}" does not exist.`)}let F=i0.readdirSync(X).map((V)=>[V,i0.readFileSync(LW.join(X,V),"utf-8")]).filter(([V])=>V.endsWith(".input.json")),w=[];for(let[V,E]of F){let I=` ${V}`,j=` ${d3(JSON.parse(E),{depth:Number.POSITIVE_INFINITY,colors:!0}).split(`
|
|
19
19
|
`).join(`
|
|
20
20
|
`)}`;w.push(I,j)}let O=` ${G}
|
|
21
|
-
${d3(
|
|
21
|
+
${d3(Y,{depth:Number.POSITIVE_INFINITY,colors:!0}).split(`
|
|
22
22
|
`).join(`
|
|
23
|
-
`)}`;if(P0.storage.initialized&&this.mode==="read")P0.storage.setItem(`unmatched${
|
|
23
|
+
`)}`;if(P0.storage.initialized&&this.mode==="read")P0.storage.setItem(`unmatched${Y1}${G}`,JSON.stringify(Y,null,"\t")),P0.storage.setItem("DID_CACHE_MISS","true");throw new Error(`Squirrel: input file for key "${W}" with subKey "${$}" (${J}) was not found. Directory "${X}" exists, but the file does not. Below is a list of CACHED INPUT FILES from that directory and their contents, followed by YOUR INPUT DATA.
|
|
24
24
|
|
|
25
25
|
CACHED INPUT FILES:
|
|
26
26
|
${w.join(`
|
|
@@ -28,22 +28,22 @@ ${w.join(`
|
|
|
28
28
|
|
|
29
29
|
YOUR INPUT DATA:
|
|
30
30
|
${O}
|
|
31
|
-
`)}let H=i0.readFileSync(J,"utf-8"),
|
|
31
|
+
`)}let H=i0.readFileSync(J,"utf-8"),T=JSON.stringify(Y,null,"\t");if(T!==H){if(P0.storage.initialized&&this.mode==="read")P0.storage.setItem("DID_CACHE_MISS","true");throw new Error(`Squirrel: the content of the cached input file ${J} does not match the input provided.
|
|
32
32
|
|
|
33
33
|
Provided:
|
|
34
|
-
${
|
|
34
|
+
${T}
|
|
35
35
|
|
|
36
36
|
Cached:
|
|
37
|
-
${H}`)}let z=LW.join(this.baseDir,`${W}/${$}.output.json`);return JSON.parse(i0.readFileSync(z,"utf-8"))}async write(W,$,X,Y){let G=LW.join(this.baseDir,W),J=LW.join(G,`${$}.input.json`),H=LW.join(G,`${$}.output.json`),Q=JSON.stringify(X,null,"\t");if(!i0.existsSync(this.baseDir))i0.mkdirSync(this.baseDir,{recursive:!0});if(!i0.existsSync(G))i0.mkdirSync(G);if(i0.writeFileSync(J,Q),i0.existsSync(H))i0.unlinkSync(H);let z=await Y(...X),T=JSON.stringify(z,null,"\t");return i0.writeFileSync(H,T),z}add(W,$){let X=`${this.rootName}${X1}${A$(W)}`;return{flush:()=>{this.flush(W)},for:(Y)=>{if(this.mode!=="off"){if(this.filesTouched.set(W,new Set),P0.storage.initialized&&!P0.storage.getItem(`list${X1}${X}`))P0.storage.setItem(`list${X1}${X}`,"true")}return{get:async(...G)=>{let J=Y;if(this.mode!=="off"){let H=this.filenameCache.get(Y);if(!H)H=A$(Y),this.filenameCache.set(Y,H);J=H,this.filesTouched.get(W)?.add(J);let Q=`${X}${X1}${J}`,z=`file${X1}${Q}`;if(P0.storage.initialized&&!P0.storage.getItem(z))P0.storage.setItem(z,"true")}switch(this.mode){case"off":return $(...G);case"read":return this.read(W,J,G);case"write":return this.write(W,J,G,$);case"read-write":try{return this.read(W,J,G)}catch(H){if(H instanceof Error)return this.write(W,J,G,$);throw H}}}}}}}flush(...W){console.log(this.filesTouched);for(let[$,X]of this.filesTouched.entries())if(W.length===0||W.includes($)){let Y=LW.join(this.baseDir,$),G=i0.readdirSync(Y);for(let J of G){let H=J.replace(".input.json","").replace(".output.json","");if(!X.has(H))console.info(`\uD83E\uDDF9 Flushing ${H}`),i0.unlinkSync(LW.join(Y,J))}}}};var NX="RFC3986",ZX={RFC1738:(W)=>String(W).replace(/%20/g,"+"),RFC3986:(W)=>String(W)},o3="RFC1738";var kV=Array.isArray,vW=(()=>{let W=[];for(let $=0;$<256;++$)W.push("%"+(($<16?"0":"")+$.toString(16)).toUpperCase());return W})();var a9=1024,i3=(W,$,X,Y,G)=>{if(W.length===0)return W;let J=W;if(typeof W==="symbol")J=Symbol.prototype.toString.call(W);else if(typeof W!=="string")J=String(W);if(X==="iso-8859-1")return escape(J).replace(/%u[0-9a-f]{4}/gi,function(Q){return"%26%23"+parseInt(Q.slice(2),16)+"%3B"});let H="";for(let Q=0;Q<J.length;Q+=a9){let z=J.length>=a9?J.slice(Q,Q+a9):J,T=[];for(let F=0;F<z.length;++F){let _=z.charCodeAt(F);if(_===45||_===46||_===95||_===126||_>=48&&_<=57||_>=65&&_<=90||_>=97&&_<=122||G===o3&&(_===40||_===41)){T[T.length]=z.charAt(F);continue}if(_<128){T[T.length]=vW[_];continue}if(_<2048){T[T.length]=vW[192|_>>6]+vW[128|_&63];continue}if(_<55296||_>=57344){T[T.length]=vW[224|_>>12]+vW[128|_>>6&63]+vW[128|_&63];continue}F+=1,_=65536+((_&1023)<<10|z.charCodeAt(F)&1023),T[T.length]=vW[240|_>>18]+vW[128|_>>12&63]+vW[128|_>>6&63]+vW[128|_&63]}H+=T.join("")}return H};function n3(W){if(!W||typeof W!=="object")return!1;return!!(W.constructor&&W.constructor.isBuffer&&W.constructor.isBuffer(W))}function s9(W,$){if(kV(W)){let X=[];for(let Y=0;Y<W.length;Y+=1)X.push($(W[Y]));return X}return $(W)}var jV=Object.prototype.hasOwnProperty,r3={brackets(W){return String(W)+"[]"},comma:"comma",indices(W,$){return String(W)+"["+$+"]"},repeat(W){return String(W)}},yW=Array.isArray,IV=Array.prototype.push,t3=function(W,$){IV.apply(W,yW($)?$:[$])},PV=Date.prototype.toISOString,Y1={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:i3,encodeValuesOnly:!1,format:NX,formatter:ZX[NX],indices:!1,serializeDate(W){return PV.call(W)},skipNulls:!1,strictNullHandling:!1};function fV(W){return typeof W==="string"||typeof W==="number"||typeof W==="boolean"||typeof W==="symbol"||typeof W==="bigint"}var e9={};function a3(W,$,X,Y,G,J,H,Q,z,T,F,_,w,O,M,A,I,j){let R=W,Z=j,P=0,h=!1;while((Z=Z.get(e9))!==void 0&&!h){let B=Z.get(W);if(P+=1,typeof B!=="undefined")if(B===P)throw new RangeError("Cyclic object value");else h=!0;if(typeof Z.get(e9)==="undefined")P=0}if(typeof T==="function")R=T($,R);else if(R instanceof Date)R=w?.(R);else if(X==="comma"&&yW(R))R=s9(R,function(B){if(B instanceof Date)return w?.(B);return B});if(R===null){if(J)return z&&!A?z($,Y1.encoder,I,"key",O):$;R=""}if(fV(R)||n3(R)){if(z){let B=A?$:z($,Y1.encoder,I,"key",O);return[M?.(B)+"="+M?.(z(R,Y1.encoder,I,"value",O))]}return[M?.($)+"="+M?.(String(R))]}let x=[];if(typeof R==="undefined")return x;let m;if(X==="comma"&&yW(R)){if(A&&z)R=s9(R,z);m=[{value:R.length>0?R.join(",")||null:void 0}]}else if(yW(T))m=T;else{let B=Object.keys(R);m=F?B.sort(F):B}let w0=Q?String($).replace(/\./g,"%2E"):String($),p0=Y&&yW(R)&&R.length===1?w0+"[]":w0;if(G&&yW(R)&&R.length===0)return p0+"[]";for(let B=0;B<m.length;++B){let V0=m[B],$0=typeof V0==="object"&&typeof V0.value!=="undefined"?V0.value:R[V0];if(H&&$0===null)continue;let U0=_&&Q?V0.replace(/\./g,"%2E"):V0,e0=yW(R)?typeof X==="function"?X(p0,U0):p0:p0+(_?"."+U0:"["+U0+"]");j.set(W,P);let M1=new WeakMap;M1.set(e9,j),t3(x,a3($0,e0,X,Y,G,J,H,Q,X==="comma"&&A&&yW(R)?null:z,T,F,_,w,O,M,A,I,M1))}return x}function xV(W=Y1){if(typeof W.allowEmptyArrays!=="undefined"&&typeof W.allowEmptyArrays!=="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof W.encodeDotInKeys!=="undefined"&&typeof W.encodeDotInKeys!=="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(W.encoder!==null&&typeof W.encoder!=="undefined"&&typeof W.encoder!=="function")throw new TypeError("Encoder has to be a function.");let $=W.charset||Y1.charset;if(typeof W.charset!=="undefined"&&W.charset!=="utf-8"&&W.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let X=NX;if(typeof W.format!=="undefined"){if(!jV.call(ZX,W.format))throw new TypeError("Unknown format option provided.");X=W.format}let Y=ZX[X],G=Y1.filter;if(typeof W.filter==="function"||yW(W.filter))G=W.filter;let J;if(W.arrayFormat&&W.arrayFormat in r3)J=W.arrayFormat;else if("indices"in W)J=W.indices?"indices":"repeat";else J=Y1.arrayFormat;if("commaRoundTrip"in W&&typeof W.commaRoundTrip!=="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let H=typeof W.allowDots==="undefined"?!!W.encodeDotInKeys===!0?!0:Y1.allowDots:!!W.allowDots;return{addQueryPrefix:typeof W.addQueryPrefix==="boolean"?W.addQueryPrefix:Y1.addQueryPrefix,allowDots:H,allowEmptyArrays:typeof W.allowEmptyArrays==="boolean"?!!W.allowEmptyArrays:Y1.allowEmptyArrays,arrayFormat:J,charset:$,charsetSentinel:typeof W.charsetSentinel==="boolean"?W.charsetSentinel:Y1.charsetSentinel,commaRoundTrip:!!W.commaRoundTrip,delimiter:typeof W.delimiter==="undefined"?Y1.delimiter:W.delimiter,encode:typeof W.encode==="boolean"?W.encode:Y1.encode,encodeDotInKeys:typeof W.encodeDotInKeys==="boolean"?W.encodeDotInKeys:Y1.encodeDotInKeys,encoder:typeof W.encoder==="function"?W.encoder:Y1.encoder,encodeValuesOnly:typeof W.encodeValuesOnly==="boolean"?W.encodeValuesOnly:Y1.encodeValuesOnly,filter:G,format:X,formatter:Y,serializeDate:typeof W.serializeDate==="function"?W.serializeDate:Y1.serializeDate,skipNulls:typeof W.skipNulls==="boolean"?W.skipNulls:Y1.skipNulls,sort:typeof W.sort==="function"?W.sort:null,strictNullHandling:typeof W.strictNullHandling==="boolean"?W.strictNullHandling:Y1.strictNullHandling}}function W5(W,$={}){let X=W,Y=xV($),G,J;if(typeof Y.filter==="function")J=Y.filter,X=J("",X);else if(yW(Y.filter))J=Y.filter,G=J;let H=[];if(typeof X!=="object"||X===null)return"";let Q=r3[Y.arrayFormat],z=Q==="comma"&&Y.commaRoundTrip;if(!G)G=Object.keys(X);if(Y.sort)G.sort(Y.sort);let T=new WeakMap;for(let w=0;w<G.length;++w){let O=G[w];if(Y.skipNulls&&X[O]===null)continue;t3(H,a3(X[O],O,Q,z,Y.allowEmptyArrays,Y.strictNullHandling,Y.skipNulls,Y.encodeDotInKeys,Y.encode?Y.encoder:null,Y.filter,Y.sort,Y.allowDots,Y.serializeDate,Y.format,Y.formatter,Y.encodeValuesOnly,Y.charset,T))}let F=H.join(Y.delimiter),_=Y.addQueryPrefix===!0?"?":"";if(Y.charsetSentinel)if(Y.charset==="iso-8859-1")_+="utf8=%26%2310003%3B&";else _+="utf8=%E2%9C%93&";return F.length>0?_+F:""}var t2="4.100.0";var s3=!1,a2=void 0,$5=void 0,vV=void 0,yV=void 0,hV=void 0,X5=void 0,gV=void 0,SX=void 0,Y5=void 0,G5=void 0,J5=void 0,qX=void 0,H5=void 0;function e3(W,$={auto:!1}){if(s3)throw new Error(`you must \`import 'openai/shims/${W.kind}'\` before importing anything else from openai`);if(a2)throw new Error(`can't \`import 'openai/shims/${W.kind}'\` after \`import 'openai/shims/${a2}'\``);s3=$.auto,a2=W.kind,$5=W.fetch,vV=W.Request,yV=W.Response,hV=W.Headers,X5=W.FormData,gV=W.Blob,SX=W.File,Y5=W.ReadableStream,G5=W.getMultipartRequestOptions,J5=W.getDefaultAgent,qX=W.fileFromPath,H5=W.isFsReadStream}class Q5{constructor(W){this.body=W}get[Symbol.toStringTag](){return"MultipartBody"}}function WH({manuallyImported:W}={}){let $=W?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",X,Y,G,J;try{X=fetch,Y=Request,G=Response,J=Headers}catch(H){throw new Error(`this environment is missing the following Web Fetch API type: ${H.message}. ${$}`)}return{kind:"web",fetch:X,Request:Y,Response:G,Headers:J,FormData:typeof FormData!=="undefined"?FormData:class H{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${$}`)}},Blob:typeof Blob!=="undefined"?Blob:class H{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${$}`)}},File:typeof File!=="undefined"?File:class H{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${$}`)}},ReadableStream:typeof ReadableStream!=="undefined"?ReadableStream:class H{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${$}`)}},getMultipartRequestOptions:async(H,Q)=>({...Q,body:new Q5(H)}),getDefaultAgent:(H)=>{return},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:(H)=>!1}}import{ReadStream as pV}from"fs";function $H(){let W=WH();function $(X){return X instanceof pV}return{...W,isFsReadStream:$}}var z5=()=>{if(!a2)e3($H(),{auto:!0})};z5();class o extends Error{}class t0 extends o{constructor(W,$,X,Y){super(`${t0.makeMessage(W,$,X)}`);this.status=W,this.headers=Y,this.request_id=Y?.["x-request-id"],this.error=$;let G=$;this.code=G?.code,this.param=G?.param,this.type=G?.type}static makeMessage(W,$,X){let Y=$?.message?typeof $.message==="string"?$.message:JSON.stringify($.message):$?JSON.stringify($):X;if(W&&Y)return`${W} ${Y}`;if(W)return`${W} status code (no body)`;if(Y)return Y;return"(no status code or body)"}static generate(W,$,X,Y){if(!W||!Y)return new s2({message:X,cause:vX($)});let G=$?.error;if(W===400)return new CX(W,G,X,Y);if(W===401)return new kX(W,G,X,Y);if(W===403)return new jX(W,G,X,Y);if(W===404)return new IX(W,G,X,Y);if(W===409)return new PX(W,G,X,Y);if(W===422)return new fX(W,G,X,Y);if(W===429)return new xX(W,G,X,Y);if(W>=500)return new bX(W,G,X,Y);return new t0(W,G,X,Y)}}class G1 extends t0{constructor({message:W}={}){super(void 0,void 0,W||"Request was aborted.",void 0)}}class s2 extends t0{constructor({message:W,cause:$}){super(void 0,void 0,W||"Connection error.",void 0);if($)this.cause=$}}class e2 extends s2{constructor({message:W}={}){super({message:W??"Request timed out."})}}class CX extends t0{}class kX extends t0{}class jX extends t0{}class IX extends t0{}class PX extends t0{}class fX extends t0{}class xX extends t0{}class bX extends t0{}class E$ extends o{constructor(){super("Could not parse response content as the length limit was reached")}}class L$ extends o{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}var yX=function(W,$,X,Y,G){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?G.call(W,X):G?G.value=X:$.set(W,X),X},W8=function(W,$,X,Y){if(X==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!Y:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call(W):Y?Y.value:$.get(W)},n1;class l8{constructor(){n1.set(this,void 0),this.buffer=new Uint8Array,yX(this,n1,null,"f")}decode(W){if(W==null)return[];let $=W instanceof ArrayBuffer?new Uint8Array(W):typeof W==="string"?new TextEncoder().encode(W):W,X=new Uint8Array(this.buffer.length+$.length);X.set(this.buffer),X.set($,this.buffer.length),this.buffer=X;let Y=[],G;while((G=cV(this.buffer,W8(this,n1,"f")))!=null){if(G.carriage&&W8(this,n1,"f")==null){yX(this,n1,G.index,"f");continue}if(W8(this,n1,"f")!=null&&(G.index!==W8(this,n1,"f")+1||G.carriage)){Y.push(this.decodeText(this.buffer.slice(0,W8(this,n1,"f")-1))),this.buffer=this.buffer.slice(W8(this,n1,"f")),yX(this,n1,null,"f");continue}let J=W8(this,n1,"f")!==null?G.preceding-1:G.preceding,H=this.decodeText(this.buffer.slice(0,J));Y.push(H),this.buffer=this.buffer.slice(G.index),yX(this,n1,null,"f")}return Y}decodeText(W){if(W==null)return"";if(typeof W==="string")return W;if(typeof Buffer!=="undefined"){if(W instanceof Buffer)return W.toString();if(W instanceof Uint8Array)return Buffer.from(W).toString();throw new o(`Unexpected: received non-Uint8Array (${W.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder!=="undefined"){if(W instanceof Uint8Array||W instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(W);throw new o(`Unexpected: received non-Uint8Array/ArrayBuffer (${W.constructor.name}) in a web platform. Please report this error.`)}throw new o("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){if(!this.buffer.length)return[];return this.decode(`
|
|
38
|
-
`)}}
|
|
39
|
-
`,"\r"]);
|
|
40
|
-
`);
|
|
41
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],G}if(this.chunks.push(W),W.startsWith(":"))return null;let[$,X,Y]=oV(W,":");if(Y.startsWith(" "))Y=Y.substring(1);if($==="event")this.event=Y;else if($==="data")this.data.push(Y);return null}}function oV(W,$){let X=W.indexOf($);if(X!==-1)return[W.substring(0,X),$,W.substring(X+$.length)];return[W,"",""]}var GH=(W)=>W!=null&&typeof W==="object"&&typeof W.url==="string"&&typeof W.blob==="function",JH=(W)=>W!=null&&typeof W==="object"&&typeof W.name==="string"&&typeof W.lastModified==="number"&&B$(W),B$=(W)=>W!=null&&typeof W==="object"&&typeof W.size==="number"&&typeof W.type==="string"&&typeof W.text==="function"&&typeof W.slice==="function"&&typeof W.arrayBuffer==="function",iV=(W)=>{return JH(W)||GH(W)||H5(W)};async function U5(W,$,X){if(W=await W,JH(W))return W;if(GH(W)){let G=await W.blob();$||($=new URL(W.url).pathname.split(/[\\/]/).pop()??"unknown_file");let J=B$(G)?[await G.arrayBuffer()]:[G];return new SX(J,$,X)}let Y=await nV(W);if($||($=tV(W)??"unknown_file"),!X?.type){let G=Y[0]?.type;if(typeof G==="string")X={...X,type:G}}return new SX(Y,$,X)}async function nV(W){let $=[];if(typeof W==="string"||ArrayBuffer.isView(W)||W instanceof ArrayBuffer)$.push(W);else if(B$(W))$.push(await W.arrayBuffer());else if(aV(W))for await(let X of W)$.push(X);else throw new Error(`Unexpected data type: ${typeof W}; constructor: ${W?.constructor?.name}; props: ${rV(W)}`);return $}function rV(W){return`[${Object.getOwnPropertyNames(W).map((X)=>`"${X}"`).join(", ")}]`}function tV(W){return _5(W.name)||_5(W.filename)||_5(W.path)?.split(/[\\/]/).pop()}var _5=(W)=>{if(typeof W==="string")return W;if(typeof Buffer!=="undefined"&&W instanceof Buffer)return String(W);return},aV=(W)=>W!=null&&typeof W==="object"&&typeof W[Symbol.asyncIterator]==="function",D5=(W)=>W&&typeof W==="object"&&W.body&&W[Symbol.toStringTag]==="MultipartBody";var JW=async(W)=>{let $=await HH(W.body);return G5($,W)},HH=async(W)=>{let $=new X5;return await Promise.all(Object.entries(W||{}).map(([X,Y])=>w5($,X,Y))),$};var w5=async(W,$,X)=>{if(X===void 0)return;if(X==null)throw new TypeError(`Received null for "${$}"; to pass null in FormData, you must use the string 'null'`);if(typeof X==="string"||typeof X==="number"||typeof X==="boolean")W.append($,String(X));else if(iV(X)){let Y=await U5(X);W.append($,Y)}else if(Array.isArray(X))await Promise.all(X.map((Y)=>w5(W,$+"[]",Y)));else if(typeof X==="object")await Promise.all(Object.entries(X).map(([Y,G])=>w5(W,`${$}[${Y}]`,G)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${X} instead`)};var eV=function(W,$,X,Y,G){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?G.call(W,X):G?G.value=X:$.set(W,X),X},WM=function(W,$,X,Y){if(X==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!Y:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call(W):Y?Y.value:$.get(W)},hX;z5();async function wH(W){let{response:$}=W;if(W.options.stream){if(rW("response",$.status,$.url,$.headers,$.body),W.options.__streamClass)return W.options.__streamClass.fromSSEResponse($,W.controller);return r1.fromSSEResponse($,W.controller)}if($.status===204)return null;if(W.options.__binaryResponse)return $;let Y=$.headers.get("content-type")?.split(";")[0]?.trim();if(Y?.includes("application/json")||Y?.endsWith("+json")){let H=await $.json();return rW("response",$.status,$.url,$.headers,H),UH(H,$)}let J=await $.text();return rW("response",$.status,$.url,$.headers,J),J}function UH(W,$){if(!W||typeof W!=="object"||Array.isArray(W))return W;return Object.defineProperty(W,"_request_id",{value:$.headers.get("x-request-id"),enumerable:!1})}class mX extends Promise{constructor(W,$=wH){super((X)=>{X(null)});this.responsePromise=W,this.parseResponse=$}_thenUnwrap(W){return new mX(this.responsePromise,async($)=>UH(W(await this.parseResponse($),$),$.response))}asResponse(){return this.responsePromise.then((W)=>W.response)}async withResponse(){let[W,$]=await Promise.all([this.parse(),this.asResponse()]);return{data:W,response:$,request_id:$.headers.get("x-request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(this.parseResponse);return this.parsedPromise}then(W,$){return this.parse().then(W,$)}catch(W){return this.parse().catch(W)}finally(W){return this.parse().finally(W)}}class M5{constructor({baseURL:W,maxRetries:$=2,timeout:X=600000,httpAgent:Y,fetch:G}){this.baseURL=W,this.maxRetries=V5("maxRetries",$),this.timeout=V5("timeout",X),this.httpAgent=Y,this.fetch=G??$5}authHeaders(W){return{}}defaultHeaders(W){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...GM(),...this.authHeaders(W)}}validateHeaders(W,$){}defaultIdempotencyKey(){return`stainless-node-retry-${zM()}`}get(W,$){return this.methodRequest("get",W,$)}post(W,$){return this.methodRequest("post",W,$)}patch(W,$){return this.methodRequest("patch",W,$)}put(W,$){return this.methodRequest("put",W,$)}delete(W,$){return this.methodRequest("delete",W,$)}methodRequest(W,$,X){return this.request(Promise.resolve(X).then(async(Y)=>{let G=Y&&B$(Y?.body)?new DataView(await Y.body.arrayBuffer()):Y?.body instanceof DataView?Y.body:Y?.body instanceof ArrayBuffer?new DataView(Y.body):Y&&ArrayBuffer.isView(Y?.body)?new DataView(Y.body.buffer):Y?.body;return{method:W,path:$,...Y,body:G}}))}getAPIList(W,$,X){return this.requestAPIList($,{method:"get",path:W,...X})}calculateContentLength(W){if(typeof W==="string"){if(typeof Buffer!=="undefined")return Buffer.byteLength(W,"utf8").toString();if(typeof TextEncoder!=="undefined")return new TextEncoder().encode(W).length.toString()}else if(ArrayBuffer.isView(W))return W.byteLength.toString();return null}buildRequest(W,{retryCount:$=0}={}){let X={...W},{method:Y,path:G,query:J,headers:H={}}=X,Q=ArrayBuffer.isView(X.body)||X.__binaryRequest&&typeof X.body==="string"?X.body:D5(X.body)?X.body.body:X.body?JSON.stringify(X.body,null,2):null,z=this.calculateContentLength(Q),T=this.buildURL(G,J);if("timeout"in X)V5("timeout",X.timeout);X.timeout=X.timeout??this.timeout;let F=X.httpAgent??this.httpAgent??J5(T),_=X.timeout+1000;if(typeof F?.options?.timeout==="number"&&_>(F.options.timeout??0))F.options.timeout=_;if(this.idempotencyHeader&&Y!=="get"){if(!W.idempotencyKey)W.idempotencyKey=this.defaultIdempotencyKey();H[this.idempotencyHeader]=W.idempotencyKey}let w=this.buildHeaders({options:X,headers:H,contentLength:z,retryCount:$});return{req:{method:Y,...Q&&{body:Q},headers:w,...F&&{agent:F},signal:X.signal??null},url:T,timeout:X.timeout}}buildHeaders({options:W,headers:$,contentLength:X,retryCount:Y}){let G={};if(X)G["content-length"]=X;let J=this.defaultHeaders(W);if(FH(G,J),FH(G,$),D5(W.body)&&a2!=="node")delete G["content-type"];if(gX(J,"x-stainless-retry-count")===void 0&&gX($,"x-stainless-retry-count")===void 0)G["x-stainless-retry-count"]=String(Y);if(gX(J,"x-stainless-timeout")===void 0&&gX($,"x-stainless-timeout")===void 0&&W.timeout)G["x-stainless-timeout"]=String(Math.trunc(W.timeout/1000));return this.validateHeaders(G,$),G}async prepareOptions(W){}async prepareRequest(W,{url:$,options:X}){}parseHeaders(W){return!W?{}:(Symbol.iterator in W)?Object.fromEntries(Array.from(W).map(($)=>[...$])):{...W}}makeStatusError(W,$,X,Y){return t0.generate(W,$,X,Y)}request(W,$=null){return new mX(this.makeRequest(W,$))}async makeRequest(W,$){let X=await W,Y=X.maxRetries??this.maxRetries;if($==null)$=Y;await this.prepareOptions(X);let{req:G,url:J,timeout:H}=this.buildRequest(X,{retryCount:Y-$});if(await this.prepareRequest(G,{url:J,options:X}),rW("request",J,X,G.headers),X.signal?.aborted)throw new G1;let Q=new AbortController,z=await this.fetchWithTimeout(J,G,H,Q).catch(vX);if(z instanceof Error){if(X.signal?.aborted)throw new G1;if($)return this.retryRequest(X,$);if(z.name==="AbortError")throw new e2;throw new s2({cause:z})}let T=F5(z.headers);if(!z.ok){if($&&this.shouldRetry(z)){let A=`retrying, ${$} attempts remaining`;return rW(`response (error; ${A})`,z.status,J,T),this.retryRequest(X,$,T)}let F=await z.text().catch((A)=>vX(A).message),_=JM(F),w=_?void 0:F;throw rW(`response (error; ${$?"(error; no more retries left)":"(error; not retryable)"})`,z.status,J,T,w),this.makeStatusError(z.status,_,w,T)}return{response:z,options:X,controller:Q}}requestAPIList(W,$){let X=this.makeRequest($,null);return new DH(this,X,W)}buildURL(W,$){let X=QM(W)?new URL(W):new URL(this.baseURL+(this.baseURL.endsWith("/")&&W.startsWith("/")?W.slice(1):W)),Y=this.defaultQuery();if(!VH(Y))$={...Y,...$};if(typeof $==="object"&&$&&!Array.isArray($))X.search=this.stringifyQuery($);return X.toString()}stringifyQuery(W){return Object.entries(W).filter(([$,X])=>typeof X!=="undefined").map(([$,X])=>{if(typeof X==="string"||typeof X==="number"||typeof X==="boolean")return`${encodeURIComponent($)}=${encodeURIComponent(X)}`;if(X===null)return`${encodeURIComponent($)}=`;throw new o(`Cannot stringify type ${typeof X}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(W,$,X,Y){let{signal:G,...J}=$||{};if(G)G.addEventListener("abort",()=>Y.abort());let H=setTimeout(()=>Y.abort(),X),Q={signal:Y.signal,...J};if(Q.method)Q.method=Q.method.toUpperCase();return this.fetch.call(void 0,W,Q).finally(()=>{clearTimeout(H)})}shouldRetry(W){let $=W.headers.get("x-should-retry");if($==="true")return!0;if($==="false")return!1;if(W.status===408)return!0;if(W.status===409)return!0;if(W.status===429)return!0;if(W.status>=500)return!0;return!1}async retryRequest(W,$,X){let Y,G=X?.["retry-after-ms"];if(G){let H=parseFloat(G);if(!Number.isNaN(H))Y=H}let J=X?.["retry-after"];if(J&&!Y){let H=parseFloat(J);if(!Number.isNaN(H))Y=H*1000;else Y=Date.parse(J)-Date.now()}if(!(Y&&0<=Y&&Y<60000)){let H=W.maxRetries??this.maxRetries;Y=this.calculateDefaultRetryTimeoutMillis($,H)}return await tW(Y),this.makeRequest(W,$-1)}calculateDefaultRetryTimeoutMillis(W,$){let G=$-W,J=Math.min(0.5*Math.pow(2,G),8),H=1-Math.random()*0.25;return J*H*1000}getUserAgent(){return`${this.constructor.name}/JS ${t2}`}}class pX{constructor(W,$,X,Y){hX.set(this,void 0),eV(this,hX,W,"f"),this.options=Y,this.response=$,this.body=X}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageInfo()!=null}async getNextPage(){let W=this.nextPageInfo();if(!W)throw new o("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let $={...this.options};if("params"in W&&typeof $.query==="object")$.query={...$.query,...W.params};else if("url"in W){let X=[...Object.entries($.query||{}),...W.url.searchParams.entries()];for(let[Y,G]of X)W.url.searchParams.set(Y,G);$.query=void 0,$.path=W.url.toString()}return await WM(this,hX,"f").requestAPIList(this.constructor,$)}async*iterPages(){let W=this;yield W;while(W.hasNextPage())W=await W.getNextPage(),yield W}async*[(hX=new WeakMap,Symbol.asyncIterator)](){for await(let W of this.iterPages())for(let $ of W.getPaginatedItems())yield $}}class DH extends mX{constructor(W,$,X){super($,async(Y)=>new X(W,Y.response,await wH(Y),Y.options))}async*[Symbol.asyncIterator](){let W=await this;for await(let $ of W)yield $}}var F5=(W)=>{return new Proxy(Object.fromEntries(W.entries()),{get($,X){let Y=X.toString();return $[Y.toLowerCase()]||$[Y]}})},$M={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},z0=(W)=>{return typeof W==="object"&&W!==null&&!VH(W)&&Object.keys(W).every(($)=>MH($M,$))},XM=()=>{if(typeof Deno!=="undefined"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":t2,"X-Stainless-OS":zH(Deno.build.os),"X-Stainless-Arch":QH(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime!=="undefined")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":t2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process!=="undefined"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":t2,"X-Stainless-OS":zH(process.platform),"X-Stainless-Arch":QH(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let W=YM();if(W)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":t2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${W.browser}`,"X-Stainless-Runtime-Version":W.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":t2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function YM(){if(typeof navigator==="undefined"||!navigator)return null;let W=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:$,pattern:X}of W){let Y=X.exec(navigator.userAgent);if(Y){let G=Y[1]||0,J=Y[2]||0,H=Y[3]||0;return{browser:$,version:`${G}.${J}.${H}`}}}return null}var QH=(W)=>{if(W==="x32")return"x32";if(W==="x86_64"||W==="x64")return"x64";if(W==="arm")return"arm";if(W==="aarch64"||W==="arm64")return"arm64";if(W)return`other:${W}`;return"unknown"},zH=(W)=>{if(W=W.toLowerCase(),W.includes("ios"))return"iOS";if(W==="android")return"Android";if(W==="darwin")return"MacOS";if(W==="win32")return"Windows";if(W==="freebsd")return"FreeBSD";if(W==="openbsd")return"OpenBSD";if(W==="linux")return"Linux";if(W)return`Other:${W}`;return"Unknown"},TH,GM=()=>{return TH??(TH=XM())},JM=(W)=>{try{return JSON.parse(W)}catch($){return}},HM=/^[a-z][a-z0-9+.-]*:/i,QM=(W)=>{return HM.test(W)},tW=(W)=>new Promise(($)=>setTimeout($,W)),V5=(W,$)=>{if(typeof $!=="number"||!Number.isInteger($))throw new o(`${W} must be an integer`);if($<0)throw new o(`${W} must be a positive integer`);return $},vX=(W)=>{if(W instanceof Error)return W;if(typeof W==="object"&&W!==null)try{return new Error(JSON.stringify(W))}catch{}return new Error(W)};var R$=(W)=>{if(typeof process!=="undefined")return process.env?.[W]?.trim()??void 0;if(typeof Deno!=="undefined")return Deno.env?.get?.(W)?.trim();return};function VH(W){if(!W)return!0;for(let $ in W)return!1;return!0}function MH(W,$){return Object.prototype.hasOwnProperty.call(W,$)}function FH(W,$){for(let X in $){if(!MH($,X))continue;let Y=X.toLowerCase();if(!Y)continue;let G=$[X];if(G===null)delete W[Y];else if(G!==void 0)W[Y]=G}}var _H=new Set(["authorization","api-key"]);function rW(W,...$){if(typeof process!=="undefined"&&process?.env?.DEBUG==="true"){let X=$.map((Y)=>{if(!Y)return Y;if(Y.headers){let J={...Y,headers:{...Y.headers}};for(let H in Y.headers)if(_H.has(H.toLowerCase()))J.headers[H]="REDACTED";return J}let G=null;for(let J in Y)if(_H.has(J.toLowerCase()))G??(G={...Y}),G[J]="REDACTED";return G??Y});console.log(`OpenAI:DEBUG:${W}`,...X)}}var zM=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(W)=>{let $=Math.random()*16|0;return(W==="x"?$:$&3|8).toString(16)})},OH=()=>{return typeof window!=="undefined"&&typeof window.document!=="undefined"&&typeof navigator!=="undefined"},TM=(W)=>{return typeof W?.get==="function"};var gX=(W,$)=>{let X=$.toLowerCase();if(TM(W)){let Y=$[0]?.toUpperCase()+$.substring(1).replace(/([^\w])(\w)/g,(G,J,H)=>J+H.toUpperCase());for(let G of[$,X,$.toUpperCase(),Y]){let J=W.get(G);if(J)return J}}for(let[Y,G]of Object.entries(W))if(Y.toLowerCase()===X){if(Array.isArray(G)){if(G.length<=1)return G[0];return console.warn(`Received ${G.length} entries for the ${$} header, using the first entry.`),G[0]}return G}return};var KH=(W)=>{if(typeof Buffer!=="undefined"){let $=Buffer.from(W,"base64");return Array.from(new Float32Array($.buffer,$.byteOffset,$.length/Float32Array.BYTES_PER_ELEMENT))}else{let $=atob(W),X=$.length,Y=new Uint8Array(X);for(let G=0;G<X;G++)Y[G]=$.charCodeAt(G);return Array.from(new Float32Array(Y.buffer))}};function N$(W){return W!=null&&typeof W==="object"&&!Array.isArray(W)}class aW extends pX{constructor(W,$,X,Y){super(W,$,X,Y);this.data=X.data||[],this.object=X.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}}class E0 extends pX{constructor(W,$,X,Y){super(W,$,X,Y);this.data=X.data||[],this.has_more=X.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageParams(){let W=this.nextPageInfo();if(!W)return null;if("params"in W)return W.params;let $=Object.fromEntries(W.url.searchParams);if(!Object.keys($).length)return null;return $}nextPageInfo(){let W=this.getPaginatedItems();if(!W.length)return null;let $=W[W.length-1]?.id;if(!$)return null;return{params:{after:$}}}}class C{constructor(W){this._client=W}}class Z$ extends C{list(W,$={},X){if(z0($))return this.list(W,{},$);return this._client.getAPIList(`/chat/completions/${W}/messages`,O5,{query:$,...X})}}class $8 extends C{constructor(){super(...arguments);this.messages=new Z$(this._client)}create(W,$){return this._client.post("/chat/completions",{body:W,...$,stream:W.stream??!1})}retrieve(W,$){return this._client.get(`/chat/completions/${W}`,$)}update(W,$,X){return this._client.post(`/chat/completions/${W}`,{body:$,...X})}list(W={},$){if(z0(W))return this.list({},W);return this._client.getAPIList("/chat/completions",X8,{query:W,...$})}del(W,$){return this._client.delete(`/chat/completions/${W}`,$)}}class X8 extends E0{}class O5 extends E0{}$8.ChatCompletionsPage=X8;$8.Messages=Z$;class q2 extends C{constructor(){super(...arguments);this.completions=new $8(this._client)}}q2.Completions=$8;q2.ChatCompletionsPage=X8;class S$ extends C{create(W,$){return this._client.post("/audio/speech",{body:W,...$,headers:{Accept:"application/octet-stream",...$?.headers},__binaryResponse:!0})}}class q$ extends C{create(W,$){return this._client.post("/audio/transcriptions",JW({body:W,...$,stream:W.stream??!1,__metadata:{model:W.model}}))}}class C$ extends C{create(W,$){return this._client.post("/audio/translations",JW({body:W,...$,__metadata:{model:W.model}}))}}class sW extends C{constructor(){super(...arguments);this.transcriptions=new q$(this._client),this.translations=new C$(this._client),this.speech=new S$(this._client)}}sW.Transcriptions=q$;sW.Translations=C$;sW.Speech=S$;class Y8 extends C{create(W,$){return this._client.post("/batches",{body:W,...$})}retrieve(W,$){return this._client.get(`/batches/${W}`,$)}list(W={},$){if(z0(W))return this.list({},W);return this._client.getAPIList("/batches",o8,{query:W,...$})}cancel(W,$){return this._client.post(`/batches/${W}/cancel`,$)}}class o8 extends E0{}Y8.BatchesPage=o8;var BW=function(W,$,X,Y,G){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?G.call(W,X):G?G.value=X:$.set(W,X),X},c0=function(W,$,X,Y){if(X==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!Y:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call(W):Y?Y.value:$.get(W)},K5,uX,cX,k$,j$,dX,I$,eW,P$,lX,oX,i8,AH;class G8{constructor(){K5.add(this),this.controller=new AbortController,uX.set(this,void 0),cX.set(this,()=>{}),k$.set(this,()=>{}),j$.set(this,void 0),dX.set(this,()=>{}),I$.set(this,()=>{}),eW.set(this,{}),P$.set(this,!1),lX.set(this,!1),oX.set(this,!1),i8.set(this,!1),BW(this,uX,new Promise((W,$)=>{BW(this,cX,W,"f"),BW(this,k$,$,"f")}),"f"),BW(this,j$,new Promise((W,$)=>{BW(this,dX,W,"f"),BW(this,I$,$,"f")}),"f"),c0(this,uX,"f").catch(()=>{}),c0(this,j$,"f").catch(()=>{})}_run(W){setTimeout(()=>{W().then(()=>{this._emitFinal(),this._emit("end")},c0(this,K5,"m",AH).bind(this))},0)}_connected(){if(this.ended)return;c0(this,cX,"f").call(this),this._emit("connect")}get ended(){return c0(this,P$,"f")}get errored(){return c0(this,lX,"f")}get aborted(){return c0(this,oX,"f")}abort(){this.controller.abort()}on(W,$){return(c0(this,eW,"f")[W]||(c0(this,eW,"f")[W]=[])).push({listener:$}),this}off(W,$){let X=c0(this,eW,"f")[W];if(!X)return this;let Y=X.findIndex((G)=>G.listener===$);if(Y>=0)X.splice(Y,1);return this}once(W,$){return(c0(this,eW,"f")[W]||(c0(this,eW,"f")[W]=[])).push({listener:$,once:!0}),this}emitted(W){return new Promise(($,X)=>{if(BW(this,i8,!0,"f"),W!=="error")this.once("error",X);this.once(W,$)})}async done(){BW(this,i8,!0,"f"),await c0(this,j$,"f")}_emit(W,...$){if(c0(this,P$,"f"))return;if(W==="end")BW(this,P$,!0,"f"),c0(this,dX,"f").call(this);let X=c0(this,eW,"f")[W];if(X)c0(this,eW,"f")[W]=X.filter((Y)=>!Y.once),X.forEach(({listener:Y})=>Y(...$));if(W==="abort"){let Y=$[0];if(!c0(this,i8,"f")&&!X?.length)Promise.reject(Y);c0(this,k$,"f").call(this,Y),c0(this,I$,"f").call(this,Y),this._emit("end");return}if(W==="error"){let Y=$[0];if(!c0(this,i8,"f")&&!X?.length)Promise.reject(Y);c0(this,k$,"f").call(this,Y),c0(this,I$,"f").call(this,Y),this._emit("end")}}_emitFinal(){}}uX=new WeakMap,cX=new WeakMap,k$=new WeakMap,j$=new WeakMap,dX=new WeakMap,I$=new WeakMap,eW=new WeakMap,P$=new WeakMap,lX=new WeakMap,oX=new WeakMap,i8=new WeakMap,K5=new WeakSet,AH=function W($){if(BW(this,lX,!0,"f"),$ instanceof Error&&$.name==="AbortError")$=new G1;if($ instanceof G1)return BW(this,oX,!0,"f"),this._emit("abort",$);if($ instanceof o)return this._emit("error",$);if($ instanceof Error){let X=new o($.message);return X.cause=$,this._emit("error",X)}return this._emit("error",new o(String($)))};var i=function(W,$,X,Y){if(X==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!Y:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call(W):Y?Y.value:$.get(W)},t1=function(W,$,X,Y,G){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?G.call(W,X):G?G.value=X:$.set(W,X),X},D1,A5,hW,iX,RW,H8,n8,J8,tX,a1,nX,rX,b$,f$,x$,EH,LH,BH,RH,NH,ZH,SH;class s1 extends G8{constructor(){super(...arguments);D1.add(this),A5.set(this,[]),hW.set(this,{}),iX.set(this,{}),RW.set(this,void 0),H8.set(this,void 0),n8.set(this,void 0),J8.set(this,void 0),tX.set(this,void 0),a1.set(this,void 0),nX.set(this,void 0),rX.set(this,void 0),b$.set(this,void 0)}[(A5=new WeakMap,hW=new WeakMap,iX=new WeakMap,RW=new WeakMap,H8=new WeakMap,n8=new WeakMap,J8=new WeakMap,tX=new WeakMap,a1=new WeakMap,nX=new WeakMap,rX=new WeakMap,b$=new WeakMap,D1=new WeakSet,Symbol.asyncIterator)](){let W=[],$=[],X=!1;return this.on("event",(Y)=>{let G=$.shift();if(G)G.resolve(Y);else W.push(Y)}),this.on("end",()=>{X=!0;for(let Y of $)Y.resolve(void 0);$.length=0}),this.on("abort",(Y)=>{X=!0;for(let G of $)G.reject(Y);$.length=0}),this.on("error",(Y)=>{X=!0;for(let G of $)G.reject(Y);$.length=0}),{next:async()=>{if(!W.length){if(X)return{value:void 0,done:!0};return new Promise((G,J)=>$.push({resolve:G,reject:J})).then((G)=>G?{value:G,done:!1}:{value:void 0,done:!0})}return{value:W.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}static fromReadableStream(W){let $=new s1;return $._run(()=>$._fromReadableStream(W)),$}async _fromReadableStream(W,$){let X=$?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}this._connected();let Y=r1.fromReadableStream(W,this.controller);for await(let G of Y)i(this,D1,"m",f$).call(this,G);if(Y.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",x$).call(this))}toReadableStream(){return new r1(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(W,$,X,Y,G){let J=new s1;return J._run(()=>J._runToolAssistantStream(W,$,X,Y,{...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"stream"}})),J}async _createToolAssistantStream(W,$,X,Y,G){let J=G?.signal;if(J){if(J.aborted)this.controller.abort();J.addEventListener("abort",()=>this.controller.abort())}let H={...Y,stream:!0},Q=await W.submitToolOutputs($,X,H,{...G,signal:this.controller.signal});this._connected();for await(let z of Q)i(this,D1,"m",f$).call(this,z);if(Q.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",x$).call(this))}static createThreadAssistantStream(W,$,X){let Y=new s1;return Y._run(()=>Y._threadAssistantStream(W,$,{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),Y}static createAssistantStream(W,$,X,Y){let G=new s1;return G._run(()=>G._runAssistantStream(W,$,X,{...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"stream"}})),G}currentEvent(){return i(this,nX,"f")}currentRun(){return i(this,rX,"f")}currentMessageSnapshot(){return i(this,RW,"f")}currentRunStepSnapshot(){return i(this,b$,"f")}async finalRunSteps(){return await this.done(),Object.values(i(this,hW,"f"))}async finalMessages(){return await this.done(),Object.values(i(this,iX,"f"))}async finalRun(){if(await this.done(),!i(this,H8,"f"))throw Error("Final run was not received.");return i(this,H8,"f")}async _createThreadAssistantStream(W,$,X){let Y=X?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}let G={...$,stream:!0},J=await W.createAndRun(G,{...X,signal:this.controller.signal});this._connected();for await(let H of J)i(this,D1,"m",f$).call(this,H);if(J.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",x$).call(this))}async _createAssistantStream(W,$,X,Y){let G=Y?.signal;if(G){if(G.aborted)this.controller.abort();G.addEventListener("abort",()=>this.controller.abort())}let J={...X,stream:!0},H=await W.create($,J,{...Y,signal:this.controller.signal});this._connected();for await(let Q of H)i(this,D1,"m",f$).call(this,Q);if(H.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",x$).call(this))}static accumulateDelta(W,$){for(let[X,Y]of Object.entries($)){if(!W.hasOwnProperty(X)){W[X]=Y;continue}let G=W[X];if(G===null||G===void 0){W[X]=Y;continue}if(X==="index"||X==="type"){W[X]=Y;continue}if(typeof G==="string"&&typeof Y==="string")G+=Y;else if(typeof G==="number"&&typeof Y==="number")G+=Y;else if(N$(G)&&N$(Y))G=this.accumulateDelta(G,Y);else if(Array.isArray(G)&&Array.isArray(Y)){if(G.every((J)=>typeof J==="string"||typeof J==="number")){G.push(...Y);continue}for(let J of Y){if(!N$(J))throw new Error(`Expected array delta entry to be an object but got: ${J}`);let H=J.index;if(H==null)throw console.error(J),new Error("Expected array delta entry to have an `index` property");if(typeof H!=="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${H}`);let Q=G[H];if(Q==null)G.push(J);else G[H]=this.accumulateDelta(Q,J)}continue}else throw Error(`Unhandled record type: ${X}, deltaValue: ${Y}, accValue: ${G}`);W[X]=G}return W}_addRun(W){return W}async _threadAssistantStream(W,$,X){return await this._createThreadAssistantStream($,W,X)}async _runAssistantStream(W,$,X,Y){return await this._createAssistantStream($,W,X,Y)}async _runToolAssistantStream(W,$,X,Y,G){return await this._createToolAssistantStream(X,W,$,Y,G)}}f$=function W($){if(this.ended)return;switch(t1(this,nX,$,"f"),i(this,D1,"m",BH).call(this,$),$.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":i(this,D1,"m",SH).call(this,$);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":i(this,D1,"m",LH).call(this,$);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":i(this,D1,"m",EH).call(this,$);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:VM($)}},x$=function W(){if(this.ended)throw new o("stream has ended, this shouldn't happen");if(!i(this,H8,"f"))throw Error("Final run has not been received");return i(this,H8,"f")},EH=function W($){let[X,Y]=i(this,D1,"m",NH).call(this,$,i(this,RW,"f"));t1(this,RW,X,"f"),i(this,iX,"f")[X.id]=X;for(let G of Y){let J=X.content[G.index];if(J?.type=="text")this._emit("textCreated",J.text)}switch($.event){case"thread.message.created":this._emit("messageCreated",$.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",$.data.delta,X),$.data.delta.content)for(let G of $.data.delta.content){if(G.type=="text"&&G.text){let J=G.text,H=X.content[G.index];if(H&&H.type=="text")this._emit("textDelta",J,H.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(G.index!=i(this,n8,"f")){if(i(this,J8,"f"))switch(i(this,J8,"f").type){case"text":this._emit("textDone",i(this,J8,"f").text,i(this,RW,"f"));break;case"image_file":this._emit("imageFileDone",i(this,J8,"f").image_file,i(this,RW,"f"));break}t1(this,n8,G.index,"f")}t1(this,J8,X.content[G.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(i(this,n8,"f")!==void 0){let G=$.data.content[i(this,n8,"f")];if(G)switch(G.type){case"image_file":this._emit("imageFileDone",G.image_file,i(this,RW,"f"));break;case"text":this._emit("textDone",G.text,i(this,RW,"f"));break}}if(i(this,RW,"f"))this._emit("messageDone",$.data);t1(this,RW,void 0,"f")}},LH=function W($){let X=i(this,D1,"m",RH).call(this,$);switch(t1(this,b$,X,"f"),$.event){case"thread.run.step.created":this._emit("runStepCreated",$.data);break;case"thread.run.step.delta":let Y=$.data.delta;if(Y.step_details&&Y.step_details.type=="tool_calls"&&Y.step_details.tool_calls&&X.step_details.type=="tool_calls")for(let J of Y.step_details.tool_calls)if(J.index==i(this,tX,"f"))this._emit("toolCallDelta",J,X.step_details.tool_calls[J.index]);else{if(i(this,a1,"f"))this._emit("toolCallDone",i(this,a1,"f"));if(t1(this,tX,J.index,"f"),t1(this,a1,X.step_details.tool_calls[J.index],"f"),i(this,a1,"f"))this._emit("toolCallCreated",i(this,a1,"f"))}this._emit("runStepDelta",$.data.delta,X);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(t1(this,b$,void 0,"f"),$.data.step_details.type=="tool_calls"){if(i(this,a1,"f"))this._emit("toolCallDone",i(this,a1,"f")),t1(this,a1,void 0,"f")}this._emit("runStepDone",$.data,X);break;case"thread.run.step.in_progress":break}},BH=function W($){i(this,A5,"f").push($),this._emit("event",$)},RH=function W($){switch($.event){case"thread.run.step.created":return i(this,hW,"f")[$.data.id]=$.data,$.data;case"thread.run.step.delta":let X=i(this,hW,"f")[$.data.id];if(!X)throw Error("Received a RunStepDelta before creation of a snapshot");let Y=$.data;if(Y.delta){let G=s1.accumulateDelta(X,Y.delta);i(this,hW,"f")[$.data.id]=G}return i(this,hW,"f")[$.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":i(this,hW,"f")[$.data.id]=$.data;break}if(i(this,hW,"f")[$.data.id])return i(this,hW,"f")[$.data.id];throw new Error("No snapshot available")},NH=function W($,X){let Y=[];switch($.event){case"thread.message.created":return[$.data,Y];case"thread.message.delta":if(!X)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let G=$.data;if(G.delta.content)for(let J of G.delta.content)if(J.index in X.content){let H=X.content[J.index];X.content[J.index]=i(this,D1,"m",ZH).call(this,J,H)}else X.content[J.index]=J,Y.push(J);return[X,Y];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(X)return[X,Y];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},ZH=function W($,X){return s1.accumulateDelta(X,$)},SH=function W($){switch(t1(this,rX,$.data,"f"),$.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":if(t1(this,H8,$.data,"f"),i(this,a1,"f"))this._emit("toolCallDone",i(this,a1,"f")),t1(this,a1,void 0,"f");break;case"thread.run.cancelling":break}};function VM(W){}class r8 extends C{create(W,$){return this._client.post("/assistants",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(W,$){return this._client.get(`/assistants/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(W,$,X){return this._client.post(`/assistants/${W}`,{body:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}list(W={},$){if(z0(W))return this.list({},W);return this._client.getAPIList("/assistants",v$,{query:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(W,$){return this._client.delete(`/assistants/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class v$ extends E0{}r8.AssistantsPage=v$;function E5(W){return typeof W.parse==="function"}var C2=(W)=>{return W?.role==="assistant"},L5=(W)=>{return W?.role==="function"},B5=(W)=>{return W?.role==="tool"};function y$(W){return W?.$brand==="auto-parseable-response-format"}function Q8(W){return W?.$brand==="auto-parseable-tool"}function qH(W,$){if(!$||!R5($))return{...W,choices:W.choices.map((X)=>({...X,message:{...X.message,parsed:null,...X.message.tool_calls?{tool_calls:X.message.tool_calls}:void 0}}))};return h$(W,$)}function h$(W,$){let X=W.choices.map((Y)=>{if(Y.finish_reason==="length")throw new E$;if(Y.finish_reason==="content_filter")throw new L$;return{...Y,message:{...Y.message,...Y.message.tool_calls?{tool_calls:Y.message.tool_calls?.map((G)=>KM($,G))??void 0}:void 0,parsed:Y.message.content&&!Y.message.refusal?OM($,Y.message.content):null}}});return{...W,choices:X}}function OM(W,$){if(W.response_format?.type!=="json_schema")return null;if(W.response_format?.type==="json_schema"){if("$parseRaw"in W.response_format)return W.response_format.$parseRaw($);return JSON.parse($)}return null}function KM(W,$){let X=W.tools?.find((Y)=>Y.function?.name===$.function.name);return{...$,function:{...$.function,parsed_arguments:Q8(X)?X.$parseRaw($.function.arguments):X?.function.strict?JSON.parse($.function.arguments):null}}}function CH(W,$){if(!W)return!1;let X=W.tools?.find((Y)=>Y.function?.name===$.function.name);return Q8(X)||X?.function.strict||!1}function R5(W){if(y$(W.response_format))return!0;return W.tools?.some(($)=>Q8($)||$.type==="function"&&$.function.strict===!0)??!1}function kH(W){for(let $ of W??[]){if($.type!=="function")throw new o(`Currently only \`function\` tool types support auto-parsing; Received \`${$.type}\``);if($.function.strict!==!0)throw new o(`The \`${$.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var h1=function(W,$,X,Y){if(X==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!Y:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call(W):Y?Y.value:$.get(W)},L1,N5,aX,Z5,S5,q5,IH,C5,jH=10;class g$ extends G8{constructor(){super(...arguments);L1.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(W){this._chatCompletions.push(W),this._emit("chatCompletion",W);let $=W.choices[0]?.message;if($)this._addMessage($);return W}_addMessage(W,$=!0){if(!("content"in W))W.content=null;if(this.messages.push(W),$){if(this._emit("message",W),(L5(W)||B5(W))&&W.content)this._emit("functionCallResult",W.content);else if(C2(W)&&W.function_call)this._emit("functionCall",W.function_call);else if(C2(W)&&W.tool_calls){for(let X of W.tool_calls)if(X.type==="function")this._emit("functionCall",X.function)}}}async finalChatCompletion(){await this.done();let W=this._chatCompletions[this._chatCompletions.length-1];if(!W)throw new o("stream ended without producing a ChatCompletion");return W}async finalContent(){return await this.done(),h1(this,L1,"m",N5).call(this)}async finalMessage(){return await this.done(),h1(this,L1,"m",aX).call(this)}async finalFunctionCall(){return await this.done(),h1(this,L1,"m",Z5).call(this)}async finalFunctionCallResult(){return await this.done(),h1(this,L1,"m",S5).call(this)}async totalUsage(){return await this.done(),h1(this,L1,"m",q5).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let W=this._chatCompletions[this._chatCompletions.length-1];if(W)this._emit("finalChatCompletion",W);let $=h1(this,L1,"m",aX).call(this);if($)this._emit("finalMessage",$);let X=h1(this,L1,"m",N5).call(this);if(X)this._emit("finalContent",X);let Y=h1(this,L1,"m",Z5).call(this);if(Y)this._emit("finalFunctionCall",Y);let G=h1(this,L1,"m",S5).call(this);if(G!=null)this._emit("finalFunctionCallResult",G);if(this._chatCompletions.some((J)=>J.usage))this._emit("totalUsage",h1(this,L1,"m",q5).call(this))}async _createChatCompletion(W,$,X){let Y=X?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}h1(this,L1,"m",IH).call(this,$);let G=await W.chat.completions.create({...$,stream:!1},{...X,signal:this.controller.signal});return this._connected(),this._addChatCompletion(h$(G,$))}async _runChatCompletion(W,$,X){for(let Y of $.messages)this._addMessage(Y,!1);return await this._createChatCompletion(W,$,X)}async _runFunctions(W,$,X){let{function_call:G="auto",stream:J,...H}=$,Q=typeof G!=="string"&&G?.name,{maxChatCompletions:z=jH}=X||{},T={};for(let _ of $.functions)T[_.name||_.function.name]=_;let F=$.functions.map((_)=>({name:_.name||_.function.name,parameters:_.parameters,description:_.description}));for(let _ of $.messages)this._addMessage(_,!1);for(let _=0;_<z;++_){let O=(await this._createChatCompletion(W,{...H,function_call:G,functions:F,messages:[...this.messages]},X)).choices[0]?.message;if(!O)throw new o("missing message in ChatCompletion response");if(!O.function_call)return;let{name:M,arguments:A}=O.function_call,I=T[M];if(!I){let P=`Invalid function_call: ${JSON.stringify(M)}. Available options are: ${F.map((h)=>JSON.stringify(h.name)).join(", ")}. Please try again`;this._addMessage({role:"function",name:M,content:P});continue}else if(Q&&Q!==M){let P=`Invalid function_call: ${JSON.stringify(M)}. ${JSON.stringify(Q)} requested. Please try again`;this._addMessage({role:"function",name:M,content:P});continue}let j;try{j=E5(I)?await I.parse(A):A}catch(P){this._addMessage({role:"function",name:M,content:P instanceof Error?P.message:String(P)});continue}let R=await I.function(j,this),Z=h1(this,L1,"m",C5).call(this,R);if(this._addMessage({role:"function",name:M,content:Z}),Q)return}}async _runTools(W,$,X){let{tool_choice:G="auto",stream:J,...H}=$,Q=typeof G!=="string"&&G?.function?.name,{maxChatCompletions:z=jH}=X||{},T=$.tools.map((w)=>{if(Q8(w)){if(!w.$callback)throw new o("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:w.$callback,name:w.function.name,description:w.function.description||"",parameters:w.function.parameters,parse:w.$parseRaw,strict:!0}}}return w}),F={};for(let w of T)if(w.type==="function")F[w.function.name||w.function.function.name]=w.function;let _="tools"in $?T.map((w)=>w.type==="function"?{type:"function",function:{name:w.function.name||w.function.function.name,parameters:w.function.parameters,description:w.function.description,strict:w.function.strict}}:w):void 0;for(let w of $.messages)this._addMessage(w,!1);for(let w=0;w<z;++w){let M=(await this._createChatCompletion(W,{...H,tool_choice:G,tools:_,messages:[...this.messages]},X)).choices[0]?.message;if(!M)throw new o("missing message in ChatCompletion response");if(!M.tool_calls?.length)return;for(let A of M.tool_calls){if(A.type!=="function")continue;let I=A.id,{name:j,arguments:R}=A.function,Z=F[j];if(!Z){let m=`Invalid tool_call: ${JSON.stringify(j)}. Available options are: ${Object.keys(F).map((w0)=>JSON.stringify(w0)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:I,content:m});continue}else if(Q&&Q!==j){let m=`Invalid tool_call: ${JSON.stringify(j)}. ${JSON.stringify(Q)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:I,content:m});continue}let P;try{P=E5(Z)?await Z.parse(R):R}catch(m){let w0=m instanceof Error?m.message:String(m);this._addMessage({role:"tool",tool_call_id:I,content:w0});continue}let h=await Z.function(P,this),x=h1(this,L1,"m",C5).call(this,h);if(this._addMessage({role:"tool",tool_call_id:I,content:x}),Q)return}}return}}L1=new WeakSet,N5=function W(){return h1(this,L1,"m",aX).call(this).content??null},aX=function W(){let $=this.messages.length;while($-- >0){let X=this.messages[$];if(C2(X)){let{function_call:Y,...G}=X,J={...G,content:X.content??null,refusal:X.refusal??null};if(Y)J.function_call=Y;return J}}throw new o("stream ended without producing a ChatCompletionMessage with role=assistant")},Z5=function W(){for(let $=this.messages.length-1;$>=0;$--){let X=this.messages[$];if(C2(X)&&X?.function_call)return X.function_call;if(C2(X)&&X?.tool_calls?.length)return X.tool_calls.at(-1)?.function}return},S5=function W(){for(let $=this.messages.length-1;$>=0;$--){let X=this.messages[$];if(L5(X)&&X.content!=null)return X.content;if(B5(X)&&X.content!=null&&typeof X.content==="string"&&this.messages.some((Y)=>Y.role==="assistant"&&Y.tool_calls?.some((G)=>G.type==="function"&&G.id===X.tool_call_id)))return X.content}return},q5=function W(){let $={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:X}of this._chatCompletions)if(X)$.completion_tokens+=X.completion_tokens,$.prompt_tokens+=X.prompt_tokens,$.total_tokens+=X.total_tokens;return $},IH=function W($){if($.n!=null&&$.n>1)throw new o("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},C5=function W($){return typeof $==="string"?$:$===void 0?"undefined":JSON.stringify($)};class t8 extends g${static runFunctions(W,$,X){let Y=new t8,G={...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return Y._run(()=>Y._runFunctions(W,$,G)),Y}static runTools(W,$,X){let Y=new t8,G={...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"runTools"}};return Y._run(()=>Y._runTools(W,$,G)),Y}_addMessage(W,$=!0){if(super._addMessage(W,$),C2(W)&&W.content)this._emit("content",W.content)}}var _1={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};class PH extends Error{}class fH extends Error{}function AM(W,$=_1.ALL){if(typeof W!=="string")throw new TypeError(`expecting str, got ${typeof W}`);if(!W.trim())throw new Error(`${W} is empty`);return EM(W.trim(),$)}var EM=(W,$)=>{let X=W.length,Y=0,G=(w)=>{throw new PH(`${w} at position ${Y}`)},J=(w)=>{throw new fH(`${w} at position ${Y}`)},H=()=>{if(_(),Y>=X)G("Unexpected end of input");if(W[Y]==='"')return Q();if(W[Y]==="{")return z();if(W[Y]==="[")return T();if(W.substring(Y,Y+4)==="null"||_1.NULL&$&&X-Y<4&&"null".startsWith(W.substring(Y)))return Y+=4,null;if(W.substring(Y,Y+4)==="true"||_1.BOOL&$&&X-Y<4&&"true".startsWith(W.substring(Y)))return Y+=4,!0;if(W.substring(Y,Y+5)==="false"||_1.BOOL&$&&X-Y<5&&"false".startsWith(W.substring(Y)))return Y+=5,!1;if(W.substring(Y,Y+8)==="Infinity"||_1.INFINITY&$&&X-Y<8&&"Infinity".startsWith(W.substring(Y)))return Y+=8,1/0;if(W.substring(Y,Y+9)==="-Infinity"||_1.MINUS_INFINITY&$&&1<X-Y&&X-Y<9&&"-Infinity".startsWith(W.substring(Y)))return Y+=9,-1/0;if(W.substring(Y,Y+3)==="NaN"||_1.NAN&$&&X-Y<3&&"NaN".startsWith(W.substring(Y)))return Y+=3,NaN;return F()},Q=()=>{let w=Y,O=!1;Y++;while(Y<X&&(W[Y]!=='"'||O&&W[Y-1]==="\\"))O=W[Y]==="\\"?!O:!1,Y++;if(W.charAt(Y)=='"')try{return JSON.parse(W.substring(w,++Y-Number(O)))}catch(M){J(String(M))}else if(_1.STR&$)try{return JSON.parse(W.substring(w,Y-Number(O))+'"')}catch(M){return JSON.parse(W.substring(w,W.lastIndexOf("\\"))+'"')}G("Unterminated string literal")},z=()=>{Y++,_();let w={};try{while(W[Y]!=="}"){if(_(),Y>=X&&_1.OBJ&$)return w;let O=Q();_(),Y++;try{let M=H();Object.defineProperty(w,O,{value:M,writable:!0,enumerable:!0,configurable:!0})}catch(M){if(_1.OBJ&$)return w;else throw M}if(_(),W[Y]===",")Y++}}catch(O){if(_1.OBJ&$)return w;else G("Expected '}' at end of object")}return Y++,w},T=()=>{Y++;let w=[];try{while(W[Y]!=="]")if(w.push(H()),_(),W[Y]===",")Y++}catch(O){if(_1.ARR&$)return w;G("Expected ']' at end of array")}return Y++,w},F=()=>{if(Y===0){if(W==="-"&&_1.NUM&$)G("Not sure what '-' is");try{return JSON.parse(W)}catch(O){if(_1.NUM&$)try{if(W[W.length-1]===".")return JSON.parse(W.substring(0,W.lastIndexOf(".")));return JSON.parse(W.substring(0,W.lastIndexOf("e")))}catch(M){}J(String(O))}}let w=Y;if(W[Y]==="-")Y++;while(W[Y]&&!",]}".includes(W[Y]))Y++;if(Y==X&&!(_1.NUM&$))G("Unterminated number literal");try{return JSON.parse(W.substring(w,Y))}catch(O){if(W.substring(w,Y)==="-"&&_1.NUM&$)G("Not sure what '-' is");try{return JSON.parse(W.substring(w,W.lastIndexOf("e")))}catch(M){J(String(M))}}},_=()=>{while(Y<X&&`
|
|
42
|
-
\r `.includes(W[
|
|
43
|
-
${
|
|
44
|
-
${
|
|
45
|
-
${
|
|
46
|
-
${WY(W)}`);return{...w0,id:m,type:x,function:{...V0,name:B,arguments:p0}}})}};return{...O,message:{...j,content:M,role:R,refusal:T.refusal??null},finish_reason:F,index:_,logprobs:w}}),created:G,model:J,object:"chat.completion",...H?{system_fingerprint:H}:{}};return qH(z,$)}function WY(W){return JSON.stringify(W)}function bH(W){return}function vH(W){}class T8 extends z8{static fromReadableStream(W){let $=new T8(null);return $._run(()=>$._fromReadableStream(W)),$}static runFunctions(W,$,X){let Y=new T8(null),G={...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return Y._run(()=>Y._runFunctions(W,$,G)),Y}static runTools(W,$,X){let Y=new T8($),G={...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"runTools"}};return Y._run(()=>Y._runTools(W,$,G)),Y}}class $Y extends C{parse(W,$){return kH(W.tools),this._client.chat.completions.create(W,{...$,headers:{...$?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap((X)=>h$(X,W))}runFunctions(W,$){if(W.stream)return T8.runFunctions(this._client,W,$);return t8.runFunctions(this._client,W,$)}runTools(W,$){if(W.stream)return T8.runTools(this._client,W,$);return t8.runTools(this._client,W,$)}stream(W,$){return z8.createChatCompletion(this._client,W,$)}}class m$ extends C{constructor(){super(...arguments);this.completions=new $Y(this._client)}}(function(W){W.Completions=$Y})(m$||(m$={}));class p$ extends C{create(W,$){return this._client.post("/realtime/sessions",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class u$ extends C{create(W,$){return this._client.post("/realtime/transcription_sessions",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class F8 extends C{constructor(){super(...arguments);this.sessions=new p$(this._client),this.transcriptionSessions=new u$(this._client)}}F8.Sessions=p$;F8.TranscriptionSessions=u$;class e8 extends C{create(W,$,X){return this._client.post(`/threads/${W}/messages`,{body:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}retrieve(W,$,X){return this._client.get(`/threads/${W}/messages/${$}`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}update(W,$,X,Y){return this._client.post(`/threads/${W}/messages/${$}`,{body:X,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}list(W,$={},X){if(z0($))return this.list(W,{},$);return this._client.getAPIList(`/threads/${W}/messages`,c$,{query:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}del(W,$,X){return this._client.delete(`/threads/${W}/messages/${$}`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}}class c$ extends E0{}e8.MessagesPage=c$;class W4 extends C{retrieve(W,$,X,Y={},G){if(z0(Y))return this.retrieve(W,$,X,{},Y);return this._client.get(`/threads/${W}/runs/${$}/steps/${X}`,{query:Y,...G,headers:{"OpenAI-Beta":"assistants=v2",...G?.headers}})}list(W,$,X={},Y){if(z0(X))return this.list(W,$,{},X);return this._client.getAPIList(`/threads/${W}/runs/${$}/steps`,d$,{query:X,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}}class d$ extends E0{}W4.RunStepsPage=d$;class j2 extends C{constructor(){super(...arguments);this.steps=new W4(this._client)}create(W,$,X){let{include:Y,...G}=$;return this._client.post(`/threads/${W}/runs`,{query:{include:Y},body:G,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers},stream:$.stream??!1})}retrieve(W,$,X){return this._client.get(`/threads/${W}/runs/${$}`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}update(W,$,X,Y){return this._client.post(`/threads/${W}/runs/${$}`,{body:X,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}list(W,$={},X){if(z0($))return this.list(W,{},$);return this._client.getAPIList(`/threads/${W}/runs`,l$,{query:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}cancel(W,$,X){return this._client.post(`/threads/${W}/runs/${$}/cancel`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}async createAndPoll(W,$,X){let Y=await this.create(W,$,X);return await this.poll(W,Y.id,X)}createAndStream(W,$,X){return s1.createAssistantStream(W,this._client.beta.threads.runs,$,X)}async poll(W,$,X){let Y={...X?.headers,"X-Stainless-Poll-Helper":"true"};if(X?.pollIntervalMs)Y["X-Stainless-Custom-Poll-Interval"]=X.pollIntervalMs.toString();while(!0){let{data:G,response:J}=await this.retrieve(W,$,{...X,headers:{...X?.headers,...Y}}).withResponse();switch(G.status){case"queued":case"in_progress":case"cancelling":let H=5000;if(X?.pollIntervalMs)H=X.pollIntervalMs;else{let Q=J.headers.get("openai-poll-after-ms");if(Q){let z=parseInt(Q);if(!isNaN(z))H=z}}await tW(H);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return G}}}stream(W,$,X){return s1.createAssistantStream(W,this._client.beta.threads.runs,$,X)}submitToolOutputs(W,$,X,Y){return this._client.post(`/threads/${W}/runs/${$}/submit_tool_outputs`,{body:X,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers},stream:X.stream??!1})}async submitToolOutputsAndPoll(W,$,X,Y){let G=await this.submitToolOutputs(W,$,X,Y);return await this.poll(W,G.id,Y)}submitToolOutputsStream(W,$,X,Y){return s1.createToolAssistantStream(W,$,this._client.beta.threads.runs,X,Y)}}class l$ extends E0{}j2.RunsPage=l$;j2.Steps=W4;j2.RunStepsPage=d$;class $2 extends C{constructor(){super(...arguments);this.runs=new j2(this._client),this.messages=new e8(this._client)}create(W={},$){if(z0(W))return this.create({},W);return this._client.post("/threads",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(W,$){return this._client.get(`/threads/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(W,$,X){return this._client.post(`/threads/${W}`,{body:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}del(W,$){return this._client.delete(`/threads/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}createAndRun(W,$){return this._client.post("/threads/runs",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers},stream:W.stream??!1})}async createAndRunPoll(W,$){let X=await this.createAndRun(W,$);return await this.runs.poll(X.thread_id,X.id,$)}createAndRunStream(W,$){return s1.createThreadAssistantStream(W,this._client.beta.threads,$)}}$2.Runs=j2;$2.RunsPage=l$;$2.Messages=e8;$2.MessagesPage=c$;class gW extends C{constructor(){super(...arguments);this.realtime=new F8(this._client),this.chat=new m$(this._client),this.assistants=new r8(this._client),this.threads=new $2(this._client)}}gW.Realtime=F8;gW.Assistants=r8;gW.AssistantsPage=v$;gW.Threads=$2;class $4 extends C{create(W,$){return this._client.post("/completions",{body:W,...$,stream:W.stream??!1})}}class X4 extends C{create(W,$){let X=!!W.encoding_format,Y=X?W.encoding_format:"base64";if(X)rW("Request","User defined encoding_format:",W.encoding_format);let G=this._client.post("/embeddings",{body:{...W,encoding_format:Y},...$});if(X)return G;return rW("response","Decoding base64 embeddings to float32 array"),G._thenUnwrap((J)=>{if(J&&J.data)J.data.forEach((H)=>{let Q=H.embedding;H.embedding=KH(Q)});return J})}}class Y4 extends C{retrieve(W,$,X,Y){return this._client.get(`/evals/${W}/runs/${$}/output_items/${X}`,Y)}list(W,$,X={},Y){if(z0(X))return this.list(W,$,{},X);return this._client.getAPIList(`/evals/${W}/runs/${$}/output_items`,o$,{query:X,...Y})}}class o$ extends E0{}Y4.OutputItemListResponsesPage=o$;class I2 extends C{constructor(){super(...arguments);this.outputItems=new Y4(this._client)}create(W,$,X){return this._client.post(`/evals/${W}/runs`,{body:$,...X})}retrieve(W,$,X){return this._client.get(`/evals/${W}/runs/${$}`,X)}list(W,$={},X){if(z0($))return this.list(W,{},$);return this._client.getAPIList(`/evals/${W}/runs`,i$,{query:$,...X})}del(W,$,X){return this._client.delete(`/evals/${W}/runs/${$}`,X)}cancel(W,$,X){return this._client.post(`/evals/${W}/runs/${$}`,X)}}class i$ extends E0{}I2.RunListResponsesPage=i$;I2.OutputItems=Y4;I2.OutputItemListResponsesPage=o$;class X2 extends C{constructor(){super(...arguments);this.runs=new I2(this._client)}create(W,$){return this._client.post("/evals",{body:W,...$})}retrieve(W,$){return this._client.get(`/evals/${W}`,$)}update(W,$,X){return this._client.post(`/evals/${W}`,{body:$,...X})}list(W={},$){if(z0(W))return this.list({},W);return this._client.getAPIList("/evals",G4,{query:W,...$})}del(W,$){return this._client.delete(`/evals/${W}`,$)}}class G4 extends E0{}X2.EvalListResponsesPage=G4;X2.Runs=I2;X2.RunListResponsesPage=i$;class _8 extends C{create(W,$){return this._client.post("/files",JW({body:W,...$}))}retrieve(W,$){return this._client.get(`/files/${W}`,$)}list(W={},$){if(z0(W))return this.list({},W);return this._client.getAPIList("/files",J4,{query:W,...$})}del(W,$){return this._client.delete(`/files/${W}`,$)}content(W,$){return this._client.get(`/files/${W}/content`,{...$,headers:{Accept:"application/binary",...$?.headers},__binaryResponse:!0})}retrieveContent(W,$){return this._client.get(`/files/${W}/content`,$)}async waitForProcessing(W,{pollInterval:$=5000,maxWait:X=1800000}={}){let Y=new Set(["processed","error","deleted"]),G=Date.now(),J=await this.retrieve(W);while(!J.status||!Y.has(J.status))if(await tW($),J=await this.retrieve(W),Date.now()-G>X)throw new e2({message:`Giving up on waiting for file ${W} to finish processing after ${X} milliseconds.`});return J}}class J4 extends E0{}_8.FileObjectsPage=J4;class n$ extends C{}class r$ extends C{run(W,$){return this._client.post("/fine_tuning/alpha/graders/run",{body:W,...$})}validate(W,$){return this._client.post("/fine_tuning/alpha/graders/validate",{body:W,...$})}}class H4 extends C{constructor(){super(...arguments);this.graders=new r$(this._client)}}H4.Graders=r$;class Q4 extends C{create(W,$,X){return this._client.getAPIList(`/fine_tuning/checkpoints/${W}/permissions`,t$,{body:$,method:"post",...X})}retrieve(W,$={},X){if(z0($))return this.retrieve(W,{},$);return this._client.get(`/fine_tuning/checkpoints/${W}/permissions`,{query:$,...X})}del(W,$,X){return this._client.delete(`/fine_tuning/checkpoints/${W}/permissions/${$}`,X)}}class t$ extends aW{}Q4.PermissionCreateResponsesPage=t$;class w8 extends C{constructor(){super(...arguments);this.permissions=new Q4(this._client)}}w8.Permissions=Q4;w8.PermissionCreateResponsesPage=t$;class z4 extends C{list(W,$={},X){if(z0($))return this.list(W,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${W}/checkpoints`,a$,{query:$,...X})}}class a$ extends E0{}z4.FineTuningJobCheckpointsPage=a$;class Y2 extends C{constructor(){super(...arguments);this.checkpoints=new z4(this._client)}create(W,$){return this._client.post("/fine_tuning/jobs",{body:W,...$})}retrieve(W,$){return this._client.get(`/fine_tuning/jobs/${W}`,$)}list(W={},$){if(z0(W))return this.list({},W);return this._client.getAPIList("/fine_tuning/jobs",s$,{query:W,...$})}cancel(W,$){return this._client.post(`/fine_tuning/jobs/${W}/cancel`,$)}listEvents(W,$={},X){if(z0($))return this.listEvents(W,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${W}/events`,e$,{query:$,...X})}pause(W,$){return this._client.post(`/fine_tuning/jobs/${W}/pause`,$)}resume(W,$){return this._client.post(`/fine_tuning/jobs/${W}/resume`,$)}}class s$ extends E0{}class e$ extends E0{}Y2.FineTuningJobsPage=s$;Y2.FineTuningJobEventsPage=e$;Y2.Checkpoints=z4;Y2.FineTuningJobCheckpointsPage=a$;class HW extends C{constructor(){super(...arguments);this.methods=new n$(this._client),this.jobs=new Y2(this._client),this.checkpoints=new w8(this._client),this.alpha=new H4(this._client)}}HW.Methods=n$;HW.Jobs=Y2;HW.FineTuningJobsPage=s$;HW.FineTuningJobEventsPage=e$;HW.Checkpoints=w8;HW.Alpha=H4;class W6 extends C{}class U8 extends C{constructor(){super(...arguments);this.graderModels=new W6(this._client)}}U8.GraderModels=W6;class T4 extends C{createVariation(W,$){return this._client.post("/images/variations",JW({body:W,...$}))}edit(W,$){return this._client.post("/images/edits",JW({body:W,...$}))}generate(W,$){return this._client.post("/images/generations",{body:W,...$})}}class D8 extends C{retrieve(W,$){return this._client.get(`/models/${W}`,$)}list(W){return this._client.getAPIList("/models",F4,W)}del(W,$){return this._client.delete(`/models/${W}`,$)}}class F4 extends aW{}D8.ModelsPage=F4;class _4 extends C{create(W,$){return this._client.post("/moderations",{body:W,...$})}}function yH(W,$){if(!$||!uM($))return{...W,output_parsed:null,output:W.output.map((X)=>{if(X.type==="function_call")return{...X,parsed_arguments:null};if(X.type==="message")return{...X,content:X.content.map((Y)=>({...Y,parsed:null}))};else return X})};return b5(W,$)}function b5(W,$){let X=W.output.map((G)=>{if(G.type==="function_call")return{...G,parsed_arguments:lM($,G)};if(G.type==="message"){let J=G.content.map((H)=>{if(H.type==="output_text")return{...H,parsed:pM($,H.text)};return H});return{...G,content:J}}return G}),Y=Object.assign({},W,{output:X});if(!Object.getOwnPropertyDescriptor(W,"output_text"))v5(Y);return Object.defineProperty(Y,"output_parsed",{enumerable:!0,get(){for(let G of Y.output){if(G.type!=="message")continue;for(let J of G.content)if(J.type==="output_text"&&J.parsed!==null)return J.parsed}return null}}),Y}function pM(W,$){if(W.text?.format?.type!=="json_schema")return null;if("$parseRaw"in W.text?.format)return(W.text?.format).$parseRaw($);return JSON.parse($)}function uM(W){if(y$(W.text?.format))return!0;return!1}function cM(W){return W?.$brand==="auto-parseable-tool"}function dM(W,$){return W.find((X)=>X.type==="function"&&X.name===$)}function lM(W,$){let X=dM(W.tools??[],$.name);return{...$,...$,parsed_arguments:cM(X)?X.$parseRaw($.arguments):X?.strict?JSON.parse($.arguments):null}}function v5(W){let $=[];for(let X of W.output){if(X.type!=="message")continue;for(let Y of X.content)if(Y.type==="output_text")$.push(Y.text)}W.output_text=$.join("")}class $6 extends C{list(W,$={},X){if(z0($))return this.list(W,{},$);return this._client.getAPIList(`/responses/${W}/input_items`,y5,{query:$,...X})}}var w4=function(W,$,X,Y,G){if(Y==="m")throw new TypeError("Private method is not writable");if(Y==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?G.call(W,X):G?G.value=X:$.set(W,X),X},P2=function(W,$,X,Y){if(X==="a"&&!Y)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!Y:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call(W):Y?Y.value:$.get(W)},U4,XY,f2,YY,hH,gH,mH,pH;class GY extends G8{constructor(W){super();U4.add(this),XY.set(this,void 0),f2.set(this,void 0),YY.set(this,void 0),w4(this,XY,W,"f")}static createResponse(W,$,X){let Y=new GY($);return Y._run(()=>Y._createResponse(W,$,{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),Y}async _createResponse(W,$,X){let Y=X?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}P2(this,U4,"m",hH).call(this);let G=await W.responses.create({...$,stream:!0},{...X,signal:this.controller.signal});this._connected();for await(let J of G)P2(this,U4,"m",gH).call(this,J);if(G.controller.signal?.aborted)throw new G1;return P2(this,U4,"m",mH).call(this)}[(XY=new WeakMap,f2=new WeakMap,YY=new WeakMap,U4=new WeakSet,hH=function W(){if(this.ended)return;w4(this,f2,void 0,"f")},gH=function W($){if(this.ended)return;let X=P2(this,U4,"m",pH).call(this,$);switch(this._emit("event",$),$.type){case"response.output_text.delta":{let Y=X.output[$.output_index];if(!Y)throw new o(`missing output at index ${$.output_index}`);if(Y.type==="message"){let G=Y.content[$.content_index];if(!G)throw new o(`missing content at index ${$.content_index}`);if(G.type!=="output_text")throw new o(`expected content to be 'output_text', got ${G.type}`);this._emit("response.output_text.delta",{...$,snapshot:G.text})}break}case"response.function_call_arguments.delta":{let Y=X.output[$.output_index];if(!Y)throw new o(`missing output at index ${$.output_index}`);if(Y.type==="function_call")this._emit("response.function_call_arguments.delta",{...$,snapshot:Y.arguments});break}default:this._emit($.type,$);break}},mH=function W(){if(this.ended)throw new o("stream has ended, this shouldn't happen");let $=P2(this,f2,"f");if(!$)throw new o("request ended without sending any events");w4(this,f2,void 0,"f");let X=iM($,P2(this,XY,"f"));return w4(this,YY,X,"f"),X},pH=function W($){let X=P2(this,f2,"f");if(!X){if($.type!=="response.created")throw new o(`When snapshot hasn't been set yet, expected 'response.created' event, got ${$.type}`);return X=w4(this,f2,$.response,"f"),X}switch($.type){case"response.output_item.added":{X.output.push($.item);break}case"response.content_part.added":{let Y=X.output[$.output_index];if(!Y)throw new o(`missing output at index ${$.output_index}`);if(Y.type==="message")Y.content.push($.part);break}case"response.output_text.delta":{let Y=X.output[$.output_index];if(!Y)throw new o(`missing output at index ${$.output_index}`);if(Y.type==="message"){let G=Y.content[$.content_index];if(!G)throw new o(`missing content at index ${$.content_index}`);if(G.type!=="output_text")throw new o(`expected content to be 'output_text', got ${G.type}`);G.text+=$.delta}break}case"response.function_call_arguments.delta":{let Y=X.output[$.output_index];if(!Y)throw new o(`missing output at index ${$.output_index}`);if(Y.type==="function_call")Y.arguments+=$.delta;break}case"response.completed":{w4(this,f2,$.response,"f");break}}return X},Symbol.asyncIterator)](){let W=[],$=[],X=!1;return this.on("event",(Y)=>{let G=$.shift();if(G)G.resolve(Y);else W.push(Y)}),this.on("end",()=>{X=!0;for(let Y of $)Y.resolve(void 0);$.length=0}),this.on("abort",(Y)=>{X=!0;for(let G of $)G.reject(Y);$.length=0}),this.on("error",(Y)=>{X=!0;for(let G of $)G.reject(Y);$.length=0}),{next:async()=>{if(!W.length){if(X)return{value:void 0,done:!0};return new Promise((G,J)=>$.push({resolve:G,reject:J})).then((G)=>G?{value:G,done:!1}:{value:void 0,done:!0})}return{value:W.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}async finalResponse(){await this.done();let W=P2(this,YY,"f");if(!W)throw new o("stream ended without producing a ChatCompletion");return W}}function iM(W,$){return yH(W,$)}class V8 extends C{constructor(){super(...arguments);this.inputItems=new $6(this._client)}create(W,$){return this._client.post("/responses",{body:W,...$,stream:W.stream??!1})._thenUnwrap((X)=>{if("object"in X&&X.object==="response")v5(X);return X})}retrieve(W,$={},X){if(z0($))return this.retrieve(W,{},$);return this._client.get(`/responses/${W}`,{query:$,...X})}del(W,$){return this._client.delete(`/responses/${W}`,{...$,headers:{Accept:"*/*",...$?.headers}})}parse(W,$){return this._client.responses.create(W,$)._thenUnwrap((X)=>b5(X,W))}stream(W,$){return GY.createResponse(this._client,W,$)}}class y5 extends E0{}V8.InputItems=$6;class X6 extends C{create(W,$,X){return this._client.post(`/uploads/${W}/parts`,JW({body:$,...X}))}}class M8 extends C{constructor(){super(...arguments);this.parts=new X6(this._client)}create(W,$){return this._client.post("/uploads",{body:W,...$})}cancel(W,$){return this._client.post(`/uploads/${W}/cancel`,$)}complete(W,$,X){return this._client.post(`/uploads/${W}/complete`,{body:$,...X})}}M8.Parts=X6;var uH=async(W)=>{let $=await Promise.allSettled(W),X=$.filter((G)=>G.status==="rejected");if(X.length){for(let G of X)console.error(G.reason);throw new Error(`${X.length} promise(s) failed - see the above errors`)}let Y=[];for(let G of $)if(G.status==="fulfilled")Y.push(G.value);return Y};class O8 extends C{create(W,$,X){return this._client.post(`/vector_stores/${W}/files`,{body:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}retrieve(W,$,X){return this._client.get(`/vector_stores/${W}/files/${$}`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}update(W,$,X,Y){return this._client.post(`/vector_stores/${W}/files/${$}`,{body:X,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}list(W,$={},X){if(z0($))return this.list(W,{},$);return this._client.getAPIList(`/vector_stores/${W}/files`,K8,{query:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}del(W,$,X){return this._client.delete(`/vector_stores/${W}/files/${$}`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}async createAndPoll(W,$,X){let Y=await this.create(W,$,X);return await this.poll(W,Y.id,X)}async poll(W,$,X){let Y={...X?.headers,"X-Stainless-Poll-Helper":"true"};if(X?.pollIntervalMs)Y["X-Stainless-Custom-Poll-Interval"]=X.pollIntervalMs.toString();while(!0){let G=await this.retrieve(W,$,{...X,headers:Y}).withResponse(),J=G.data;switch(J.status){case"in_progress":let H=5000;if(X?.pollIntervalMs)H=X.pollIntervalMs;else{let Q=G.response.headers.get("openai-poll-after-ms");if(Q){let z=parseInt(Q);if(!isNaN(z))H=z}}await tW(H);break;case"failed":case"completed":return J}}}async upload(W,$,X){let Y=await this._client.files.create({file:$,purpose:"assistants"},X);return this.create(W,{file_id:Y.id},X)}async uploadAndPoll(W,$,X){let Y=await this.upload(W,$,X);return await this.poll(W,Y.id,X)}content(W,$,X){return this._client.getAPIList(`/vector_stores/${W}/files/${$}/content`,Y6,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}}class K8 extends E0{}class Y6 extends aW{}O8.VectorStoreFilesPage=K8;O8.FileContentResponsesPage=Y6;class G6 extends C{create(W,$,X){return this._client.post(`/vector_stores/${W}/file_batches`,{body:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}retrieve(W,$,X){return this._client.get(`/vector_stores/${W}/file_batches/${$}`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}cancel(W,$,X){return this._client.post(`/vector_stores/${W}/file_batches/${$}/cancel`,{...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}async createAndPoll(W,$,X){let Y=await this.create(W,$);return await this.poll(W,Y.id,X)}listFiles(W,$,X={},Y){if(z0(X))return this.listFiles(W,$,{},X);return this._client.getAPIList(`/vector_stores/${W}/file_batches/${$}/files`,K8,{query:X,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}async poll(W,$,X){let Y={...X?.headers,"X-Stainless-Poll-Helper":"true"};if(X?.pollIntervalMs)Y["X-Stainless-Custom-Poll-Interval"]=X.pollIntervalMs.toString();while(!0){let{data:G,response:J}=await this.retrieve(W,$,{...X,headers:Y}).withResponse();switch(G.status){case"in_progress":let H=5000;if(X?.pollIntervalMs)H=X.pollIntervalMs;else{let Q=J.headers.get("openai-poll-after-ms");if(Q){let z=parseInt(Q);if(!isNaN(z))H=z}}await tW(H);break;case"failed":case"cancelled":case"completed":return G}}}async uploadAndPoll(W,{files:$,fileIds:X=[]},Y){if($==null||$.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let G=Y?.maxConcurrency??5,J=Math.min(G,$.length),H=this._client,Q=$.values(),z=[...X];async function T(_){for(let w of _){let O=await H.files.create({file:w,purpose:"assistants"},Y);z.push(O.id)}}let F=Array(J).fill(Q).map(T);return await uH(F),await this.createAndPoll(W,{file_ids:z})}}class QW extends C{constructor(){super(...arguments);this.files=new O8(this._client),this.fileBatches=new G6(this._client)}create(W,$){return this._client.post("/vector_stores",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(W,$){return this._client.get(`/vector_stores/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(W,$,X){return this._client.post(`/vector_stores/${W}`,{body:$,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}list(W={},$){if(z0(W))return this.list({},W);return this._client.getAPIList("/vector_stores",D4,{query:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(W,$){return this._client.delete(`/vector_stores/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}search(W,$,X){return this._client.getAPIList(`/vector_stores/${W}/search`,V4,{body:$,method:"post",...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}}class D4 extends E0{}class V4 extends aW{}QW.VectorStoresPage=D4;QW.VectorStoreSearchResponsesPage=V4;QW.Files=O8;QW.VectorStoreFilesPage=K8;QW.FileContentResponsesPage=Y6;QW.FileBatches=G6;var cH;class H0 extends M5{constructor({baseURL:W=R$("OPENAI_BASE_URL"),apiKey:$=R$("OPENAI_API_KEY"),organization:X=R$("OPENAI_ORG_ID")??null,project:Y=R$("OPENAI_PROJECT_ID")??null,...G}={}){if($===void 0)throw new o("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let J={apiKey:$,organization:X,project:Y,...G,baseURL:W||"https://api.openai.com/v1"};if(!J.dangerouslyAllowBrowser&&OH())throw new o(`It looks like you're running in a browser-like environment.
|
|
37
|
+
${H}`)}let Q=LW.join(this.baseDir,`${W}/${$}.output.json`);return JSON.parse(i0.readFileSync(Q,"utf-8"))}async write(W,$,Y,X){let G=LW.join(this.baseDir,W),J=LW.join(G,`${$}.input.json`),H=LW.join(G,`${$}.output.json`),T=JSON.stringify(Y,null,"\t");if(!i0.existsSync(this.baseDir))i0.mkdirSync(this.baseDir,{recursive:!0});if(!i0.existsSync(G))i0.mkdirSync(G);if(i0.writeFileSync(J,T),i0.existsSync(H))i0.unlinkSync(H);let Q=await X(...Y),_=JSON.stringify(Q,null,"\t");return i0.writeFileSync(H,_),Q}add(W,$){let Y=`${this.rootName}${Y1}${L4(W)}`;return{flush:()=>{this.flush(W)},for:(X)=>{if(this.mode!=="off"){if(this.filesTouched.set(W,new Set),P0.storage.initialized&&!P0.storage.getItem(`list${Y1}${Y}`))P0.storage.setItem(`list${Y1}${Y}`,"true")}return{get:async(...G)=>{let J=X;if(this.mode!=="off"){let H=this.filenameCache.get(X);if(!H)H=L4(X),this.filenameCache.set(X,H);J=H,this.filesTouched.get(W)?.add(J);let T=`${Y}${Y1}${J}`,Q=`file${Y1}${T}`;if(P0.storage.initialized&&!P0.storage.getItem(Q))P0.storage.setItem(Q,"true")}switch(this.mode){case"off":return $(...G);case"read":return this.read(W,J,G);case"write":return this.write(W,J,G,$);case"read-write":try{return this.read(W,J,G)}catch(H){if(H instanceof Error)return this.write(W,J,G,$);throw H}}}}}}}flush(...W){console.log(this.filesTouched);for(let[$,Y]of this.filesTouched.entries())if(W.length===0||W.includes($)){let X=LW.join(this.baseDir,$),G=i0.readdirSync(X);for(let J of G){let H=J.replace(".input.json","").replace(".output.json","");if(!Y.has(H))console.info(`\uD83E\uDDF9 Flushing ${H}`),i0.unlinkSync(LW.join(X,J))}}}};var SY="RFC3986",qY={RFC1738:(W)=>String(W).replace(/%20/g,"+"),RFC3986:(W)=>String(W)},o3="RFC1738";var jM=Array.isArray,vW=(()=>{let W=[];for(let $=0;$<256;++$)W.push("%"+(($<16?"0":"")+$.toString(16)).toUpperCase());return W})();var e9=1024,i3=(W,$,Y,X,G)=>{if(W.length===0)return W;let J=W;if(typeof W==="symbol")J=Symbol.prototype.toString.call(W);else if(typeof W!=="string")J=String(W);if(Y==="iso-8859-1")return escape(J).replace(/%u[0-9a-f]{4}/gi,function(T){return"%26%23"+parseInt(T.slice(2),16)+"%3B"});let H="";for(let T=0;T<J.length;T+=e9){let Q=J.length>=e9?J.slice(T,T+e9):J,_=[];for(let z=0;z<Q.length;++z){let F=Q.charCodeAt(z);if(F===45||F===46||F===95||F===126||F>=48&&F<=57||F>=65&&F<=90||F>=97&&F<=122||G===o3&&(F===40||F===41)){_[_.length]=Q.charAt(z);continue}if(F<128){_[_.length]=vW[F];continue}if(F<2048){_[_.length]=vW[192|F>>6]+vW[128|F&63];continue}if(F<55296||F>=57344){_[_.length]=vW[224|F>>12]+vW[128|F>>6&63]+vW[128|F&63];continue}z+=1,F=65536+((F&1023)<<10|Q.charCodeAt(z)&1023),_[_.length]=vW[240|F>>18]+vW[128|F>>12&63]+vW[128|F>>6&63]+vW[128|F&63]}H+=_.join("")}return H};function n3(W){if(!W||typeof W!=="object")return!1;return!!(W.constructor&&W.constructor.isBuffer&&W.constructor.isBuffer(W))}function W5(W,$){if(jM(W)){let Y=[];for(let X=0;X<W.length;X+=1)Y.push($(W[X]));return Y}return $(W)}var IM=Object.prototype.hasOwnProperty,r3={brackets(W){return String(W)+"[]"},comma:"comma",indices(W,$){return String(W)+"["+$+"]"},repeat(W){return String(W)}},yW=Array.isArray,PM=Array.prototype.push,t3=function(W,$){PM.apply(W,yW($)?$:[$])},fM=Date.prototype.toISOString,X1={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:i3,encodeValuesOnly:!1,format:SY,formatter:qY[SY],indices:!1,serializeDate(W){return fM.call(W)},skipNulls:!1,strictNullHandling:!1};function bM(W){return typeof W==="string"||typeof W==="number"||typeof W==="boolean"||typeof W==="symbol"||typeof W==="bigint"}var $5={};function a3(W,$,Y,X,G,J,H,T,Q,_,z,F,w,O,V,E,I,j){let N=W,B=j,P=0,g=!1;while((B=B.get($5))!==void 0&&!g){let Z=B.get(W);if(P+=1,typeof Z!=="undefined")if(Z===P)throw new RangeError("Cyclic object value");else g=!0;if(typeof B.get($5)==="undefined")P=0}if(typeof _==="function")N=_($,N);else if(N instanceof Date)N=w?.(N);else if(Y==="comma"&&yW(N))N=W5(N,function(Z){if(Z instanceof Date)return w?.(Z);return Z});if(N===null){if(J)return Q&&!E?Q($,X1.encoder,I,"key",O):$;N=""}if(bM(N)||n3(N)){if(Q){let Z=E?$:Q($,X1.encoder,I,"key",O);return[V?.(Z)+"="+V?.(Q(N,X1.encoder,I,"value",O))]}return[V?.($)+"="+V?.(String(N))]}let x=[];if(typeof N==="undefined")return x;let p;if(Y==="comma"&&yW(N)){if(E&&Q)N=W5(N,Q);p=[{value:N.length>0?N.join(",")||null:void 0}]}else if(yW(_))p=_;else{let Z=Object.keys(N);p=z?Z.sort(z):Z}let w0=T?String($).replace(/\./g,"%2E"):String($),p0=X&&yW(N)&&N.length===1?w0+"[]":w0;if(G&&yW(N)&&N.length===0)return p0+"[]";for(let Z=0;Z<p.length;++Z){let M0=p[Z],Y0=typeof M0==="object"&&typeof M0.value!=="undefined"?M0.value:N[M0];if(H&&Y0===null)continue;let U0=F&&T?M0.replace(/\./g,"%2E"):M0,e0=yW(N)?typeof Y==="function"?Y(p0,U0):p0:p0+(F?"."+U0:"["+U0+"]");j.set(W,P);let V1=new WeakMap;V1.set($5,j),t3(x,a3(Y0,e0,Y,X,G,J,H,T,Y==="comma"&&E&&yW(N)?null:Q,_,z,F,w,O,V,E,I,V1))}return x}function xM(W=X1){if(typeof W.allowEmptyArrays!=="undefined"&&typeof W.allowEmptyArrays!=="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof W.encodeDotInKeys!=="undefined"&&typeof W.encodeDotInKeys!=="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(W.encoder!==null&&typeof W.encoder!=="undefined"&&typeof W.encoder!=="function")throw new TypeError("Encoder has to be a function.");let $=W.charset||X1.charset;if(typeof W.charset!=="undefined"&&W.charset!=="utf-8"&&W.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let Y=SY;if(typeof W.format!=="undefined"){if(!IM.call(qY,W.format))throw new TypeError("Unknown format option provided.");Y=W.format}let X=qY[Y],G=X1.filter;if(typeof W.filter==="function"||yW(W.filter))G=W.filter;let J;if(W.arrayFormat&&W.arrayFormat in r3)J=W.arrayFormat;else if("indices"in W)J=W.indices?"indices":"repeat";else J=X1.arrayFormat;if("commaRoundTrip"in W&&typeof W.commaRoundTrip!=="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let H=typeof W.allowDots==="undefined"?!!W.encodeDotInKeys===!0?!0:X1.allowDots:!!W.allowDots;return{addQueryPrefix:typeof W.addQueryPrefix==="boolean"?W.addQueryPrefix:X1.addQueryPrefix,allowDots:H,allowEmptyArrays:typeof W.allowEmptyArrays==="boolean"?!!W.allowEmptyArrays:X1.allowEmptyArrays,arrayFormat:J,charset:$,charsetSentinel:typeof W.charsetSentinel==="boolean"?W.charsetSentinel:X1.charsetSentinel,commaRoundTrip:!!W.commaRoundTrip,delimiter:typeof W.delimiter==="undefined"?X1.delimiter:W.delimiter,encode:typeof W.encode==="boolean"?W.encode:X1.encode,encodeDotInKeys:typeof W.encodeDotInKeys==="boolean"?W.encodeDotInKeys:X1.encodeDotInKeys,encoder:typeof W.encoder==="function"?W.encoder:X1.encoder,encodeValuesOnly:typeof W.encodeValuesOnly==="boolean"?W.encodeValuesOnly:X1.encodeValuesOnly,filter:G,format:Y,formatter:X,serializeDate:typeof W.serializeDate==="function"?W.serializeDate:X1.serializeDate,skipNulls:typeof W.skipNulls==="boolean"?W.skipNulls:X1.skipNulls,sort:typeof W.sort==="function"?W.sort:null,strictNullHandling:typeof W.strictNullHandling==="boolean"?W.strictNullHandling:X1.strictNullHandling}}function Y5(W,$={}){let Y=W,X=xM($),G,J;if(typeof X.filter==="function")J=X.filter,Y=J("",Y);else if(yW(X.filter))J=X.filter,G=J;let H=[];if(typeof Y!=="object"||Y===null)return"";let T=r3[X.arrayFormat],Q=T==="comma"&&X.commaRoundTrip;if(!G)G=Object.keys(Y);if(X.sort)G.sort(X.sort);let _=new WeakMap;for(let w=0;w<G.length;++w){let O=G[w];if(X.skipNulls&&Y[O]===null)continue;t3(H,a3(Y[O],O,T,Q,X.allowEmptyArrays,X.strictNullHandling,X.skipNulls,X.encodeDotInKeys,X.encode?X.encoder:null,X.filter,X.sort,X.allowDots,X.serializeDate,X.format,X.formatter,X.encodeValuesOnly,X.charset,_))}let z=H.join(X.delimiter),F=X.addQueryPrefix===!0?"?":"";if(X.charsetSentinel)if(X.charset==="iso-8859-1")F+="utf8=%26%2310003%3B&";else F+="utf8=%E2%9C%93&";return z.length>0?F+z:""}var s$="4.100.0";var s3=!1,e$=void 0,X5=void 0,yM=void 0,hM=void 0,gM=void 0,G5=void 0,mM=void 0,CY=void 0,J5=void 0,H5=void 0,T5=void 0,kY=void 0,Q5=void 0;function e3(W,$={auto:!1}){if(s3)throw new Error(`you must \`import 'openai/shims/${W.kind}'\` before importing anything else from openai`);if(e$)throw new Error(`can't \`import 'openai/shims/${W.kind}'\` after \`import 'openai/shims/${e$}'\``);s3=$.auto,e$=W.kind,X5=W.fetch,yM=W.Request,hM=W.Response,gM=W.Headers,G5=W.FormData,mM=W.Blob,CY=W.File,J5=W.ReadableStream,H5=W.getMultipartRequestOptions,T5=W.getDefaultAgent,kY=W.fileFromPath,Q5=W.isFsReadStream}class _5{constructor(W){this.body=W}get[Symbol.toStringTag](){return"MultipartBody"}}function WH({manuallyImported:W}={}){let $=W?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",Y,X,G,J;try{Y=fetch,X=Request,G=Response,J=Headers}catch(H){throw new Error(`this environment is missing the following Web Fetch API type: ${H.message}. ${$}`)}return{kind:"web",fetch:Y,Request:X,Response:G,Headers:J,FormData:typeof FormData!=="undefined"?FormData:class H{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${$}`)}},Blob:typeof Blob!=="undefined"?Blob:class H{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${$}`)}},File:typeof File!=="undefined"?File:class H{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${$}`)}},ReadableStream:typeof ReadableStream!=="undefined"?ReadableStream:class H{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${$}`)}},getMultipartRequestOptions:async(H,T)=>({...T,body:new _5(H)}),getDefaultAgent:(H)=>{return},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:(H)=>!1}}import{ReadStream as uM}from"fs";function $H(){let W=WH();function $(Y){return Y instanceof uM}return{...W,isFsReadStream:$}}var z5=()=>{if(!e$)e3($H(),{auto:!0})};z5();class o extends Error{}class t0 extends o{constructor(W,$,Y,X){super(`${t0.makeMessage(W,$,Y)}`);this.status=W,this.headers=X,this.request_id=X?.["x-request-id"],this.error=$;let G=$;this.code=G?.code,this.param=G?.param,this.type=G?.type}static makeMessage(W,$,Y){let X=$?.message?typeof $.message==="string"?$.message:JSON.stringify($.message):$?JSON.stringify($):Y;if(W&&X)return`${W} ${X}`;if(W)return`${W} status code (no body)`;if(X)return X;return"(no status code or body)"}static generate(W,$,Y,X){if(!W||!X)return new W2({message:Y,cause:hY($)});let G=$?.error;if(W===400)return new jY(W,G,Y,X);if(W===401)return new IY(W,G,Y,X);if(W===403)return new PY(W,G,Y,X);if(W===404)return new fY(W,G,Y,X);if(W===409)return new bY(W,G,Y,X);if(W===422)return new xY(W,G,Y,X);if(W===429)return new vY(W,G,Y,X);if(W>=500)return new yY(W,G,Y,X);return new t0(W,G,Y,X)}}class G1 extends t0{constructor({message:W}={}){super(void 0,void 0,W||"Request was aborted.",void 0)}}class W2 extends t0{constructor({message:W,cause:$}){super(void 0,void 0,W||"Connection error.",void 0);if($)this.cause=$}}class $2 extends W2{constructor({message:W}={}){super({message:W??"Request timed out."})}}class jY extends t0{}class IY extends t0{}class PY extends t0{}class fY extends t0{}class bY extends t0{}class xY extends t0{}class vY extends t0{}class yY extends t0{}class Z4 extends o{constructor(){super("Could not parse response content as the length limit was reached")}}class N4 extends o{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}var gY=function(W,$,Y,X,G){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?G.call(W,Y):G?G.value=Y:$.set(W,Y),Y},Y2=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},r1;class i2{constructor(){r1.set(this,void 0),this.buffer=new Uint8Array,gY(this,r1,null,"f")}decode(W){if(W==null)return[];let $=W instanceof ArrayBuffer?new Uint8Array(W):typeof W==="string"?new TextEncoder().encode(W):W,Y=new Uint8Array(this.buffer.length+$.length);Y.set(this.buffer),Y.set($,this.buffer.length),this.buffer=Y;let X=[],G;while((G=dM(this.buffer,Y2(this,r1,"f")))!=null){if(G.carriage&&Y2(this,r1,"f")==null){gY(this,r1,G.index,"f");continue}if(Y2(this,r1,"f")!=null&&(G.index!==Y2(this,r1,"f")+1||G.carriage)){X.push(this.decodeText(this.buffer.slice(0,Y2(this,r1,"f")-1))),this.buffer=this.buffer.slice(Y2(this,r1,"f")),gY(this,r1,null,"f");continue}let J=Y2(this,r1,"f")!==null?G.preceding-1:G.preceding,H=this.decodeText(this.buffer.slice(0,J));X.push(H),this.buffer=this.buffer.slice(G.index),gY(this,r1,null,"f")}return X}decodeText(W){if(W==null)return"";if(typeof W==="string")return W;if(typeof Buffer!=="undefined"){if(W instanceof Buffer)return W.toString();if(W instanceof Uint8Array)return Buffer.from(W).toString();throw new o(`Unexpected: received non-Uint8Array (${W.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder!=="undefined"){if(W instanceof Uint8Array||W instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(W);throw new o(`Unexpected: received non-Uint8Array/ArrayBuffer (${W.constructor.name}) in a web platform. Please report this error.`)}throw new o("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){if(!this.buffer.length)return[];return this.decode(`
|
|
38
|
+
`)}}r1=new WeakMap;i2.NEWLINE_CHARS=new Set([`
|
|
39
|
+
`,"\r"]);i2.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function dM(W,$){for(let G=$??0;G<W.length;G++){if(W[G]===10)return{preceding:G,index:G+1,carriage:!1};if(W[G]===13)return{preceding:G,index:G+1,carriage:!0}}return null}function YH(W){for(let X=0;X<W.length-1;X++){if(W[X]===10&&W[X+1]===10)return X+2;if(W[X]===13&&W[X+1]===13)return X+2;if(W[X]===13&&W[X+1]===10&&X+3<W.length&&W[X+2]===13&&W[X+3]===10)return X+4}return-1}function F5(W){if(W[Symbol.asyncIterator])return W;let $=W.getReader();return{async next(){try{let Y=await $.read();if(Y?.done)$.releaseLock();return Y}catch(Y){throw $.releaseLock(),Y}},async return(){let Y=$.cancel();return $.releaseLock(),await Y,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}class t1{constructor(W,$){this.iterator=W,this.controller=$}static fromSSEResponse(W,$){let Y=!1;async function*X(){if(Y)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Y=!0;let G=!1;try{for await(let J of lM(W,$)){if(G)continue;if(J.data.startsWith("[DONE]")){G=!0;continue}if(J.event===null||J.event.startsWith("response.")||J.event.startsWith("transcript.")){let H;try{H=JSON.parse(J.data)}catch(T){throw console.error("Could not parse message into JSON:",J.data),console.error("From chunk:",J.raw),T}if(H&&H.error)throw new t0(void 0,H.error,void 0,w5(W.headers));yield H}else{let H;try{H=JSON.parse(J.data)}catch(T){throw console.error("Could not parse message into JSON:",J.data),console.error("From chunk:",J.raw),T}if(J.event=="error")throw new t0(void 0,H.error,H.message,void 0);yield{event:J.event,data:H}}}G=!0}catch(J){if(J instanceof Error&&J.name==="AbortError")return;throw J}finally{if(!G)$.abort()}}return new t1(X,$)}static fromReadableStream(W,$){let Y=!1;async function*X(){let J=new i2,H=F5(W);for await(let T of H)for(let Q of J.decode(T))yield Q;for(let T of J.flush())yield T}async function*G(){if(Y)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Y=!0;let J=!1;try{for await(let H of X()){if(J)continue;if(H)yield JSON.parse(H)}J=!0}catch(H){if(H instanceof Error&&H.name==="AbortError")return;throw H}finally{if(!J)$.abort()}}return new t1(G,$)}[Symbol.asyncIterator](){return this.iterator()}tee(){let W=[],$=[],Y=this.iterator(),X=(G)=>{return{next:()=>{if(G.length===0){let J=Y.next();W.push(J),$.push(J)}return G.shift()}}};return[new t1(()=>X(W),this.controller),new t1(()=>X($),this.controller)]}toReadableStream(){let W=this,$,Y=new TextEncoder;return new J5({async start(){$=W[Symbol.asyncIterator]()},async pull(X){try{let{value:G,done:J}=await $.next();if(J)return X.close();let H=Y.encode(JSON.stringify(G)+`
|
|
40
|
+
`);X.enqueue(H)}catch(G){X.error(G)}},async cancel(){await $.return?.()}})}}async function*lM(W,$){if(!W.body)throw $.abort(),new o("Attempted to iterate over a response with no body");let Y=new XH,X=new i2,G=F5(W.body);for await(let J of oM(G))for(let H of X.decode(J)){let T=Y.decode(H);if(T)yield T}for(let J of X.flush()){let H=Y.decode(J);if(H)yield H}}async function*oM(W){let $=new Uint8Array;for await(let Y of W){if(Y==null)continue;let X=Y instanceof ArrayBuffer?new Uint8Array(Y):typeof Y==="string"?new TextEncoder().encode(Y):Y,G=new Uint8Array($.length+X.length);G.set($),G.set(X,$.length),$=G;let J;while((J=YH($))!==-1)yield $.slice(0,J),$=$.slice(J)}if($.length>0)yield $}class XH{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(W){if(W.endsWith("\r"))W=W.substring(0,W.length-1);if(!W){if(!this.event&&!this.data.length)return null;let G={event:this.event,data:this.data.join(`
|
|
41
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],G}if(this.chunks.push(W),W.startsWith(":"))return null;let[$,Y,X]=iM(W,":");if(X.startsWith(" "))X=X.substring(1);if($==="event")this.event=X;else if($==="data")this.data.push(X);return null}}function iM(W,$){let Y=W.indexOf($);if(Y!==-1)return[W.substring(0,Y),$,W.substring(Y+$.length)];return[W,"",""]}var GH=(W)=>W!=null&&typeof W==="object"&&typeof W.url==="string"&&typeof W.blob==="function",JH=(W)=>W!=null&&typeof W==="object"&&typeof W.name==="string"&&typeof W.lastModified==="number"&&R4(W),R4=(W)=>W!=null&&typeof W==="object"&&typeof W.size==="number"&&typeof W.type==="string"&&typeof W.text==="function"&&typeof W.slice==="function"&&typeof W.arrayBuffer==="function",nM=(W)=>{return JH(W)||GH(W)||Q5(W)};async function M5(W,$,Y){if(W=await W,JH(W))return W;if(GH(W)){let G=await W.blob();$||($=new URL(W.url).pathname.split(/[\\/]/).pop()??"unknown_file");let J=R4(G)?[await G.arrayBuffer()]:[G];return new CY(J,$,Y)}let X=await rM(W);if($||($=aM(W)??"unknown_file"),!Y?.type){let G=X[0]?.type;if(typeof G==="string")Y={...Y,type:G}}return new CY(X,$,Y)}async function rM(W){let $=[];if(typeof W==="string"||ArrayBuffer.isView(W)||W instanceof ArrayBuffer)$.push(W);else if(R4(W))$.push(await W.arrayBuffer());else if(sM(W))for await(let Y of W)$.push(Y);else throw new Error(`Unexpected data type: ${typeof W}; constructor: ${W?.constructor?.name}; props: ${tM(W)}`);return $}function tM(W){return`[${Object.getOwnPropertyNames(W).map((Y)=>`"${Y}"`).join(", ")}]`}function aM(W){return U5(W.name)||U5(W.filename)||U5(W.path)?.split(/[\\/]/).pop()}var U5=(W)=>{if(typeof W==="string")return W;if(typeof Buffer!=="undefined"&&W instanceof Buffer)return String(W);return},sM=(W)=>W!=null&&typeof W==="object"&&typeof W[Symbol.asyncIterator]==="function",V5=(W)=>W&&typeof W==="object"&&W.body&&W[Symbol.toStringTag]==="MultipartBody";var JW=async(W)=>{let $=await HH(W.body);return H5($,W)},HH=async(W)=>{let $=new G5;return await Promise.all(Object.entries(W||{}).map(([Y,X])=>D5($,Y,X))),$};var D5=async(W,$,Y)=>{if(Y===void 0)return;if(Y==null)throw new TypeError(`Received null for "${$}"; to pass null in FormData, you must use the string 'null'`);if(typeof Y==="string"||typeof Y==="number"||typeof Y==="boolean")W.append($,String(Y));else if(nM(Y)){let X=await M5(Y);W.append($,X)}else if(Array.isArray(Y))await Promise.all(Y.map((X)=>D5(W,$+"[]",X)));else if(typeof Y==="object")await Promise.all(Object.entries(Y).map(([X,G])=>D5(W,`${$}[${X}]`,G)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${Y} instead`)};var WV=function(W,$,Y,X,G){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?G.call(W,Y):G?G.value=Y:$.set(W,Y),Y},$V=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},mY;z5();async function wH(W){let{response:$}=W;if(W.options.stream){if(tW("response",$.status,$.url,$.headers,$.body),W.options.__streamClass)return W.options.__streamClass.fromSSEResponse($,W.controller);return t1.fromSSEResponse($,W.controller)}if($.status===204)return null;if(W.options.__binaryResponse)return $;let X=$.headers.get("content-type")?.split(";")[0]?.trim();if(X?.includes("application/json")||X?.endsWith("+json")){let H=await $.json();return tW("response",$.status,$.url,$.headers,H),UH(H,$)}let J=await $.text();return tW("response",$.status,$.url,$.headers,J),J}function UH(W,$){if(!W||typeof W!=="object"||Array.isArray(W))return W;return Object.defineProperty(W,"_request_id",{value:$.headers.get("x-request-id"),enumerable:!1})}class uY extends Promise{constructor(W,$=wH){super((Y)=>{Y(null)});this.responsePromise=W,this.parseResponse=$}_thenUnwrap(W){return new uY(this.responsePromise,async($)=>UH(W(await this.parseResponse($),$),$.response))}asResponse(){return this.responsePromise.then((W)=>W.response)}async withResponse(){let[W,$]=await Promise.all([this.parse(),this.asResponse()]);return{data:W,response:$,request_id:$.headers.get("x-request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(this.parseResponse);return this.parsedPromise}then(W,$){return this.parse().then(W,$)}catch(W){return this.parse().catch(W)}finally(W){return this.parse().finally(W)}}class K5{constructor({baseURL:W,maxRetries:$=2,timeout:Y=600000,httpAgent:X,fetch:G}){this.baseURL=W,this.maxRetries=O5("maxRetries",$),this.timeout=O5("timeout",Y),this.httpAgent=X,this.fetch=G??X5}authHeaders(W){return{}}defaultHeaders(W){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...JV(),...this.authHeaders(W)}}validateHeaders(W,$){}defaultIdempotencyKey(){return`stainless-node-retry-${_V()}`}get(W,$){return this.methodRequest("get",W,$)}post(W,$){return this.methodRequest("post",W,$)}patch(W,$){return this.methodRequest("patch",W,$)}put(W,$){return this.methodRequest("put",W,$)}delete(W,$){return this.methodRequest("delete",W,$)}methodRequest(W,$,Y){return this.request(Promise.resolve(Y).then(async(X)=>{let G=X&&R4(X?.body)?new DataView(await X.body.arrayBuffer()):X?.body instanceof DataView?X.body:X?.body instanceof ArrayBuffer?new DataView(X.body):X&&ArrayBuffer.isView(X?.body)?new DataView(X.body.buffer):X?.body;return{method:W,path:$,...X,body:G}}))}getAPIList(W,$,Y){return this.requestAPIList($,{method:"get",path:W,...Y})}calculateContentLength(W){if(typeof W==="string"){if(typeof Buffer!=="undefined")return Buffer.byteLength(W,"utf8").toString();if(typeof TextEncoder!=="undefined")return new TextEncoder().encode(W).length.toString()}else if(ArrayBuffer.isView(W))return W.byteLength.toString();return null}buildRequest(W,{retryCount:$=0}={}){let Y={...W},{method:X,path:G,query:J,headers:H={}}=Y,T=ArrayBuffer.isView(Y.body)||Y.__binaryRequest&&typeof Y.body==="string"?Y.body:V5(Y.body)?Y.body.body:Y.body?JSON.stringify(Y.body,null,2):null,Q=this.calculateContentLength(T),_=this.buildURL(G,J);if("timeout"in Y)O5("timeout",Y.timeout);Y.timeout=Y.timeout??this.timeout;let z=Y.httpAgent??this.httpAgent??T5(_),F=Y.timeout+1000;if(typeof z?.options?.timeout==="number"&&F>(z.options.timeout??0))z.options.timeout=F;if(this.idempotencyHeader&&X!=="get"){if(!W.idempotencyKey)W.idempotencyKey=this.defaultIdempotencyKey();H[this.idempotencyHeader]=W.idempotencyKey}let w=this.buildHeaders({options:Y,headers:H,contentLength:Q,retryCount:$});return{req:{method:X,...T&&{body:T},headers:w,...z&&{agent:z},signal:Y.signal??null},url:_,timeout:Y.timeout}}buildHeaders({options:W,headers:$,contentLength:Y,retryCount:X}){let G={};if(Y)G["content-length"]=Y;let J=this.defaultHeaders(W);if(zH(G,J),zH(G,$),V5(W.body)&&e$!=="node")delete G["content-type"];if(pY(J,"x-stainless-retry-count")===void 0&&pY($,"x-stainless-retry-count")===void 0)G["x-stainless-retry-count"]=String(X);if(pY(J,"x-stainless-timeout")===void 0&&pY($,"x-stainless-timeout")===void 0&&W.timeout)G["x-stainless-timeout"]=String(Math.trunc(W.timeout/1000));return this.validateHeaders(G,$),G}async prepareOptions(W){}async prepareRequest(W,{url:$,options:Y}){}parseHeaders(W){return!W?{}:(Symbol.iterator in W)?Object.fromEntries(Array.from(W).map(($)=>[...$])):{...W}}makeStatusError(W,$,Y,X){return t0.generate(W,$,Y,X)}request(W,$=null){return new uY(this.makeRequest(W,$))}async makeRequest(W,$){let Y=await W,X=Y.maxRetries??this.maxRetries;if($==null)$=X;await this.prepareOptions(Y);let{req:G,url:J,timeout:H}=this.buildRequest(Y,{retryCount:X-$});if(await this.prepareRequest(G,{url:J,options:Y}),tW("request",J,Y,G.headers),Y.signal?.aborted)throw new G1;let T=new AbortController,Q=await this.fetchWithTimeout(J,G,H,T).catch(hY);if(Q instanceof Error){if(Y.signal?.aborted)throw new G1;if($)return this.retryRequest(Y,$);if(Q.name==="AbortError")throw new $2;throw new W2({cause:Q})}let _=w5(Q.headers);if(!Q.ok){if($&&this.shouldRetry(Q)){let E=`retrying, ${$} attempts remaining`;return tW(`response (error; ${E})`,Q.status,J,_),this.retryRequest(Y,$,_)}let z=await Q.text().catch((E)=>hY(E).message),F=HV(z),w=F?void 0:z;throw tW(`response (error; ${$?"(error; no more retries left)":"(error; not retryable)"})`,Q.status,J,_,w),this.makeStatusError(Q.status,F,w,_)}return{response:Q,options:Y,controller:T}}requestAPIList(W,$){let Y=this.makeRequest($,null);return new DH(this,Y,W)}buildURL(W,$){let Y=QV(W)?new URL(W):new URL(this.baseURL+(this.baseURL.endsWith("/")&&W.startsWith("/")?W.slice(1):W)),X=this.defaultQuery();if(!MH(X))$={...X,...$};if(typeof $==="object"&&$&&!Array.isArray($))Y.search=this.stringifyQuery($);return Y.toString()}stringifyQuery(W){return Object.entries(W).filter(([$,Y])=>typeof Y!=="undefined").map(([$,Y])=>{if(typeof Y==="string"||typeof Y==="number"||typeof Y==="boolean")return`${encodeURIComponent($)}=${encodeURIComponent(Y)}`;if(Y===null)return`${encodeURIComponent($)}=`;throw new o(`Cannot stringify type ${typeof Y}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(W,$,Y,X){let{signal:G,...J}=$||{};if(G)G.addEventListener("abort",()=>X.abort());let H=setTimeout(()=>X.abort(),Y),T={signal:X.signal,...J};if(T.method)T.method=T.method.toUpperCase();return this.fetch.call(void 0,W,T).finally(()=>{clearTimeout(H)})}shouldRetry(W){let $=W.headers.get("x-should-retry");if($==="true")return!0;if($==="false")return!1;if(W.status===408)return!0;if(W.status===409)return!0;if(W.status===429)return!0;if(W.status>=500)return!0;return!1}async retryRequest(W,$,Y){let X,G=Y?.["retry-after-ms"];if(G){let H=parseFloat(G);if(!Number.isNaN(H))X=H}let J=Y?.["retry-after"];if(J&&!X){let H=parseFloat(J);if(!Number.isNaN(H))X=H*1000;else X=Date.parse(J)-Date.now()}if(!(X&&0<=X&&X<60000)){let H=W.maxRetries??this.maxRetries;X=this.calculateDefaultRetryTimeoutMillis($,H)}return await aW(X),this.makeRequest(W,$-1)}calculateDefaultRetryTimeoutMillis(W,$){let G=$-W,J=Math.min(0.5*Math.pow(2,G),8),H=1-Math.random()*0.25;return J*H*1000}getUserAgent(){return`${this.constructor.name}/JS ${s$}`}}class cY{constructor(W,$,Y,X){mY.set(this,void 0),WV(this,mY,W,"f"),this.options=X,this.response=$,this.body=Y}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageInfo()!=null}async getNextPage(){let W=this.nextPageInfo();if(!W)throw new o("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let $={...this.options};if("params"in W&&typeof $.query==="object")$.query={...$.query,...W.params};else if("url"in W){let Y=[...Object.entries($.query||{}),...W.url.searchParams.entries()];for(let[X,G]of Y)W.url.searchParams.set(X,G);$.query=void 0,$.path=W.url.toString()}return await $V(this,mY,"f").requestAPIList(this.constructor,$)}async*iterPages(){let W=this;yield W;while(W.hasNextPage())W=await W.getNextPage(),yield W}async*[(mY=new WeakMap,Symbol.asyncIterator)](){for await(let W of this.iterPages())for(let $ of W.getPaginatedItems())yield $}}class DH extends uY{constructor(W,$,Y){super($,async(X)=>new Y(W,X.response,await wH(X),X.options))}async*[Symbol.asyncIterator](){let W=await this;for await(let $ of W)yield $}}var w5=(W)=>{return new Proxy(Object.fromEntries(W.entries()),{get($,Y){let X=Y.toString();return $[X.toLowerCase()]||$[X]}})},YV={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},Q0=(W)=>{return typeof W==="object"&&W!==null&&!MH(W)&&Object.keys(W).every(($)=>VH(YV,$))},XV=()=>{if(typeof Deno!=="undefined"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":s$,"X-Stainless-OS":QH(Deno.build.os),"X-Stainless-Arch":TH(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime!=="undefined")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":s$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process!=="undefined"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":s$,"X-Stainless-OS":QH(process.platform),"X-Stainless-Arch":TH(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let W=GV();if(W)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":s$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${W.browser}`,"X-Stainless-Runtime-Version":W.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":s$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function GV(){if(typeof navigator==="undefined"||!navigator)return null;let W=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:$,pattern:Y}of W){let X=Y.exec(navigator.userAgent);if(X){let G=X[1]||0,J=X[2]||0,H=X[3]||0;return{browser:$,version:`${G}.${J}.${H}`}}}return null}var TH=(W)=>{if(W==="x32")return"x32";if(W==="x86_64"||W==="x64")return"x64";if(W==="arm")return"arm";if(W==="aarch64"||W==="arm64")return"arm64";if(W)return`other:${W}`;return"unknown"},QH=(W)=>{if(W=W.toLowerCase(),W.includes("ios"))return"iOS";if(W==="android")return"Android";if(W==="darwin")return"MacOS";if(W==="win32")return"Windows";if(W==="freebsd")return"FreeBSD";if(W==="openbsd")return"OpenBSD";if(W==="linux")return"Linux";if(W)return`Other:${W}`;return"Unknown"},_H,JV=()=>{return _H??(_H=XV())},HV=(W)=>{try{return JSON.parse(W)}catch($){return}},TV=/^[a-z][a-z0-9+.-]*:/i,QV=(W)=>{return TV.test(W)},aW=(W)=>new Promise(($)=>setTimeout($,W)),O5=(W,$)=>{if(typeof $!=="number"||!Number.isInteger($))throw new o(`${W} must be an integer`);if($<0)throw new o(`${W} must be a positive integer`);return $},hY=(W)=>{if(W instanceof Error)return W;if(typeof W==="object"&&W!==null)try{return new Error(JSON.stringify(W))}catch{}return new Error(W)};var B4=(W)=>{if(typeof process!=="undefined")return process.env?.[W]?.trim()??void 0;if(typeof Deno!=="undefined")return Deno.env?.get?.(W)?.trim();return};function MH(W){if(!W)return!0;for(let $ in W)return!1;return!0}function VH(W,$){return Object.prototype.hasOwnProperty.call(W,$)}function zH(W,$){for(let Y in $){if(!VH($,Y))continue;let X=Y.toLowerCase();if(!X)continue;let G=$[Y];if(G===null)delete W[X];else if(G!==void 0)W[X]=G}}var FH=new Set(["authorization","api-key"]);function tW(W,...$){if(typeof process!=="undefined"&&process?.env?.DEBUG==="true"){let Y=$.map((X)=>{if(!X)return X;if(X.headers){let J={...X,headers:{...X.headers}};for(let H in X.headers)if(FH.has(H.toLowerCase()))J.headers[H]="REDACTED";return J}let G=null;for(let J in X)if(FH.has(J.toLowerCase()))G??(G={...X}),G[J]="REDACTED";return G??X});console.log(`OpenAI:DEBUG:${W}`,...Y)}}var _V=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(W)=>{let $=Math.random()*16|0;return(W==="x"?$:$&3|8).toString(16)})},OH=()=>{return typeof window!=="undefined"&&typeof window.document!=="undefined"&&typeof navigator!=="undefined"},zV=(W)=>{return typeof W?.get==="function"};var pY=(W,$)=>{let Y=$.toLowerCase();if(zV(W)){let X=$[0]?.toUpperCase()+$.substring(1).replace(/([^\w])(\w)/g,(G,J,H)=>J+H.toUpperCase());for(let G of[$,Y,$.toUpperCase(),X]){let J=W.get(G);if(J)return J}}for(let[X,G]of Object.entries(W))if(X.toLowerCase()===Y){if(Array.isArray(G)){if(G.length<=1)return G[0];return console.warn(`Received ${G.length} entries for the ${$} header, using the first entry.`),G[0]}return G}return};var KH=(W)=>{if(typeof Buffer!=="undefined"){let $=Buffer.from(W,"base64");return Array.from(new Float32Array($.buffer,$.byteOffset,$.length/Float32Array.BYTES_PER_ELEMENT))}else{let $=atob(W),Y=$.length,X=new Uint8Array(Y);for(let G=0;G<Y;G++)X[G]=$.charCodeAt(G);return Array.from(new Float32Array(X.buffer))}};function S4(W){return W!=null&&typeof W==="object"&&!Array.isArray(W)}class sW extends cY{constructor(W,$,Y,X){super(W,$,Y,X);this.data=Y.data||[],this.object=Y.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}}class A0 extends cY{constructor(W,$,Y,X){super(W,$,Y,X);this.data=Y.data||[],this.has_more=Y.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageParams(){let W=this.nextPageInfo();if(!W)return null;if("params"in W)return W.params;let $=Object.fromEntries(W.url.searchParams);if(!Object.keys($).length)return null;return $}nextPageInfo(){let W=this.getPaginatedItems();if(!W.length)return null;let $=W[W.length-1]?.id;if(!$)return null;return{params:{after:$}}}}class C{constructor(W){this._client=W}}class q4 extends C{list(W,$={},Y){if(Q0($))return this.list(W,{},$);return this._client.getAPIList(`/chat/completions/${W}/messages`,E5,{query:$,...Y})}}class X2 extends C{constructor(){super(...arguments);this.messages=new q4(this._client)}create(W,$){return this._client.post("/chat/completions",{body:W,...$,stream:W.stream??!1})}retrieve(W,$){return this._client.get(`/chat/completions/${W}`,$)}update(W,$,Y){return this._client.post(`/chat/completions/${W}`,{body:$,...Y})}list(W={},$){if(Q0(W))return this.list({},W);return this._client.getAPIList("/chat/completions",G2,{query:W,...$})}del(W,$){return this._client.delete(`/chat/completions/${W}`,$)}}class G2 extends A0{}class E5 extends A0{}X2.ChatCompletionsPage=G2;X2.Messages=q4;class C$ extends C{constructor(){super(...arguments);this.completions=new X2(this._client)}}C$.Completions=X2;C$.ChatCompletionsPage=G2;class C4 extends C{create(W,$){return this._client.post("/audio/speech",{body:W,...$,headers:{Accept:"application/octet-stream",...$?.headers},__binaryResponse:!0})}}class k4 extends C{create(W,$){return this._client.post("/audio/transcriptions",JW({body:W,...$,stream:W.stream??!1,__metadata:{model:W.model}}))}}class j4 extends C{create(W,$){return this._client.post("/audio/translations",JW({body:W,...$,__metadata:{model:W.model}}))}}class eW extends C{constructor(){super(...arguments);this.transcriptions=new k4(this._client),this.translations=new j4(this._client),this.speech=new C4(this._client)}}eW.Transcriptions=k4;eW.Translations=j4;eW.Speech=C4;class J2 extends C{create(W,$){return this._client.post("/batches",{body:W,...$})}retrieve(W,$){return this._client.get(`/batches/${W}`,$)}list(W={},$){if(Q0(W))return this.list({},W);return this._client.getAPIList("/batches",n2,{query:W,...$})}cancel(W,$){return this._client.post(`/batches/${W}/cancel`,$)}}class n2 extends A0{}J2.BatchesPage=n2;var ZW=function(W,$,Y,X,G){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?G.call(W,Y):G?G.value=Y:$.set(W,Y),Y},c0=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},A5,dY,lY,I4,P4,oY,f4,W$,b4,iY,nY,r2,EH;class H2{constructor(){A5.add(this),this.controller=new AbortController,dY.set(this,void 0),lY.set(this,()=>{}),I4.set(this,()=>{}),P4.set(this,void 0),oY.set(this,()=>{}),f4.set(this,()=>{}),W$.set(this,{}),b4.set(this,!1),iY.set(this,!1),nY.set(this,!1),r2.set(this,!1),ZW(this,dY,new Promise((W,$)=>{ZW(this,lY,W,"f"),ZW(this,I4,$,"f")}),"f"),ZW(this,P4,new Promise((W,$)=>{ZW(this,oY,W,"f"),ZW(this,f4,$,"f")}),"f"),c0(this,dY,"f").catch(()=>{}),c0(this,P4,"f").catch(()=>{})}_run(W){setTimeout(()=>{W().then(()=>{this._emitFinal(),this._emit("end")},c0(this,A5,"m",EH).bind(this))},0)}_connected(){if(this.ended)return;c0(this,lY,"f").call(this),this._emit("connect")}get ended(){return c0(this,b4,"f")}get errored(){return c0(this,iY,"f")}get aborted(){return c0(this,nY,"f")}abort(){this.controller.abort()}on(W,$){return(c0(this,W$,"f")[W]||(c0(this,W$,"f")[W]=[])).push({listener:$}),this}off(W,$){let Y=c0(this,W$,"f")[W];if(!Y)return this;let X=Y.findIndex((G)=>G.listener===$);if(X>=0)Y.splice(X,1);return this}once(W,$){return(c0(this,W$,"f")[W]||(c0(this,W$,"f")[W]=[])).push({listener:$,once:!0}),this}emitted(W){return new Promise(($,Y)=>{if(ZW(this,r2,!0,"f"),W!=="error")this.once("error",Y);this.once(W,$)})}async done(){ZW(this,r2,!0,"f"),await c0(this,P4,"f")}_emit(W,...$){if(c0(this,b4,"f"))return;if(W==="end")ZW(this,b4,!0,"f"),c0(this,oY,"f").call(this);let Y=c0(this,W$,"f")[W];if(Y)c0(this,W$,"f")[W]=Y.filter((X)=>!X.once),Y.forEach(({listener:X})=>X(...$));if(W==="abort"){let X=$[0];if(!c0(this,r2,"f")&&!Y?.length)Promise.reject(X);c0(this,I4,"f").call(this,X),c0(this,f4,"f").call(this,X),this._emit("end");return}if(W==="error"){let X=$[0];if(!c0(this,r2,"f")&&!Y?.length)Promise.reject(X);c0(this,I4,"f").call(this,X),c0(this,f4,"f").call(this,X),this._emit("end")}}_emitFinal(){}}dY=new WeakMap,lY=new WeakMap,I4=new WeakMap,P4=new WeakMap,oY=new WeakMap,f4=new WeakMap,W$=new WeakMap,b4=new WeakMap,iY=new WeakMap,nY=new WeakMap,r2=new WeakMap,A5=new WeakSet,EH=function W($){if(ZW(this,iY,!0,"f"),$ instanceof Error&&$.name==="AbortError")$=new G1;if($ instanceof G1)return ZW(this,nY,!0,"f"),this._emit("abort",$);if($ instanceof o)return this._emit("error",$);if($ instanceof Error){let Y=new o($.message);return Y.cause=$,this._emit("error",Y)}return this._emit("error",new o(String($)))};var i=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},a1=function(W,$,Y,X,G){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?G.call(W,Y):G?G.value=Y:$.set(W,Y),Y},D1,L5,hW,rY,NW,Q2,t2,T2,sY,s1,tY,aY,y4,x4,v4,AH,LH,ZH,NH,RH,BH,SH;class e1 extends H2{constructor(){super(...arguments);D1.add(this),L5.set(this,[]),hW.set(this,{}),rY.set(this,{}),NW.set(this,void 0),Q2.set(this,void 0),t2.set(this,void 0),T2.set(this,void 0),sY.set(this,void 0),s1.set(this,void 0),tY.set(this,void 0),aY.set(this,void 0),y4.set(this,void 0)}[(L5=new WeakMap,hW=new WeakMap,rY=new WeakMap,NW=new WeakMap,Q2=new WeakMap,t2=new WeakMap,T2=new WeakMap,sY=new WeakMap,s1=new WeakMap,tY=new WeakMap,aY=new WeakMap,y4=new WeakMap,D1=new WeakSet,Symbol.asyncIterator)](){let W=[],$=[],Y=!1;return this.on("event",(X)=>{let G=$.shift();if(G)G.resolve(X);else W.push(X)}),this.on("end",()=>{Y=!0;for(let X of $)X.resolve(void 0);$.length=0}),this.on("abort",(X)=>{Y=!0;for(let G of $)G.reject(X);$.length=0}),this.on("error",(X)=>{Y=!0;for(let G of $)G.reject(X);$.length=0}),{next:async()=>{if(!W.length){if(Y)return{value:void 0,done:!0};return new Promise((G,J)=>$.push({resolve:G,reject:J})).then((G)=>G?{value:G,done:!1}:{value:void 0,done:!0})}return{value:W.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}static fromReadableStream(W){let $=new e1;return $._run(()=>$._fromReadableStream(W)),$}async _fromReadableStream(W,$){let Y=$?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}this._connected();let X=t1.fromReadableStream(W,this.controller);for await(let G of X)i(this,D1,"m",x4).call(this,G);if(X.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",v4).call(this))}toReadableStream(){return new t1(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(W,$,Y,X,G){let J=new e1;return J._run(()=>J._runToolAssistantStream(W,$,Y,X,{...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"stream"}})),J}async _createToolAssistantStream(W,$,Y,X,G){let J=G?.signal;if(J){if(J.aborted)this.controller.abort();J.addEventListener("abort",()=>this.controller.abort())}let H={...X,stream:!0},T=await W.submitToolOutputs($,Y,H,{...G,signal:this.controller.signal});this._connected();for await(let Q of T)i(this,D1,"m",x4).call(this,Q);if(T.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",v4).call(this))}static createThreadAssistantStream(W,$,Y){let X=new e1;return X._run(()=>X._threadAssistantStream(W,$,{...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"stream"}})),X}static createAssistantStream(W,$,Y,X){let G=new e1;return G._run(()=>G._runAssistantStream(W,$,Y,{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),G}currentEvent(){return i(this,tY,"f")}currentRun(){return i(this,aY,"f")}currentMessageSnapshot(){return i(this,NW,"f")}currentRunStepSnapshot(){return i(this,y4,"f")}async finalRunSteps(){return await this.done(),Object.values(i(this,hW,"f"))}async finalMessages(){return await this.done(),Object.values(i(this,rY,"f"))}async finalRun(){if(await this.done(),!i(this,Q2,"f"))throw Error("Final run was not received.");return i(this,Q2,"f")}async _createThreadAssistantStream(W,$,Y){let X=Y?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}let G={...$,stream:!0},J=await W.createAndRun(G,{...Y,signal:this.controller.signal});this._connected();for await(let H of J)i(this,D1,"m",x4).call(this,H);if(J.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",v4).call(this))}async _createAssistantStream(W,$,Y,X){let G=X?.signal;if(G){if(G.aborted)this.controller.abort();G.addEventListener("abort",()=>this.controller.abort())}let J={...Y,stream:!0},H=await W.create($,J,{...X,signal:this.controller.signal});this._connected();for await(let T of H)i(this,D1,"m",x4).call(this,T);if(H.controller.signal?.aborted)throw new G1;return this._addRun(i(this,D1,"m",v4).call(this))}static accumulateDelta(W,$){for(let[Y,X]of Object.entries($)){if(!W.hasOwnProperty(Y)){W[Y]=X;continue}let G=W[Y];if(G===null||G===void 0){W[Y]=X;continue}if(Y==="index"||Y==="type"){W[Y]=X;continue}if(typeof G==="string"&&typeof X==="string")G+=X;else if(typeof G==="number"&&typeof X==="number")G+=X;else if(S4(G)&&S4(X))G=this.accumulateDelta(G,X);else if(Array.isArray(G)&&Array.isArray(X)){if(G.every((J)=>typeof J==="string"||typeof J==="number")){G.push(...X);continue}for(let J of X){if(!S4(J))throw new Error(`Expected array delta entry to be an object but got: ${J}`);let H=J.index;if(H==null)throw console.error(J),new Error("Expected array delta entry to have an `index` property");if(typeof H!=="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${H}`);let T=G[H];if(T==null)G.push(J);else G[H]=this.accumulateDelta(T,J)}continue}else throw Error(`Unhandled record type: ${Y}, deltaValue: ${X}, accValue: ${G}`);W[Y]=G}return W}_addRun(W){return W}async _threadAssistantStream(W,$,Y){return await this._createThreadAssistantStream($,W,Y)}async _runAssistantStream(W,$,Y,X){return await this._createAssistantStream($,W,Y,X)}async _runToolAssistantStream(W,$,Y,X,G){return await this._createToolAssistantStream(Y,W,$,X,G)}}x4=function W($){if(this.ended)return;switch(a1(this,tY,$,"f"),i(this,D1,"m",ZH).call(this,$),$.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":i(this,D1,"m",SH).call(this,$);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":i(this,D1,"m",LH).call(this,$);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":i(this,D1,"m",AH).call(this,$);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:VV($)}},v4=function W(){if(this.ended)throw new o("stream has ended, this shouldn't happen");if(!i(this,Q2,"f"))throw Error("Final run has not been received");return i(this,Q2,"f")},AH=function W($){let[Y,X]=i(this,D1,"m",RH).call(this,$,i(this,NW,"f"));a1(this,NW,Y,"f"),i(this,rY,"f")[Y.id]=Y;for(let G of X){let J=Y.content[G.index];if(J?.type=="text")this._emit("textCreated",J.text)}switch($.event){case"thread.message.created":this._emit("messageCreated",$.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",$.data.delta,Y),$.data.delta.content)for(let G of $.data.delta.content){if(G.type=="text"&&G.text){let J=G.text,H=Y.content[G.index];if(H&&H.type=="text")this._emit("textDelta",J,H.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(G.index!=i(this,t2,"f")){if(i(this,T2,"f"))switch(i(this,T2,"f").type){case"text":this._emit("textDone",i(this,T2,"f").text,i(this,NW,"f"));break;case"image_file":this._emit("imageFileDone",i(this,T2,"f").image_file,i(this,NW,"f"));break}a1(this,t2,G.index,"f")}a1(this,T2,Y.content[G.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(i(this,t2,"f")!==void 0){let G=$.data.content[i(this,t2,"f")];if(G)switch(G.type){case"image_file":this._emit("imageFileDone",G.image_file,i(this,NW,"f"));break;case"text":this._emit("textDone",G.text,i(this,NW,"f"));break}}if(i(this,NW,"f"))this._emit("messageDone",$.data);a1(this,NW,void 0,"f")}},LH=function W($){let Y=i(this,D1,"m",NH).call(this,$);switch(a1(this,y4,Y,"f"),$.event){case"thread.run.step.created":this._emit("runStepCreated",$.data);break;case"thread.run.step.delta":let X=$.data.delta;if(X.step_details&&X.step_details.type=="tool_calls"&&X.step_details.tool_calls&&Y.step_details.type=="tool_calls")for(let J of X.step_details.tool_calls)if(J.index==i(this,sY,"f"))this._emit("toolCallDelta",J,Y.step_details.tool_calls[J.index]);else{if(i(this,s1,"f"))this._emit("toolCallDone",i(this,s1,"f"));if(a1(this,sY,J.index,"f"),a1(this,s1,Y.step_details.tool_calls[J.index],"f"),i(this,s1,"f"))this._emit("toolCallCreated",i(this,s1,"f"))}this._emit("runStepDelta",$.data.delta,Y);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(a1(this,y4,void 0,"f"),$.data.step_details.type=="tool_calls"){if(i(this,s1,"f"))this._emit("toolCallDone",i(this,s1,"f")),a1(this,s1,void 0,"f")}this._emit("runStepDone",$.data,Y);break;case"thread.run.step.in_progress":break}},ZH=function W($){i(this,L5,"f").push($),this._emit("event",$)},NH=function W($){switch($.event){case"thread.run.step.created":return i(this,hW,"f")[$.data.id]=$.data,$.data;case"thread.run.step.delta":let Y=i(this,hW,"f")[$.data.id];if(!Y)throw Error("Received a RunStepDelta before creation of a snapshot");let X=$.data;if(X.delta){let G=e1.accumulateDelta(Y,X.delta);i(this,hW,"f")[$.data.id]=G}return i(this,hW,"f")[$.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":i(this,hW,"f")[$.data.id]=$.data;break}if(i(this,hW,"f")[$.data.id])return i(this,hW,"f")[$.data.id];throw new Error("No snapshot available")},RH=function W($,Y){let X=[];switch($.event){case"thread.message.created":return[$.data,X];case"thread.message.delta":if(!Y)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let G=$.data;if(G.delta.content)for(let J of G.delta.content)if(J.index in Y.content){let H=Y.content[J.index];Y.content[J.index]=i(this,D1,"m",BH).call(this,J,H)}else Y.content[J.index]=J,X.push(J);return[Y,X];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(Y)return[Y,X];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},BH=function W($,Y){return e1.accumulateDelta(Y,$)},SH=function W($){switch(a1(this,aY,$.data,"f"),$.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":if(a1(this,Q2,$.data,"f"),i(this,s1,"f"))this._emit("toolCallDone",i(this,s1,"f")),a1(this,s1,void 0,"f");break;case"thread.run.cancelling":break}};function VV(W){}class a2 extends C{create(W,$){return this._client.post("/assistants",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(W,$){return this._client.get(`/assistants/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(W,$,Y){return this._client.post(`/assistants/${W}`,{body:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}list(W={},$){if(Q0(W))return this.list({},W);return this._client.getAPIList("/assistants",h4,{query:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(W,$){return this._client.delete(`/assistants/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class h4 extends A0{}a2.AssistantsPage=h4;function Z5(W){return typeof W.parse==="function"}var k$=(W)=>{return W?.role==="assistant"},N5=(W)=>{return W?.role==="function"},R5=(W)=>{return W?.role==="tool"};function g4(W){return W?.$brand==="auto-parseable-response-format"}function _2(W){return W?.$brand==="auto-parseable-tool"}function qH(W,$){if(!$||!B5($))return{...W,choices:W.choices.map((Y)=>({...Y,message:{...Y.message,parsed:null,...Y.message.tool_calls?{tool_calls:Y.message.tool_calls}:void 0}}))};return m4(W,$)}function m4(W,$){let Y=W.choices.map((X)=>{if(X.finish_reason==="length")throw new Z4;if(X.finish_reason==="content_filter")throw new N4;return{...X,message:{...X.message,...X.message.tool_calls?{tool_calls:X.message.tool_calls?.map((G)=>EV($,G))??void 0}:void 0,parsed:X.message.content&&!X.message.refusal?KV($,X.message.content):null}}});return{...W,choices:Y}}function KV(W,$){if(W.response_format?.type!=="json_schema")return null;if(W.response_format?.type==="json_schema"){if("$parseRaw"in W.response_format)return W.response_format.$parseRaw($);return JSON.parse($)}return null}function EV(W,$){let Y=W.tools?.find((X)=>X.function?.name===$.function.name);return{...$,function:{...$.function,parsed_arguments:_2(Y)?Y.$parseRaw($.function.arguments):Y?.function.strict?JSON.parse($.function.arguments):null}}}function CH(W,$){if(!W)return!1;let Y=W.tools?.find((X)=>X.function?.name===$.function.name);return _2(Y)||Y?.function.strict||!1}function B5(W){if(g4(W.response_format))return!0;return W.tools?.some(($)=>_2($)||$.type==="function"&&$.function.strict===!0)??!1}function kH(W){for(let $ of W??[]){if($.type!=="function")throw new o(`Currently only \`function\` tool types support auto-parsing; Received \`${$.type}\``);if($.function.strict!==!0)throw new o(`The \`${$.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var h1=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},Z1,S5,eY,q5,C5,k5,IH,j5,jH=10;class p4 extends H2{constructor(){super(...arguments);Z1.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(W){this._chatCompletions.push(W),this._emit("chatCompletion",W);let $=W.choices[0]?.message;if($)this._addMessage($);return W}_addMessage(W,$=!0){if(!("content"in W))W.content=null;if(this.messages.push(W),$){if(this._emit("message",W),(N5(W)||R5(W))&&W.content)this._emit("functionCallResult",W.content);else if(k$(W)&&W.function_call)this._emit("functionCall",W.function_call);else if(k$(W)&&W.tool_calls){for(let Y of W.tool_calls)if(Y.type==="function")this._emit("functionCall",Y.function)}}}async finalChatCompletion(){await this.done();let W=this._chatCompletions[this._chatCompletions.length-1];if(!W)throw new o("stream ended without producing a ChatCompletion");return W}async finalContent(){return await this.done(),h1(this,Z1,"m",S5).call(this)}async finalMessage(){return await this.done(),h1(this,Z1,"m",eY).call(this)}async finalFunctionCall(){return await this.done(),h1(this,Z1,"m",q5).call(this)}async finalFunctionCallResult(){return await this.done(),h1(this,Z1,"m",C5).call(this)}async totalUsage(){return await this.done(),h1(this,Z1,"m",k5).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let W=this._chatCompletions[this._chatCompletions.length-1];if(W)this._emit("finalChatCompletion",W);let $=h1(this,Z1,"m",eY).call(this);if($)this._emit("finalMessage",$);let Y=h1(this,Z1,"m",S5).call(this);if(Y)this._emit("finalContent",Y);let X=h1(this,Z1,"m",q5).call(this);if(X)this._emit("finalFunctionCall",X);let G=h1(this,Z1,"m",C5).call(this);if(G!=null)this._emit("finalFunctionCallResult",G);if(this._chatCompletions.some((J)=>J.usage))this._emit("totalUsage",h1(this,Z1,"m",k5).call(this))}async _createChatCompletion(W,$,Y){let X=Y?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}h1(this,Z1,"m",IH).call(this,$);let G=await W.chat.completions.create({...$,stream:!1},{...Y,signal:this.controller.signal});return this._connected(),this._addChatCompletion(m4(G,$))}async _runChatCompletion(W,$,Y){for(let X of $.messages)this._addMessage(X,!1);return await this._createChatCompletion(W,$,Y)}async _runFunctions(W,$,Y){let{function_call:G="auto",stream:J,...H}=$,T=typeof G!=="string"&&G?.name,{maxChatCompletions:Q=jH}=Y||{},_={};for(let F of $.functions)_[F.name||F.function.name]=F;let z=$.functions.map((F)=>({name:F.name||F.function.name,parameters:F.parameters,description:F.description}));for(let F of $.messages)this._addMessage(F,!1);for(let F=0;F<Q;++F){let O=(await this._createChatCompletion(W,{...H,function_call:G,functions:z,messages:[...this.messages]},Y)).choices[0]?.message;if(!O)throw new o("missing message in ChatCompletion response");if(!O.function_call)return;let{name:V,arguments:E}=O.function_call,I=_[V];if(!I){let P=`Invalid function_call: ${JSON.stringify(V)}. Available options are: ${z.map((g)=>JSON.stringify(g.name)).join(", ")}. Please try again`;this._addMessage({role:"function",name:V,content:P});continue}else if(T&&T!==V){let P=`Invalid function_call: ${JSON.stringify(V)}. ${JSON.stringify(T)} requested. Please try again`;this._addMessage({role:"function",name:V,content:P});continue}let j;try{j=Z5(I)?await I.parse(E):E}catch(P){this._addMessage({role:"function",name:V,content:P instanceof Error?P.message:String(P)});continue}let N=await I.function(j,this),B=h1(this,Z1,"m",j5).call(this,N);if(this._addMessage({role:"function",name:V,content:B}),T)return}}async _runTools(W,$,Y){let{tool_choice:G="auto",stream:J,...H}=$,T=typeof G!=="string"&&G?.function?.name,{maxChatCompletions:Q=jH}=Y||{},_=$.tools.map((w)=>{if(_2(w)){if(!w.$callback)throw new o("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:w.$callback,name:w.function.name,description:w.function.description||"",parameters:w.function.parameters,parse:w.$parseRaw,strict:!0}}}return w}),z={};for(let w of _)if(w.type==="function")z[w.function.name||w.function.function.name]=w.function;let F="tools"in $?_.map((w)=>w.type==="function"?{type:"function",function:{name:w.function.name||w.function.function.name,parameters:w.function.parameters,description:w.function.description,strict:w.function.strict}}:w):void 0;for(let w of $.messages)this._addMessage(w,!1);for(let w=0;w<Q;++w){let V=(await this._createChatCompletion(W,{...H,tool_choice:G,tools:F,messages:[...this.messages]},Y)).choices[0]?.message;if(!V)throw new o("missing message in ChatCompletion response");if(!V.tool_calls?.length)return;for(let E of V.tool_calls){if(E.type!=="function")continue;let I=E.id,{name:j,arguments:N}=E.function,B=z[j];if(!B){let p=`Invalid tool_call: ${JSON.stringify(j)}. Available options are: ${Object.keys(z).map((w0)=>JSON.stringify(w0)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:I,content:p});continue}else if(T&&T!==j){let p=`Invalid tool_call: ${JSON.stringify(j)}. ${JSON.stringify(T)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:I,content:p});continue}let P;try{P=Z5(B)?await B.parse(N):N}catch(p){let w0=p instanceof Error?p.message:String(p);this._addMessage({role:"tool",tool_call_id:I,content:w0});continue}let g=await B.function(P,this),x=h1(this,Z1,"m",j5).call(this,g);if(this._addMessage({role:"tool",tool_call_id:I,content:x}),T)return}}return}}Z1=new WeakSet,S5=function W(){return h1(this,Z1,"m",eY).call(this).content??null},eY=function W(){let $=this.messages.length;while($-- >0){let Y=this.messages[$];if(k$(Y)){let{function_call:X,...G}=Y,J={...G,content:Y.content??null,refusal:Y.refusal??null};if(X)J.function_call=X;return J}}throw new o("stream ended without producing a ChatCompletionMessage with role=assistant")},q5=function W(){for(let $=this.messages.length-1;$>=0;$--){let Y=this.messages[$];if(k$(Y)&&Y?.function_call)return Y.function_call;if(k$(Y)&&Y?.tool_calls?.length)return Y.tool_calls.at(-1)?.function}return},C5=function W(){for(let $=this.messages.length-1;$>=0;$--){let Y=this.messages[$];if(N5(Y)&&Y.content!=null)return Y.content;if(R5(Y)&&Y.content!=null&&typeof Y.content==="string"&&this.messages.some((X)=>X.role==="assistant"&&X.tool_calls?.some((G)=>G.type==="function"&&G.id===Y.tool_call_id)))return Y.content}return},k5=function W(){let $={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:Y}of this._chatCompletions)if(Y)$.completion_tokens+=Y.completion_tokens,$.prompt_tokens+=Y.prompt_tokens,$.total_tokens+=Y.total_tokens;return $},IH=function W($){if($.n!=null&&$.n>1)throw new o("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},j5=function W($){return typeof $==="string"?$:$===void 0?"undefined":JSON.stringify($)};class s2 extends p4{static runFunctions(W,$,Y){let X=new s2,G={...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return X._run(()=>X._runFunctions(W,$,G)),X}static runTools(W,$,Y){let X=new s2,G={...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"runTools"}};return X._run(()=>X._runTools(W,$,G)),X}_addMessage(W,$=!0){if(super._addMessage(W,$),k$(W)&&W.content)this._emit("content",W.content)}}var F1={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};class PH extends Error{}class fH extends Error{}function AV(W,$=F1.ALL){if(typeof W!=="string")throw new TypeError(`expecting str, got ${typeof W}`);if(!W.trim())throw new Error(`${W} is empty`);return LV(W.trim(),$)}var LV=(W,$)=>{let Y=W.length,X=0,G=(w)=>{throw new PH(`${w} at position ${X}`)},J=(w)=>{throw new fH(`${w} at position ${X}`)},H=()=>{if(F(),X>=Y)G("Unexpected end of input");if(W[X]==='"')return T();if(W[X]==="{")return Q();if(W[X]==="[")return _();if(W.substring(X,X+4)==="null"||F1.NULL&$&&Y-X<4&&"null".startsWith(W.substring(X)))return X+=4,null;if(W.substring(X,X+4)==="true"||F1.BOOL&$&&Y-X<4&&"true".startsWith(W.substring(X)))return X+=4,!0;if(W.substring(X,X+5)==="false"||F1.BOOL&$&&Y-X<5&&"false".startsWith(W.substring(X)))return X+=5,!1;if(W.substring(X,X+8)==="Infinity"||F1.INFINITY&$&&Y-X<8&&"Infinity".startsWith(W.substring(X)))return X+=8,1/0;if(W.substring(X,X+9)==="-Infinity"||F1.MINUS_INFINITY&$&&1<Y-X&&Y-X<9&&"-Infinity".startsWith(W.substring(X)))return X+=9,-1/0;if(W.substring(X,X+3)==="NaN"||F1.NAN&$&&Y-X<3&&"NaN".startsWith(W.substring(X)))return X+=3,NaN;return z()},T=()=>{let w=X,O=!1;X++;while(X<Y&&(W[X]!=='"'||O&&W[X-1]==="\\"))O=W[X]==="\\"?!O:!1,X++;if(W.charAt(X)=='"')try{return JSON.parse(W.substring(w,++X-Number(O)))}catch(V){J(String(V))}else if(F1.STR&$)try{return JSON.parse(W.substring(w,X-Number(O))+'"')}catch(V){return JSON.parse(W.substring(w,W.lastIndexOf("\\"))+'"')}G("Unterminated string literal")},Q=()=>{X++,F();let w={};try{while(W[X]!=="}"){if(F(),X>=Y&&F1.OBJ&$)return w;let O=T();F(),X++;try{let V=H();Object.defineProperty(w,O,{value:V,writable:!0,enumerable:!0,configurable:!0})}catch(V){if(F1.OBJ&$)return w;else throw V}if(F(),W[X]===",")X++}}catch(O){if(F1.OBJ&$)return w;else G("Expected '}' at end of object")}return X++,w},_=()=>{X++;let w=[];try{while(W[X]!=="]")if(w.push(H()),F(),W[X]===",")X++}catch(O){if(F1.ARR&$)return w;G("Expected ']' at end of array")}return X++,w},z=()=>{if(X===0){if(W==="-"&&F1.NUM&$)G("Not sure what '-' is");try{return JSON.parse(W)}catch(O){if(F1.NUM&$)try{if(W[W.length-1]===".")return JSON.parse(W.substring(0,W.lastIndexOf(".")));return JSON.parse(W.substring(0,W.lastIndexOf("e")))}catch(V){}J(String(O))}}let w=X;if(W[X]==="-")X++;while(W[X]&&!",]}".includes(W[X]))X++;if(X==Y&&!(F1.NUM&$))G("Unterminated number literal");try{return JSON.parse(W.substring(w,X))}catch(O){if(W.substring(w,X)==="-"&&F1.NUM&$)G("Not sure what '-' is");try{return JSON.parse(W.substring(w,W.lastIndexOf("e")))}catch(V){J(String(V))}}},F=()=>{while(X<Y&&`
|
|
42
|
+
\r `.includes(W[X]))X++};return H()},I5=(W)=>AV(W,F1.ALL^F1.NUM);var e2=function(W,$,Y,X,G){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?G.call(W,Y):G?G.value=Y:$.set(W,Y),Y},B0=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},J1,$$,W8,j$,P5,WX,f5,b5,x5,$X,v5,bH;class z2 extends p4{constructor(W){super();J1.add(this),$$.set(this,void 0),W8.set(this,void 0),j$.set(this,void 0),e2(this,$$,W,"f"),e2(this,W8,[],"f")}get currentChatCompletionSnapshot(){return B0(this,j$,"f")}static fromReadableStream(W){let $=new z2(null);return $._run(()=>$._fromReadableStream(W)),$}static createChatCompletion(W,$,Y){let X=new z2($);return X._run(()=>X._runChatCompletion(W,{...$,stream:!0},{...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"stream"}})),X}async _createChatCompletion(W,$,Y){super._createChatCompletion;let X=Y?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}B0(this,J1,"m",P5).call(this);let G=await W.chat.completions.create({...$,stream:!0},{...Y,signal:this.controller.signal});this._connected();for await(let J of G)B0(this,J1,"m",f5).call(this,J);if(G.controller.signal?.aborted)throw new G1;return this._addChatCompletion(B0(this,J1,"m",$X).call(this))}async _fromReadableStream(W,$){let Y=$?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}B0(this,J1,"m",P5).call(this),this._connected();let X=t1.fromReadableStream(W,this.controller),G;for await(let J of X){if(G&&G!==J.id)this._addChatCompletion(B0(this,J1,"m",$X).call(this));B0(this,J1,"m",f5).call(this,J),G=J.id}if(X.controller.signal?.aborted)throw new G1;return this._addChatCompletion(B0(this,J1,"m",$X).call(this))}[($$=new WeakMap,W8=new WeakMap,j$=new WeakMap,J1=new WeakSet,P5=function W(){if(this.ended)return;e2(this,j$,void 0,"f")},WX=function W($){let Y=B0(this,W8,"f")[$.index];if(Y)return Y;return Y={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},B0(this,W8,"f")[$.index]=Y,Y},f5=function W($){if(this.ended)return;let Y=B0(this,J1,"m",bH).call(this,$);this._emit("chunk",$,Y);for(let X of $.choices){let G=Y.choices[X.index];if(X.delta.content!=null&&G.message?.role==="assistant"&&G.message?.content)this._emit("content",X.delta.content,G.message.content),this._emit("content.delta",{delta:X.delta.content,snapshot:G.message.content,parsed:G.message.parsed});if(X.delta.refusal!=null&&G.message?.role==="assistant"&&G.message?.refusal)this._emit("refusal.delta",{delta:X.delta.refusal,snapshot:G.message.refusal});if(X.logprobs?.content!=null&&G.message?.role==="assistant")this._emit("logprobs.content.delta",{content:X.logprobs?.content,snapshot:G.logprobs?.content??[]});if(X.logprobs?.refusal!=null&&G.message?.role==="assistant")this._emit("logprobs.refusal.delta",{refusal:X.logprobs?.refusal,snapshot:G.logprobs?.refusal??[]});let J=B0(this,J1,"m",WX).call(this,G);if(G.finish_reason){if(B0(this,J1,"m",x5).call(this,G),J.current_tool_call_index!=null)B0(this,J1,"m",b5).call(this,G,J.current_tool_call_index)}for(let H of X.delta.tool_calls??[]){if(J.current_tool_call_index!==H.index){if(B0(this,J1,"m",x5).call(this,G),J.current_tool_call_index!=null)B0(this,J1,"m",b5).call(this,G,J.current_tool_call_index)}J.current_tool_call_index=H.index}for(let H of X.delta.tool_calls??[]){let T=G.message.tool_calls?.[H.index];if(!T?.type)continue;if(T?.type==="function")this._emit("tool_calls.function.arguments.delta",{name:T.function?.name,index:H.index,arguments:T.function.arguments,parsed_arguments:T.function.parsed_arguments,arguments_delta:H.function?.arguments??""});else vH(T?.type)}}},b5=function W($,Y){if(B0(this,J1,"m",WX).call(this,$).done_tool_calls.has(Y))return;let G=$.message.tool_calls?.[Y];if(!G)throw new Error("no tool call snapshot");if(!G.type)throw new Error("tool call snapshot missing `type`");if(G.type==="function"){let J=B0(this,$$,"f")?.tools?.find((H)=>H.type==="function"&&H.function.name===G.function.name);this._emit("tool_calls.function.arguments.done",{name:G.function.name,index:Y,arguments:G.function.arguments,parsed_arguments:_2(J)?J.$parseRaw(G.function.arguments):J?.function.strict?JSON.parse(G.function.arguments):null})}else vH(G.type)},x5=function W($){let Y=B0(this,J1,"m",WX).call(this,$);if($.message.content&&!Y.content_done){Y.content_done=!0;let X=B0(this,J1,"m",v5).call(this);this._emit("content.done",{content:$.message.content,parsed:X?X.$parseRaw($.message.content):null})}if($.message.refusal&&!Y.refusal_done)Y.refusal_done=!0,this._emit("refusal.done",{refusal:$.message.refusal});if($.logprobs?.content&&!Y.logprobs_content_done)Y.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:$.logprobs.content});if($.logprobs?.refusal&&!Y.logprobs_refusal_done)Y.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:$.logprobs.refusal})},$X=function W(){if(this.ended)throw new o("stream has ended, this shouldn't happen");let $=B0(this,j$,"f");if(!$)throw new o("request ended without sending any chunks");return e2(this,j$,void 0,"f"),e2(this,W8,[],"f"),ZV($,B0(this,$$,"f"))},v5=function W(){let $=B0(this,$$,"f")?.response_format;if(g4($))return $;return null},bH=function W($){var Y,X,G,J;let H=B0(this,j$,"f"),{choices:T,...Q}=$;if(!H)H=e2(this,j$,{...Q,choices:[]},"f");else Object.assign(H,Q);for(let{delta:_,finish_reason:z,index:F,logprobs:w=null,...O}of $.choices){let V=H.choices[F];if(!V)V=H.choices[F]={finish_reason:z,index:F,message:{},logprobs:w,...O};if(w)if(!V.logprobs)V.logprobs=Object.assign({},w);else{let{content:g,refusal:x,...p}=w;if(xH(p),Object.assign(V.logprobs,p),g)(Y=V.logprobs).content??(Y.content=[]),V.logprobs.content.push(...g);if(x)(X=V.logprobs).refusal??(X.refusal=[]),V.logprobs.refusal.push(...x)}if(z){if(V.finish_reason=z,B0(this,$$,"f")&&B5(B0(this,$$,"f"))){if(z==="length")throw new Z4;if(z==="content_filter")throw new N4}}if(Object.assign(V,O),!_)continue;let{content:E,refusal:I,function_call:j,role:N,tool_calls:B,...P}=_;if(xH(P),Object.assign(V.message,P),I)V.message.refusal=(V.message.refusal||"")+I;if(N)V.message.role=N;if(j)if(!V.message.function_call)V.message.function_call=j;else{if(j.name)V.message.function_call.name=j.name;if(j.arguments)(G=V.message.function_call).arguments??(G.arguments=""),V.message.function_call.arguments+=j.arguments}if(E){if(V.message.content=(V.message.content||"")+E,!V.message.refusal&&B0(this,J1,"m",v5).call(this))V.message.parsed=I5(V.message.content)}if(B){if(!V.message.tool_calls)V.message.tool_calls=[];for(let{index:g,id:x,type:p,function:w0,...p0}of B){let Z=(J=V.message.tool_calls)[g]??(J[g]={});if(Object.assign(Z,p0),x)Z.id=x;if(p)Z.type=p;if(w0)Z.function??(Z.function={name:w0.name??"",arguments:""});if(w0?.name)Z.function.name=w0.name;if(w0?.arguments){if(Z.function.arguments+=w0.arguments,CH(B0(this,$$,"f"),Z))Z.function.parsed_arguments=I5(Z.function.arguments)}}}}return H},Symbol.asyncIterator)](){let W=[],$=[],Y=!1;return this.on("chunk",(X)=>{let G=$.shift();if(G)G.resolve(X);else W.push(X)}),this.on("end",()=>{Y=!0;for(let X of $)X.resolve(void 0);$.length=0}),this.on("abort",(X)=>{Y=!0;for(let G of $)G.reject(X);$.length=0}),this.on("error",(X)=>{Y=!0;for(let G of $)G.reject(X);$.length=0}),{next:async()=>{if(!W.length){if(Y)return{value:void 0,done:!0};return new Promise((G,J)=>$.push({resolve:G,reject:J})).then((G)=>G?{value:G,done:!1}:{value:void 0,done:!0})}return{value:W.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new t1(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function ZV(W,$){let{id:Y,choices:X,created:G,model:J,system_fingerprint:H,...T}=W,Q={...T,id:Y,choices:X.map(({message:_,finish_reason:z,index:F,logprobs:w,...O})=>{if(!z)throw new o(`missing finish_reason for choice ${F}`);let{content:V=null,function_call:E,tool_calls:I,...j}=_,N=_.role;if(!N)throw new o(`missing role for choice ${F}`);if(E){let{arguments:B,name:P}=E;if(B==null)throw new o(`missing function_call.arguments for choice ${F}`);if(!P)throw new o(`missing function_call.name for choice ${F}`);return{...O,message:{content:V,function_call:{arguments:B,name:P},role:N,refusal:_.refusal??null},finish_reason:z,index:F,logprobs:w}}if(I)return{...O,index:F,finish_reason:z,logprobs:w,message:{...j,role:N,content:V,refusal:_.refusal??null,tool_calls:I.map((B,P)=>{let{function:g,type:x,id:p,...w0}=B,{arguments:p0,name:Z,...M0}=g||{};if(p==null)throw new o(`missing choices[${F}].tool_calls[${P}].id
|
|
43
|
+
${YX(W)}`);if(x==null)throw new o(`missing choices[${F}].tool_calls[${P}].type
|
|
44
|
+
${YX(W)}`);if(Z==null)throw new o(`missing choices[${F}].tool_calls[${P}].function.name
|
|
45
|
+
${YX(W)}`);if(p0==null)throw new o(`missing choices[${F}].tool_calls[${P}].function.arguments
|
|
46
|
+
${YX(W)}`);return{...w0,id:p,type:x,function:{...M0,name:Z,arguments:p0}}})}};return{...O,message:{...j,content:V,role:N,refusal:_.refusal??null},finish_reason:z,index:F,logprobs:w}}),created:G,model:J,object:"chat.completion",...H?{system_fingerprint:H}:{}};return qH(Q,$)}function YX(W){return JSON.stringify(W)}function xH(W){return}function vH(W){}class F2 extends z2{static fromReadableStream(W){let $=new F2(null);return $._run(()=>$._fromReadableStream(W)),$}static runFunctions(W,$,Y){let X=new F2(null),G={...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return X._run(()=>X._runFunctions(W,$,G)),X}static runTools(W,$,Y){let X=new F2($),G={...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"runTools"}};return X._run(()=>X._runTools(W,$,G)),X}}class XX extends C{parse(W,$){return kH(W.tools),this._client.chat.completions.create(W,{...$,headers:{...$?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap((Y)=>m4(Y,W))}runFunctions(W,$){if(W.stream)return F2.runFunctions(this._client,W,$);return s2.runFunctions(this._client,W,$)}runTools(W,$){if(W.stream)return F2.runTools(this._client,W,$);return s2.runTools(this._client,W,$)}stream(W,$){return z2.createChatCompletion(this._client,W,$)}}class u4 extends C{constructor(){super(...arguments);this.completions=new XX(this._client)}}(function(W){W.Completions=XX})(u4||(u4={}));class c4 extends C{create(W,$){return this._client.post("/realtime/sessions",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class d4 extends C{create(W,$){return this._client.post("/realtime/transcription_sessions",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}}class w2 extends C{constructor(){super(...arguments);this.sessions=new c4(this._client),this.transcriptionSessions=new d4(this._client)}}w2.Sessions=c4;w2.TranscriptionSessions=d4;class $8 extends C{create(W,$,Y){return this._client.post(`/threads/${W}/messages`,{body:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}retrieve(W,$,Y){return this._client.get(`/threads/${W}/messages/${$}`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}update(W,$,Y,X){return this._client.post(`/threads/${W}/messages/${$}`,{body:Y,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}list(W,$={},Y){if(Q0($))return this.list(W,{},$);return this._client.getAPIList(`/threads/${W}/messages`,l4,{query:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}del(W,$,Y){return this._client.delete(`/threads/${W}/messages/${$}`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}}class l4 extends A0{}$8.MessagesPage=l4;class Y8 extends C{retrieve(W,$,Y,X={},G){if(Q0(X))return this.retrieve(W,$,Y,{},X);return this._client.get(`/threads/${W}/runs/${$}/steps/${Y}`,{query:X,...G,headers:{"OpenAI-Beta":"assistants=v2",...G?.headers}})}list(W,$,Y={},X){if(Q0(Y))return this.list(W,$,{},Y);return this._client.getAPIList(`/threads/${W}/runs/${$}/steps`,o4,{query:Y,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}}class o4 extends A0{}Y8.RunStepsPage=o4;class I$ extends C{constructor(){super(...arguments);this.steps=new Y8(this._client)}create(W,$,Y){let{include:X,...G}=$;return this._client.post(`/threads/${W}/runs`,{query:{include:X},body:G,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers},stream:$.stream??!1})}retrieve(W,$,Y){return this._client.get(`/threads/${W}/runs/${$}`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}update(W,$,Y,X){return this._client.post(`/threads/${W}/runs/${$}`,{body:Y,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}list(W,$={},Y){if(Q0($))return this.list(W,{},$);return this._client.getAPIList(`/threads/${W}/runs`,i4,{query:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}cancel(W,$,Y){return this._client.post(`/threads/${W}/runs/${$}/cancel`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}async createAndPoll(W,$,Y){let X=await this.create(W,$,Y);return await this.poll(W,X.id,Y)}createAndStream(W,$,Y){return e1.createAssistantStream(W,this._client.beta.threads.runs,$,Y)}async poll(W,$,Y){let X={...Y?.headers,"X-Stainless-Poll-Helper":"true"};if(Y?.pollIntervalMs)X["X-Stainless-Custom-Poll-Interval"]=Y.pollIntervalMs.toString();while(!0){let{data:G,response:J}=await this.retrieve(W,$,{...Y,headers:{...Y?.headers,...X}}).withResponse();switch(G.status){case"queued":case"in_progress":case"cancelling":let H=5000;if(Y?.pollIntervalMs)H=Y.pollIntervalMs;else{let T=J.headers.get("openai-poll-after-ms");if(T){let Q=parseInt(T);if(!isNaN(Q))H=Q}}await aW(H);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return G}}}stream(W,$,Y){return e1.createAssistantStream(W,this._client.beta.threads.runs,$,Y)}submitToolOutputs(W,$,Y,X){return this._client.post(`/threads/${W}/runs/${$}/submit_tool_outputs`,{body:Y,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers},stream:Y.stream??!1})}async submitToolOutputsAndPoll(W,$,Y,X){let G=await this.submitToolOutputs(W,$,Y,X);return await this.poll(W,G.id,X)}submitToolOutputsStream(W,$,Y,X){return e1.createToolAssistantStream(W,$,this._client.beta.threads.runs,Y,X)}}class i4 extends A0{}I$.RunsPage=i4;I$.Steps=Y8;I$.RunStepsPage=o4;class Y$ extends C{constructor(){super(...arguments);this.runs=new I$(this._client),this.messages=new $8(this._client)}create(W={},$){if(Q0(W))return this.create({},W);return this._client.post("/threads",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(W,$){return this._client.get(`/threads/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(W,$,Y){return this._client.post(`/threads/${W}`,{body:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}del(W,$){return this._client.delete(`/threads/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}createAndRun(W,$){return this._client.post("/threads/runs",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers},stream:W.stream??!1})}async createAndRunPoll(W,$){let Y=await this.createAndRun(W,$);return await this.runs.poll(Y.thread_id,Y.id,$)}createAndRunStream(W,$){return e1.createThreadAssistantStream(W,this._client.beta.threads,$)}}Y$.Runs=I$;Y$.RunsPage=i4;Y$.Messages=$8;Y$.MessagesPage=l4;class gW extends C{constructor(){super(...arguments);this.realtime=new w2(this._client),this.chat=new u4(this._client),this.assistants=new a2(this._client),this.threads=new Y$(this._client)}}gW.Realtime=w2;gW.Assistants=a2;gW.AssistantsPage=h4;gW.Threads=Y$;class X8 extends C{create(W,$){return this._client.post("/completions",{body:W,...$,stream:W.stream??!1})}}class G8 extends C{create(W,$){let Y=!!W.encoding_format,X=Y?W.encoding_format:"base64";if(Y)tW("Request","User defined encoding_format:",W.encoding_format);let G=this._client.post("/embeddings",{body:{...W,encoding_format:X},...$});if(Y)return G;return tW("response","Decoding base64 embeddings to float32 array"),G._thenUnwrap((J)=>{if(J&&J.data)J.data.forEach((H)=>{let T=H.embedding;H.embedding=KH(T)});return J})}}class J8 extends C{retrieve(W,$,Y,X){return this._client.get(`/evals/${W}/runs/${$}/output_items/${Y}`,X)}list(W,$,Y={},X){if(Q0(Y))return this.list(W,$,{},Y);return this._client.getAPIList(`/evals/${W}/runs/${$}/output_items`,n4,{query:Y,...X})}}class n4 extends A0{}J8.OutputItemListResponsesPage=n4;class P$ extends C{constructor(){super(...arguments);this.outputItems=new J8(this._client)}create(W,$,Y){return this._client.post(`/evals/${W}/runs`,{body:$,...Y})}retrieve(W,$,Y){return this._client.get(`/evals/${W}/runs/${$}`,Y)}list(W,$={},Y){if(Q0($))return this.list(W,{},$);return this._client.getAPIList(`/evals/${W}/runs`,r4,{query:$,...Y})}del(W,$,Y){return this._client.delete(`/evals/${W}/runs/${$}`,Y)}cancel(W,$,Y){return this._client.post(`/evals/${W}/runs/${$}`,Y)}}class r4 extends A0{}P$.RunListResponsesPage=r4;P$.OutputItems=J8;P$.OutputItemListResponsesPage=n4;class X$ extends C{constructor(){super(...arguments);this.runs=new P$(this._client)}create(W,$){return this._client.post("/evals",{body:W,...$})}retrieve(W,$){return this._client.get(`/evals/${W}`,$)}update(W,$,Y){return this._client.post(`/evals/${W}`,{body:$,...Y})}list(W={},$){if(Q0(W))return this.list({},W);return this._client.getAPIList("/evals",H8,{query:W,...$})}del(W,$){return this._client.delete(`/evals/${W}`,$)}}class H8 extends A0{}X$.EvalListResponsesPage=H8;X$.Runs=P$;X$.RunListResponsesPage=r4;class U2 extends C{create(W,$){return this._client.post("/files",JW({body:W,...$}))}retrieve(W,$){return this._client.get(`/files/${W}`,$)}list(W={},$){if(Q0(W))return this.list({},W);return this._client.getAPIList("/files",T8,{query:W,...$})}del(W,$){return this._client.delete(`/files/${W}`,$)}content(W,$){return this._client.get(`/files/${W}/content`,{...$,headers:{Accept:"application/binary",...$?.headers},__binaryResponse:!0})}retrieveContent(W,$){return this._client.get(`/files/${W}/content`,$)}async waitForProcessing(W,{pollInterval:$=5000,maxWait:Y=1800000}={}){let X=new Set(["processed","error","deleted"]),G=Date.now(),J=await this.retrieve(W);while(!J.status||!X.has(J.status))if(await aW($),J=await this.retrieve(W),Date.now()-G>Y)throw new $2({message:`Giving up on waiting for file ${W} to finish processing after ${Y} milliseconds.`});return J}}class T8 extends A0{}U2.FileObjectsPage=T8;class t4 extends C{}class a4 extends C{run(W,$){return this._client.post("/fine_tuning/alpha/graders/run",{body:W,...$})}validate(W,$){return this._client.post("/fine_tuning/alpha/graders/validate",{body:W,...$})}}class Q8 extends C{constructor(){super(...arguments);this.graders=new a4(this._client)}}Q8.Graders=a4;class _8 extends C{create(W,$,Y){return this._client.getAPIList(`/fine_tuning/checkpoints/${W}/permissions`,s4,{body:$,method:"post",...Y})}retrieve(W,$={},Y){if(Q0($))return this.retrieve(W,{},$);return this._client.get(`/fine_tuning/checkpoints/${W}/permissions`,{query:$,...Y})}del(W,$,Y){return this._client.delete(`/fine_tuning/checkpoints/${W}/permissions/${$}`,Y)}}class s4 extends sW{}_8.PermissionCreateResponsesPage=s4;class D2 extends C{constructor(){super(...arguments);this.permissions=new _8(this._client)}}D2.Permissions=_8;D2.PermissionCreateResponsesPage=s4;class z8 extends C{list(W,$={},Y){if(Q0($))return this.list(W,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${W}/checkpoints`,e4,{query:$,...Y})}}class e4 extends A0{}z8.FineTuningJobCheckpointsPage=e4;class G$ extends C{constructor(){super(...arguments);this.checkpoints=new z8(this._client)}create(W,$){return this._client.post("/fine_tuning/jobs",{body:W,...$})}retrieve(W,$){return this._client.get(`/fine_tuning/jobs/${W}`,$)}list(W={},$){if(Q0(W))return this.list({},W);return this._client.getAPIList("/fine_tuning/jobs",W6,{query:W,...$})}cancel(W,$){return this._client.post(`/fine_tuning/jobs/${W}/cancel`,$)}listEvents(W,$={},Y){if(Q0($))return this.listEvents(W,{},$);return this._client.getAPIList(`/fine_tuning/jobs/${W}/events`,$6,{query:$,...Y})}pause(W,$){return this._client.post(`/fine_tuning/jobs/${W}/pause`,$)}resume(W,$){return this._client.post(`/fine_tuning/jobs/${W}/resume`,$)}}class W6 extends A0{}class $6 extends A0{}G$.FineTuningJobsPage=W6;G$.FineTuningJobEventsPage=$6;G$.Checkpoints=z8;G$.FineTuningJobCheckpointsPage=e4;class HW extends C{constructor(){super(...arguments);this.methods=new t4(this._client),this.jobs=new G$(this._client),this.checkpoints=new D2(this._client),this.alpha=new Q8(this._client)}}HW.Methods=t4;HW.Jobs=G$;HW.FineTuningJobsPage=W6;HW.FineTuningJobEventsPage=$6;HW.Checkpoints=D2;HW.Alpha=Q8;class Y6 extends C{}class M2 extends C{constructor(){super(...arguments);this.graderModels=new Y6(this._client)}}M2.GraderModels=Y6;class F8 extends C{createVariation(W,$){return this._client.post("/images/variations",JW({body:W,...$}))}edit(W,$){return this._client.post("/images/edits",JW({body:W,...$}))}generate(W,$){return this._client.post("/images/generations",{body:W,...$})}}class V2 extends C{retrieve(W,$){return this._client.get(`/models/${W}`,$)}list(W){return this._client.getAPIList("/models",w8,W)}del(W,$){return this._client.delete(`/models/${W}`,$)}}class w8 extends sW{}V2.ModelsPage=w8;class U8 extends C{create(W,$){return this._client.post("/moderations",{body:W,...$})}}function yH(W,$){if(!$||!cV($))return{...W,output_parsed:null,output:W.output.map((Y)=>{if(Y.type==="function_call")return{...Y,parsed_arguments:null};if(Y.type==="message")return{...Y,content:Y.content.map((X)=>({...X,parsed:null}))};else return Y})};return y5(W,$)}function y5(W,$){let Y=W.output.map((G)=>{if(G.type==="function_call")return{...G,parsed_arguments:oV($,G)};if(G.type==="message"){let J=G.content.map((H)=>{if(H.type==="output_text")return{...H,parsed:uV($,H.text)};return H});return{...G,content:J}}return G}),X=Object.assign({},W,{output:Y});if(!Object.getOwnPropertyDescriptor(W,"output_text"))h5(X);return Object.defineProperty(X,"output_parsed",{enumerable:!0,get(){for(let G of X.output){if(G.type!=="message")continue;for(let J of G.content)if(J.type==="output_text"&&J.parsed!==null)return J.parsed}return null}}),X}function uV(W,$){if(W.text?.format?.type!=="json_schema")return null;if("$parseRaw"in W.text?.format)return(W.text?.format).$parseRaw($);return JSON.parse($)}function cV(W){if(g4(W.text?.format))return!0;return!1}function dV(W){return W?.$brand==="auto-parseable-tool"}function lV(W,$){return W.find((Y)=>Y.type==="function"&&Y.name===$)}function oV(W,$){let Y=lV(W.tools??[],$.name);return{...$,...$,parsed_arguments:dV(Y)?Y.$parseRaw($.arguments):Y?.strict?JSON.parse($.arguments):null}}function h5(W){let $=[];for(let Y of W.output){if(Y.type!=="message")continue;for(let X of Y.content)if(X.type==="output_text")$.push(X.text)}W.output_text=$.join("")}class X6 extends C{list(W,$={},Y){if(Q0($))return this.list(W,{},$);return this._client.getAPIList(`/responses/${W}/input_items`,g5,{query:$,...Y})}}var D8=function(W,$,Y,X,G){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!G)throw new TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!G:!$.has(W))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?G.call(W,Y):G?G.value=Y:$.set(W,Y),Y},f$=function(W,$,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!X:!$.has(W))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call(W):X?X.value:$.get(W)},M8,GX,b$,JX,hH,gH,mH,pH;class HX extends H2{constructor(W){super();M8.add(this),GX.set(this,void 0),b$.set(this,void 0),JX.set(this,void 0),D8(this,GX,W,"f")}static createResponse(W,$,Y){let X=new HX($);return X._run(()=>X._createResponse(W,$,{...Y,headers:{...Y?.headers,"X-Stainless-Helper-Method":"stream"}})),X}async _createResponse(W,$,Y){let X=Y?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}f$(this,M8,"m",hH).call(this);let G=await W.responses.create({...$,stream:!0},{...Y,signal:this.controller.signal});this._connected();for await(let J of G)f$(this,M8,"m",gH).call(this,J);if(G.controller.signal?.aborted)throw new G1;return f$(this,M8,"m",mH).call(this)}[(GX=new WeakMap,b$=new WeakMap,JX=new WeakMap,M8=new WeakSet,hH=function W(){if(this.ended)return;D8(this,b$,void 0,"f")},gH=function W($){if(this.ended)return;let Y=f$(this,M8,"m",pH).call(this,$);switch(this._emit("event",$),$.type){case"response.output_text.delta":{let X=Y.output[$.output_index];if(!X)throw new o(`missing output at index ${$.output_index}`);if(X.type==="message"){let G=X.content[$.content_index];if(!G)throw new o(`missing content at index ${$.content_index}`);if(G.type!=="output_text")throw new o(`expected content to be 'output_text', got ${G.type}`);this._emit("response.output_text.delta",{...$,snapshot:G.text})}break}case"response.function_call_arguments.delta":{let X=Y.output[$.output_index];if(!X)throw new o(`missing output at index ${$.output_index}`);if(X.type==="function_call")this._emit("response.function_call_arguments.delta",{...$,snapshot:X.arguments});break}default:this._emit($.type,$);break}},mH=function W(){if(this.ended)throw new o("stream has ended, this shouldn't happen");let $=f$(this,b$,"f");if(!$)throw new o("request ended without sending any events");D8(this,b$,void 0,"f");let Y=nV($,f$(this,GX,"f"));return D8(this,JX,Y,"f"),Y},pH=function W($){let Y=f$(this,b$,"f");if(!Y){if($.type!=="response.created")throw new o(`When snapshot hasn't been set yet, expected 'response.created' event, got ${$.type}`);return Y=D8(this,b$,$.response,"f"),Y}switch($.type){case"response.output_item.added":{Y.output.push($.item);break}case"response.content_part.added":{let X=Y.output[$.output_index];if(!X)throw new o(`missing output at index ${$.output_index}`);if(X.type==="message")X.content.push($.part);break}case"response.output_text.delta":{let X=Y.output[$.output_index];if(!X)throw new o(`missing output at index ${$.output_index}`);if(X.type==="message"){let G=X.content[$.content_index];if(!G)throw new o(`missing content at index ${$.content_index}`);if(G.type!=="output_text")throw new o(`expected content to be 'output_text', got ${G.type}`);G.text+=$.delta}break}case"response.function_call_arguments.delta":{let X=Y.output[$.output_index];if(!X)throw new o(`missing output at index ${$.output_index}`);if(X.type==="function_call")X.arguments+=$.delta;break}case"response.completed":{D8(this,b$,$.response,"f");break}}return Y},Symbol.asyncIterator)](){let W=[],$=[],Y=!1;return this.on("event",(X)=>{let G=$.shift();if(G)G.resolve(X);else W.push(X)}),this.on("end",()=>{Y=!0;for(let X of $)X.resolve(void 0);$.length=0}),this.on("abort",(X)=>{Y=!0;for(let G of $)G.reject(X);$.length=0}),this.on("error",(X)=>{Y=!0;for(let G of $)G.reject(X);$.length=0}),{next:async()=>{if(!W.length){if(Y)return{value:void 0,done:!0};return new Promise((G,J)=>$.push({resolve:G,reject:J})).then((G)=>G?{value:G,done:!1}:{value:void 0,done:!0})}return{value:W.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}async finalResponse(){await this.done();let W=f$(this,JX,"f");if(!W)throw new o("stream ended without producing a ChatCompletion");return W}}function nV(W,$){return yH(W,$)}class O2 extends C{constructor(){super(...arguments);this.inputItems=new X6(this._client)}create(W,$){return this._client.post("/responses",{body:W,...$,stream:W.stream??!1})._thenUnwrap((Y)=>{if("object"in Y&&Y.object==="response")h5(Y);return Y})}retrieve(W,$={},Y){if(Q0($))return this.retrieve(W,{},$);return this._client.get(`/responses/${W}`,{query:$,...Y})}del(W,$){return this._client.delete(`/responses/${W}`,{...$,headers:{Accept:"*/*",...$?.headers}})}parse(W,$){return this._client.responses.create(W,$)._thenUnwrap((Y)=>y5(Y,W))}stream(W,$){return HX.createResponse(this._client,W,$)}}class g5 extends A0{}O2.InputItems=X6;class G6 extends C{create(W,$,Y){return this._client.post(`/uploads/${W}/parts`,JW({body:$,...Y}))}}class K2 extends C{constructor(){super(...arguments);this.parts=new G6(this._client)}create(W,$){return this._client.post("/uploads",{body:W,...$})}cancel(W,$){return this._client.post(`/uploads/${W}/cancel`,$)}complete(W,$,Y){return this._client.post(`/uploads/${W}/complete`,{body:$,...Y})}}K2.Parts=G6;var uH=async(W)=>{let $=await Promise.allSettled(W),Y=$.filter((G)=>G.status==="rejected");if(Y.length){for(let G of Y)console.error(G.reason);throw new Error(`${Y.length} promise(s) failed - see the above errors`)}let X=[];for(let G of $)if(G.status==="fulfilled")X.push(G.value);return X};class E2 extends C{create(W,$,Y){return this._client.post(`/vector_stores/${W}/files`,{body:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}retrieve(W,$,Y){return this._client.get(`/vector_stores/${W}/files/${$}`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}update(W,$,Y,X){return this._client.post(`/vector_stores/${W}/files/${$}`,{body:Y,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}list(W,$={},Y){if(Q0($))return this.list(W,{},$);return this._client.getAPIList(`/vector_stores/${W}/files`,A2,{query:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}del(W,$,Y){return this._client.delete(`/vector_stores/${W}/files/${$}`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}async createAndPoll(W,$,Y){let X=await this.create(W,$,Y);return await this.poll(W,X.id,Y)}async poll(W,$,Y){let X={...Y?.headers,"X-Stainless-Poll-Helper":"true"};if(Y?.pollIntervalMs)X["X-Stainless-Custom-Poll-Interval"]=Y.pollIntervalMs.toString();while(!0){let G=await this.retrieve(W,$,{...Y,headers:X}).withResponse(),J=G.data;switch(J.status){case"in_progress":let H=5000;if(Y?.pollIntervalMs)H=Y.pollIntervalMs;else{let T=G.response.headers.get("openai-poll-after-ms");if(T){let Q=parseInt(T);if(!isNaN(Q))H=Q}}await aW(H);break;case"failed":case"completed":return J}}}async upload(W,$,Y){let X=await this._client.files.create({file:$,purpose:"assistants"},Y);return this.create(W,{file_id:X.id},Y)}async uploadAndPoll(W,$,Y){let X=await this.upload(W,$,Y);return await this.poll(W,X.id,Y)}content(W,$,Y){return this._client.getAPIList(`/vector_stores/${W}/files/${$}/content`,J6,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}}class A2 extends A0{}class J6 extends sW{}E2.VectorStoreFilesPage=A2;E2.FileContentResponsesPage=J6;class H6 extends C{create(W,$,Y){return this._client.post(`/vector_stores/${W}/file_batches`,{body:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}retrieve(W,$,Y){return this._client.get(`/vector_stores/${W}/file_batches/${$}`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}cancel(W,$,Y){return this._client.post(`/vector_stores/${W}/file_batches/${$}/cancel`,{...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}async createAndPoll(W,$,Y){let X=await this.create(W,$);return await this.poll(W,X.id,Y)}listFiles(W,$,Y={},X){if(Q0(Y))return this.listFiles(W,$,{},Y);return this._client.getAPIList(`/vector_stores/${W}/file_batches/${$}/files`,A2,{query:Y,...X,headers:{"OpenAI-Beta":"assistants=v2",...X?.headers}})}async poll(W,$,Y){let X={...Y?.headers,"X-Stainless-Poll-Helper":"true"};if(Y?.pollIntervalMs)X["X-Stainless-Custom-Poll-Interval"]=Y.pollIntervalMs.toString();while(!0){let{data:G,response:J}=await this.retrieve(W,$,{...Y,headers:X}).withResponse();switch(G.status){case"in_progress":let H=5000;if(Y?.pollIntervalMs)H=Y.pollIntervalMs;else{let T=J.headers.get("openai-poll-after-ms");if(T){let Q=parseInt(T);if(!isNaN(Q))H=Q}}await aW(H);break;case"failed":case"cancelled":case"completed":return G}}}async uploadAndPoll(W,{files:$,fileIds:Y=[]},X){if($==null||$.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let G=X?.maxConcurrency??5,J=Math.min(G,$.length),H=this._client,T=$.values(),Q=[...Y];async function _(F){for(let w of F){let O=await H.files.create({file:w,purpose:"assistants"},X);Q.push(O.id)}}let z=Array(J).fill(T).map(_);return await uH(z),await this.createAndPoll(W,{file_ids:Q})}}class TW extends C{constructor(){super(...arguments);this.files=new E2(this._client),this.fileBatches=new H6(this._client)}create(W,$){return this._client.post("/vector_stores",{body:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}retrieve(W,$){return this._client.get(`/vector_stores/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}update(W,$,Y){return this._client.post(`/vector_stores/${W}`,{body:$,...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}list(W={},$){if(Q0(W))return this.list({},W);return this._client.getAPIList("/vector_stores",V8,{query:W,...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}del(W,$){return this._client.delete(`/vector_stores/${W}`,{...$,headers:{"OpenAI-Beta":"assistants=v2",...$?.headers}})}search(W,$,Y){return this._client.getAPIList(`/vector_stores/${W}/search`,O8,{body:$,method:"post",...Y,headers:{"OpenAI-Beta":"assistants=v2",...Y?.headers}})}}class V8 extends A0{}class O8 extends sW{}TW.VectorStoresPage=V8;TW.VectorStoreSearchResponsesPage=O8;TW.Files=E2;TW.VectorStoreFilesPage=A2;TW.FileContentResponsesPage=J6;TW.FileBatches=H6;var cH;class H0 extends K5{constructor({baseURL:W=B4("OPENAI_BASE_URL"),apiKey:$=B4("OPENAI_API_KEY"),organization:Y=B4("OPENAI_ORG_ID")??null,project:X=B4("OPENAI_PROJECT_ID")??null,...G}={}){if($===void 0)throw new o("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let J={apiKey:$,organization:Y,project:X,...G,baseURL:W||"https://api.openai.com/v1"};if(!J.dangerouslyAllowBrowser&&OH())throw new o(`It looks like you're running in a browser-like environment.
|
|
47
47
|
|
|
48
48
|
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
49
49
|
If you understand the risks and have appropriate mitigations in place,
|
|
@@ -52,21 +52,21 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
|
52
52
|
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
53
53
|
|
|
54
54
|
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
55
|
-
`);super({baseURL:J.baseURL,timeout:J.timeout??600000,httpAgent:J.httpAgent,maxRetries:J.maxRetries,fetch:J.fetch});this.completions=new
|
|
56
|
-
`)});return{model:W,messages:H}}var a=1e6,lH={"gpt-4.1":{promptPricePerToken:2/a,promptPricePerTokenCached:0.5/a,completionPricePerToken:8/a},"gpt-4.1-mini":{promptPricePerToken:0.4/a,promptPricePerTokenCached:0.1/a,completionPricePerToken:1.6/a},"gpt-4.1-nano":{promptPricePerToken:0.1/a,promptPricePerTokenCached:0.025/a,completionPricePerToken:0.4/a},"gpt-4o":{promptPricePerToken:2.5/a,promptPricePerTokenCached:1.25/a,completionPricePerToken:10/a},"gpt-4o-mini":{promptPricePerToken:0.15/a,promptPricePerTokenCached:0.075/a,completionPricePerToken:0.6/a},o1:{promptPricePerToken:15/a,promptPricePerTokenCached:7.5/a,completionPricePerToken:60/a},"o1-mini":{promptPricePerToken:1.1/a,promptPricePerTokenCached:0.55/a,completionPricePerToken:4.4/a},o3:{promptPricePerToken:10/a,promptPricePerTokenCached:2.5/a,completionPricePerToken:40/a},"o3-mini":{promptPricePerToken:1.1/a,promptPricePerTokenCached:0.55/a,completionPricePerToken:4.4/a},"o4-mini":{promptPricePerToken:1.1/a,promptPricePerTokenCached:0.275/a,completionPricePerToken:4.4/a},"codex-mini-latest":{promptPricePerToken:1.5/a,promptPricePerTokenCached:0.375/a,completionPricePerToken:6/a},"chatgpt-4o-latest":{promptPricePerToken:5/a,promptPricePerTokenCached:5/a,completionPricePerToken:15/a},"gpt-4":{promptPricePerToken:30/a,promptPricePerTokenCached:30/a,completionPricePerToken:60/a},"gpt-4-turbo":{promptPricePerToken:10/a,promptPricePerTokenCached:10/a,completionPricePerToken:30/a},"gpt-3.5-turbo":{promptPricePerToken:0.5/a,promptPricePerTokenCached:0.5/a,completionPricePerToken:1.5/a},"gpt-4-32k":{promptPricePerToken:60/a,promptPricePerTokenCached:60/a,completionPricePerToken:120/a},"gpt-3.5-turbo-16k":{promptPricePerToken:3/a,promptPricePerTokenCached:3/a,completionPricePerToken:4/a}};function eM(W){let X=Object.keys(lH).filter((Y)=>W.startsWith(Y)).sort((Y,G)=>G.length-Y.length)[0];if(!X)return;return lH[X]}function WO(W){return async function $(X,Y){if(!W)throw new Error("This is a bug in safegen. OpenAI client not available to the json generator.");let G=await W.chat.completions.create({...X,stream:!1,response_format:{type:"json_object"}},Y),J=G.choices[0].message?.content,{usage:H}=G;if(J&&H){let Q=H.prompt_tokens,z=H.prompt_tokens_details?.cached_tokens??0,T=Q-z,F=H.completion_tokens,_=eM(X.model),w=0;if(_)w=Q*_.promptPricePerToken+T*(_.promptPricePerTokenCached??0)+F*_.completionPricePerToken;else console.warn(`No pricing facts found for model ${X.model}. Giving a price of 0.`);return{data:JSON.parse(J),usage:H,usdPrice:w}}if(!J&&!H)throw new Error("No content or usage found in completion");if(!J)throw new Error("No content found in completion");throw new Error("No usage found in completion")}}var oH=new Map,iH=class{usdBudget;usdMinimum;getUnknownJsonFromOpenAi;getUnknownJsonFromOpenAiSquirreled;squirrel;client;lastUsage;constructor({model:W,usdBudget:$,usdMinimum:X,apiKey:Y,cachingMode:G,cacheKey:J="openai-safegen",logger:H}){this.usdBudget=$,this.usdMinimum=X,this.squirrel=new l3(G);let Q=oH.get(Y);if(G!=="read"){if(!Q)Q=new dH({apiKey:Y,dangerouslyAllowBrowser:!1}),oH.set(Y,Q);this.client=Q}this.getUnknownJsonFromOpenAi=WO(this.client),this.getUnknownJsonFromOpenAiSquirreled=this.squirrel.add(J,this.getUnknownJsonFromOpenAi),this.from=k3(async(...z)=>{if(this.usdBudget<this.usdMinimum)return H?.warn("SafeGen budget exhausted"),z[1];let T=sM(W,...z),F=z[0],_=z[3],{data:w,usage:O,usdPrice:M}=await this.getUnknownJsonFromOpenAiSquirreled.for(`${F.replace(/[^a-zA-Z0-9-_. ]/g,"_")}-${_.length}`).get(T);return this.lastUsage=O,this.usdBudget-=M,w},H)}from};import{exec as zB}from"child_process";class JY{supported;constructor(W){this.supported=W}refine(W){for(let[$,X]of Object.entries(this.supported))try{if(X(W)===!0&&X!==Boolean)return{type:$,data:W}}catch(Y){try{if(W instanceof X)return{type:$,data:W}}catch(G){}}return null}}var $O=new JY({number:(W)=>typeof W==="number",string:(W)=>typeof W==="string",boolean:(W)=>typeof W==="boolean",null:(W)=>W===null});function XO(W){if(!W)return!1;return Object.getPrototypeOf(W)===Object.prototype}var YO=new JY({object:XO,array:(W)=>Array.isArray(W)}),GO=new JY({...$O.supported,...YO.supported}),nH=(W)=>{if(W===void 0)return"undefined";let $=GO.refine(W);if($)return $.type;return Object.getPrototypeOf(W).constructor.name};var D=Symbol.for("drizzle:entityKind"),_x=Symbol.for("drizzle:hasOwnEntityKind");function L(W,$){if(!W||typeof W!=="object")return!1;if(W instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,D))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 X=Object.getPrototypeOf(W).constructor;if(X)while(X){if(D in X&&X[D]===$[D])return!0;X=Object.getPrototypeOf(X)}return!1}class q0{constructor(W,$){this.table=W,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[D]="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(W){return W}mapToDriverValue(W){return W}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class h5{static[D]="ColumnBuilder";config;constructor(W,$,X){this.config={name:W,keyAsName:W==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:$,columnType:X,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(W){return this.config.default=W,this.config.hasDefault=!0,this}$defaultFn(W){return this.config.defaultFn=W,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(W){return this.config.onUpdateFn=W,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(W){if(this.config.name!=="")return;this.config.name=W}}var NW=Symbol.for("drizzle:Name");class g5{static[D]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(W,$){if(this.reference=()=>{let{name:X,columns:Y,foreignColumns:G}=W();return{name:X,columns:Y,foreignTable:G[0].table,foreignColumns:G}},$)this._onUpdate=$.onUpdate,this._onDelete=$.onDelete}onUpdate(W){return this._onUpdate=W===void 0?"no action":W,this}onDelete(W){return this._onDelete=W===void 0?"no action":W,this}build(W){return new rH(W,this)}}class rH{constructor(W,$){this.table=W,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[D]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:W,columns:$,foreignColumns:X}=this.reference(),Y=$.map((H)=>H.name),G=X.map((H)=>H.name),J=[this.table[NW],...Y,X[0].table[NW],...G];return W??`${J.join("_")}_fk`}}function HY(W,...$){return W(...$)}function tH(W,$){return`${W[NW]}_${$.join("_")}_unique`}function aH(W,$,X){for(let Y=$;Y<W.length;Y++){let G=W[Y];if(G==="\\"){Y++;continue}if(G==='"')return[W.slice($,Y).replace(/\\/g,""),Y+1];if(X)continue;if(G===","||G==="}")return[W.slice($,Y).replace(/\\/g,""),Y]}return[W.slice($).replace(/\\/g,""),W.length]}function sH(W,$=0){let X=[],Y=$,G=!1;while(Y<W.length){let J=W[Y];if(J===","){if(G||Y===$)X.push("");G=!0,Y++;continue}if(G=!1,J==="\\"){Y+=2;continue}if(J==='"'){let[z,T]=aH(W,Y+1,!0);X.push(z),Y=T;continue}if(J==="}")return[X,Y+1];if(J==="{"){let[z,T]=sH(W,Y+1);X.push(z),Y=T;continue}let[H,Q]=aH(W,Y,!1);X.push(H),Y=Q}return[X,Y]}function eH(W){let[$]=sH(W,1);return $}function m5(W){return`{${W.map(($)=>{if(Array.isArray($))return m5($);if(typeof $==="string")return`"${$.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${$}`}).join(",")}}`}class c extends h5{foreignKeyConfigs=[];static[D]="PgColumnBuilder";array(W){return new $Q(this.config.name,this,W)}references(W,$={}){return this.foreignKeyConfigs.push({ref:W,actions:$}),this}unique(W,$){return this.config.isUnique=!0,this.config.uniqueName=W,this.config.uniqueType=$?.nulls,this}generatedAlwaysAs(W){return this.config.generated={as:W,type:"always",mode:"stored"},this}buildForeignKeys(W,$){return this.foreignKeyConfigs.map(({ref:X,actions:Y})=>{return HY((G,J)=>{let H=new g5(()=>{let Q=G();return{columns:[W],foreignColumns:[Q]}});if(J.onUpdate)H.onUpdate(J.onUpdate);if(J.onDelete)H.onDelete(J.onDelete);return H.build($)},X,Y)})}buildExtraConfigColumn(W){return new WQ(W,this.config)}}class f extends q0{constructor(W,$){if(!$.uniqueName)$.uniqueName=tH(W,[$.name]);super(W,$);this.table=W}static[D]="PgColumn"}class WQ extends f{static[D]="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(W){return this.indexConfig.opClass=W,this}}class J6{static[D]="IndexedColumn";constructor(W,$,X,Y){this.name=W,this.keyAsName=$,this.type=X,this.indexConfig=Y}name;keyAsName;type;indexConfig}class $Q extends c{static[D]="PgArrayBuilder";constructor(W,$,X){super(W,"array","PgArray");this.config.baseBuilder=$,this.config.size=X}build(W){let $=this.config.baseBuilder.build(W);return new p5(W,this.config,$)}}class p5 extends f{constructor(W,$,X,Y){super(W,$);this.baseColumn=X,this.range=Y,this.size=$.size}size;static[D]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(W){if(typeof W==="string")W=eH(W);return W.map(($)=>this.baseColumn.mapFromDriverValue($))}mapToDriverValue(W,$=!1){let X=W.map((Y)=>Y===null?null:L(this.baseColumn,p5)?this.baseColumn.mapToDriverValue(Y,!0):this.baseColumn.mapToDriverValue(Y));if($)return X;return m5(X)}}class XQ extends c{static[D]="PgEnumObjectColumnBuilder";constructor(W,$){super(W,"string","PgEnumObjectColumn");this.config.enum=$}build(W){return new YQ(W,this.config)}}class YQ extends f{static[D]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(W,$){super(W,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}var QY=Symbol.for("drizzle:isPgEnum");function GQ(W){return!!W&&typeof W==="function"&&QY in W&&W[QY]===!0}class JQ extends c{static[D]="PgEnumColumnBuilder";constructor(W,$){super(W,"string","PgEnumColumn");this.config.enum=$}build(W){return new HQ(W,this.config)}}class HQ extends f{static[D]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(W,$){super(W,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}function H6(W,$){return Array.isArray($)?JO(W,[...$],void 0):HO(W,$,void 0)}function JO(W,$,X){let Y=Object.assign((G)=>new JQ(G??"",Y),{enumName:W,enumValues:$,schema:X,[QY]:!0});return Y}function HO(W,$,X){let Y=Object.assign((G)=>new XQ(G??"",Y),{enumName:W,enumValues:Object.values($),schema:X,[QY]:!0});return Y}class H1{static[D]="Subquery";constructor(W,$,X,Y=!1){this._={brand:"Subquery",sql:W,selectedFields:$,alias:X,isWith:Y}}}class Q6 extends H1{static[D]="WithSubquery"}var QQ="0.43.1";var u5,c5,C0={startActiveSpan(W,$){if(!u5)return $();if(!c5)c5=u5.trace.getTracer("drizzle-orm",QQ);return HY((X,Y)=>Y.startActiveSpan(W,(G)=>{try{return $(G)}catch(J){throw G.setStatus({code:X.SpanStatusCode.ERROR,message:J instanceof Error?J.message:"Unknown error"}),J}finally{G.end()}}),u5,c5)}};var f0=Symbol.for("drizzle:ViewBaseConfig");var zY=Symbol.for("drizzle:Schema"),TY=Symbol.for("drizzle:Columns"),zQ=Symbol.for("drizzle:ExtraConfigColumns"),d5=Symbol.for("drizzle:OriginalName"),l5=Symbol.for("drizzle:BaseName"),z6=Symbol.for("drizzle:IsAlias"),TQ=Symbol.for("drizzle:ExtraConfigBuilder"),QO=Symbol.for("drizzle:IsDrizzleTable");class g{static[D]="Table";static Symbol={Name:NW,Schema:zY,OriginalName:d5,Columns:TY,ExtraConfigColumns:zQ,BaseName:l5,IsAlias:z6,ExtraConfigBuilder:TQ};[NW];[d5];[zY];[TY];[zQ];[l5];[z6]=!1;[QO]=!0;[TQ]=void 0;constructor(W,$,X){this[NW]=this[d5]=W,this[zY]=$,this[l5]=X}}function w1(W){return W[NW]}function A8(W){return`${W[zY]??"public"}.${W[NW]}`}function o5(W){return W!==null&&W!==void 0&&typeof W.getSQL==="function"}function zO(W){let $={sql:"",params:[]};for(let X of W)if($.sql+=X.sql,$.params.push(...X.params),X.typings?.length){if(!$.typings)$.typings=[];$.typings.push(...X.typings)}return $}class Q1{static[D]="StringChunk";value;constructor(W){this.value=Array.isArray(W)?W:[W]}getSQL(){return new p([this])}}class p{constructor(W){this.queryChunks=W}static[D]="SQL";decoder=_Q;shouldInlineParams=!1;append(W){return this.queryChunks.push(...W.queryChunks),this}toQuery(W){return C0.startActiveSpan("drizzle.buildSQL",($)=>{let X=this.buildQueryFromSourceParams(this.queryChunks,W);return $?.setAttributes({"drizzle.query.text":X.sql,"drizzle.query.params":JSON.stringify(X.params)}),X})}buildQueryFromSourceParams(W,$){let X=Object.assign({},$,{inlineParams:$.inlineParams||this.shouldInlineParams,paramStartIndex:$.paramStartIndex||{value:0}}),{casing:Y,escapeName:G,escapeParam:J,prepareTyping:H,inlineParams:Q,paramStartIndex:z}=X;return zO(W.map((T)=>{if(L(T,Q1))return{sql:T.value.join(""),params:[]};if(L(T,FY))return{sql:G(T.value),params:[]};if(T===void 0)return{sql:"",params:[]};if(Array.isArray(T)){let F=[new Q1("(")];for(let[_,w]of T.entries())if(F.push(w),_<T.length-1)F.push(new Q1(", "));return F.push(new Q1(")")),this.buildQueryFromSourceParams(F,X)}if(L(T,p))return this.buildQueryFromSourceParams(T.queryChunks,{...X,inlineParams:Q||T.shouldInlineParams});if(L(T,g)){let F=T[g.Symbol.Schema],_=T[g.Symbol.Name];return{sql:F===void 0||T[z6]?G(_):G(F)+"."+G(_),params:[]}}if(L(T,q0)){let F=Y.getColumnCasing(T);if($.invokeSource==="indexes")return{sql:G(F),params:[]};let _=T.table[g.Symbol.Schema];return{sql:T.table[z6]||_===void 0?G(T.table[g.Symbol.Name])+"."+G(F):G(_)+"."+G(T.table[g.Symbol.Name])+"."+G(F),params:[]}}if(L(T,g1)){let F=T[f0].schema,_=T[f0].name;return{sql:F===void 0||T[f0].isAlias?G(_):G(F)+"."+G(_),params:[]}}if(L(T,e1)){if(L(T.value,x2))return{sql:J(z.value++,T),params:[T],typings:["none"]};let F=T.value===null?null:T.encoder.mapToDriverValue(T.value);if(L(F,p))return this.buildQueryFromSourceParams([F],X);if(Q)return{sql:this.mapInlineParam(F,X),params:[]};let _=["none"];if(H)_=[H(T.encoder)];return{sql:J(z.value++,F),params:[F],typings:_}}if(L(T,x2))return{sql:J(z.value++,T),params:[T],typings:["none"]};if(L(T,p.Aliased)&&T.fieldAlias!==void 0)return{sql:G(T.fieldAlias),params:[]};if(L(T,H1)){if(T._.isWith)return{sql:G(T._.alias),params:[]};return this.buildQueryFromSourceParams([new Q1("("),T._.sql,new Q1(") "),new FY(T._.alias)],X)}if(GQ(T)){if(T.schema)return{sql:G(T.schema)+"."+G(T.enumName),params:[]};return{sql:G(T.enumName),params:[]}}if(o5(T)){if(T.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([T.getSQL()],X);return this.buildQueryFromSourceParams([new Q1("("),T.getSQL(),new Q1(")")],X)}if(Q)return{sql:this.mapInlineParam(T,X),params:[]};return{sql:J(z.value++,T),params:[T],typings:["none"]}}))}mapInlineParam(W,{escapeString:$}){if(W===null)return"null";if(typeof W==="number"||typeof W==="boolean")return W.toString();if(typeof W==="string")return $(W);if(typeof W==="object"){let X=W.toString();if(X==="[object Object]")return $(JSON.stringify(W));return $(X)}throw new Error("Unexpected param value: "+W)}getSQL(){return this}as(W){if(W===void 0)return this;return new p.Aliased(this,W)}mapWith(W){return this.decoder=typeof W==="function"?{mapFromDriverValue:W}:W,this}inlineParams(){return this.shouldInlineParams=!0,this}if(W){return W?this:void 0}}class FY{constructor(W){this.value=W}static[D]="Name";brand;getSQL(){return new p([this])}}function FQ(W){return typeof W==="object"&&W!==null&&"mapToDriverValue"in W&&typeof W.mapToDriverValue==="function"}var _Q={mapFromDriverValue:(W)=>W},wQ={mapToDriverValue:(W)=>W},ex={..._Q,...wQ};class e1{constructor(W,$=wQ){this.value=W,this.encoder=$}static[D]="Param";brand;getSQL(){return new p([this])}}function V(W,...$){let X=[];if($.length>0||W.length>0&&W[0]!=="")X.push(new Q1(W[0]));for(let[Y,G]of $.entries())X.push(G,new Q1(W[Y+1]));return new p(X)}((W)=>{function $(){return new p([])}W.empty=$;function X(z){return new p(z)}W.fromList=X;function Y(z){return new p([new Q1(z)])}W.raw=Y;function G(z,T){let F=[];for(let[_,w]of z.entries()){if(_>0&&T!==void 0)F.push(T);F.push(w)}return new p(F)}W.join=G;function J(z){return new FY(z)}W.identifier=J;function H(z){return new x2(z)}W.placeholder=H;function Q(z,T){return new e1(z,T)}W.param=Q})(V||(V={}));((W)=>{class ${constructor(X,Y){this.sql=X,this.fieldAlias=Y}static[D]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}W.Aliased=$})(p||(p={}));class x2{constructor(W){this.name=W}static[D]="Placeholder";getSQL(){return new p([this])}}function i5(W,$){return W.map((X)=>{if(L(X,x2)){if(!(X.name in $))throw new Error(`No value for placeholder "${X.name}" was provided`);return $[X.name]}if(L(X,e1)&&L(X.value,x2)){if(!(X.value.name in $))throw new Error(`No value for placeholder "${X.value.name}" was provided`);return X.encoder.mapToDriverValue($[X.value.name])}return X})}var TO=Symbol.for("drizzle:IsDrizzleView");class g1{static[D]="View";[f0];[TO]=!0;constructor({name:W,schema:$,selectedFields:X,query:Y}){this[f0]={name:W,originalName:W,schema:$,selectedFields:X,query:Y,isExisting:!Y,isAlias:!1}}getSQL(){return new p([this])}}q0.prototype.getSQL=function(){return new p([this])};g.prototype.getSQL=function(){return new p([this])};H1.prototype.getSQL=function(){return new p([this])};class M4{constructor(W){this.table=W}static[D]="ColumnAliasProxyHandler";get(W,$){if($==="table")return this.table;return W[$]}}class T6{constructor(W,$){this.alias=W,this.replaceOriginalName=$}static[D]="TableAliasProxyHandler";get(W,$){if($===g.Symbol.IsAlias)return!0;if($===g.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===g.Symbol.OriginalName)return this.alias;if($===f0)return{...W[f0],name:this.alias,isAlias:!0};if($===g.Symbol.Columns){let Y=W[g.Symbol.Columns];if(!Y)return Y;let G={};return Object.keys(Y).map((J)=>{G[J]=new Proxy(Y[J],new M4(new Proxy(W,this)))}),G}let X=W[$];if(L(X,q0))return new Proxy(X,new M4(new Proxy(W,this)));return X}}function _Y(W,$){return new Proxy(W,new T6($,!1))}function mW(W,$){return new Proxy(W,new M4(new Proxy(W.table,new T6($,!1))))}function n5(W,$){return new p.Aliased(F6(W.sql,$),W.fieldAlias)}function F6(W,$){return V.join(W.queryChunks.map((X)=>{if(L(X,q0))return mW(X,$);if(L(X,p))return F6(X,$);if(L(X,p.Aliased))return n5(X,$);return X}))}class wY extends Error{static[D]="DrizzleError";constructor({message:W,cause:$}){super(W);this.name="DrizzleError",this.cause=$}}class r5 extends wY{static[D]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class UQ{static[D]="ConsoleLogWriter";write(W){console.log(W)}}class t5{static[D]="DefaultLogger";writer;constructor(W){this.writer=W?.writer??new UQ}logQuery(W,$){let X=$.map((G)=>{try{return JSON.stringify(G)}catch{return String(G)}}),Y=X.length?` -- params: [${X.join(", ")}]`:"";this.writer.write(`Query: ${W}${Y}`)}}class a5{static[D]="NoopLogger";logQuery(){}}class j1{static[D]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(W){return this.then(void 0,W)}finally(W){return this.then(($)=>{return W?.(),$},($)=>{throw W?.(),$})}then(W,$){return this.execute().then(W,$)}}function DQ(W,$,X){let Y={},G=W.reduce((J,{path:H,field:Q},z)=>{let T;if(L(Q,q0))T=Q;else if(L(Q,p))T=Q.decoder;else T=Q.sql.decoder;let F=J;for(let[_,w]of H.entries())if(_<H.length-1){if(!(w in F))F[w]={};F=F[w]}else{let O=$[z],M=F[w]=O===null?null:T.mapFromDriverValue(O);if(X&&L(Q,q0)&&H.length===2){let A=H[0];if(!(A in Y))Y[A]=M===null?w1(Q.table):!1;else if(typeof Y[A]==="string"&&Y[A]!==w1(Q.table))Y[A]=!1}}return J},{});if(X&&Object.keys(Y).length>0){for(let[J,H]of Object.entries(Y))if(typeof H==="string"&&!X[H])G[J]=null}return G}function zW(W,$){return Object.entries(W).reduce((X,[Y,G])=>{if(typeof Y!=="string")return X;let J=$?[...$,Y]:[Y];if(L(G,q0)||L(G,p)||L(G,p.Aliased))X.push({path:J,field:G});else if(L(G,g))X.push(...zW(G[g.Symbol.Columns],J));else X.push(...zW(G,J));return X},[])}function _6(W,$){let X=Object.keys(W),Y=Object.keys($);if(X.length!==Y.length)return!1;for(let[G,J]of X.entries())if(J!==Y[G])return!1;return!0}function UY(W,$){let X=Object.entries($).filter(([,Y])=>Y!==void 0).map(([Y,G])=>{if(L(G,p)||L(G,q0))return[Y,G];else return[Y,new e1(G,W[g.Symbol.Columns][Y])]});if(X.length===0)throw new Error("No values to set");return Object.fromEntries(X)}function VQ(W,$){for(let X of $)for(let Y of Object.getOwnPropertyNames(X.prototype)){if(Y==="constructor")continue;Object.defineProperty(W.prototype,Y,Object.getOwnPropertyDescriptor(X.prototype,Y)||Object.create(null))}}function MQ(W){return W[g.Symbol.Columns]}function G2(W){return L(W,H1)?W._.alias:L(W,g1)?W[f0].name:L(W,p)?void 0:W[g.Symbol.IsAlias]?W[g.Symbol.Name]:W[g.Symbol.BaseName]}function M0(W,$){return{name:typeof W==="string"&&W.length>0?W:"",config:typeof W==="object"?W:$}}function OQ(W){if(typeof W!=="object"||W===null)return!1;if(W.constructor.name!=="Object")return!1;if("logger"in W){let $=typeof W.logger;if($!=="boolean"&&($!=="object"||typeof W.logger.logQuery!=="function")&&$!=="undefined")return!1;return!0}if("schema"in W){let $=typeof W.schema;if($!=="object"&&$!=="undefined")return!1;return!0}if("casing"in W){let $=typeof W.casing;if($!=="string"&&$!=="undefined")return!1;return!0}if("mode"in W){if(W.mode!=="default"||W.mode!=="planetscale"||W.mode!==void 0)return!1;return!0}if("connection"in W){let $=typeof W.connection;if($!=="string"&&$!=="object"&&$!=="undefined")return!1;return!0}if("client"in W){let $=typeof W.client;if($!=="object"&&$!=="function"&&$!=="undefined")return!1;return!0}if(Object.keys(W).length===0)return!0;return!1}class b2 extends c{static[D]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(W){if(W){let{name:$,...X}=W;this.config.generatedIdentity={type:"always",sequenceName:$,sequenceOptions:X}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(W){if(W){let{name:$,...X}=W;this.config.generatedIdentity={type:"byDefault",sequenceName:$,sequenceOptions:X}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class KQ extends b2{static[D]="PgBigInt53Builder";constructor(W){super(W,"number","PgBigInt53")}build(W){return new AQ(W,this.config)}}class AQ extends f{static[D]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(W){if(typeof W==="number")return W;return Number(W)}}class EQ extends b2{static[D]="PgBigInt64Builder";constructor(W){super(W,"bigint","PgBigInt64")}build(W){return new LQ(W,this.config)}}class LQ extends f{static[D]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(W){return BigInt(W)}}function BQ(W,$){let{name:X,config:Y}=M0(W,$);if(Y.mode==="number")return new KQ(X);return new EQ(X)}class RQ extends c{static[D]="PgBigSerial53Builder";constructor(W){super(W,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(W){return new NQ(W,this.config)}}class NQ extends f{static[D]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(W){if(typeof W==="number")return W;return Number(W)}}class ZQ extends c{static[D]="PgBigSerial64Builder";constructor(W){super(W,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(W){return new SQ(W,this.config)}}class SQ extends f{static[D]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(W){return BigInt(W)}}function qQ(W,$){let{name:X,config:Y}=M0(W,$);if(Y.mode==="number")return new RQ(X);return new ZQ(X)}class CQ extends c{static[D]="PgBooleanBuilder";constructor(W){super(W,"boolean","PgBoolean")}build(W){return new kQ(W,this.config)}}class kQ extends f{static[D]="PgBoolean";getSQLType(){return"boolean"}}function w6(W){return new CQ(W??"")}class jQ extends c{static[D]="PgCharBuilder";constructor(W,$){super(W,"string","PgChar");this.config.length=$.length,this.config.enumValues=$.enum}build(W){return new IQ(W,this.config)}}class IQ extends f{static[D]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function PQ(W,$={}){let{name:X,config:Y}=M0(W,$);return new jQ(X,Y)}class fQ extends c{static[D]="PgCidrBuilder";constructor(W){super(W,"string","PgCidr")}build(W){return new xQ(W,this.config)}}class xQ extends f{static[D]="PgCidr";getSQLType(){return"cidr"}}function bQ(W){return new fQ(W??"")}class vQ extends c{static[D]="PgCustomColumnBuilder";constructor(W,$,X){super(W,"custom","PgCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=X}build(W){return new yQ(W,this.config)}}class yQ extends f{static[D]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(W,$){super(W,$);this.sqlName=$.customTypeParams.dataType($.fieldConfig),this.mapTo=$.customTypeParams.toDriver,this.mapFrom=$.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(W){return typeof this.mapFrom==="function"?this.mapFrom(W):W}mapToDriverValue(W){return typeof this.mapTo==="function"?this.mapTo(W):W}}function hQ(W){return($,X)=>{let{name:Y,config:G}=M0($,X);return new vQ(Y,G,W)}}class J2 extends c{static[D]="PgDateColumnBaseBuilder";defaultNow(){return this.default(V`now()`)}}class gQ extends J2{static[D]="PgDateBuilder";constructor(W){super(W,"date","PgDate")}build(W){return new DY(W,this.config)}}class DY extends f{static[D]="PgDate";getSQLType(){return"date"}mapFromDriverValue(W){return new Date(W)}mapToDriverValue(W){return W.toISOString()}}class mQ extends J2{static[D]="PgDateStringBuilder";constructor(W){super(W,"string","PgDateString")}build(W){return new VY(W,this.config)}}class VY extends f{static[D]="PgDateString";getSQLType(){return"date"}}function pQ(W,$){let{name:X,config:Y}=M0(W,$);if(Y?.mode==="date")return new gQ(X);return new mQ(X)}class uQ extends c{static[D]="PgDoublePrecisionBuilder";constructor(W){super(W,"number","PgDoublePrecision")}build(W){return new cQ(W,this.config)}}class cQ extends f{static[D]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(W){if(typeof W==="string")return Number.parseFloat(W);return W}}function dQ(W){return new uQ(W??"")}class lQ extends c{static[D]="PgInetBuilder";constructor(W){super(W,"string","PgInet")}build(W){return new oQ(W,this.config)}}class oQ extends f{static[D]="PgInet";getSQLType(){return"inet"}}function iQ(W){return new lQ(W??"")}class nQ extends b2{static[D]="PgIntegerBuilder";constructor(W){super(W,"number","PgInteger")}build(W){return new rQ(W,this.config)}}class rQ extends f{static[D]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(W){if(typeof W==="string")return Number.parseInt(W);return W}}function U6(W){return new nQ(W??"")}class tQ extends c{static[D]="PgIntervalBuilder";constructor(W,$){super(W,"string","PgInterval");this.config.intervalConfig=$}build(W){return new aQ(W,this.config)}}class aQ extends f{static[D]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let W=this.fields?` ${this.fields}`:"",$=this.precision?`(${this.precision})`:"";return`interval${W}${$}`}}function sQ(W,$={}){let{name:X,config:Y}=M0(W,$);return new tQ(X,Y)}class eQ extends c{static[D]="PgJsonBuilder";constructor(W){super(W,"json","PgJson")}build(W){return new MY(W,this.config)}}class MY extends f{static[D]="PgJson";constructor(W,$){super(W,$)}getSQLType(){return"json"}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){if(typeof W==="string")try{return JSON.parse(W)}catch{return W}return W}}function Wz(W){return new eQ(W??"")}class $z extends c{static[D]="PgJsonbBuilder";constructor(W){super(W,"json","PgJsonb")}build(W){return new OY(W,this.config)}}class OY extends f{static[D]="PgJsonb";constructor(W,$){super(W,$)}getSQLType(){return"jsonb"}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){if(typeof W==="string")try{return JSON.parse(W)}catch{return W}return W}}function Xz(W){return new $z(W??"")}class Yz extends c{static[D]="PgLineBuilder";constructor(W){super(W,"array","PgLine")}build(W){return new Gz(W,this.config)}}class Gz extends f{static[D]="PgLine";getSQLType(){return"line"}mapFromDriverValue(W){let[$,X,Y]=W.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(X),Number.parseFloat(Y)]}mapToDriverValue(W){return`{${W[0]},${W[1]},${W[2]}}`}}class Jz extends c{static[D]="PgLineABCBuilder";constructor(W){super(W,"json","PgLineABC")}build(W){return new Hz(W,this.config)}}class Hz extends f{static[D]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(W){let[$,X,Y]=W.slice(1,-1).split(",");return{a:Number.parseFloat($),b:Number.parseFloat(X),c:Number.parseFloat(Y)}}mapToDriverValue(W){return`{${W.a},${W.b},${W.c}}`}}function Qz(W,$){let{name:X,config:Y}=M0(W,$);if(!Y?.mode||Y.mode==="tuple")return new Yz(X);return new Jz(X)}class zz extends c{static[D]="PgMacaddrBuilder";constructor(W){super(W,"string","PgMacaddr")}build(W){return new Tz(W,this.config)}}class Tz extends f{static[D]="PgMacaddr";getSQLType(){return"macaddr"}}function Fz(W){return new zz(W??"")}class _z extends c{static[D]="PgMacaddr8Builder";constructor(W){super(W,"string","PgMacaddr8")}build(W){return new wz(W,this.config)}}class wz extends f{static[D]="PgMacaddr8";getSQLType(){return"macaddr8"}}function Uz(W){return new _z(W??"")}class Dz extends c{static[D]="PgNumericBuilder";constructor(W,$,X){super(W,"string","PgNumeric");this.config.precision=$,this.config.scale=X}build(W){return new KY(W,this.config)}}class KY extends f{static[D]="PgNumeric";precision;scale;constructor(W,$){super(W,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(W){if(typeof W==="string")return W;return String(W)}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 Vz extends c{static[D]="PgNumericNumberBuilder";constructor(W,$,X){super(W,"number","PgNumericNumber");this.config.precision=$,this.config.scale=X}build(W){return new Mz(W,this.config)}}class Mz extends f{static[D]="PgNumericNumber";precision;scale;constructor(W,$){super(W,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(W){if(typeof W==="number")return W;return Number(W)}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 Oz extends c{static[D]="PgNumericBigIntBuilder";constructor(W,$,X){super(W,"bigint","PgNumericBigInt");this.config.precision=$,this.config.scale=X}build(W){return new Kz(W,this.config)}}class Kz extends f{static[D]="PgNumericBigInt";precision;scale;constructor(W,$){super(W,$);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 Az(W,$){let{name:X,config:Y}=M0(W,$),G=Y?.mode;return G==="number"?new Vz(X,Y?.precision,Y?.scale):G==="bigint"?new Oz(X,Y?.precision,Y?.scale):new Dz(X,Y?.precision,Y?.scale)}class Ez extends c{static[D]="PgPointTupleBuilder";constructor(W){super(W,"array","PgPointTuple")}build(W){return new Lz(W,this.config)}}class Lz extends f{static[D]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(W){if(typeof W==="string"){let[$,X]=W.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(X)]}return[W.x,W.y]}mapToDriverValue(W){return`(${W[0]},${W[1]})`}}class Bz extends c{static[D]="PgPointObjectBuilder";constructor(W){super(W,"json","PgPointObject")}build(W){return new Rz(W,this.config)}}class Rz extends f{static[D]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(W){if(typeof W==="string"){let[$,X]=W.slice(1,-1).split(",");return{x:Number.parseFloat($),y:Number.parseFloat(X)}}return W}mapToDriverValue(W){return`(${W.x},${W.y})`}}function Nz(W,$){let{name:X,config:Y}=M0(W,$);if(!Y?.mode||Y.mode==="tuple")return new Ez(X);return new Bz(X)}function FO(W){let $=[];for(let X=0;X<W.length;X+=2)$.push(Number.parseInt(W.slice(X,X+2),16));return new Uint8Array($)}function Zz(W,$){let X=new ArrayBuffer(8),Y=new DataView(X);for(let G=0;G<8;G++)Y.setUint8(G,W[$+G]);return Y.getFloat64(0,!0)}function s5(W){let $=FO(W),X=0,Y=$[X];X+=1;let G=new DataView($.buffer),J=G.getUint32(X,Y===1);X+=4;let H;if(J&536870912)H=G.getUint32(X,Y===1),X+=4;if((J&65535)===1){let Q=Zz($,X);X+=8;let z=Zz($,X);return X+=8,[Q,z]}throw new Error("Unsupported geometry type")}class Sz extends c{static[D]="PgGeometryBuilder";constructor(W){super(W,"array","PgGeometry")}build(W){return new qz(W,this.config)}}class qz extends f{static[D]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(W){return s5(W)}mapToDriverValue(W){return`point(${W[0]} ${W[1]})`}}class Cz extends c{static[D]="PgGeometryObjectBuilder";constructor(W){super(W,"json","PgGeometryObject")}build(W){return new kz(W,this.config)}}class kz extends f{static[D]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(W){let $=s5(W);return{x:$[0],y:$[1]}}mapToDriverValue(W){return`point(${W.x} ${W.y})`}}function jz(W,$){let{name:X,config:Y}=M0(W,$);if(!Y?.mode||Y.mode==="tuple")return new Sz(X);return new Cz(X)}class Iz extends c{static[D]="PgRealBuilder";constructor(W,$){super(W,"number","PgReal");this.config.length=$}build(W){return new Pz(W,this.config)}}class Pz extends f{static[D]="PgReal";constructor(W,$){super(W,$)}getSQLType(){return"real"}mapFromDriverValue=(W)=>{if(typeof W==="string")return Number.parseFloat(W);return W}}function fz(W){return new Iz(W??"")}class xz extends c{static[D]="PgSerialBuilder";constructor(W){super(W,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(W){return new bz(W,this.config)}}class bz extends f{static[D]="PgSerial";getSQLType(){return"serial"}}function vz(W){return new xz(W??"")}class yz extends b2{static[D]="PgSmallIntBuilder";constructor(W){super(W,"number","PgSmallInt")}build(W){return new hz(W,this.config)}}class hz extends f{static[D]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(W)=>{if(typeof W==="string")return Number(W);return W}}function gz(W){return new yz(W??"")}class mz extends c{static[D]="PgSmallSerialBuilder";constructor(W){super(W,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(W){return new pz(W,this.config)}}class pz extends f{static[D]="PgSmallSerial";getSQLType(){return"smallserial"}}function uz(W){return new mz(W??"")}class cz extends c{static[D]="PgTextBuilder";constructor(W,$){super(W,"string","PgText");this.config.enumValues=$.enum}build(W){return new dz(W,this.config)}}class dz extends f{static[D]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function lz(W,$={}){let{name:X,config:Y}=M0(W,$);return new cz(X,Y)}class oz extends J2{constructor(W,$,X){super(W,"string","PgTime");this.withTimezone=$,this.precision=X,this.config.withTimezone=$,this.config.precision=X}static[D]="PgTimeBuilder";build(W){return new AY(W,this.config)}}class AY extends f{static[D]="PgTime";withTimezone;precision;constructor(W,$){super(W,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function iz(W,$={}){let{name:X,config:Y}=M0(W,$);return new oz(X,Y.withTimezone??!1,Y.precision)}class nz extends J2{static[D]="PgTimestampBuilder";constructor(W,$,X){super(W,"date","PgTimestamp");this.config.withTimezone=$,this.config.precision=X}build(W){return new EY(W,this.config)}}class EY extends f{static[D]="PgTimestamp";withTimezone;precision;constructor(W,$){super(W,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(W)=>{return new Date(this.withTimezone?W:W+"+0000")};mapToDriverValue=(W)=>{return W.toISOString()}}class rz extends J2{static[D]="PgTimestampStringBuilder";constructor(W,$,X){super(W,"string","PgTimestampString");this.config.withTimezone=$,this.config.precision=X}build(W){return new LY(W,this.config)}}class LY extends f{static[D]="PgTimestampString";withTimezone;precision;constructor(W,$){super(W,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function ZW(W,$={}){let{name:X,config:Y}=M0(W,$);if(Y?.mode==="string")return new rz(X,Y.withTimezone??!1,Y.precision);return new nz(X,Y?.withTimezone??!1,Y?.precision)}class tz extends c{static[D]="PgUUIDBuilder";constructor(W){super(W,"string","PgUUID")}defaultRandom(){return this.default(V`gen_random_uuid()`)}build(W){return new BY(W,this.config)}}class BY extends f{static[D]="PgUUID";getSQLType(){return"uuid"}}function TW(W){return new tz(W??"")}class az extends c{static[D]="PgVarcharBuilder";constructor(W,$){super(W,"string","PgVarchar");this.config.length=$.length,this.config.enumValues=$.enum}build(W){return new sz(W,this.config)}}class sz extends f{static[D]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function I1(W,$={}){let{name:X,config:Y}=M0(W,$);return new az(X,Y)}class ez extends c{static[D]="PgBinaryVectorBuilder";constructor(W,$){super(W,"string","PgBinaryVector");this.config.dimensions=$.dimensions}build(W){return new WT(W,this.config)}}class WT extends f{static[D]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function $T(W,$){let{name:X,config:Y}=M0(W,$);return new ez(X,Y)}class XT extends c{static[D]="PgHalfVectorBuilder";constructor(W,$){super(W,"array","PgHalfVector");this.config.dimensions=$.dimensions}build(W){return new YT(W,this.config)}}class YT extends f{static[D]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){return W.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function GT(W,$){let{name:X,config:Y}=M0(W,$);return new XT(X,Y)}class JT extends c{static[D]="PgSparseVectorBuilder";constructor(W,$){super(W,"string","PgSparseVector");this.config.dimensions=$.dimensions}build(W){return new HT(W,this.config)}}class HT extends f{static[D]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function QT(W,$){let{name:X,config:Y}=M0(W,$);return new JT(X,Y)}class zT extends c{static[D]="PgVectorBuilder";constructor(W,$){super(W,"array","PgVector");this.config.dimensions=$.dimensions}build(W){return new TT(W,this.config)}}class TT extends f{static[D]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){return W.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function FT(W,$){let{name:X,config:Y}=M0(W,$);return new zT(X,Y)}function _T(){return{bigint:BQ,bigserial:qQ,boolean:w6,char:PQ,cidr:bQ,customType:hQ,date:pQ,doublePrecision:dQ,inet:iQ,integer:U6,interval:sQ,json:Wz,jsonb:Xz,line:Qz,macaddr:Fz,macaddr8:Uz,numeric:Az,point:Nz,geometry:jz,real:fz,serial:vz,smallint:gz,smallserial:uz,text:lz,time:iz,timestamp:ZW,uuid:TW,varchar:I1,bit:$T,halfvec:GT,sparsevec:QT,vector:FT}}var e5=Symbol.for("drizzle:PgInlineForeignKeys"),wT=Symbol.for("drizzle:EnableRLS");class V1 extends g{static[D]="PgTable";static Symbol=Object.assign({},g.Symbol,{InlineForeignKeys:e5,EnableRLS:wT});[e5]=[];[wT]=!1;[g.Symbol.ExtraConfigBuilder]=void 0;[g.Symbol.ExtraConfigColumns]={}}function _O(W,$,X,Y,G=W){let J=new V1(W,Y,G),H=typeof $==="function"?$(_T()):$,Q=Object.fromEntries(Object.entries(H).map(([F,_])=>{let w=_;w.setName(F);let O=w.build(J);return J[e5].push(...w.buildForeignKeys(O,J)),[F,O]})),z=Object.fromEntries(Object.entries(H).map(([F,_])=>{let w=_;w.setName(F);let O=w.buildExtraConfigColumn(J);return[F,O]})),T=Object.assign(J,Q);if(T[g.Symbol.Columns]=Q,T[g.Symbol.ExtraConfigColumns]=z,X)T[V1.Symbol.ExtraConfigBuilder]=X;return Object.assign(T,{enableRLS:()=>{return T[V1.Symbol.EnableRLS]=!0,T}})}var v2=(W,$,X)=>{return _O(W,$,X,void 0)};function UT(...W){if(W[0].columns)return new D6(W[0].columns,W[0].name);return new D6(W)}class D6{static[D]="PgPrimaryKeyBuilder";columns;name;constructor(W,$){this.columns=W,this.name=$}build(W){return new DT(W,this.columns,this.name)}}class DT{constructor(W,$,X){this.table=W,this.columns=$,this.name=X}static[D]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[V1.Symbol.Name]}_${this.columns.map((W)=>W.name).join("_")}_pk`}}function m1(W,$){if(FQ($)&&!o5(W)&&!L(W,e1)&&!L(W,x2)&&!L(W,q0)&&!L(W,g)&&!L(W,g1))return new e1(W,$);return W}var RY=(W,$)=>{return V`${W} = ${m1($,W)}`},VT=(W,$)=>{return V`${W} <> ${m1($,W)}`};function V6(...W){let $=W.filter((X)=>X!==void 0);if($.length===0)return;if($.length===1)return new p($);return new p([new Q1("("),V.join($,new Q1(" and ")),new Q1(")")])}function MT(...W){let $=W.filter((X)=>X!==void 0);if($.length===0)return;if($.length===1)return new p($);return new p([new Q1("("),V.join($,new Q1(" or ")),new Q1(")")])}function OT(W){return V`not ${W}`}var NY=(W,$)=>{return V`${W} > ${m1($,W)}`},KT=(W,$)=>{return V`${W} >= ${m1($,W)}`},AT=(W,$)=>{return V`${W} < ${m1($,W)}`},ET=(W,$)=>{return V`${W} <= ${m1($,W)}`};function LT(W,$){if(Array.isArray($)){if($.length===0)return V`false`;return V`${W} in ${$.map((X)=>m1(X,W))}`}return V`${W} in ${m1($,W)}`}function BT(W,$){if(Array.isArray($)){if($.length===0)return V`true`;return V`${W} not in ${$.map((X)=>m1(X,W))}`}return V`${W} not in ${m1($,W)}`}function RT(W){return V`${W} is null`}function NT(W){return V`${W} is not null`}function ZT(W){return V`exists ${W}`}function ST(W){return V`not exists ${W}`}function qT(W,$,X){return V`${W} between ${m1($,W)} and ${m1(X,W)}`}function CT(W,$,X){return V`${W} not between ${m1($,W)} and ${m1(X,W)}`}function kT(W,$){return V`${W} like ${$}`}function jT(W,$){return V`${W} not like ${$}`}function IT(W,$){return V`${W} ilike ${$}`}function PT(W,$){return V`${W} not ilike ${$}`}function fT(W){return V`${W} asc`}function xT(W){return V`${W} desc`}class W7{constructor(W,$,X){this.sourceTable=W,this.referencedTable=$,this.relationName=X,this.referencedTableName=$[g.Symbol.Name]}static[D]="Relation";referencedTableName;fieldName}class bT{constructor(W,$){this.table=W,this.config=$}static[D]="Relations"}class y2 extends W7{constructor(W,$,X,Y){super(W,$,X?.relationName);this.config=X,this.isNullable=Y}static[D]="One";withFieldName(W){let $=new y2(this.sourceTable,this.referencedTable,this.config,this.isNullable);return $.fieldName=W,$}}class M6 extends W7{constructor(W,$,X){super(W,$,X?.relationName);this.config=X}static[D]="Many";withFieldName(W){let $=new M6(this.sourceTable,this.referencedTable,this.config);return $.fieldName=W,$}}function vT(){return{and:V6,between:qT,eq:RY,exists:ZT,gt:NY,gte:KT,ilike:IT,inArray:LT,isNull:RT,isNotNull:NT,like:kT,lt:AT,lte:ET,ne:VT,not:OT,notBetween:CT,notExists:ST,notLike:jT,notIlike:PT,notInArray:BT,or:MT,sql:V}}function yT(){return{sql:V,asc:fT,desc:xT}}function hT(W,$){if(Object.keys(W).length===1&&"default"in W&&!L(W.default,g))W=W.default;let X={},Y={},G={};for(let[J,H]of Object.entries(W))if(L(H,g)){let Q=A8(H),z=Y[Q];X[Q]=J,G[J]={tsName:J,dbName:H[g.Symbol.Name],schema:H[g.Symbol.Schema],columns:H[g.Symbol.Columns],relations:z?.relations??{},primaryKey:z?.primaryKey??[]};for(let F of Object.values(H[g.Symbol.Columns]))if(F.primary)G[J].primaryKey.push(F);let T=H[g.Symbol.ExtraConfigBuilder]?.(H[g.Symbol.ExtraConfigColumns]);if(T){for(let F of Object.values(T))if(L(F,D6))G[J].primaryKey.push(...F.columns)}}else if(L(H,bT)){let Q=A8(H.table),z=X[Q],T=H.config($(H.table)),F;for(let[_,w]of Object.entries(T))if(z){let O=G[z];if(O.relations[_]=w,F)O.primaryKey.push(...F)}else{if(!(Q in Y))Y[Q]={relations:{},primaryKey:F};Y[Q].relations[_]=w}}return{tables:G,tableNamesMap:X}}function wO(W){return function $(X,Y){return new y2(W,X,Y,Y?.fields.reduce((G,J)=>G&&J.notNull,!0)??!1)}}function UO(W){return function $(X,Y){return new M6(W,X,Y)}}function gT(W,$,X){if(L(X,y2)&&X.config)return{fields:X.config.fields,references:X.config.references};let Y=$[A8(X.referencedTable)];if(!Y)throw new Error(`Table "${X.referencedTable[g.Symbol.Name]}" not found in schema`);let G=W[Y];if(!G)throw new Error(`Table "${Y}" not found in schema`);let J=X.sourceTable,H=$[A8(J)];if(!H)throw new Error(`Table "${J[g.Symbol.Name]}" not found in schema`);let Q=[];for(let z of Object.values(G.relations))if(X.relationName&&X!==z&&z.relationName===X.relationName||!X.relationName&&z.referencedTable===X.sourceTable)Q.push(z);if(Q.length>1)throw X.relationName?new Error(`There are multiple relations with name "${X.relationName}" in table "${Y}"`):new Error(`There are multiple relations between "${Y}" and "${X.sourceTable[g.Symbol.Name]}". Please specify relation name`);if(Q[0]&&L(Q[0],y2)&&Q[0].config)return{fields:Q[0].config.references,references:Q[0].config.fields};throw new Error(`There is not enough information to infer relation "${H}.${X.fieldName}"`)}function mT(W){return{one:wO(W),many:UO(W)}}function ZY(W,$,X,Y,G=(J)=>J){let J={};for(let[H,Q]of Y.entries())if(Q.isJson){let z=$.relations[Q.tsKey],T=X[H],F=typeof T==="string"?JSON.parse(T):T;J[Q.tsKey]=L(z,y2)?F&&ZY(W,W[Q.relationTableTsKey],F,Q.selection,G):F.map((_)=>ZY(W,W[Q.relationTableTsKey],_,Q.selection,G))}else{let z=G(X[H]),T=Q.field,F;if(L(T,q0))F=T;else if(L(T,p))F=T.decoder;else F=T.sql.decoder;J[Q.tsKey]=z===null?null:F.mapFromDriverValue(z)}return J}import XB from"path";import yO from"os";import hO from"fs";var SY=new Map,$7=new Map,X7=Symbol("OriginError"),O4={};class FW extends Promise{constructor(W,$,X,Y,G={}){let J,H;super((Q,z)=>{J=Q,H=z});this.tagged=Array.isArray(W.raw),this.strings=W,this.args=$,this.handler=X,this.canceller=Y,this.options=G,this.state=null,this.statement=null,this.resolve=(Q)=>(this.active=!1,J(Q)),this.reject=(Q)=>(this.active=!1,H(Q)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[X7]=this.handler.debug?new Error:this.tagged&&DO(this.strings)}get origin(){return(this.handler.debug?this[X7].stack:this.tagged&&$7.has(this.strings)?$7.get(this.strings):$7.set(this.strings,this[X7].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(W=1,$){if(this.options.simple=!1,typeof W==="function")$=W,W=1;if(this.cursorRows=W,typeof $==="function")return this.cursorFn=$,this;let X;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};X&&X();let Y=new Promise((G,J)=>{this.cursorFn=(H)=>{return G({value:H,done:!1}),new Promise((Q)=>X=Q)},this.resolve=()=>(this.active=!1,G({done:!0})),this.reject=(H)=>(this.active=!1,J(H))});return this.execute(),Y},return(){return X&&X(O4),{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(W){return this.forEachFn=W,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 DO(W){if(SY.has(W))return SY.get(W);let $=Error.stackTraceLimit;return Error.stackTraceLimit=4,SY.set(W,new Error),Error.stackTraceLimit=$,SY.get(W)}class K4 extends Error{constructor(W){super(W.message);this.name=this.constructor.name,Object.assign(this,W)}}var a0={connection:pT,postgres:uT,generic:cT,notSupported:dT};function pT(W,$,X){let{host:Y,port:G}=X||$,J=Object.assign(new Error("write "+W+" "+($.path||Y+":"+G)),{code:W,errno:W,address:$.path||Y},$.path?{}:{port:G});return Error.captureStackTrace(J,pT),J}function uT(W){let $=new K4(W);return Error.captureStackTrace($,uT),$}function cT(W,$){let X=Object.assign(new Error(W+": "+$),{code:W});return Error.captureStackTrace(X,cT),X}function dT(W){let $=Object.assign(new Error(W+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:W});return Error.captureStackTrace($,dT),$}var VO={string:{to:25,from:null,serialize:(W)=>""+W},number:{to:0,from:[21,23,26,700,701],serialize:(W)=>""+W,parse:(W)=>+W},json:{to:114,from:[114,3802],serialize:(W)=>JSON.stringify(W),parse:(W)=>JSON.parse(W)},boolean:{to:16,from:16,serialize:(W)=>W===!0?"t":"f",parse:(W)=>W==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(W)=>(W instanceof Date?W:new Date(W)).toISOString(),parse:(W)=>new Date(W)},bytea:{to:17,from:17,serialize:(W)=>"\\x"+Buffer.from(W).toString("hex"),parse:(W)=>Buffer.from(W.slice(2),"hex")}};class kY{then(){Y7()}catch(){Y7()}finally(){Y7()}}class E6 extends kY{constructor(W){super();this.value=PY(W)}}class pW extends kY{constructor(W,$,X){super();this.value=W,this.type=$,this.array=X}}class jY extends kY{constructor(W,$){super();this.first=W,this.rest=$}build(W,$,X,Y){let G=MO.map(([J,H])=>({fn:H,i:W.search(J)})).sort((J,H)=>J.i-H.i).pop();return G.i===-1?z7(this.first,Y):G.fn(this.first,this.rest,$,X,Y)}}function IY(W,$,X,Y){let G=W instanceof pW?W.value:W;if(G===void 0){if(W instanceof pW?W.value=Y.transform.undefined:G=W=Y.transform.undefined,G===void 0)throw a0.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+X.push(W instanceof pW?($.push(W.value),W.array?W.array[W.type||CY(W.value)]||W.type||nT(W.value):W.type):($.push(W),CY(W)))}var oT=tT(VO);function H7(W,$,X,Y,G,J){for(let H=1;H<W.strings.length;H++)$+=Q7($,X,Y,G,J)+W.strings[H],X=W.args[H];return $}function Q7(W,$,X,Y,G){return $ instanceof jY?$.build(W,X,Y,G):$ instanceof FW?J7($,X,Y,G):$ instanceof E6?$.value:$&&$[0]instanceof FW?$.reduce((J,H)=>J+" "+J7(H,X,Y,G),""):IY($,X,Y,G)}function J7(W,$,X,Y){return W.fragment=!0,H7(W,W.strings[0],W.args[0],$,X,Y)}function iT(W,$,X,Y,G){return W.map((J)=>"("+Y.map((H)=>Q7("values",J[H],$,X,G)).join(",")+")").join(",")}function lT(W,$,X,Y,G){let J=Array.isArray(W[0]),H=$.length?$.flat():Object.keys(J?W[0]:W);return iT(J?W:[W],X,Y,H,G)}function qY(W,$,X,Y,G){if(typeof W==="string"&&(W=[W].concat($)),Array.isArray(W))return z7(W,G);let J;return($.length?$.flat():Object.keys(W)).map((Q)=>{return J=W[Q],(J instanceof FW?J7(J,X,Y,G):J instanceof E6?J.value:IY(J,X,Y,G))+" as "+PY(G.transform.column.to?G.transform.column.to(Q):Q)}).join(",")}var MO=Object.entries({values:lT,in:(...W)=>{let $=lT(...W);return $==="()"?"(null)":$},select:qY,as:qY,returning:qY,"\\(":qY,update(W,$,X,Y,G){return($.length?$.flat():Object.keys(W)).map((J)=>PY(G.transform.column.to?G.transform.column.to(J):J)+"="+Q7("values",W[J],X,Y,G))},insert(W,$,X,Y,G){let J=$.length?$.flat():Object.keys(Array.isArray(W)?W[0]:W);return"("+z7(J,G)+")values"+iT(Array.isArray(W)?W:[W],X,Y,J,G)}}).map(([W,$])=>[new RegExp("((?:^|[\\s(])"+W+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),$]);function Y7(){throw a0.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:OO,parsers:KO}=oT;function nT(W){if(Array.isArray(W))return nT(W[0]);return typeof W==="string"?1009:0}var rT=function(W){let $=tT(W||{});return{serializers:Object.assign({},OO,$.serializers),parsers:Object.assign({},KO,$.parsers)}};function tT(W){return Object.keys(W).reduce(($,X)=>{if(W[X].from&&[].concat(W[X].from).forEach((Y)=>$.parsers[Y]=W[X].parse),W[X].serialize)$.serializers[W[X].to]=W[X].serialize,W[X].from&&[].concat(W[X].from).forEach((Y)=>$.serializers[Y]=W[X].serialize);return $},{parsers:{},serializers:{}})}function z7(W,{transform:{column:$}}){return W.map((X)=>PY($.to?$.to(X):X)).join(",")}var PY=function W($){return'"'+$.replace(/"/g,'""').replace(/\./g,'"."')+'"'},CY=function W($){return $ instanceof pW?$.type:$ instanceof Date?1184:$ instanceof Uint8Array?17:$===!0||$===!1?16:typeof $==="bigint"?20:Array.isArray($)?W($[0]):0},AO=/\\/g,EO=/"/g;function LO(W){return W.replace(AO,"\\\\").replace(EO,"\\\"")}var aT=function W($,X,Y,G){if(Array.isArray($)===!1)return $;if(!$.length)return"{}";let J=$[0],H=G===1020?";":",";if(Array.isArray(J)&&!J.type)return"{"+$.map((Q)=>W(Q,X,Y,G)).join(H)+"}";return"{"+$.map((Q)=>{if(Q===void 0){if(Q=Y.transform.undefined,Q===void 0)throw a0.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return Q===null?"null":'"'+LO(X?X(Q.type?Q.value:Q):""+Q)+'"'}).join(H)+"}"},G7={i:0,char:null,str:"",quoted:!1,last:0},sT=function W($,X,Y){return G7.i=G7.last=0,eT(G7,$,X,Y)};function eT(W,$,X,Y){let G=[],J=Y===1020?";":",";for(;W.i<$.length;W.i++){if(W.char=$[W.i],W.quoted)if(W.char==="\\")W.str+=$[++W.i];else if(W.char==='"')G.push(X?X(W.str):W.str),W.str="",W.quoted=$[W.i+1]==='"',W.last=W.i+2;else W.str+=W.char;else if(W.char==='"')W.quoted=!0;else if(W.char==="{")W.last=++W.i,G.push(eT(W,$,X,Y));else if(W.char==="}"){W.quoted=!1,W.last<W.i&&G.push(X?X($.slice(W.last,W.i)):$.slice(W.last,W.i)),W.last=W.i+1;break}else if(W.char===J&&W.p!=="}"&&W.p!=='"')G.push(X?X($.slice(W.last,W.i)):$.slice(W.last,W.i)),W.last=W.i+1;W.p=W.char}return W.last<W.i&&G.push(X?X($.slice(W.last,W.i+1)):$.slice(W.last,W.i+1)),G}var E8=(W)=>{let $=W[0];for(let X=1;X<W.length;X++)$+=W[X]==="_"?W[++X].toUpperCase():W[X];return $},L8=(W)=>{let $=W[0].toUpperCase();for(let X=1;X<W.length;X++)$+=W[X]==="_"?W[++X].toUpperCase():W[X];return $},B8=(W)=>W.replace(/_/g,"-"),O6=(W)=>W.replace(/([A-Z])/g,"_$1").toLowerCase(),K6=(W)=>(W.slice(0,1)+W.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),A6=(W)=>W.replace(/-/g,"_");function T7(W){return function $(X,Y){return typeof X==="object"&&X!==null&&(Y.type===114||Y.type===3802)?Array.isArray(X)?X.map((G)=>$(G,Y)):Object.entries(X).reduce((G,[J,H])=>Object.assign(G,{[W(J)]:$(H,Y)}),{}):X}}E8.column={from:E8};E8.value={from:T7(E8)};O6.column={to:O6};var F7={...E8};F7.column.to=O6;L8.column={from:L8};L8.value={from:T7(L8)};K6.column={to:K6};var _7={...L8};_7.column.to=K6;B8.column={from:B8};B8.value={from:T7(B8)};A6.column={to:A6};var w7={...B8};w7.column.to=A6;import WF from"net";import ZO from"tls";import L6 from"crypto";import U7 from"stream";import{performance as $F}from"perf_hooks";class R8 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 WW=BO;function BO(W=[]){let $=W.slice(),X=0;return{get length(){return $.length-X},remove:(Y)=>{let G=$.indexOf(Y);return G===-1?null:($.splice(G,1),Y)},push:(Y)=>($.push(Y),Y),shift:()=>{let Y=$[X++];if(X===$.length)X=0,$=[];else $[X-1]=void 0;return Y}}}var B1=Buffer.allocUnsafe(256),RO="BCcDdEFfHPpQSX".split("").reduce((W,$)=>{let X=$.charCodeAt(0);return W[$]=()=>{return B1[0]=X,S0.i=5,S0},W},{}),S0=Object.assign(NO,RO,{N:String.fromCharCode(0),i:0,inc(W){return S0.i+=W,S0},str(W){let $=Buffer.byteLength(W);return fY($),S0.i+=B1.write(W,S0.i,$,"utf8"),S0},i16(W){return fY(2),B1.writeUInt16BE(W,S0.i),S0.i+=2,S0},i32(W,$){if($||$===0)return B1.writeUInt32BE(W,$),S0;return fY(4),B1.writeUInt32BE(W,S0.i),S0.i+=4,S0},z(W){return fY(W),B1.fill(0,S0.i,S0.i+W),S0.i+=W,S0},raw(W){return B1=Buffer.concat([B1.subarray(0,S0.i),W]),S0.i=B1.length,S0},end(W=1){B1.writeUInt32BE(S0.i-W,W);let $=B1.subarray(0,S0.i);return S0.i=0,B1=Buffer.allocUnsafe(256),$}}),n=S0;function fY(W){if(B1.length-S0.i<W){let $=B1,X=$.length;B1=Buffer.allocUnsafe(X+(X>>1)+W),$.copy(B1)}}function NO(){return S0.i=0,S0}var M7=GF,SO=1,h2=n().S().end(),XF=n().H().end(),qO=n().i32(8).i32(80877103).end(8),CO=Buffer.concat([n().E().str(n.N).i32(0).end(),h2]),kO=n().D().str("S").str(n.N).end(),A4=()=>{},jO=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),IO={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 GF(W,$={},{onopen:X=A4,onend:Y=A4,onclose:G=A4}={}){let{ssl:J,max:H,user:Q,host:z,port:T,database:F,parsers:_,transform:w,onnotice:O,onnotify:M,onparameter:A,max_pipeline:I,keep_alive:j,backoff:R,target_session_attrs:Z}=W,P=WW(),h=SO++,x={pid:null,secret:null},m=V7(B9,W.idle_timeout),w0=V7(B9,W.max_lifetime),p0=V7(cU,W.connect_timeout),B=null,V0,$0=new R8,U0=Buffer.alloc(0),e0=W.fetch_types,M1={},VW={},P8=Math.random().toString(36).slice(2),k=1,e=0,N0=0,m0=0,W1=0,F0=0,j0=0,r0=0,u0=null,v0=null,O1=!1,I0=null,MW=null,K1=null,O2=null,$1=null,y0=null,OW=null,IW=null,v=null,u4=null,A1={queue:$.closed,idleTimer:m,connect(U){K1=U||!0,QJ()},terminate:d4,execute:c4,cancel:gU,end:B9,count:0,id:h};return $.closed&&$.closed.push(A1),A1;async function hU(){let U;try{U=W.socket?await Promise.resolve(W.socket(W)):new WF.Socket}catch(K){x8(K);return}return U.on("error",x8),U.on("close",zJ),U.on("drain",JJ),U}async function gU({pid:U,secret:K},t,L0){try{V0=n().i32(16).i32(80877102).i32(U).i32(K).end(16),await HJ(),B.once("error",L0),B.once("close",t)}catch(l0){L0(l0)}}function c4(U){if(O1)return YX(U,a0.connection("CONNECTION_DESTROYED",W));if(U.cancelled)return;try{return U.state=x,v?P.push(U):(v=U,v.active=!0),uU(U),U1(mU(U))&&!U.describeFirst&&!U.cursorFn&&P.length<I&&(!U.options.onexecute||U.options.onexecute(A1))}catch(K){return P.length===0&&U1(h2),PW(K),!0}}function mU(U){if(U.parameters.length>=65534)throw a0.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return U.options.simple?n().Q().str(U.statement.string+n.N).end():U.describeFirst?Buffer.concat([XJ(U),XF]):U.prepare?U.prepared?XX(U):Buffer.concat([XJ(U),XX(U)]):pU(U)}function XJ(U){return Buffer.concat([FJ(U.statement.string,U.parameters,U.statement.types,U.statement.name),qD("S",U.statement.name)])}function XX(U){return Buffer.concat([SD(U.parameters,U.statement.types,U.statement.name,U.cursorName),U.cursorFn?_J("",U.cursorRows):CO])}function pU(U){return Buffer.concat([FJ(U.statement.string,U.parameters,U.statement.types),kO,XX(U)])}function uU(U){let K=[],t=[],L0=H7(U,U.strings[0],U.args[0],K,t,W);!U.tagged&&U.args.forEach((l0)=>IY(l0,K,t,W)),U.prepare=W.prepare&&("prepare"in U.options?U.options.prepare:!0),U.string=L0,U.signature=U.prepare&&t+L0,U.onlyDescribe&&delete VW[U.signature],U.parameters=U.parameters||K,U.prepared=U.prepare&&U.signature in VW,U.describeFirst=U.onlyDescribe||K.length&&!U.prepared,U.statement=U.prepared?VW[U.signature]:{string:L0,types:t,name:U.prepare?P8+k++:""},typeof W.debug==="function"&&W.debug(h,L0,K,t)}function U1(U,K){if(y0=y0?Buffer.concat([y0,U]):Buffer.from(U),K||y0.length>=1024)return YJ(K);return v0===null&&(v0=setImmediate(YJ)),!0}function YJ(U){let K=B.write(y0,U);return v0!==null&&clearImmediate(v0),y0=v0=null,K}function cU(){PW(a0.connection("CONNECT_TIMEOUT",W,B)),B.destroy()}async function GJ(){if(U1(qO),!await new Promise((K)=>B.once("data",(t)=>K(t[0]===83)))&&J==="prefer")return f8();B.removeAllListeners(),B=ZO.connect({socket:B,servername:WF.isIP(B.host)?void 0:B.host,...J==="require"||J==="allow"||J==="prefer"?{rejectUnauthorized:!1}:J==="verify-full"?{}:typeof J==="object"?J:{}}),B.on("secureConnect",f8),B.on("error",x8),B.on("close",zJ),B.on("drain",JJ)}function JJ(){!v&&X(A1)}function L9(U){if(I0){if(I0.push(U),N0-=U.length,N0>=0)return}U0=I0?Buffer.concat(I0,F0-N0):U0.length===0?U:Buffer.concat([U0,U],U0.length+U.length);while(U0.length>4){if(F0=U0.readUInt32BE(1),F0>=U0.length){N0=F0-U0.length,I0=[U0];break}try{dU(U0.subarray(0,F0+1))}catch(K){v&&(v.cursorFn||v.describeFirst)&&U1(h2),PW(K)}U0=U0.subarray(F0+1),N0=0,I0=null}}async function HJ(){if(O1=!1,M1={},B||(B=await hU()),!B)return;if(p0.start(),W.socket)return J?GJ():f8();if(B.on("connect",J?GJ:f8),W.path)return B.connect(W.path);B.ssl=J,B.connect(T[m0],z[m0]),B.host=z[m0],B.port=T[m0],m0=(m0+1)%T.length}function QJ(){setTimeout(HJ,e?e+j0-$F.now():0)}function f8(){try{VW={},e0=W.fetch_types,P8=Math.random().toString(36).slice(2),k=1,w0.start(),B.on("data",L9),j&&B.setKeepAlive&&B.setKeepAlive(!0,1000*j);let U=kD();U1(U)}catch(U){x8(U)}}function x8(U){if(A1.queue===$.connecting&&W.host[W1+1])return;PW(U);while(P.length)YX(P.shift(),U)}function PW(U){$1&&($1.destroy(U),$1=null),v&&YX(v,U),K1&&(YX(K1,U),K1=null)}function YX(U,K){"query"in K||"parameters"in K||Object.defineProperties(K,{stack:{value:K.stack+U.origin.replace(/.*\n/,`
|
|
57
|
-
`),enumerable:W.debug},query:{value:U.string,enumerable:W.debug},parameters:{value:U.parameters,enumerable:W.debug},args:{value:U.args,enumerable:W.debug},types:{value:U.statement&&U.statement.types,enumerable:W.debug}}),U.reject(K)}function
|
|
55
|
+
`);super({baseURL:J.baseURL,timeout:J.timeout??600000,httpAgent:J.httpAgent,maxRetries:J.maxRetries,fetch:J.fetch});this.completions=new X8(this),this.chat=new C$(this),this.embeddings=new G8(this),this.files=new U2(this),this.images=new F8(this),this.audio=new eW(this),this.moderations=new U8(this),this.models=new V2(this),this.fineTuning=new HW(this),this.graders=new M2(this),this.vectorStores=new TW(this),this.beta=new gW(this),this.batches=new J2(this),this.uploads=new K2(this),this.responses=new O2(this),this.evals=new X$(this),this._options=J,this.apiKey=$,this.organization=Y,this.project=X}defaultQuery(){return this._options.defaultQuery}defaultHeaders(W){return{...super.defaultHeaders(W),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(W){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(W){return Y5(W,{arrayFormat:"brackets"})}}cH=H0;H0.OpenAI=cH;H0.DEFAULT_TIMEOUT=600000;H0.OpenAIError=o;H0.APIError=t0;H0.APIConnectionError=W2;H0.APIConnectionTimeoutError=$2;H0.APIUserAbortError=G1;H0.NotFoundError=fY;H0.ConflictError=bY;H0.RateLimitError=vY;H0.BadRequestError=jY;H0.AuthenticationError=IY;H0.InternalServerError=yY;H0.PermissionDeniedError=PY;H0.UnprocessableEntityError=xY;H0.toFile=M5;H0.fileFromPath=kY;H0.Completions=X8;H0.Chat=C$;H0.ChatCompletionsPage=G2;H0.Embeddings=G8;H0.Files=U2;H0.FileObjectsPage=T8;H0.Images=F8;H0.Audio=eW;H0.Moderations=U8;H0.Models=V2;H0.ModelsPage=w8;H0.FineTuning=HW;H0.Graders=M2;H0.VectorStores=TW;H0.VectorStoresPage=V8;H0.VectorStoreSearchResponsesPage=O8;H0.Beta=gW;H0.Batches=J2;H0.BatchesPage=n2;H0.Uploads=K2;H0.Responses=O2;H0.Evals=X$;H0.EvalListResponsesPage=H8;var dH=H0;function eV(W,...$){let[Y,X,G,J]=$,H=[{role:"user",content:j3(X)},{role:"user",content:Y}],T=J.at(-1);if(T)H.push({role:"user",content:["Oops! That didn't work. Here's what was returned last time:",JSON.stringify(T.response,null,2),"Here's the error message:",JSON.stringify(T.error.issues,null,2)].join(`
|
|
56
|
+
`)});return{model:W,messages:H}}var a=1e6,lH={"gpt-4.1":{promptPricePerToken:2/a,promptPricePerTokenCached:0.5/a,completionPricePerToken:8/a},"gpt-4.1-mini":{promptPricePerToken:0.4/a,promptPricePerTokenCached:0.1/a,completionPricePerToken:1.6/a},"gpt-4.1-nano":{promptPricePerToken:0.1/a,promptPricePerTokenCached:0.025/a,completionPricePerToken:0.4/a},"gpt-4o":{promptPricePerToken:2.5/a,promptPricePerTokenCached:1.25/a,completionPricePerToken:10/a},"gpt-4o-mini":{promptPricePerToken:0.15/a,promptPricePerTokenCached:0.075/a,completionPricePerToken:0.6/a},o1:{promptPricePerToken:15/a,promptPricePerTokenCached:7.5/a,completionPricePerToken:60/a},"o1-mini":{promptPricePerToken:1.1/a,promptPricePerTokenCached:0.55/a,completionPricePerToken:4.4/a},o3:{promptPricePerToken:10/a,promptPricePerTokenCached:2.5/a,completionPricePerToken:40/a},"o3-mini":{promptPricePerToken:1.1/a,promptPricePerTokenCached:0.55/a,completionPricePerToken:4.4/a},"o4-mini":{promptPricePerToken:1.1/a,promptPricePerTokenCached:0.275/a,completionPricePerToken:4.4/a},"codex-mini-latest":{promptPricePerToken:1.5/a,promptPricePerTokenCached:0.375/a,completionPricePerToken:6/a},"chatgpt-4o-latest":{promptPricePerToken:5/a,promptPricePerTokenCached:5/a,completionPricePerToken:15/a},"gpt-4":{promptPricePerToken:30/a,promptPricePerTokenCached:30/a,completionPricePerToken:60/a},"gpt-4-turbo":{promptPricePerToken:10/a,promptPricePerTokenCached:10/a,completionPricePerToken:30/a},"gpt-3.5-turbo":{promptPricePerToken:0.5/a,promptPricePerTokenCached:0.5/a,completionPricePerToken:1.5/a},"gpt-4-32k":{promptPricePerToken:60/a,promptPricePerTokenCached:60/a,completionPricePerToken:120/a},"gpt-3.5-turbo-16k":{promptPricePerToken:3/a,promptPricePerTokenCached:3/a,completionPricePerToken:4/a}};function WO(W){let Y=Object.keys(lH).filter((X)=>W.startsWith(X)).sort((X,G)=>G.length-X.length)[0];if(!Y)return;return lH[Y]}function $O(W){return async function $(Y,X){if(!W)throw new Error("This is a bug in safegen. OpenAI client not available to the json generator.");let G=await W.chat.completions.create({...Y,stream:!1,response_format:{type:"json_object"}},X),J=G.choices[0].message?.content,{usage:H}=G;if(J&&H){let T=H.prompt_tokens,Q=H.prompt_tokens_details?.cached_tokens??0,_=T-Q,z=H.completion_tokens,F=WO(Y.model),w=0;if(F)w=T*F.promptPricePerToken+_*(F.promptPricePerTokenCached??0)+z*F.completionPricePerToken;else console.warn(`No pricing facts found for model ${Y.model}. Giving a price of 0.`);return{data:JSON.parse(J),usage:H,usdPrice:w}}if(!J&&!H)throw new Error("No content or usage found in completion");if(!J)throw new Error("No content found in completion");throw new Error("No usage found in completion")}}var oH=new Map,iH=class{usdBudget;usdMinimum;getUnknownJsonFromOpenAi;getUnknownJsonFromOpenAiSquirreled;squirrel;client;lastUsage;constructor({model:W,usdBudget:$,usdMinimum:Y,apiKey:X,cachingMode:G,cacheKey:J="openai-safegen",logger:H}){this.usdBudget=$,this.usdMinimum=Y,this.squirrel=new l3(G);let T=oH.get(X);if(G!=="read"){if(!T)T=new dH({apiKey:X,dangerouslyAllowBrowser:!1}),oH.set(X,T);this.client=T}this.getUnknownJsonFromOpenAi=$O(this.client),this.getUnknownJsonFromOpenAiSquirreled=this.squirrel.add(J,this.getUnknownJsonFromOpenAi),this.from=k3(async(...Q)=>{if(this.usdBudget<this.usdMinimum)return H?.warn("SafeGen budget exhausted"),Q[1];let _=eV(W,...Q),z=Q[0],F=Q[3],{data:w,usage:O,usdPrice:V}=await this.getUnknownJsonFromOpenAiSquirreled.for(`${z.replace(/[^a-zA-Z0-9-_. ]/g,"_")}-${F.length}`).get(_);return this.lastUsage=O,this.usdBudget-=V,w},H)}from};import{exec as _Z}from"child_process";class TX{supported;constructor(W){this.supported=W}refine(W){for(let[$,Y]of Object.entries(this.supported))try{if(Y(W)===!0&&Y!==Boolean)return{type:$,data:W}}catch(X){try{if(W instanceof Y)return{type:$,data:W}}catch(G){}}return null}}var YO=new TX({number:(W)=>typeof W==="number",string:(W)=>typeof W==="string",boolean:(W)=>typeof W==="boolean",null:(W)=>W===null});function XO(W){if(!W)return!1;return Object.getPrototypeOf(W)===Object.prototype}var GO=new TX({object:XO,array:(W)=>Array.isArray(W)}),JO=new TX({...YO.supported,...GO.supported}),nH=(W)=>{if(W===void 0)return"undefined";let $=JO.refine(W);if($)return $.type;return Object.getPrototypeOf(W).constructor.name};var D=Symbol.for("drizzle:entityKind"),kb=Symbol.for("drizzle:hasOwnEntityKind");function L(W,$){if(!W||typeof W!=="object")return!1;if(W instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,D))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 Y=Object.getPrototypeOf(W).constructor;if(Y)while(Y){if(D in Y&&Y[D]===$[D])return!0;Y=Object.getPrototypeOf(Y)}return!1}class q0{constructor(W,$){this.table=W,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[D]="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(W){return W}mapToDriverValue(W){return W}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class m5{static[D]="ColumnBuilder";config;constructor(W,$,Y){this.config={name:W,keyAsName:W==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:$,columnType:Y,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(W){return this.config.default=W,this.config.hasDefault=!0,this}$defaultFn(W){return this.config.defaultFn=W,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(W){return this.config.onUpdateFn=W,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(W){if(this.config.name!=="")return;this.config.name=W}}var RW=Symbol.for("drizzle:Name");class p5{static[D]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(W,$){if(this.reference=()=>{let{name:Y,columns:X,foreignColumns:G}=W();return{name:Y,columns:X,foreignTable:G[0].table,foreignColumns:G}},$)this._onUpdate=$.onUpdate,this._onDelete=$.onDelete}onUpdate(W){return this._onUpdate=W===void 0?"no action":W,this}onDelete(W){return this._onDelete=W===void 0?"no action":W,this}build(W){return new rH(W,this)}}class rH{constructor(W,$){this.table=W,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[D]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:W,columns:$,foreignColumns:Y}=this.reference(),X=$.map((H)=>H.name),G=Y.map((H)=>H.name),J=[this.table[RW],...X,Y[0].table[RW],...G];return W??`${J.join("_")}_fk`}}function QX(W,...$){return W(...$)}function tH(W,$){return`${W[RW]}_${$.join("_")}_unique`}function aH(W,$,Y){for(let X=$;X<W.length;X++){let G=W[X];if(G==="\\"){X++;continue}if(G==='"')return[W.slice($,X).replace(/\\/g,""),X+1];if(Y)continue;if(G===","||G==="}")return[W.slice($,X).replace(/\\/g,""),X]}return[W.slice($).replace(/\\/g,""),W.length]}function sH(W,$=0){let Y=[],X=$,G=!1;while(X<W.length){let J=W[X];if(J===","){if(G||X===$)Y.push("");G=!0,X++;continue}if(G=!1,J==="\\"){X+=2;continue}if(J==='"'){let[Q,_]=aH(W,X+1,!0);Y.push(Q),X=_;continue}if(J==="}")return[Y,X+1];if(J==="{"){let[Q,_]=sH(W,X+1);Y.push(Q),X=_;continue}let[H,T]=aH(W,X,!1);Y.push(H),X=T}return[Y,X]}function eH(W){let[$]=sH(W,1);return $}function u5(W){return`{${W.map(($)=>{if(Array.isArray($))return u5($);if(typeof $==="string")return`"${$.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${$}`}).join(",")}}`}class c extends m5{foreignKeyConfigs=[];static[D]="PgColumnBuilder";array(W){return new $T(this.config.name,this,W)}references(W,$={}){return this.foreignKeyConfigs.push({ref:W,actions:$}),this}unique(W,$){return this.config.isUnique=!0,this.config.uniqueName=W,this.config.uniqueType=$?.nulls,this}generatedAlwaysAs(W){return this.config.generated={as:W,type:"always",mode:"stored"},this}buildForeignKeys(W,$){return this.foreignKeyConfigs.map(({ref:Y,actions:X})=>{return QX((G,J)=>{let H=new p5(()=>{let T=G();return{columns:[W],foreignColumns:[T]}});if(J.onUpdate)H.onUpdate(J.onUpdate);if(J.onDelete)H.onDelete(J.onDelete);return H.build($)},Y,X)})}buildExtraConfigColumn(W){return new WT(W,this.config)}}class b extends q0{constructor(W,$){if(!$.uniqueName)$.uniqueName=tH(W,[$.name]);super(W,$);this.table=W}static[D]="PgColumn"}class WT extends b{static[D]="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(W){return this.indexConfig.opClass=W,this}}class T6{static[D]="IndexedColumn";constructor(W,$,Y,X){this.name=W,this.keyAsName=$,this.type=Y,this.indexConfig=X}name;keyAsName;type;indexConfig}class $T extends c{static[D]="PgArrayBuilder";constructor(W,$,Y){super(W,"array","PgArray");this.config.baseBuilder=$,this.config.size=Y}build(W){let $=this.config.baseBuilder.build(W);return new c5(W,this.config,$)}}class c5 extends b{constructor(W,$,Y,X){super(W,$);this.baseColumn=Y,this.range=X,this.size=$.size}size;static[D]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(W){if(typeof W==="string")W=eH(W);return W.map(($)=>this.baseColumn.mapFromDriverValue($))}mapToDriverValue(W,$=!1){let Y=W.map((X)=>X===null?null:L(this.baseColumn,c5)?this.baseColumn.mapToDriverValue(X,!0):this.baseColumn.mapToDriverValue(X));if($)return Y;return u5(Y)}}class YT extends c{static[D]="PgEnumObjectColumnBuilder";constructor(W,$){super(W,"string","PgEnumObjectColumn");this.config.enum=$}build(W){return new XT(W,this.config)}}class XT extends b{static[D]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(W,$){super(W,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}var _X=Symbol.for("drizzle:isPgEnum");function GT(W){return!!W&&typeof W==="function"&&_X in W&&W[_X]===!0}class JT extends c{static[D]="PgEnumColumnBuilder";constructor(W,$){super(W,"string","PgEnumColumn");this.config.enum=$}build(W){return new HT(W,this.config)}}class HT extends b{static[D]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(W,$){super(W,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}function Q6(W,$){return Array.isArray($)?HO(W,[...$],void 0):TO(W,$,void 0)}function HO(W,$,Y){let X=Object.assign((G)=>new JT(G??"",X),{enumName:W,enumValues:$,schema:Y,[_X]:!0});return X}function TO(W,$,Y){let X=Object.assign((G)=>new YT(G??"",X),{enumName:W,enumValues:Object.values($),schema:Y,[_X]:!0});return X}class H1{static[D]="Subquery";constructor(W,$,Y,X=!1){this._={brand:"Subquery",sql:W,selectedFields:$,alias:Y,isWith:X}}}class _6 extends H1{static[D]="WithSubquery"}var TT="0.43.1";var d5,l5,C0={startActiveSpan(W,$){if(!d5)return $();if(!l5)l5=d5.trace.getTracer("drizzle-orm",TT);return QX((Y,X)=>X.startActiveSpan(W,(G)=>{try{return $(G)}catch(J){throw G.setStatus({code:Y.SpanStatusCode.ERROR,message:J instanceof Error?J.message:"Unknown error"}),J}finally{G.end()}}),d5,l5)}};var f0=Symbol.for("drizzle:ViewBaseConfig");var zX=Symbol.for("drizzle:Schema"),FX=Symbol.for("drizzle:Columns"),QT=Symbol.for("drizzle:ExtraConfigColumns"),o5=Symbol.for("drizzle:OriginalName"),i5=Symbol.for("drizzle:BaseName"),z6=Symbol.for("drizzle:IsAlias"),_T=Symbol.for("drizzle:ExtraConfigBuilder"),QO=Symbol.for("drizzle:IsDrizzleTable");class m{static[D]="Table";static Symbol={Name:RW,Schema:zX,OriginalName:o5,Columns:FX,ExtraConfigColumns:QT,BaseName:i5,IsAlias:z6,ExtraConfigBuilder:_T};[RW];[o5];[zX];[FX];[QT];[i5];[z6]=!1;[QO]=!0;[_T]=void 0;constructor(W,$,Y){this[RW]=this[o5]=W,this[zX]=$,this[i5]=Y}}function w1(W){return W[RW]}function L2(W){return`${W[zX]??"public"}.${W[RW]}`}function n5(W){return W!==null&&W!==void 0&&typeof W.getSQL==="function"}function _O(W){let $={sql:"",params:[]};for(let Y of W)if($.sql+=Y.sql,$.params.push(...Y.params),Y.typings?.length){if(!$.typings)$.typings=[];$.typings.push(...Y.typings)}return $}class T1{static[D]="StringChunk";value;constructor(W){this.value=Array.isArray(W)?W:[W]}getSQL(){return new u([this])}}class u{constructor(W){this.queryChunks=W}static[D]="SQL";decoder=FT;shouldInlineParams=!1;append(W){return this.queryChunks.push(...W.queryChunks),this}toQuery(W){return C0.startActiveSpan("drizzle.buildSQL",($)=>{let Y=this.buildQueryFromSourceParams(this.queryChunks,W);return $?.setAttributes({"drizzle.query.text":Y.sql,"drizzle.query.params":JSON.stringify(Y.params)}),Y})}buildQueryFromSourceParams(W,$){let Y=Object.assign({},$,{inlineParams:$.inlineParams||this.shouldInlineParams,paramStartIndex:$.paramStartIndex||{value:0}}),{casing:X,escapeName:G,escapeParam:J,prepareTyping:H,inlineParams:T,paramStartIndex:Q}=Y;return _O(W.map((_)=>{if(L(_,T1))return{sql:_.value.join(""),params:[]};if(L(_,wX))return{sql:G(_.value),params:[]};if(_===void 0)return{sql:"",params:[]};if(Array.isArray(_)){let z=[new T1("(")];for(let[F,w]of _.entries())if(z.push(w),F<_.length-1)z.push(new T1(", "));return z.push(new T1(")")),this.buildQueryFromSourceParams(z,Y)}if(L(_,u))return this.buildQueryFromSourceParams(_.queryChunks,{...Y,inlineParams:T||_.shouldInlineParams});if(L(_,m)){let z=_[m.Symbol.Schema],F=_[m.Symbol.Name];return{sql:z===void 0||_[z6]?G(F):G(z)+"."+G(F),params:[]}}if(L(_,q0)){let z=X.getColumnCasing(_);if($.invokeSource==="indexes")return{sql:G(z),params:[]};let F=_.table[m.Symbol.Schema];return{sql:_.table[z6]||F===void 0?G(_.table[m.Symbol.Name])+"."+G(z):G(F)+"."+G(_.table[m.Symbol.Name])+"."+G(z),params:[]}}if(L(_,g1)){let z=_[f0].schema,F=_[f0].name;return{sql:z===void 0||_[f0].isAlias?G(F):G(z)+"."+G(F),params:[]}}if(L(_,WW)){if(L(_.value,x$))return{sql:J(Q.value++,_),params:[_],typings:["none"]};let z=_.value===null?null:_.encoder.mapToDriverValue(_.value);if(L(z,u))return this.buildQueryFromSourceParams([z],Y);if(T)return{sql:this.mapInlineParam(z,Y),params:[]};let F=["none"];if(H)F=[H(_.encoder)];return{sql:J(Q.value++,z),params:[z],typings:F}}if(L(_,x$))return{sql:J(Q.value++,_),params:[_],typings:["none"]};if(L(_,u.Aliased)&&_.fieldAlias!==void 0)return{sql:G(_.fieldAlias),params:[]};if(L(_,H1)){if(_._.isWith)return{sql:G(_._.alias),params:[]};return this.buildQueryFromSourceParams([new T1("("),_._.sql,new T1(") "),new wX(_._.alias)],Y)}if(GT(_)){if(_.schema)return{sql:G(_.schema)+"."+G(_.enumName),params:[]};return{sql:G(_.enumName),params:[]}}if(n5(_)){if(_.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([_.getSQL()],Y);return this.buildQueryFromSourceParams([new T1("("),_.getSQL(),new T1(")")],Y)}if(T)return{sql:this.mapInlineParam(_,Y),params:[]};return{sql:J(Q.value++,_),params:[_],typings:["none"]}}))}mapInlineParam(W,{escapeString:$}){if(W===null)return"null";if(typeof W==="number"||typeof W==="boolean")return W.toString();if(typeof W==="string")return $(W);if(typeof W==="object"){let Y=W.toString();if(Y==="[object Object]")return $(JSON.stringify(W));return $(Y)}throw new Error("Unexpected param value: "+W)}getSQL(){return this}as(W){if(W===void 0)return this;return new u.Aliased(this,W)}mapWith(W){return this.decoder=typeof W==="function"?{mapFromDriverValue:W}:W,this}inlineParams(){return this.shouldInlineParams=!0,this}if(W){return W?this:void 0}}class wX{constructor(W){this.value=W}static[D]="Name";brand;getSQL(){return new u([this])}}function zT(W){return typeof W==="object"&&W!==null&&"mapToDriverValue"in W&&typeof W.mapToDriverValue==="function"}var FT={mapFromDriverValue:(W)=>W},wT={mapToDriverValue:(W)=>W},Ox={...FT,...wT};class WW{constructor(W,$=wT){this.value=W,this.encoder=$}static[D]="Param";brand;getSQL(){return new u([this])}}function M(W,...$){let Y=[];if($.length>0||W.length>0&&W[0]!=="")Y.push(new T1(W[0]));for(let[X,G]of $.entries())Y.push(G,new T1(W[X+1]));return new u(Y)}((W)=>{function $(){return new u([])}W.empty=$;function Y(Q){return new u(Q)}W.fromList=Y;function X(Q){return new u([new T1(Q)])}W.raw=X;function G(Q,_){let z=[];for(let[F,w]of Q.entries()){if(F>0&&_!==void 0)z.push(_);z.push(w)}return new u(z)}W.join=G;function J(Q){return new wX(Q)}W.identifier=J;function H(Q){return new x$(Q)}W.placeholder=H;function T(Q,_){return new WW(Q,_)}W.param=T})(M||(M={}));((W)=>{class ${constructor(Y,X){this.sql=Y,this.fieldAlias=X}static[D]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}W.Aliased=$})(u||(u={}));class x${constructor(W){this.name=W}static[D]="Placeholder";getSQL(){return new u([this])}}function r5(W,$){return W.map((Y)=>{if(L(Y,x$)){if(!(Y.name in $))throw new Error(`No value for placeholder "${Y.name}" was provided`);return $[Y.name]}if(L(Y,WW)&&L(Y.value,x$)){if(!(Y.value.name in $))throw new Error(`No value for placeholder "${Y.value.name}" was provided`);return Y.encoder.mapToDriverValue($[Y.value.name])}return Y})}var zO=Symbol.for("drizzle:IsDrizzleView");class g1{static[D]="View";[f0];[zO]=!0;constructor({name:W,schema:$,selectedFields:Y,query:X}){this[f0]={name:W,originalName:W,schema:$,selectedFields:Y,query:X,isExisting:!X,isAlias:!1}}getSQL(){return new u([this])}}q0.prototype.getSQL=function(){return new u([this])};m.prototype.getSQL=function(){return new u([this])};H1.prototype.getSQL=function(){return new u([this])};class K8{constructor(W){this.table=W}static[D]="ColumnAliasProxyHandler";get(W,$){if($==="table")return this.table;return W[$]}}class F6{constructor(W,$){this.alias=W,this.replaceOriginalName=$}static[D]="TableAliasProxyHandler";get(W,$){if($===m.Symbol.IsAlias)return!0;if($===m.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===m.Symbol.OriginalName)return this.alias;if($===f0)return{...W[f0],name:this.alias,isAlias:!0};if($===m.Symbol.Columns){let X=W[m.Symbol.Columns];if(!X)return X;let G={};return Object.keys(X).map((J)=>{G[J]=new Proxy(X[J],new K8(new Proxy(W,this)))}),G}let Y=W[$];if(L(Y,q0))return new Proxy(Y,new K8(new Proxy(W,this)));return Y}}function UX(W,$){return new Proxy(W,new F6($,!1))}function mW(W,$){return new Proxy(W,new K8(new Proxy(W.table,new F6($,!1))))}function t5(W,$){return new u.Aliased(w6(W.sql,$),W.fieldAlias)}function w6(W,$){return M.join(W.queryChunks.map((Y)=>{if(L(Y,q0))return mW(Y,$);if(L(Y,u))return w6(Y,$);if(L(Y,u.Aliased))return t5(Y,$);return Y}))}class DX extends Error{static[D]="DrizzleError";constructor({message:W,cause:$}){super(W);this.name="DrizzleError",this.cause=$}}class a5 extends DX{static[D]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class UT{static[D]="ConsoleLogWriter";write(W){console.log(W)}}class s5{static[D]="DefaultLogger";writer;constructor(W){this.writer=W?.writer??new UT}logQuery(W,$){let Y=$.map((G)=>{try{return JSON.stringify(G)}catch{return String(G)}}),X=Y.length?` -- params: [${Y.join(", ")}]`:"";this.writer.write(`Query: ${W}${X}`)}}class e5{static[D]="NoopLogger";logQuery(){}}class I1{static[D]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(W){return this.then(void 0,W)}finally(W){return this.then(($)=>{return W?.(),$},($)=>{throw W?.(),$})}then(W,$){return this.execute().then(W,$)}}function DT(W,$,Y){let X={},G=W.reduce((J,{path:H,field:T},Q)=>{let _;if(L(T,q0))_=T;else if(L(T,u))_=T.decoder;else _=T.sql.decoder;let z=J;for(let[F,w]of H.entries())if(F<H.length-1){if(!(w in z))z[w]={};z=z[w]}else{let O=$[Q],V=z[w]=O===null?null:_.mapFromDriverValue(O);if(Y&&L(T,q0)&&H.length===2){let E=H[0];if(!(E in X))X[E]=V===null?w1(T.table):!1;else if(typeof X[E]==="string"&&X[E]!==w1(T.table))X[E]=!1}}return J},{});if(Y&&Object.keys(X).length>0){for(let[J,H]of Object.entries(X))if(typeof H==="string"&&!Y[H])G[J]=null}return G}function QW(W,$){return Object.entries(W).reduce((Y,[X,G])=>{if(typeof X!=="string")return Y;let J=$?[...$,X]:[X];if(L(G,q0)||L(G,u)||L(G,u.Aliased))Y.push({path:J,field:G});else if(L(G,m))Y.push(...QW(G[m.Symbol.Columns],J));else Y.push(...QW(G,J));return Y},[])}function U6(W,$){let Y=Object.keys(W),X=Object.keys($);if(Y.length!==X.length)return!1;for(let[G,J]of Y.entries())if(J!==X[G])return!1;return!0}function MX(W,$){let Y=Object.entries($).filter(([,X])=>X!==void 0).map(([X,G])=>{if(L(G,u)||L(G,q0))return[X,G];else return[X,new WW(G,W[m.Symbol.Columns][X])]});if(Y.length===0)throw new Error("No values to set");return Object.fromEntries(Y)}function MT(W,$){for(let Y of $)for(let X of Object.getOwnPropertyNames(Y.prototype)){if(X==="constructor")continue;Object.defineProperty(W.prototype,X,Object.getOwnPropertyDescriptor(Y.prototype,X)||Object.create(null))}}function VT(W){return W[m.Symbol.Columns]}function J$(W){return L(W,H1)?W._.alias:L(W,g1)?W[f0].name:L(W,u)?void 0:W[m.Symbol.IsAlias]?W[m.Symbol.Name]:W[m.Symbol.BaseName]}function O0(W,$){return{name:typeof W==="string"&&W.length>0?W:"",config:typeof W==="object"?W:$}}function OT(W){if(typeof W!=="object"||W===null)return!1;if(W.constructor.name!=="Object")return!1;if("logger"in W){let $=typeof W.logger;if($!=="boolean"&&($!=="object"||typeof W.logger.logQuery!=="function")&&$!=="undefined")return!1;return!0}if("schema"in W){let $=typeof W.schema;if($!=="object"&&$!=="undefined")return!1;return!0}if("casing"in W){let $=typeof W.casing;if($!=="string"&&$!=="undefined")return!1;return!0}if("mode"in W){if(W.mode!=="default"||W.mode!=="planetscale"||W.mode!==void 0)return!1;return!0}if("connection"in W){let $=typeof W.connection;if($!=="string"&&$!=="object"&&$!=="undefined")return!1;return!0}if("client"in W){let $=typeof W.client;if($!=="object"&&$!=="function"&&$!=="undefined")return!1;return!0}if(Object.keys(W).length===0)return!0;return!1}class v$ extends c{static[D]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(W){if(W){let{name:$,...Y}=W;this.config.generatedIdentity={type:"always",sequenceName:$,sequenceOptions:Y}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(W){if(W){let{name:$,...Y}=W;this.config.generatedIdentity={type:"byDefault",sequenceName:$,sequenceOptions:Y}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class KT extends v${static[D]="PgBigInt53Builder";constructor(W){super(W,"number","PgBigInt53")}build(W){return new ET(W,this.config)}}class ET extends b{static[D]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(W){if(typeof W==="number")return W;return Number(W)}}class AT extends v${static[D]="PgBigInt64Builder";constructor(W){super(W,"bigint","PgBigInt64")}build(W){return new LT(W,this.config)}}class LT extends b{static[D]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(W){return BigInt(W)}}function ZT(W,$){let{name:Y,config:X}=O0(W,$);if(X.mode==="number")return new KT(Y);return new AT(Y)}class NT extends c{static[D]="PgBigSerial53Builder";constructor(W){super(W,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(W){return new RT(W,this.config)}}class RT extends b{static[D]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(W){if(typeof W==="number")return W;return Number(W)}}class BT extends c{static[D]="PgBigSerial64Builder";constructor(W){super(W,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(W){return new ST(W,this.config)}}class ST extends b{static[D]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(W){return BigInt(W)}}function qT(W,$){let{name:Y,config:X}=O0(W,$);if(X.mode==="number")return new NT(Y);return new BT(Y)}class CT extends c{static[D]="PgBooleanBuilder";constructor(W){super(W,"boolean","PgBoolean")}build(W){return new kT(W,this.config)}}class kT extends b{static[D]="PgBoolean";getSQLType(){return"boolean"}}function D6(W){return new CT(W??"")}class jT extends c{static[D]="PgCharBuilder";constructor(W,$){super(W,"string","PgChar");this.config.length=$.length,this.config.enumValues=$.enum}build(W){return new IT(W,this.config)}}class IT extends b{static[D]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function PT(W,$={}){let{name:Y,config:X}=O0(W,$);return new jT(Y,X)}class fT extends c{static[D]="PgCidrBuilder";constructor(W){super(W,"string","PgCidr")}build(W){return new bT(W,this.config)}}class bT extends b{static[D]="PgCidr";getSQLType(){return"cidr"}}function xT(W){return new fT(W??"")}class vT extends c{static[D]="PgCustomColumnBuilder";constructor(W,$,Y){super(W,"custom","PgCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=Y}build(W){return new yT(W,this.config)}}class yT extends b{static[D]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(W,$){super(W,$);this.sqlName=$.customTypeParams.dataType($.fieldConfig),this.mapTo=$.customTypeParams.toDriver,this.mapFrom=$.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(W){return typeof this.mapFrom==="function"?this.mapFrom(W):W}mapToDriverValue(W){return typeof this.mapTo==="function"?this.mapTo(W):W}}function hT(W){return($,Y)=>{let{name:X,config:G}=O0($,Y);return new vT(X,G,W)}}class H$ extends c{static[D]="PgDateColumnBaseBuilder";defaultNow(){return this.default(M`now()`)}}class gT extends H${static[D]="PgDateBuilder";constructor(W){super(W,"date","PgDate")}build(W){return new VX(W,this.config)}}class VX extends b{static[D]="PgDate";getSQLType(){return"date"}mapFromDriverValue(W){return new Date(W)}mapToDriverValue(W){return W.toISOString()}}class mT extends H${static[D]="PgDateStringBuilder";constructor(W){super(W,"string","PgDateString")}build(W){return new OX(W,this.config)}}class OX extends b{static[D]="PgDateString";getSQLType(){return"date"}}function pT(W,$){let{name:Y,config:X}=O0(W,$);if(X?.mode==="date")return new gT(Y);return new mT(Y)}class uT extends c{static[D]="PgDoublePrecisionBuilder";constructor(W){super(W,"number","PgDoublePrecision")}build(W){return new cT(W,this.config)}}class cT extends b{static[D]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(W){if(typeof W==="string")return Number.parseFloat(W);return W}}function dT(W){return new uT(W??"")}class lT extends c{static[D]="PgInetBuilder";constructor(W){super(W,"string","PgInet")}build(W){return new oT(W,this.config)}}class oT extends b{static[D]="PgInet";getSQLType(){return"inet"}}function iT(W){return new lT(W??"")}class nT extends v${static[D]="PgIntegerBuilder";constructor(W){super(W,"number","PgInteger")}build(W){return new rT(W,this.config)}}class rT extends b{static[D]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(W){if(typeof W==="string")return Number.parseInt(W);return W}}function M6(W){return new nT(W??"")}class tT extends c{static[D]="PgIntervalBuilder";constructor(W,$){super(W,"string","PgInterval");this.config.intervalConfig=$}build(W){return new aT(W,this.config)}}class aT extends b{static[D]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let W=this.fields?` ${this.fields}`:"",$=this.precision?`(${this.precision})`:"";return`interval${W}${$}`}}function sT(W,$={}){let{name:Y,config:X}=O0(W,$);return new tT(Y,X)}class eT extends c{static[D]="PgJsonBuilder";constructor(W){super(W,"json","PgJson")}build(W){return new KX(W,this.config)}}class KX extends b{static[D]="PgJson";constructor(W,$){super(W,$)}getSQLType(){return"json"}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){if(typeof W==="string")try{return JSON.parse(W)}catch{return W}return W}}function WQ(W){return new eT(W??"")}class $Q extends c{static[D]="PgJsonbBuilder";constructor(W){super(W,"json","PgJsonb")}build(W){return new EX(W,this.config)}}class EX extends b{static[D]="PgJsonb";constructor(W,$){super(W,$)}getSQLType(){return"jsonb"}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){if(typeof W==="string")try{return JSON.parse(W)}catch{return W}return W}}function YQ(W){return new $Q(W??"")}class XQ extends c{static[D]="PgLineBuilder";constructor(W){super(W,"array","PgLine")}build(W){return new GQ(W,this.config)}}class GQ extends b{static[D]="PgLine";getSQLType(){return"line"}mapFromDriverValue(W){let[$,Y,X]=W.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(Y),Number.parseFloat(X)]}mapToDriverValue(W){return`{${W[0]},${W[1]},${W[2]}}`}}class JQ extends c{static[D]="PgLineABCBuilder";constructor(W){super(W,"json","PgLineABC")}build(W){return new HQ(W,this.config)}}class HQ extends b{static[D]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(W){let[$,Y,X]=W.slice(1,-1).split(",");return{a:Number.parseFloat($),b:Number.parseFloat(Y),c:Number.parseFloat(X)}}mapToDriverValue(W){return`{${W.a},${W.b},${W.c}}`}}function TQ(W,$){let{name:Y,config:X}=O0(W,$);if(!X?.mode||X.mode==="tuple")return new XQ(Y);return new JQ(Y)}class QQ extends c{static[D]="PgMacaddrBuilder";constructor(W){super(W,"string","PgMacaddr")}build(W){return new _Q(W,this.config)}}class _Q extends b{static[D]="PgMacaddr";getSQLType(){return"macaddr"}}function zQ(W){return new QQ(W??"")}class FQ extends c{static[D]="PgMacaddr8Builder";constructor(W){super(W,"string","PgMacaddr8")}build(W){return new wQ(W,this.config)}}class wQ extends b{static[D]="PgMacaddr8";getSQLType(){return"macaddr8"}}function UQ(W){return new FQ(W??"")}class DQ extends c{static[D]="PgNumericBuilder";constructor(W,$,Y){super(W,"string","PgNumeric");this.config.precision=$,this.config.scale=Y}build(W){return new AX(W,this.config)}}class AX extends b{static[D]="PgNumeric";precision;scale;constructor(W,$){super(W,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(W){if(typeof W==="string")return W;return String(W)}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 MQ extends c{static[D]="PgNumericNumberBuilder";constructor(W,$,Y){super(W,"number","PgNumericNumber");this.config.precision=$,this.config.scale=Y}build(W){return new VQ(W,this.config)}}class VQ extends b{static[D]="PgNumericNumber";precision;scale;constructor(W,$){super(W,$);this.precision=$.precision,this.scale=$.scale}mapFromDriverValue(W){if(typeof W==="number")return W;return Number(W)}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 OQ extends c{static[D]="PgNumericBigIntBuilder";constructor(W,$,Y){super(W,"bigint","PgNumericBigInt");this.config.precision=$,this.config.scale=Y}build(W){return new KQ(W,this.config)}}class KQ extends b{static[D]="PgNumericBigInt";precision;scale;constructor(W,$){super(W,$);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 EQ(W,$){let{name:Y,config:X}=O0(W,$),G=X?.mode;return G==="number"?new MQ(Y,X?.precision,X?.scale):G==="bigint"?new OQ(Y,X?.precision,X?.scale):new DQ(Y,X?.precision,X?.scale)}class AQ extends c{static[D]="PgPointTupleBuilder";constructor(W){super(W,"array","PgPointTuple")}build(W){return new LQ(W,this.config)}}class LQ extends b{static[D]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(W){if(typeof W==="string"){let[$,Y]=W.slice(1,-1).split(",");return[Number.parseFloat($),Number.parseFloat(Y)]}return[W.x,W.y]}mapToDriverValue(W){return`(${W[0]},${W[1]})`}}class ZQ extends c{static[D]="PgPointObjectBuilder";constructor(W){super(W,"json","PgPointObject")}build(W){return new NQ(W,this.config)}}class NQ extends b{static[D]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(W){if(typeof W==="string"){let[$,Y]=W.slice(1,-1).split(",");return{x:Number.parseFloat($),y:Number.parseFloat(Y)}}return W}mapToDriverValue(W){return`(${W.x},${W.y})`}}function RQ(W,$){let{name:Y,config:X}=O0(W,$);if(!X?.mode||X.mode==="tuple")return new AQ(Y);return new ZQ(Y)}function FO(W){let $=[];for(let Y=0;Y<W.length;Y+=2)$.push(Number.parseInt(W.slice(Y,Y+2),16));return new Uint8Array($)}function BQ(W,$){let Y=new ArrayBuffer(8),X=new DataView(Y);for(let G=0;G<8;G++)X.setUint8(G,W[$+G]);return X.getFloat64(0,!0)}function W7(W){let $=FO(W),Y=0,X=$[Y];Y+=1;let G=new DataView($.buffer),J=G.getUint32(Y,X===1);Y+=4;let H;if(J&536870912)H=G.getUint32(Y,X===1),Y+=4;if((J&65535)===1){let T=BQ($,Y);Y+=8;let Q=BQ($,Y);return Y+=8,[T,Q]}throw new Error("Unsupported geometry type")}class SQ extends c{static[D]="PgGeometryBuilder";constructor(W){super(W,"array","PgGeometry")}build(W){return new qQ(W,this.config)}}class qQ extends b{static[D]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(W){return W7(W)}mapToDriverValue(W){return`point(${W[0]} ${W[1]})`}}class CQ extends c{static[D]="PgGeometryObjectBuilder";constructor(W){super(W,"json","PgGeometryObject")}build(W){return new kQ(W,this.config)}}class kQ extends b{static[D]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(W){let $=W7(W);return{x:$[0],y:$[1]}}mapToDriverValue(W){return`point(${W.x} ${W.y})`}}function jQ(W,$){let{name:Y,config:X}=O0(W,$);if(!X?.mode||X.mode==="tuple")return new SQ(Y);return new CQ(Y)}class IQ extends c{static[D]="PgRealBuilder";constructor(W,$){super(W,"number","PgReal");this.config.length=$}build(W){return new PQ(W,this.config)}}class PQ extends b{static[D]="PgReal";constructor(W,$){super(W,$)}getSQLType(){return"real"}mapFromDriverValue=(W)=>{if(typeof W==="string")return Number.parseFloat(W);return W}}function fQ(W){return new IQ(W??"")}class bQ extends c{static[D]="PgSerialBuilder";constructor(W){super(W,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(W){return new xQ(W,this.config)}}class xQ extends b{static[D]="PgSerial";getSQLType(){return"serial"}}function vQ(W){return new bQ(W??"")}class yQ extends v${static[D]="PgSmallIntBuilder";constructor(W){super(W,"number","PgSmallInt")}build(W){return new hQ(W,this.config)}}class hQ extends b{static[D]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(W)=>{if(typeof W==="string")return Number(W);return W}}function gQ(W){return new yQ(W??"")}class mQ extends c{static[D]="PgSmallSerialBuilder";constructor(W){super(W,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(W){return new pQ(W,this.config)}}class pQ extends b{static[D]="PgSmallSerial";getSQLType(){return"smallserial"}}function uQ(W){return new mQ(W??"")}class cQ extends c{static[D]="PgTextBuilder";constructor(W,$){super(W,"string","PgText");this.config.enumValues=$.enum}build(W){return new dQ(W,this.config)}}class dQ extends b{static[D]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function lQ(W,$={}){let{name:Y,config:X}=O0(W,$);return new cQ(Y,X)}class oQ extends H${constructor(W,$,Y){super(W,"string","PgTime");this.withTimezone=$,this.precision=Y,this.config.withTimezone=$,this.config.precision=Y}static[D]="PgTimeBuilder";build(W){return new LX(W,this.config)}}class LX extends b{static[D]="PgTime";withTimezone;precision;constructor(W,$){super(W,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function iQ(W,$={}){let{name:Y,config:X}=O0(W,$);return new oQ(Y,X.withTimezone??!1,X.precision)}class nQ extends H${static[D]="PgTimestampBuilder";constructor(W,$,Y){super(W,"date","PgTimestamp");this.config.withTimezone=$,this.config.precision=Y}build(W){return new ZX(W,this.config)}}class ZX extends b{static[D]="PgTimestamp";withTimezone;precision;constructor(W,$){super(W,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(W)=>{return new Date(this.withTimezone?W:W+"+0000")};mapToDriverValue=(W)=>{return W.toISOString()}}class rQ extends H${static[D]="PgTimestampStringBuilder";constructor(W,$,Y){super(W,"string","PgTimestampString");this.config.withTimezone=$,this.config.precision=Y}build(W){return new NX(W,this.config)}}class NX extends b{static[D]="PgTimestampString";withTimezone;precision;constructor(W,$){super(W,$);this.withTimezone=$.withTimezone,this.precision=$.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function BW(W,$={}){let{name:Y,config:X}=O0(W,$);if(X?.mode==="string")return new rQ(Y,X.withTimezone??!1,X.precision);return new nQ(Y,X?.withTimezone??!1,X?.precision)}class tQ extends c{static[D]="PgUUIDBuilder";constructor(W){super(W,"string","PgUUID")}defaultRandom(){return this.default(M`gen_random_uuid()`)}build(W){return new RX(W,this.config)}}class RX extends b{static[D]="PgUUID";getSQLType(){return"uuid"}}function _W(W){return new tQ(W??"")}class aQ extends c{static[D]="PgVarcharBuilder";constructor(W,$){super(W,"string","PgVarchar");this.config.length=$.length,this.config.enumValues=$.enum}build(W){return new sQ(W,this.config)}}class sQ extends b{static[D]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function P1(W,$={}){let{name:Y,config:X}=O0(W,$);return new aQ(Y,X)}class eQ extends c{static[D]="PgBinaryVectorBuilder";constructor(W,$){super(W,"string","PgBinaryVector");this.config.dimensions=$.dimensions}build(W){return new W_(W,this.config)}}class W_ extends b{static[D]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function $_(W,$){let{name:Y,config:X}=O0(W,$);return new eQ(Y,X)}class Y_ extends c{static[D]="PgHalfVectorBuilder";constructor(W,$){super(W,"array","PgHalfVector");this.config.dimensions=$.dimensions}build(W){return new X_(W,this.config)}}class X_ extends b{static[D]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){return W.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function G_(W,$){let{name:Y,config:X}=O0(W,$);return new Y_(Y,X)}class J_ extends c{static[D]="PgSparseVectorBuilder";constructor(W,$){super(W,"string","PgSparseVector");this.config.dimensions=$.dimensions}build(W){return new H_(W,this.config)}}class H_ extends b{static[D]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function T_(W,$){let{name:Y,config:X}=O0(W,$);return new J_(Y,X)}class Q_ extends c{static[D]="PgVectorBuilder";constructor(W,$){super(W,"array","PgVector");this.config.dimensions=$.dimensions}build(W){return new __(W,this.config)}}class __ extends b{static[D]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(W){return JSON.stringify(W)}mapFromDriverValue(W){return W.slice(1,-1).split(",").map(($)=>Number.parseFloat($))}}function z_(W,$){let{name:Y,config:X}=O0(W,$);return new Q_(Y,X)}function F_(){return{bigint:ZT,bigserial:qT,boolean:D6,char:PT,cidr:xT,customType:hT,date:pT,doublePrecision:dT,inet:iT,integer:M6,interval:sT,json:WQ,jsonb:YQ,line:TQ,macaddr:zQ,macaddr8:UQ,numeric:EQ,point:RQ,geometry:jQ,real:fQ,serial:vQ,smallint:gQ,smallserial:uQ,text:lQ,time:iQ,timestamp:BW,uuid:_W,varchar:P1,bit:$_,halfvec:G_,sparsevec:T_,vector:z_}}var $7=Symbol.for("drizzle:PgInlineForeignKeys"),w_=Symbol.for("drizzle:EnableRLS");class M1 extends m{static[D]="PgTable";static Symbol=Object.assign({},m.Symbol,{InlineForeignKeys:$7,EnableRLS:w_});[$7]=[];[w_]=!1;[m.Symbol.ExtraConfigBuilder]=void 0;[m.Symbol.ExtraConfigColumns]={}}function wO(W,$,Y,X,G=W){let J=new M1(W,X,G),H=typeof $==="function"?$(F_()):$,T=Object.fromEntries(Object.entries(H).map(([z,F])=>{let w=F;w.setName(z);let O=w.build(J);return J[$7].push(...w.buildForeignKeys(O,J)),[z,O]})),Q=Object.fromEntries(Object.entries(H).map(([z,F])=>{let w=F;w.setName(z);let O=w.buildExtraConfigColumn(J);return[z,O]})),_=Object.assign(J,T);if(_[m.Symbol.Columns]=T,_[m.Symbol.ExtraConfigColumns]=Q,Y)_[M1.Symbol.ExtraConfigBuilder]=Y;return Object.assign(_,{enableRLS:()=>{return _[M1.Symbol.EnableRLS]=!0,_}})}var y$=(W,$,Y)=>{return wO(W,$,Y,void 0)};function U_(...W){if(W[0].columns)return new V6(W[0].columns,W[0].name);return new V6(W)}class V6{static[D]="PgPrimaryKeyBuilder";columns;name;constructor(W,$){this.columns=W,this.name=$}build(W){return new D_(W,this.columns,this.name)}}class D_{constructor(W,$,Y){this.table=W,this.columns=$,this.name=Y}static[D]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[M1.Symbol.Name]}_${this.columns.map((W)=>W.name).join("_")}_pk`}}function m1(W,$){if(zT($)&&!n5(W)&&!L(W,WW)&&!L(W,x$)&&!L(W,q0)&&!L(W,m)&&!L(W,g1))return new WW(W,$);return W}var BX=(W,$)=>{return M`${W} = ${m1($,W)}`},M_=(W,$)=>{return M`${W} <> ${m1($,W)}`};function O6(...W){let $=W.filter((Y)=>Y!==void 0);if($.length===0)return;if($.length===1)return new u($);return new u([new T1("("),M.join($,new T1(" and ")),new T1(")")])}function V_(...W){let $=W.filter((Y)=>Y!==void 0);if($.length===0)return;if($.length===1)return new u($);return new u([new T1("("),M.join($,new T1(" or ")),new T1(")")])}function O_(W){return M`not ${W}`}var SX=(W,$)=>{return M`${W} > ${m1($,W)}`},K_=(W,$)=>{return M`${W} >= ${m1($,W)}`},E_=(W,$)=>{return M`${W} < ${m1($,W)}`},A_=(W,$)=>{return M`${W} <= ${m1($,W)}`};function L_(W,$){if(Array.isArray($)){if($.length===0)return M`false`;return M`${W} in ${$.map((Y)=>m1(Y,W))}`}return M`${W} in ${m1($,W)}`}function Z_(W,$){if(Array.isArray($)){if($.length===0)return M`true`;return M`${W} not in ${$.map((Y)=>m1(Y,W))}`}return M`${W} not in ${m1($,W)}`}function N_(W){return M`${W} is null`}function R_(W){return M`${W} is not null`}function B_(W){return M`exists ${W}`}function S_(W){return M`not exists ${W}`}function q_(W,$,Y){return M`${W} between ${m1($,W)} and ${m1(Y,W)}`}function C_(W,$,Y){return M`${W} not between ${m1($,W)} and ${m1(Y,W)}`}function k_(W,$){return M`${W} like ${$}`}function j_(W,$){return M`${W} not like ${$}`}function I_(W,$){return M`${W} ilike ${$}`}function P_(W,$){return M`${W} not ilike ${$}`}function f_(W){return M`${W} asc`}function b_(W){return M`${W} desc`}class Y7{constructor(W,$,Y){this.sourceTable=W,this.referencedTable=$,this.relationName=Y,this.referencedTableName=$[m.Symbol.Name]}static[D]="Relation";referencedTableName;fieldName}class x_{constructor(W,$){this.table=W,this.config=$}static[D]="Relations"}class h$ extends Y7{constructor(W,$,Y,X){super(W,$,Y?.relationName);this.config=Y,this.isNullable=X}static[D]="One";withFieldName(W){let $=new h$(this.sourceTable,this.referencedTable,this.config,this.isNullable);return $.fieldName=W,$}}class K6 extends Y7{constructor(W,$,Y){super(W,$,Y?.relationName);this.config=Y}static[D]="Many";withFieldName(W){let $=new K6(this.sourceTable,this.referencedTable,this.config);return $.fieldName=W,$}}function v_(){return{and:O6,between:q_,eq:BX,exists:B_,gt:SX,gte:K_,ilike:I_,inArray:L_,isNull:N_,isNotNull:R_,like:k_,lt:E_,lte:A_,ne:M_,not:O_,notBetween:C_,notExists:S_,notLike:j_,notIlike:P_,notInArray:Z_,or:V_,sql:M}}function y_(){return{sql:M,asc:f_,desc:b_}}function h_(W,$){if(Object.keys(W).length===1&&"default"in W&&!L(W.default,m))W=W.default;let Y={},X={},G={};for(let[J,H]of Object.entries(W))if(L(H,m)){let T=L2(H),Q=X[T];Y[T]=J,G[J]={tsName:J,dbName:H[m.Symbol.Name],schema:H[m.Symbol.Schema],columns:H[m.Symbol.Columns],relations:Q?.relations??{},primaryKey:Q?.primaryKey??[]};for(let z of Object.values(H[m.Symbol.Columns]))if(z.primary)G[J].primaryKey.push(z);let _=H[m.Symbol.ExtraConfigBuilder]?.(H[m.Symbol.ExtraConfigColumns]);if(_){for(let z of Object.values(_))if(L(z,V6))G[J].primaryKey.push(...z.columns)}}else if(L(H,x_)){let T=L2(H.table),Q=Y[T],_=H.config($(H.table)),z;for(let[F,w]of Object.entries(_))if(Q){let O=G[Q];if(O.relations[F]=w,z)O.primaryKey.push(...z)}else{if(!(T in X))X[T]={relations:{},primaryKey:z};X[T].relations[F]=w}}return{tables:G,tableNamesMap:Y}}function UO(W){return function $(Y,X){return new h$(W,Y,X,X?.fields.reduce((G,J)=>G&&J.notNull,!0)??!1)}}function DO(W){return function $(Y,X){return new K6(W,Y,X)}}function g_(W,$,Y){if(L(Y,h$)&&Y.config)return{fields:Y.config.fields,references:Y.config.references};let X=$[L2(Y.referencedTable)];if(!X)throw new Error(`Table "${Y.referencedTable[m.Symbol.Name]}" not found in schema`);let G=W[X];if(!G)throw new Error(`Table "${X}" not found in schema`);let J=Y.sourceTable,H=$[L2(J)];if(!H)throw new Error(`Table "${J[m.Symbol.Name]}" not found in schema`);let T=[];for(let Q of Object.values(G.relations))if(Y.relationName&&Y!==Q&&Q.relationName===Y.relationName||!Y.relationName&&Q.referencedTable===Y.sourceTable)T.push(Q);if(T.length>1)throw Y.relationName?new Error(`There are multiple relations with name "${Y.relationName}" in table "${X}"`):new Error(`There are multiple relations between "${X}" and "${Y.sourceTable[m.Symbol.Name]}". Please specify relation name`);if(T[0]&&L(T[0],h$)&&T[0].config)return{fields:T[0].config.references,references:T[0].config.fields};throw new Error(`There is not enough information to infer relation "${H}.${Y.fieldName}"`)}function m_(W){return{one:UO(W),many:DO(W)}}function qX(W,$,Y,X,G=(J)=>J){let J={};for(let[H,T]of X.entries())if(T.isJson){let Q=$.relations[T.tsKey],_=Y[H],z=typeof _==="string"?JSON.parse(_):_;J[T.tsKey]=L(Q,h$)?z&&qX(W,W[T.relationTableTsKey],z,T.selection,G):z.map((F)=>qX(W,W[T.relationTableTsKey],F,T.selection,G))}else{let Q=G(Y[H]),_=T.field,z;if(L(_,q0))z=_;else if(L(_,u))z=_.decoder;else z=_.sql.decoder;J[T.tsKey]=Q===null?null:z.mapFromDriverValue(Q)}return J}import XZ from"path";import hO from"os";import gO from"fs";var CX=new Map,X7=new Map,G7=Symbol("OriginError"),E8={};class zW extends Promise{constructor(W,$,Y,X,G={}){let J,H;super((T,Q)=>{J=T,H=Q});this.tagged=Array.isArray(W.raw),this.strings=W,this.args=$,this.handler=Y,this.canceller=X,this.options=G,this.state=null,this.statement=null,this.resolve=(T)=>(this.active=!1,J(T)),this.reject=(T)=>(this.active=!1,H(T)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[G7]=this.handler.debug?new Error:this.tagged&&MO(this.strings)}get origin(){return(this.handler.debug?this[G7].stack:this.tagged&&X7.has(this.strings)?X7.get(this.strings):X7.set(this.strings,this[G7].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(W=1,$){if(this.options.simple=!1,typeof W==="function")$=W,W=1;if(this.cursorRows=W,typeof $==="function")return this.cursorFn=$,this;let Y;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};Y&&Y();let X=new Promise((G,J)=>{this.cursorFn=(H)=>{return G({value:H,done:!1}),new Promise((T)=>Y=T)},this.resolve=()=>(this.active=!1,G({done:!0})),this.reject=(H)=>(this.active=!1,J(H))});return this.execute(),X},return(){return Y&&Y(E8),{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(W){return this.forEachFn=W,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 MO(W){if(CX.has(W))return CX.get(W);let $=Error.stackTraceLimit;return Error.stackTraceLimit=4,CX.set(W,new Error),Error.stackTraceLimit=$,CX.get(W)}class A8 extends Error{constructor(W){super(W.message);this.name=this.constructor.name,Object.assign(this,W)}}var a0={connection:p_,postgres:u_,generic:c_,notSupported:d_};function p_(W,$,Y){let{host:X,port:G}=Y||$,J=Object.assign(new Error("write "+W+" "+($.path||X+":"+G)),{code:W,errno:W,address:$.path||X},$.path?{}:{port:G});return Error.captureStackTrace(J,p_),J}function u_(W){let $=new A8(W);return Error.captureStackTrace($,u_),$}function c_(W,$){let Y=Object.assign(new Error(W+": "+$),{code:W});return Error.captureStackTrace(Y,c_),Y}function d_(W){let $=Object.assign(new Error(W+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:W});return Error.captureStackTrace($,d_),$}var VO={string:{to:25,from:null,serialize:(W)=>""+W},number:{to:0,from:[21,23,26,700,701],serialize:(W)=>""+W,parse:(W)=>+W},json:{to:114,from:[114,3802],serialize:(W)=>JSON.stringify(W),parse:(W)=>JSON.parse(W)},boolean:{to:16,from:16,serialize:(W)=>W===!0?"t":"f",parse:(W)=>W==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(W)=>(W instanceof Date?W:new Date(W)).toISOString(),parse:(W)=>new Date(W)},bytea:{to:17,from:17,serialize:(W)=>"\\x"+Buffer.from(W).toString("hex"),parse:(W)=>Buffer.from(W.slice(2),"hex")}};class IX{then(){J7()}catch(){J7()}finally(){J7()}}class Z6 extends IX{constructor(W){super();this.value=bX(W)}}class pW extends IX{constructor(W,$,Y){super();this.value=W,this.type=$,this.array=Y}}class PX extends IX{constructor(W,$){super();this.first=W,this.rest=$}build(W,$,Y,X){let G=OO.map(([J,H])=>({fn:H,i:W.search(J)})).sort((J,H)=>J.i-H.i).pop();return G.i===-1?z7(this.first,X):G.fn(this.first,this.rest,$,Y,X)}}function fX(W,$,Y,X){let G=W instanceof pW?W.value:W;if(G===void 0){if(W instanceof pW?W.value=X.transform.undefined:G=W=X.transform.undefined,G===void 0)throw a0.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+Y.push(W instanceof pW?($.push(W.value),W.array?W.array[W.type||jX(W.value)]||W.type||n_(W.value):W.type):($.push(W),jX(W)))}var o_=t_(VO);function Q7(W,$,Y,X,G,J){for(let H=1;H<W.strings.length;H++)$+=_7($,Y,X,G,J)+W.strings[H],Y=W.args[H];return $}function _7(W,$,Y,X,G){return $ instanceof PX?$.build(W,Y,X,G):$ instanceof zW?T7($,Y,X,G):$ instanceof Z6?$.value:$&&$[0]instanceof zW?$.reduce((J,H)=>J+" "+T7(H,Y,X,G),""):fX($,Y,X,G)}function T7(W,$,Y,X){return W.fragment=!0,Q7(W,W.strings[0],W.args[0],$,Y,X)}function i_(W,$,Y,X,G){return W.map((J)=>"("+X.map((H)=>_7("values",J[H],$,Y,G)).join(",")+")").join(",")}function l_(W,$,Y,X,G){let J=Array.isArray(W[0]),H=$.length?$.flat():Object.keys(J?W[0]:W);return i_(J?W:[W],Y,X,H,G)}function kX(W,$,Y,X,G){if(typeof W==="string"&&(W=[W].concat($)),Array.isArray(W))return z7(W,G);let J;return($.length?$.flat():Object.keys(W)).map((T)=>{return J=W[T],(J instanceof zW?T7(J,Y,X,G):J instanceof Z6?J.value:fX(J,Y,X,G))+" as "+bX(G.transform.column.to?G.transform.column.to(T):T)}).join(",")}var OO=Object.entries({values:l_,in:(...W)=>{let $=l_(...W);return $==="()"?"(null)":$},select:kX,as:kX,returning:kX,"\\(":kX,update(W,$,Y,X,G){return($.length?$.flat():Object.keys(W)).map((J)=>bX(G.transform.column.to?G.transform.column.to(J):J)+"="+_7("values",W[J],Y,X,G))},insert(W,$,Y,X,G){let J=$.length?$.flat():Object.keys(Array.isArray(W)?W[0]:W);return"("+z7(J,G)+")values"+i_(Array.isArray(W)?W:[W],Y,X,J,G)}}).map(([W,$])=>[new RegExp("((?:^|[\\s(])"+W+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),$]);function J7(){throw a0.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:KO,parsers:EO}=o_;function n_(W){if(Array.isArray(W))return n_(W[0]);return typeof W==="string"?1009:0}var r_=function(W){let $=t_(W||{});return{serializers:Object.assign({},KO,$.serializers),parsers:Object.assign({},EO,$.parsers)}};function t_(W){return Object.keys(W).reduce(($,Y)=>{if(W[Y].from&&[].concat(W[Y].from).forEach((X)=>$.parsers[X]=W[Y].parse),W[Y].serialize)$.serializers[W[Y].to]=W[Y].serialize,W[Y].from&&[].concat(W[Y].from).forEach((X)=>$.serializers[X]=W[Y].serialize);return $},{parsers:{},serializers:{}})}function z7(W,{transform:{column:$}}){return W.map((Y)=>bX($.to?$.to(Y):Y)).join(",")}var bX=function W($){return'"'+$.replace(/"/g,'""').replace(/\./g,'"."')+'"'},jX=function W($){return $ instanceof pW?$.type:$ instanceof Date?1184:$ instanceof Uint8Array?17:$===!0||$===!1?16:typeof $==="bigint"?20:Array.isArray($)?W($[0]):0},AO=/\\/g,LO=/"/g;function ZO(W){return W.replace(AO,"\\\\").replace(LO,"\\\"")}var a_=function W($,Y,X,G){if(Array.isArray($)===!1)return $;if(!$.length)return"{}";let J=$[0],H=G===1020?";":",";if(Array.isArray(J)&&!J.type)return"{"+$.map((T)=>W(T,Y,X,G)).join(H)+"}";return"{"+$.map((T)=>{if(T===void 0){if(T=X.transform.undefined,T===void 0)throw a0.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return T===null?"null":'"'+ZO(Y?Y(T.type?T.value:T):""+T)+'"'}).join(H)+"}"},H7={i:0,char:null,str:"",quoted:!1,last:0},s_=function W($,Y,X){return H7.i=H7.last=0,e_(H7,$,Y,X)};function e_(W,$,Y,X){let G=[],J=X===1020?";":",";for(;W.i<$.length;W.i++){if(W.char=$[W.i],W.quoted)if(W.char==="\\")W.str+=$[++W.i];else if(W.char==='"')G.push(Y?Y(W.str):W.str),W.str="",W.quoted=$[W.i+1]==='"',W.last=W.i+2;else W.str+=W.char;else if(W.char==='"')W.quoted=!0;else if(W.char==="{")W.last=++W.i,G.push(e_(W,$,Y,X));else if(W.char==="}"){W.quoted=!1,W.last<W.i&&G.push(Y?Y($.slice(W.last,W.i)):$.slice(W.last,W.i)),W.last=W.i+1;break}else if(W.char===J&&W.p!=="}"&&W.p!=='"')G.push(Y?Y($.slice(W.last,W.i)):$.slice(W.last,W.i)),W.last=W.i+1;W.p=W.char}return W.last<W.i&&G.push(Y?Y($.slice(W.last,W.i+1)):$.slice(W.last,W.i+1)),G}var Z2=(W)=>{let $=W[0];for(let Y=1;Y<W.length;Y++)$+=W[Y]==="_"?W[++Y].toUpperCase():W[Y];return $},N2=(W)=>{let $=W[0].toUpperCase();for(let Y=1;Y<W.length;Y++)$+=W[Y]==="_"?W[++Y].toUpperCase():W[Y];return $},R2=(W)=>W.replace(/_/g,"-"),E6=(W)=>W.replace(/([A-Z])/g,"_$1").toLowerCase(),A6=(W)=>(W.slice(0,1)+W.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),L6=(W)=>W.replace(/-/g,"_");function F7(W){return function $(Y,X){return typeof Y==="object"&&Y!==null&&(X.type===114||X.type===3802)?Array.isArray(Y)?Y.map((G)=>$(G,X)):Object.entries(Y).reduce((G,[J,H])=>Object.assign(G,{[W(J)]:$(H,X)}),{}):Y}}Z2.column={from:Z2};Z2.value={from:F7(Z2)};E6.column={to:E6};var w7={...Z2};w7.column.to=E6;N2.column={from:N2};N2.value={from:F7(N2)};A6.column={to:A6};var U7={...N2};U7.column.to=A6;R2.column={from:R2};R2.value={from:F7(R2)};L6.column={to:L6};var D7={...R2};D7.column.to=L6;import Wz from"net";import SO from"tls";import N6 from"crypto";import M7 from"stream";import{performance as $z}from"perf_hooks";class B2 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 $W=NO;function NO(W=[]){let $=W.slice(),Y=0;return{get length(){return $.length-Y},remove:(X)=>{let G=$.indexOf(X);return G===-1?null:($.splice(G,1),X)},push:(X)=>($.push(X),X),shift:()=>{let X=$[Y++];if(Y===$.length)Y=0,$=[];else $[Y-1]=void 0;return X}}}var N1=Buffer.allocUnsafe(256),RO="BCcDdEFfHPpQSX".split("").reduce((W,$)=>{let Y=$.charCodeAt(0);return W[$]=()=>{return N1[0]=Y,S0.i=5,S0},W},{}),S0=Object.assign(BO,RO,{N:String.fromCharCode(0),i:0,inc(W){return S0.i+=W,S0},str(W){let $=Buffer.byteLength(W);return xX($),S0.i+=N1.write(W,S0.i,$,"utf8"),S0},i16(W){return xX(2),N1.writeUInt16BE(W,S0.i),S0.i+=2,S0},i32(W,$){if($||$===0)return N1.writeUInt32BE(W,$),S0;return xX(4),N1.writeUInt32BE(W,S0.i),S0.i+=4,S0},z(W){return xX(W),N1.fill(0,S0.i,S0.i+W),S0.i+=W,S0},raw(W){return N1=Buffer.concat([N1.subarray(0,S0.i),W]),S0.i=N1.length,S0},end(W=1){N1.writeUInt32BE(S0.i-W,W);let $=N1.subarray(0,S0.i);return S0.i=0,N1=Buffer.allocUnsafe(256),$}}),n=S0;function xX(W){if(N1.length-S0.i<W){let $=N1,Y=$.length;N1=Buffer.allocUnsafe(Y+(Y>>1)+W),$.copy(N1)}}function BO(){return S0.i=0,S0}var K7=Gz,qO=1,g$=n().S().end(),Yz=n().H().end(),CO=n().i32(8).i32(80877103).end(8),kO=Buffer.concat([n().E().str(n.N).i32(0).end(),g$]),jO=n().D().str("S").str(n.N).end(),L8=()=>{},IO=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),PO={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 Gz(W,$={},{onopen:Y=L8,onend:X=L8,onclose:G=L8}={}){let{ssl:J,max:H,user:T,host:Q,port:_,database:z,parsers:F,transform:w,onnotice:O,onnotify:V,onparameter:E,max_pipeline:I,keep_alive:j,backoff:N,target_session_attrs:B}=W,P=$W(),g=qO++,x={pid:null,secret:null},p=O7(R9,W.idle_timeout),w0=O7(R9,W.max_lifetime),p0=O7(cU,W.connect_timeout),Z=null,M0,Y0=new B2,U0=Buffer.alloc(0),e0=W.fetch_types,V1={},MW={},b2=Math.random().toString(36).slice(2),k=1,e=0,R0=0,m0=0,W1=0,z0=0,j0=0,r0=0,u0=null,v0=null,O1=!1,I0=null,VW=null,K1=null,K$=null,$1=null,y0=null,OW=null,IW=null,y=null,d8=null,E1={queue:$.closed,idleTimer:p,connect(U){K1=U||!0,_J()},terminate:o8,execute:l8,cancel:gU,end:R9,count:0,id:g};return $.closed&&$.closed.push(E1),E1;async function hU(){let U;try{U=W.socket?await Promise.resolve(W.socket(W)):new Wz.Socket}catch(K){v2(K);return}return U.on("error",v2),U.on("close",zJ),U.on("drain",TJ),U}async function gU({pid:U,secret:K},t,L0){try{M0=n().i32(16).i32(80877102).i32(U).i32(K).end(16),await QJ(),Z.once("error",L0),Z.once("close",t)}catch(l0){L0(l0)}}function l8(U){if(O1)return JY(U,a0.connection("CONNECTION_DESTROYED",W));if(U.cancelled)return;try{return U.state=x,y?P.push(U):(y=U,y.active=!0),uU(U),U1(mU(U))&&!U.describeFirst&&!U.cursorFn&&P.length<I&&(!U.options.onexecute||U.options.onexecute(E1))}catch(K){return P.length===0&&U1(g$),PW(K),!0}}function mU(U){if(U.parameters.length>=65534)throw a0.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return U.options.simple?n().Q().str(U.statement.string+n.N).end():U.describeFirst?Buffer.concat([GJ(U),Yz]):U.prepare?U.prepared?GY(U):Buffer.concat([GJ(U),GY(U)]):pU(U)}function GJ(U){return Buffer.concat([wJ(U.statement.string,U.parameters,U.statement.types,U.statement.name),qD("S",U.statement.name)])}function GY(U){return Buffer.concat([SD(U.parameters,U.statement.types,U.statement.name,U.cursorName),U.cursorFn?UJ("",U.cursorRows):kO])}function pU(U){return Buffer.concat([wJ(U.statement.string,U.parameters,U.statement.types),jO,GY(U)])}function uU(U){let K=[],t=[],L0=Q7(U,U.strings[0],U.args[0],K,t,W);!U.tagged&&U.args.forEach((l0)=>fX(l0,K,t,W)),U.prepare=W.prepare&&("prepare"in U.options?U.options.prepare:!0),U.string=L0,U.signature=U.prepare&&t+L0,U.onlyDescribe&&delete MW[U.signature],U.parameters=U.parameters||K,U.prepared=U.prepare&&U.signature in MW,U.describeFirst=U.onlyDescribe||K.length&&!U.prepared,U.statement=U.prepared?MW[U.signature]:{string:L0,types:t,name:U.prepare?b2+k++:""},typeof W.debug==="function"&&W.debug(g,L0,K,t)}function U1(U,K){if(y0=y0?Buffer.concat([y0,U]):Buffer.from(U),K||y0.length>=1024)return JJ(K);return v0===null&&(v0=setImmediate(JJ)),!0}function JJ(U){let K=Z.write(y0,U);return v0!==null&&clearImmediate(v0),y0=v0=null,K}function cU(){PW(a0.connection("CONNECT_TIMEOUT",W,Z)),Z.destroy()}async function HJ(){if(U1(CO),!await new Promise((K)=>Z.once("data",(t)=>K(t[0]===83)))&&J==="prefer")return x2();Z.removeAllListeners(),Z=SO.connect({socket:Z,servername:Wz.isIP(Z.host)?void 0:Z.host,...J==="require"||J==="allow"||J==="prefer"?{rejectUnauthorized:!1}:J==="verify-full"?{}:typeof J==="object"?J:{}}),Z.on("secureConnect",x2),Z.on("error",v2),Z.on("close",zJ),Z.on("drain",TJ)}function TJ(){!y&&Y(E1)}function N9(U){if(I0){if(I0.push(U),R0-=U.length,R0>=0)return}U0=I0?Buffer.concat(I0,z0-R0):U0.length===0?U:Buffer.concat([U0,U],U0.length+U.length);while(U0.length>4){if(z0=U0.readUInt32BE(1),z0>=U0.length){R0=z0-U0.length,I0=[U0];break}try{dU(U0.subarray(0,z0+1))}catch(K){y&&(y.cursorFn||y.describeFirst)&&U1(g$),PW(K)}U0=U0.subarray(z0+1),R0=0,I0=null}}async function QJ(){if(O1=!1,V1={},Z||(Z=await hU()),!Z)return;if(p0.start(),W.socket)return J?HJ():x2();if(Z.on("connect",J?HJ:x2),W.path)return Z.connect(W.path);Z.ssl=J,Z.connect(_[m0],Q[m0]),Z.host=Q[m0],Z.port=_[m0],m0=(m0+1)%_.length}function _J(){setTimeout(QJ,e?e+j0-$z.now():0)}function x2(){try{MW={},e0=W.fetch_types,b2=Math.random().toString(36).slice(2),k=1,w0.start(),Z.on("data",N9),j&&Z.setKeepAlive&&Z.setKeepAlive(!0,1000*j);let U=kD();U1(U)}catch(U){v2(U)}}function v2(U){if(E1.queue===$.connecting&&W.host[W1+1])return;PW(U);while(P.length)JY(P.shift(),U)}function PW(U){$1&&($1.destroy(U),$1=null),y&&JY(y,U),K1&&(JY(K1,U),K1=null)}function JY(U,K){"query"in K||"parameters"in K||Object.defineProperties(K,{stack:{value:K.stack+U.origin.replace(/.*\n/,`
|
|
57
|
+
`),enumerable:W.debug},query:{value:U.string,enumerable:W.debug},parameters:{value:U.parameters,enumerable:W.debug},args:{value:U.args,enumerable:W.debug},types:{value:U.statement&&U.statement.types,enumerable:W.debug}}),U.reject(K)}function R9(){return K$||(!E1.reserved&&X(E1),!E1.reserved&&!K1&&!y&&P.length===0?(o8(),new Promise((U)=>Z&&Z.readyState!=="closed"?Z.once("close",U):U())):K$=new Promise((U)=>OW=U))}function o8(){if(O1=!0,$1||y||K1||P.length)v2(a0.connection("CONNECTION_DESTROYED",W));if(clearImmediate(v0),Z)Z.removeListener("data",N9),Z.removeListener("connect",x2),Z.readyState==="open"&&Z.end(n().X().end());OW&&(OW(),K$=OW=null)}async function zJ(U){if(U0=Buffer.alloc(0),R0=0,I0=null,clearImmediate(v0),Z.removeListener("data",N9),Z.removeListener("connect",x2),p.cancel(),w0.cancel(),p0.cancel(),Z.removeAllListeners(),Z=null,K1)return _J();!U&&(y||P.length)&&v2(a0.connection("CONNECTION_CLOSED",W,Z)),e=$z.now(),U&&W.shared.retries++,j0=(typeof N==="function"?N(W.shared.retries):N)*1000,G(E1,a0.connection("CONNECTION_CLOSED",W,Z))}function dU(U,K=U[0]){(K===68?lU:K===100?KD:K===65?wD:K===83?oU:K===90?iU:K===67?nU:K===50?FJ:K===49?rU:K===116?tU:K===84?aU:K===82?sU:K===110?GD:K===75?JD:K===69?zD:K===115?UD:K===51?DD:K===71?MD:K===78?AD:K===72?VD:K===99?ED:K===73?LD:K===86?ZD:K===118?ND:K===87?OD:RD)(U)}function lU(U){let K=7,t,L0,l0,A1=y.isRaw?new Array(y.statement.columns.length):{};for(let S1=0;S1<y.statement.columns.length;S1++)L0=y.statement.columns[S1],t=U.readInt32BE(K),K+=4,l0=t===-1?null:y.isRaw===!0?U.subarray(K,K+=t):L0.parser===void 0?U.toString("utf8",K,K+=t):L0.parser.array===!0?L0.parser(U.toString("utf8",K+1,K+=t)):L0.parser(U.toString("utf8",K,K+=t)),y.isRaw?A1[S1]=y.isRaw===!0?l0:w.value.from?w.value.from(l0,L0):l0:A1[L0.name]=w.value.from?w.value.from(l0,L0):l0;y.forEachFn?y.forEachFn(w.row.from?w.row.from(A1):A1,Y0):Y0[r0++]=w.row.from?w.row.from(A1):A1}function oU(U){let[K,t]=U.toString("utf8",5,U.length-1).split(n.N);if(V1[K]=t,W.parameters[K]!==t)W.parameters[K]=t,E&&E(K,t)}function iU(U){if(y&&y.options.simple&&y.resolve(VW||Y0),y=VW=null,Y0=new B2,p0.cancel(),K1){if(B){if(!V1.in_hot_standby||!V1.default_transaction_read_only)return _D();else if(QD(B,V1))return o8()}if(e0)return K1===!0&&(K1=null),HD();K1!==!0&&l8(K1),W.shared.retries=W1=0,K1=null;return}while(P.length&&(y=P.shift())&&(y.active=!0,y.cancelled))Gz(W).cancel(y.state,y.cancelled.resolve,y.cancelled.reject);if(y)return;E1.reserved?!E1.reserved.release&&U[5]===73?K$?o8():(E1.reserved=null,Y(E1)):E1.reserved():K$?o8():Y(E1)}function nU(U){r0=0;for(let K=U.length-1;K>0;K--){if(U[K]===32&&U[K+1]<58&&Y0.count===null)Y0.count=+U.toString("utf8",K+1,U.length-1);if(U[K-1]>=65){Y0.command=U.toString("utf8",5,K),Y0.state=x;break}}if(d8&&(d8(),d8=null),Y0.command==="BEGIN"&&H!==1&&!E1.reserved)return PW(a0.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(y.options.simple)return FJ();if(y.cursorFn)Y0.count&&y.cursorFn(Y0),U1(g$);y.resolve(Y0)}function rU(){y.parsing=!1}function FJ(){!Y0.statement&&(Y0.statement=y.statement),Y0.columns=y.statement.columns}function tU(U){let K=U.readUInt16BE(5);for(let t=0;t<K;++t)!y.statement.types[t]&&(y.statement.types[t]=U.readUInt32BE(7+t*4));y.prepare&&(MW[y.signature]=y.statement),y.describeFirst&&!y.onlyDescribe&&(U1(GY(y)),y.describeFirst=!1)}function aU(U){if(Y0.command)VW=VW||[Y0],VW.push(Y0=new B2),Y0.count=null,y.statement.columns=null;let K=U.readUInt16BE(5),t=7,L0;y.statement.columns=Array(K);for(let l0=0;l0<K;++l0){L0=t;while(U[t++]!==0);let A1=U.readUInt32BE(t),S1=U.readUInt16BE(t+4),E$=U.readUInt32BE(t+6);y.statement.columns[l0]={name:w.column.from?w.column.from(U.toString("utf8",L0,t-1)):U.toString("utf8",L0,t-1),parser:F[E$],table:A1,number:S1,type:E$},t+=18}if(Y0.statement=y.statement,y.onlyDescribe)return y.resolve(y.statement),U1(g$)}async function sU(U,K=U.readUInt32BE(5)){(K===3?eU:K===5?WD:K===10?$D:K===11?YD:K===12?XD:K!==0?BD:L8)(U,K)}async function eU(){let U=await B9();U1(n().p().str(U).z(1).end())}async function WD(U){let K="md5"+await Xz(Buffer.concat([Buffer.from(await Xz(await B9()+T)),U.subarray(9)]));U1(n().p().str(K).z(1).end())}async function $D(){IW=(await N6.randomBytes(18)).toString("base64"),n().p().str("SCRAM-SHA-256"+n.N);let U=n.i;U1(n.inc(4).str("n,,n=*,r="+IW).i32(n.i-U-4,U).end())}async function YD(U){let K=U.toString("utf8",9).split(",").reduce((S1,E$)=>(S1[E$[0]]=E$.slice(2),S1),{}),t=await N6.pbkdf2Sync(await B9(),Buffer.from(K.s,"base64"),parseInt(K.i),32,"sha256"),L0=await vX(t,"Client Key"),l0="n=*,r="+IW+",r="+K.r+",s="+K.s+",i="+K.i+",c=biws,r="+K.r;u0=(await vX(await vX(t,"Server Key"),l0)).toString("base64");let A1="c=biws,r="+K.r+",p="+bO(L0,Buffer.from(await vX(await fO(L0),l0))).toString("base64");U1(n().p().str(A1).end())}function XD(U){if(U.toString("utf8",9).split(n.N,1)[0].slice(2)===u0)return;PW(a0.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),Z.destroy()}function B9(){return Promise.resolve(typeof W.pass==="function"?W.pass():W.pass)}function GD(){if(Y0.statement=y.statement,Y0.statement.columns=[],y.onlyDescribe)return y.resolve(y.statement),U1(g$)}function JD(U){x.pid=U.readUInt32BE(5),x.secret=U.readUInt32BE(9)}async function HD(){e0=!1,(await new zW([`
|
|
58
58
|
select b.oid, b.typarray
|
|
59
59
|
from pg_catalog.pg_type a
|
|
60
60
|
left join pg_catalog.pg_type b on b.oid = a.typelem
|
|
61
61
|
where a.typcategory = 'A'
|
|
62
62
|
group by b.oid, b.typarray
|
|
63
63
|
order by b.oid
|
|
64
|
-
`],[],
|
|
64
|
+
`],[],l8)).forEach(({oid:K,typarray:t})=>TD(K,t))}function TD(U,K){if(!!W.parsers[K]&&!!W.serializers[K])return;let t=W.parsers[U];W.shared.typeArrayMap[U]=K,W.parsers[K]=(L0)=>s_(L0,t,K),W.parsers[K].array=!0,W.serializers[K]=(L0)=>a_(L0,W.serializers[U],W,K)}function QD(U,K){return U==="read-write"&&K.default_transaction_read_only==="on"||U==="read-only"&&K.default_transaction_read_only==="off"||U==="primary"&&K.in_hot_standby==="on"||U==="standby"&&K.in_hot_standby==="off"||U==="prefer-standby"&&K.in_hot_standby==="off"&&W.host[W1]}function _D(){let U=new zW([`
|
|
65
65
|
show transaction_read_only;
|
|
66
66
|
select pg_catalog.pg_is_in_recovery()
|
|
67
|
-
`],[],
|
|
67
|
+
`],[],l8,null,{simple:!0});U.resolve=([[K],[t]])=>{V1.default_transaction_read_only=K.transaction_read_only,V1.in_hot_standby=t.pg_is_in_recovery?"on":"off"},U.execute()}function zD(U){y&&(y.cursorFn||y.describeFirst)&&U1(g$);let K=a0.postgres(V7(U));y&&y.retried?PW(y.retried):y&&y.prepared&&IO.has(K.routine)?FD(y,K):PW(K)}function FD(U,K){delete MW[U.signature],U.retried=K,l8(U)}function wD(U){if(!V)return;let K=9;while(U[K++]!==0);V(U.toString("utf8",9,K-1),U.toString("utf8",K,U.length-1))}async function UD(){try{let U=await Promise.resolve(y.cursorFn(Y0));r0=0,U===E8?U1(CD(y.portal)):(Y0=new B2,U1(UJ("",y.cursorRows)))}catch(U){U1(g$),y.reject(U)}}function DD(){Y0.count&&y.cursorFn(Y0),y.resolve(Y0)}function MD(){$1=new M7.Writable({autoDestroy:!0,write(U,K,t){Z.write(n().d().raw(U).end(),t)},destroy(U,K){K(U),Z.write(n().f().str(U+n.N).end()),$1=null},final(U){Z.write(n().c().end()),d8=U}}),y.resolve($1)}function VD(){$1=new M7.Readable({read(){Z.resume()}}),y.resolve($1)}function OD(){$1=new M7.Duplex({autoDestroy:!0,read(){Z.resume()},write(U,K,t){Z.write(n().d().raw(U).end(),t)},destroy(U,K){K(U),Z.write(n().f().str(U+n.N).end()),$1=null},final(U){Z.write(n().c().end()),d8=U}}),y.resolve($1)}function KD(U){$1&&($1.push(U.subarray(5))||Z.pause())}function ED(){$1&&$1.push(null),$1=null}function AD(U){O?O(V7(U)):console.log(V7(U))}function LD(){}function ZD(){PW(a0.notSupported("FunctionCallResponse"))}function ND(){PW(a0.notSupported("NegotiateProtocolVersion"))}function RD(U){console.error("Postgres.js : Unknown Message:",U[0])}function BD(U,K){console.error("Postgres.js : Unknown Auth:",K)}function SD(U,K,t="",L0=""){let l0,A1;return n().B().str(L0+n.N).str(t+n.N).i16(0).i16(U.length),U.forEach((S1,E$)=>{if(S1===null)return n.i32(4294967295);A1=K[E$],U[E$]=S1=A1 in W.serializers?W.serializers[A1](S1):""+S1,l0=n.i,n.inc(4).str(S1).i32(n.i-l0-4,l0)}),n.i16(0),n.end()}function wJ(U,K,t,L0=""){return n().P().str(L0+n.N).str(U+n.N).i16(K.length),K.forEach((l0,A1)=>n.i32(t[A1]||0)),n.end()}function qD(U,K=""){return n().D().str(U).str(K+n.N).end()}function UJ(U="",K=0){return Buffer.concat([n().E().str(U+n.N).i32(K).end(),Yz])}function CD(U=""){return Buffer.concat([n().C().str("P").str(U+n.N).end(),n().S().end()])}function kD(){return M0||n().inc(4).i16(3).z(2).str(Object.entries(Object.assign({user:T,database:z,client_encoding:"UTF8"},W.connection)).filter(([,U])=>U).map(([U,K])=>U+n.N+K).join(n.N)).z(2).end(0)}}function V7(W){let $={},Y=5;for(let X=5;X<W.length-1;X++)if(W[X]===0)$[PO[W[Y]]]=W.toString("utf8",Y+1,X),Y=X+1;return $}function Xz(W){return N6.createHash("md5").update(W).digest("hex")}function vX(W,$){return N6.createHmac("sha256",W).update($).digest()}function fO(W){return N6.createHash("sha256").update(W).digest()}function bO(W,$){let Y=Math.max(W.length,$.length),X=Buffer.allocUnsafe(Y);for(let G=0;G<Y;G++)X[G]=W[G]^$[G];return X}function O7(W,$){if($=typeof $==="function"?$():$,!$)return{cancel:L8,start:L8};let Y;return{cancel(){Y&&(clearTimeout(Y),Y=null)},start(){Y&&clearTimeout(Y),Y=setTimeout(X,$*1000,arguments)}};function X(G){W.apply(null,G),Y=null}}var Jz=()=>{};function E7(W,$){let Y=new Map,X="postgresjs_"+Math.random().toString(36).slice(2),G={},J,H,T=!1,Q=F.sql=W({...$,transform:{column:{},value:{},row:{}},max:1,fetch_types:!1,idle_timeout:null,max_lifetime:null,connection:{...$.connection,replication:"database"},onclose:async function(){if(T)return;H=null,G.pid=G.secret=void 0,w(await O(Q,X,$.publications)),Y.forEach((E)=>E.forEach(({onsubscribe:I})=>I()))},no_subscribe:!0}),_=Q.end,z=Q.close;return Q.end=async()=>{return T=!0,H&&await new Promise((E)=>(H.once("close",E),H.end())),_()},Q.close=async()=>{return H&&await new Promise((E)=>(H.once("close",E),H.end())),z()},F;async function F(E,I,j=Jz,N=Jz){if(E=yO(E),!J)J=O(Q,X,$.publications);let B={fn:I,onsubscribe:j},P=Y.has(E)?Y.get(E).add(B):Y.set(E,new Set([B])).get(E),g=()=>{P.delete(B),P.size===0&&Y.delete(E)};return J.then((x)=>{return w(x),j(),H&&H.on("error",N),{unsubscribe:g,state:G,sql:Q}})}function w(E){H=E.stream,G.pid=E.state.pid,G.secret=E.state.secret}async function O(E,I,j){if(!j)throw new Error("Missing publication names");let N=await E.unsafe(`CREATE_REPLICATION_SLOT ${I} TEMPORARY LOGICAL pgoutput NOEXPORT_SNAPSHOT`),[B]=N,P=await E.unsafe(`START_REPLICATION SLOT ${I} LOGICAL ${B.consistent_point} (proto_version '1', publication_names '${j}')`).writable(),g={lsn:Buffer.concat(B.consistent_point.split("/").map((Z)=>Buffer.from(("00000000"+Z).slice(-8),"hex")))};return P.on("data",p),P.on("error",x),P.on("close",E.close),{stream:P,state:N.state};function x(Z){console.error("Unexpected error during logical streaming - reconnecting",Z)}function p(Z){if(Z[0]===119)vO(Z.subarray(25),g,E.options.parsers,w0,$.transform);else if(Z[0]===107&&Z[17])g.lsn=Z.subarray(1,9),p0()}function w0(Z,M0){let Y0=M0.relation.schema+"."+M0.relation.table;V("*",Z,M0),V("*:"+Y0,Z,M0),M0.relation.keys.length&&V("*:"+Y0+"="+M0.relation.keys.map((U0)=>Z[U0.name]),Z,M0),V(M0.command,Z,M0),V(M0.command+":"+Y0,Z,M0),M0.relation.keys.length&&V(M0.command+":"+Y0+"="+M0.relation.keys.map((U0)=>Z[U0.name]),Z,M0)}function p0(){let Z=Buffer.alloc(34);Z[0]=114,Z.fill(g.lsn,1),Z.writeBigInt64BE(BigInt(Date.now()-Date.UTC(2000,0,1))*BigInt(1000),25),P.write(Z)}}function V(E,I,j){Y.has(E)&&Y.get(E).forEach(({fn:N})=>N(I,j,E))}}function xO(W){return new Date(Date.UTC(2000,0,1)+Number(W/BigInt(1000)))}function vO(W,$,Y,X,G){let J=(H,[T,Q])=>(H[T.charCodeAt(0)]=Q,H);Object.entries({R:(H)=>{let T=1,Q=$[H.readUInt32BE(T)]={schema:H.toString("utf8",T+=4,T=H.indexOf(0,T))||"pg_catalog",table:H.toString("utf8",T+1,T=H.indexOf(0,T+1)),columns:Array(H.readUInt16BE(T+=2)),keys:[]};T+=2;let _=0,z;while(T<H.length)z=Q.columns[_++]={key:H[T++],name:G.column.from?G.column.from(H.toString("utf8",T,T=H.indexOf(0,T))):H.toString("utf8",T,T=H.indexOf(0,T)),type:H.readUInt32BE(T+=1),parser:Y[H.readUInt32BE(T)],atttypmod:H.readUInt32BE(T+=4)},z.key&&Q.keys.push(z),T+=4},Y:()=>{},O:()=>{},B:(H)=>{$.date=xO(H.readBigInt64BE(9)),$.lsn=H.subarray(1,9)},I:(H)=>{let T=1,Q=$[H.readUInt32BE(T)],{row:_}=yX(H,Q.columns,T+=7,G);X(_,{command:"insert",relation:Q})},D:(H)=>{let T=1,Q=$[H.readUInt32BE(T)];T+=4;let _=H[T]===75;X(_||H[T]===79?yX(H,Q.columns,T+=3,G).row:null,{command:"delete",relation:Q,key:_})},U:(H)=>{let T=1,Q=$[H.readUInt32BE(T)];T+=4;let _=H[T]===75,z=_||H[T]===79?yX(H,Q.columns,T+=3,G):null;z&&(T=z.i);let{row:F}=yX(H,Q.columns,T+3,G);X(F,{command:"update",relation:Q,key:_,old:z&&z.row})},T:()=>{},C:()=>{}}).reduce(J,{})[W[0]](W)}function yX(W,$,Y,X){let G,J,H,T=X.raw?new Array($.length):{};for(let Q=0;Q<$.length;Q++)G=W[Y++],J=$[Q],H=G===110?null:G===117?void 0:J.parser===void 0?W.toString("utf8",Y+4,Y+=4+W.readUInt32BE(Y)):J.parser.array===!0?J.parser(W.toString("utf8",Y+5,Y+=4+W.readUInt32BE(Y))):J.parser(W.toString("utf8",Y+4,Y+=4+W.readUInt32BE(Y))),X.raw?T[Q]=X.raw===!0?H:X.value.from?X.value.from(H,J):H:T[J.name]=X.value.from?X.value.from(H,J):H;return{i:Y,row:X.row.from?X.row.from(T):T}}function yO(W){let $=W.match(/^(\*|insert|update|delete)?:?([^.]+?\.?[^=]+)?=?(.+)?/i)||[];if(!$)throw new Error("Malformed subscribe pattern: "+W);let[,Y,X,G]=$;return(Y||"*")+(X?":"+(X.indexOf(".")===-1?"public."+X:X):"")+(G?"="+G:"")}import Hz from"stream";function A7(W,$,Y=393216){return new Promise(async(X,G)=>{await W.begin(async(J)=>{let H;!$&&([{oid:$}]=await J`select lo_creat(-1) as oid`);let[{fd:T}]=await J`select lo_open(${$}, ${Y}) as fd`,Q={writable:z,readable:_,close:()=>J`select lo_close(${T})`.then(H),tell:()=>J`select lo_tell64(${T})`,read:(F)=>J`select loread(${T}, ${F}) as data`,write:(F)=>J`select lowrite(${T}, ${F})`,truncate:(F)=>J`select lo_truncate64(${T}, ${F})`,seek:(F,w=0)=>J`select lo_lseek64(${T}, ${F}, ${w})`,size:()=>J`
|
|
68
68
|
select
|
|
69
|
-
lo_lseek64(${
|
|
69
|
+
lo_lseek64(${T}, location, 0) as position,
|
|
70
70
|
seek.size
|
|
71
71
|
from (
|
|
72
72
|
select
|
|
@@ -74,62 +74,62 @@ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
|
74
74
|
tell.location
|
|
75
75
|
from (select lo_tell64($1) as location) tell
|
|
76
76
|
) seek
|
|
77
|
-
`};return Y(z),new Promise(async(_)=>H=_);async function T({highWaterMark:_=16384,start:w=0,end:O=1/0}={}){let M=O-w;return w&&await z.seek(w),new HF.Readable({highWaterMark:_,async read(A){let I=A>M?A-M:A;M-=A;let[{data:j}]=await z.read(I);if(this.push(j),j.length<A)this.push(null)}})}async function F({highWaterMark:_=16384,start:w=0}={}){return w&&await z.seek(w),new HF.Writable({highWaterMark:_,write(O,M,A){z.write(O).then(()=>A(),A)}})}}).catch(G)})}Object.assign(vY,{PostgresError:K4,toPascal:L8,pascal:_7,toCamel:E8,camel:F7,toKebab:B8,kebab:w7,fromPascal:K6,fromCamel:O6,fromKebab:A6,BigInt:{to:20,from:[20],parse:(W)=>BigInt(W),serialize:(W)=>W.toString()}});var E4=vY;function vY(W,$){let X=gO(W,$),Y=X.no_subscribe||O7(vY,{...X}),G=!1,J=WW(),H=WW(),Q=WW(),z=WW(),T=WW(),F=WW(),_=WW(),w=WW(),O={connecting:H,reserved:Q,closed:z,ended:T,open:F,busy:_,full:w},M=[...Array(X.max)].map(()=>M7(X,O,{onopen:VW,onend:M1,onclose:P8})),A=I(w0);return Object.assign(A,{get parameters(){return X.parameters},largeObject:K7.bind(null,A),subscribe:Y,CLOSE:O4,END:O4,PostgresError:K4,options:X,reserve:Z,listen:j,begin:P,close:$0,end:V0}),A;function I(k){return k.debug=X.debug,Object.entries(X.types).reduce((F0,[j0,r0])=>{return F0[j0]=(u0)=>new pW(u0,r0.to),F0},e),Object.assign(N0,{types:e,typed:e,unsafe:m0,notify:R,array:m,json:x,file:W1}),N0;function e(F0,j0){return new pW(F0,j0)}function N0(F0,...j0){return F0&&Array.isArray(F0.raw)?new FW(F0,j0,k,B):typeof F0==="string"&&!j0.length?new E6(X.transform.column.to?X.transform.column.to(F0):F0):new jY(F0,j0)}function m0(F0,j0=[],r0={}){return arguments.length===2&&!Array.isArray(j0)&&(r0=j0,j0=[]),new FW([F0],j0,k,B,{prepare:!1,...r0,simple:"simple"in r0?r0.simple:j0.length===0})}function W1(F0,j0=[],r0={}){return arguments.length===2&&!Array.isArray(j0)&&(r0=j0,j0=[]),new FW([],j0,(v0)=>{hO.readFile(F0,"utf8",(O1,I0)=>{if(O1)return v0.reject(O1);v0.strings=[I0],k(v0)})},B,{...r0,simple:"simple"in r0?r0.simple:j0.length===0})}}async function j(k,e,N0){let m0={fn:e,onlisten:N0},W1=j.sql||(j.sql=vY({...X,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(j.channels).forEach(([v0,{listeners:O1}])=>{delete j.channels[v0],Promise.all(O1.map((I0)=>j(v0,I0.fn,I0.onlisten).catch(()=>{})))})},onnotify(v0,O1){v0 in j.channels&&j.channels[v0].listeners.forEach((I0)=>I0.fn(O1))}})),F0=j.channels||(j.channels={});if(k in F0){F0[k].listeners.push(m0);let v0=await F0[k].result;return m0.onlisten&&m0.onlisten(),{state:v0.state,unlisten:u0}}F0[k]={result:W1`listen ${W1.unsafe('"'+k.replace(/"/g,'""')+'"')}`,listeners:[m0]};let r0=await F0[k].result;return m0.onlisten&&m0.onlisten(),{state:r0.state,unlisten:u0};async function u0(){if(k in F0===!1)return;if(F0[k].listeners=F0[k].listeners.filter((v0)=>v0!==m0),F0[k].listeners.length)return;return delete F0[k],W1`unlisten ${W1.unsafe('"'+k.replace(/"/g,'""')+'"')}`}}async function R(k,e){return await A`select pg_notify(${k}, ${""+e})`}async function Z(){let k=WW(),e=F.length?F.shift():await new Promise((W1)=>{J.push({reserve:W1}),z.length&&e0(z.shift())});h(e,Q),e.reserved=()=>k.length?e.execute(k.shift()):h(e,Q),e.reserved.release=!0;let N0=I(m0);return N0.release=()=>{e.reserved=null,VW(e)},N0;function m0(W1){e.queue===w?k.push(W1):e.execute(W1)||h(e,w)}}async function P(k,e){!e&&(e=k,k="");let N0=WW(),m0=0,W1,F0=null;try{return await A.unsafe("begin "+k.replace(/[^a-z ]/ig,""),[],{onexecute:r0}).execute(),await Promise.race([j0(W1,e),new Promise((u0,v0)=>W1.onclose=v0)])}catch(u0){throw u0}async function j0(u0,v0,O1){let I0=I($1);I0.savepoint=O2,I0.prepare=(y0)=>F0=y0.replace(/[^a-z0-9$-_. ]/gi);let MW,K1;O1&&await I0`savepoint ${I0(O1)}`;try{if(K1=await new Promise((y0,OW)=>{let IW=v0(I0);Promise.resolve(Array.isArray(IW)?Promise.all(IW):IW).then(y0,OW)}),MW)throw MW}catch(y0){throw await(O1?I0`rollback to ${I0(O1)}`:I0`rollback`),y0 instanceof K4&&y0.code==="25P02"&&MW||y0}if(!O1)F0?await I0`prepare transaction '${I0.unsafe(F0)}'`:await I0`commit`;return K1;function O2(y0,OW){if(y0&&Array.isArray(y0.raw))return O2((IW)=>IW.apply(IW,arguments));return arguments.length===1&&(OW=y0,y0=null),j0(u0,OW,"s"+m0+++(y0?"_"+y0:""))}function $1(y0){y0.catch((OW)=>MW||(MW=OW)),u0.queue===w?N0.push(y0):u0.execute(y0)||h(u0,w)}}function r0(u0){W1=u0,h(u0,Q),u0.reserved=()=>N0.length?u0.execute(N0.shift()):h(u0,Q)}}function h(k,e){return k.queue.remove(k),e.push(k),k.queue=e,e===F?k.idleTimer.start():k.idleTimer.cancel(),k}function x(k){return new pW(k,3802)}function m(k,e){if(!Array.isArray(k))return m(Array.from(arguments));return new pW(k,e||(k.length?CY(k)||25:0),X.shared.typeArrayMap)}function w0(k){if(G)return k.reject(a0.connection("CONNECTION_ENDED",X,X));if(F.length)return p0(F.shift(),k);if(z.length)return e0(z.shift(),k);_.length?p0(_.shift(),k):J.push(k)}function p0(k,e){return k.execute(e)?h(k,_):h(k,w)}function B(k){return new Promise((e,N0)=>{k.state?k.active?M7(X).cancel(k.state,e,N0):k.cancelled={resolve:e,reject:N0}:(J.remove(k),k.cancelled=!0,k.reject(a0.generic("57014","canceling statement due to user request")),e())})}async function V0({timeout:k=null}={}){if(G)return G;await 1;let e;return G=Promise.race([new Promise((N0)=>k!==null&&(e=setTimeout(U0,k*1000,N0))),Promise.all(M.map((N0)=>N0.end()).concat(j.sql?j.sql.end({timeout:0}):[],Y.sql?Y.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(e))}async function $0(){await Promise.all(M.map((k)=>k.end()))}async function U0(k){await Promise.all(M.map((e)=>e.terminate()));while(J.length)J.shift().reject(a0.connection("CONNECTION_DESTROYED",X));k()}function e0(k,e){return h(k,H),k.connect(e),k}function M1(k){h(k,T)}function VW(k){if(J.length===0)return h(k,F);let e=Math.ceil(J.length/(H.length+1)),N0=!0;while(N0&&J.length&&e-- >0){let m0=J.shift();if(m0.reserve)return m0.reserve(k);N0=k.execute(m0)}N0?h(k,_):h(k,w)}function P8(k,e){h(k,z),k.reserved=null,k.onclose&&(k.onclose(e),k.onclose=null),X.onclose&&X.onclose(k.id),J.length&&e0(k,J.shift())}}function gO(W,$){if(W&&W.shared)return W;let X=process.env,Y=(!W||typeof W==="string"?$:W)||{},{url:G,multihost:J}=dO(W),H=[...G.searchParams].reduce((w,[O,M])=>(w[O]=M,w),{}),Q=Y.hostname||Y.host||J||G.hostname||X.PGHOST||"localhost",z=Y.port||G.port||X.PGPORT||5432,T=Y.user||Y.username||G.username||X.PGUSERNAME||X.PGUSER||lO();Y.no_prepare&&(Y.prepare=!1),H.sslmode&&(H.ssl=H.sslmode,delete H.sslmode),"timeout"in Y&&(console.log("The timeout option is deprecated, use idle_timeout instead"),Y.idle_timeout=Y.timeout),H.sslrootcert==="system"&&(H.ssl="verify-full");let F=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],_={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:uO,max_pipeline:100,backoff:pO,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(Q)?Q:Q.split(",").map((w)=>w.split(":")[0]),port:Array.isArray(z)?z:Q.split(",").map((w)=>parseInt(w.split(":")[1]||z)),path:Y.path||Q.indexOf("/")>-1&&Q+"/.s.PGSQL."+z,database:Y.database||Y.db||(G.pathname||"").slice(1)||X.PGDATABASE||T,user:T,pass:Y.pass||Y.password||G.password||X.PGPASSWORD||"",...Object.entries(_).reduce((w,[O,M])=>{let A=O in Y?Y[O]:(O in H)?H[O]==="disable"||H[O]==="false"?!1:H[O]:X["PG"+O.toUpperCase()]||M;return w[O]=typeof A==="string"&&F.includes(O)?+A:A,w},{}),connection:{application_name:"postgres.js",...Y.connection,...Object.entries(H).reduce((w,[O,M])=>((O in _)||(w[O]=M),w),{})},types:Y.types||{},target_session_attrs:mO(Y,G,X),onnotice:Y.onnotice,onnotify:Y.onnotify,onclose:Y.onclose,onparameter:Y.onparameter,socket:Y.socket,transform:cO(Y.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...rT(Y.types)}}function mO(W,$,X){let Y=W.target_session_attrs||$.searchParams.get("target_session_attrs")||X.PGTARGETSESSIONATTRS;if(!Y||["read-write","read-only","primary","standby","prefer-standby"].includes(Y))return Y;throw new Error("target_session_attrs "+Y+" is not supported")}function pO(W){return(0.5+Math.random()/2)*Math.min(3**W/100,20)}function uO(){return 60*(30+Math.random()*30)}function cO(W){return{undefined:W.undefined,column:{from:typeof W.column==="function"?W.column:W.column&&W.column.from,to:W.column&&W.column.to},value:{from:typeof W.value==="function"?W.value:W.value&&W.value.from,to:W.value&&W.value.to},row:{from:typeof W.row==="function"?W.row:W.row&&W.row.from,to:W.row&&W.row.to}}}function dO(W){if(!W||typeof W!=="string")return{url:{searchParams:new Map}};let $=W;$=$.slice($.indexOf("://")+3).split(/[?/]/)[0],$=decodeURIComponent($.slice($.indexOf("@")+1));let X=new URL(W.replace($,$.split(",")[0]));return{url:{username:decodeURIComponent(X.username),password:decodeURIComponent(X.password),host:X.host,hostname:X.hostname,port:X.port,pathname:X.pathname,searchParams:X.searchParams},multihost:$.indexOf(",")>-1&&$}}function lO(){try{return yO.userInfo().username}catch(W){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}class n0{static[D]="SelectionProxyHandler";config;constructor(W){this.config={...W}}get(W,$){if($==="_")return{...W._,selectedFields:new Proxy(W._.selectedFields,this)};if($===f0)return{...W[f0],selectedFields:new Proxy(W[f0].selectedFields,this)};if(typeof $==="symbol")return W[$];let Y=(L(W,H1)?W._.selectedFields:L(W,g1)?W[f0].selectedFields:W)[$];if(L(Y,p.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!Y.isSelectionField)return Y.sql;let G=Y.clone();return G.isSelectionField=!0,G}if(L(Y,p)){if(this.config.sqlBehavior==="sql")return Y;throw new Error(`You tried to reference "${$}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(L(Y,q0)){if(this.config.alias)return new Proxy(Y,new M4(new Proxy(Y.table,new T6(this.config.alias,this.config.replaceOriginalName??!1))));return Y}if(typeof Y!=="object"||Y===null)return Y;return new Proxy(Y,new n0(this.config))}}class yY extends j1{constructor(W,$,X,Y){super();this.session=$,this.dialect=X,this.config={table:W,withList:Y}}static[D]="PgDelete";config;where(W){return this.config.where=W,this}returning(W=this.config.table[g.Symbol.Columns]){return this.config.returningFields=W,this.config.returning=zW(W),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,W,!0)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new n0({alias:w1(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}function oO(W){return(W.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((X)=>X.toLowerCase()).join("_")}function iO(W){return(W.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((X,Y,G)=>{let J=G===0?Y.toLowerCase():`${Y[0].toUpperCase()}${Y.slice(1)}`;return X+J},"")}function nO(W){return W}class A7{static[D]="CasingCache";cache={};cachedTables={};convert;constructor(W){this.convert=W==="snake_case"?oO:W==="camelCase"?iO:nO}getColumnCasing(W){if(!W.keyAsName)return W.name;let $=W.table[g.Symbol.Schema]??"public",X=W.table[g.Symbol.OriginalName],Y=`${$}.${X}.${W.name}`;if(!this.cache[Y])this.cacheTable(W.table);return this.cache[Y]}cacheTable(W){let $=W[g.Symbol.Schema]??"public",X=W[g.Symbol.OriginalName],Y=`${$}.${X}`;if(!this.cachedTables[Y]){for(let G of Object.values(W[g.Symbol.Columns])){let J=`${Y}.${G.name}`;this.cache[J]=this.convert(G.name)}this.cachedTables[Y]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class B6 extends g1{static[D]="PgViewBase"}class N8{static[D]="PgDialect";casing;constructor(W){this.casing=new A7(W?.casing)}async migrate(W,$,X){let Y=typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=typeof X==="string"?"drizzle":X.migrationsSchema??"drizzle",J=V`
|
|
78
|
-
CREATE TABLE IF NOT EXISTS ${
|
|
77
|
+
`};return X(Q),new Promise(async(F)=>H=F);async function _({highWaterMark:F=16384,start:w=0,end:O=1/0}={}){let V=O-w;return w&&await Q.seek(w),new Hz.Readable({highWaterMark:F,async read(E){let I=E>V?E-V:E;V-=E;let[{data:j}]=await Q.read(I);if(this.push(j),j.length<E)this.push(null)}})}async function z({highWaterMark:F=16384,start:w=0}={}){return w&&await Q.seek(w),new Hz.Writable({highWaterMark:F,write(O,V,E){Q.write(O).then(()=>E(),E)}})}}).catch(G)})}Object.assign(hX,{PostgresError:A8,toPascal:N2,pascal:U7,toCamel:Z2,camel:w7,toKebab:R2,kebab:D7,fromPascal:A6,fromCamel:E6,fromKebab:L6,BigInt:{to:20,from:[20],parse:(W)=>BigInt(W),serialize:(W)=>W.toString()}});var Z8=hX;function hX(W,$){let Y=mO(W,$),X=Y.no_subscribe||E7(hX,{...Y}),G=!1,J=$W(),H=$W(),T=$W(),Q=$W(),_=$W(),z=$W(),F=$W(),w=$W(),O={connecting:H,reserved:T,closed:Q,ended:_,open:z,busy:F,full:w},V=[...Array(Y.max)].map(()=>K7(Y,O,{onopen:MW,onend:V1,onclose:b2})),E=I(w0);return Object.assign(E,{get parameters(){return Y.parameters},largeObject:A7.bind(null,E),subscribe:X,CLOSE:E8,END:E8,PostgresError:A8,options:Y,reserve:B,listen:j,begin:P,close:Y0,end:M0}),E;function I(k){return k.debug=Y.debug,Object.entries(Y.types).reduce((z0,[j0,r0])=>{return z0[j0]=(u0)=>new pW(u0,r0.to),z0},e),Object.assign(R0,{types:e,typed:e,unsafe:m0,notify:N,array:p,json:x,file:W1}),R0;function e(z0,j0){return new pW(z0,j0)}function R0(z0,...j0){return z0&&Array.isArray(z0.raw)?new zW(z0,j0,k,Z):typeof z0==="string"&&!j0.length?new Z6(Y.transform.column.to?Y.transform.column.to(z0):z0):new PX(z0,j0)}function m0(z0,j0=[],r0={}){return arguments.length===2&&!Array.isArray(j0)&&(r0=j0,j0=[]),new zW([z0],j0,k,Z,{prepare:!1,...r0,simple:"simple"in r0?r0.simple:j0.length===0})}function W1(z0,j0=[],r0={}){return arguments.length===2&&!Array.isArray(j0)&&(r0=j0,j0=[]),new zW([],j0,(v0)=>{gO.readFile(z0,"utf8",(O1,I0)=>{if(O1)return v0.reject(O1);v0.strings=[I0],k(v0)})},Z,{...r0,simple:"simple"in r0?r0.simple:j0.length===0})}}async function j(k,e,R0){let m0={fn:e,onlisten:R0},W1=j.sql||(j.sql=hX({...Y,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(j.channels).forEach(([v0,{listeners:O1}])=>{delete j.channels[v0],Promise.all(O1.map((I0)=>j(v0,I0.fn,I0.onlisten).catch(()=>{})))})},onnotify(v0,O1){v0 in j.channels&&j.channels[v0].listeners.forEach((I0)=>I0.fn(O1))}})),z0=j.channels||(j.channels={});if(k in z0){z0[k].listeners.push(m0);let v0=await z0[k].result;return m0.onlisten&&m0.onlisten(),{state:v0.state,unlisten:u0}}z0[k]={result:W1`listen ${W1.unsafe('"'+k.replace(/"/g,'""')+'"')}`,listeners:[m0]};let r0=await z0[k].result;return m0.onlisten&&m0.onlisten(),{state:r0.state,unlisten:u0};async function u0(){if(k in z0===!1)return;if(z0[k].listeners=z0[k].listeners.filter((v0)=>v0!==m0),z0[k].listeners.length)return;return delete z0[k],W1`unlisten ${W1.unsafe('"'+k.replace(/"/g,'""')+'"')}`}}async function N(k,e){return await E`select pg_notify(${k}, ${""+e})`}async function B(){let k=$W(),e=z.length?z.shift():await new Promise((W1)=>{J.push({reserve:W1}),Q.length&&e0(Q.shift())});g(e,T),e.reserved=()=>k.length?e.execute(k.shift()):g(e,T),e.reserved.release=!0;let R0=I(m0);return R0.release=()=>{e.reserved=null,MW(e)},R0;function m0(W1){e.queue===w?k.push(W1):e.execute(W1)||g(e,w)}}async function P(k,e){!e&&(e=k,k="");let R0=$W(),m0=0,W1,z0=null;try{return await E.unsafe("begin "+k.replace(/[^a-z ]/ig,""),[],{onexecute:r0}).execute(),await Promise.race([j0(W1,e),new Promise((u0,v0)=>W1.onclose=v0)])}catch(u0){throw u0}async function j0(u0,v0,O1){let I0=I($1);I0.savepoint=K$,I0.prepare=(y0)=>z0=y0.replace(/[^a-z0-9$-_. ]/gi);let VW,K1;O1&&await I0`savepoint ${I0(O1)}`;try{if(K1=await new Promise((y0,OW)=>{let IW=v0(I0);Promise.resolve(Array.isArray(IW)?Promise.all(IW):IW).then(y0,OW)}),VW)throw VW}catch(y0){throw await(O1?I0`rollback to ${I0(O1)}`:I0`rollback`),y0 instanceof A8&&y0.code==="25P02"&&VW||y0}if(!O1)z0?await I0`prepare transaction '${I0.unsafe(z0)}'`:await I0`commit`;return K1;function K$(y0,OW){if(y0&&Array.isArray(y0.raw))return K$((IW)=>IW.apply(IW,arguments));return arguments.length===1&&(OW=y0,y0=null),j0(u0,OW,"s"+m0+++(y0?"_"+y0:""))}function $1(y0){y0.catch((OW)=>VW||(VW=OW)),u0.queue===w?R0.push(y0):u0.execute(y0)||g(u0,w)}}function r0(u0){W1=u0,g(u0,T),u0.reserved=()=>R0.length?u0.execute(R0.shift()):g(u0,T)}}function g(k,e){return k.queue.remove(k),e.push(k),k.queue=e,e===z?k.idleTimer.start():k.idleTimer.cancel(),k}function x(k){return new pW(k,3802)}function p(k,e){if(!Array.isArray(k))return p(Array.from(arguments));return new pW(k,e||(k.length?jX(k)||25:0),Y.shared.typeArrayMap)}function w0(k){if(G)return k.reject(a0.connection("CONNECTION_ENDED",Y,Y));if(z.length)return p0(z.shift(),k);if(Q.length)return e0(Q.shift(),k);F.length?p0(F.shift(),k):J.push(k)}function p0(k,e){return k.execute(e)?g(k,F):g(k,w)}function Z(k){return new Promise((e,R0)=>{k.state?k.active?K7(Y).cancel(k.state,e,R0):k.cancelled={resolve:e,reject:R0}:(J.remove(k),k.cancelled=!0,k.reject(a0.generic("57014","canceling statement due to user request")),e())})}async function M0({timeout:k=null}={}){if(G)return G;await 1;let e;return G=Promise.race([new Promise((R0)=>k!==null&&(e=setTimeout(U0,k*1000,R0))),Promise.all(V.map((R0)=>R0.end()).concat(j.sql?j.sql.end({timeout:0}):[],X.sql?X.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(e))}async function Y0(){await Promise.all(V.map((k)=>k.end()))}async function U0(k){await Promise.all(V.map((e)=>e.terminate()));while(J.length)J.shift().reject(a0.connection("CONNECTION_DESTROYED",Y));k()}function e0(k,e){return g(k,H),k.connect(e),k}function V1(k){g(k,_)}function MW(k){if(J.length===0)return g(k,z);let e=Math.ceil(J.length/(H.length+1)),R0=!0;while(R0&&J.length&&e-- >0){let m0=J.shift();if(m0.reserve)return m0.reserve(k);R0=k.execute(m0)}R0?g(k,F):g(k,w)}function b2(k,e){g(k,Q),k.reserved=null,k.onclose&&(k.onclose(e),k.onclose=null),Y.onclose&&Y.onclose(k.id),J.length&&e0(k,J.shift())}}function mO(W,$){if(W&&W.shared)return W;let Y=process.env,X=(!W||typeof W==="string"?$:W)||{},{url:G,multihost:J}=lO(W),H=[...G.searchParams].reduce((w,[O,V])=>(w[O]=V,w),{}),T=X.hostname||X.host||J||G.hostname||Y.PGHOST||"localhost",Q=X.port||G.port||Y.PGPORT||5432,_=X.user||X.username||G.username||Y.PGUSERNAME||Y.PGUSER||oO();X.no_prepare&&(X.prepare=!1),H.sslmode&&(H.ssl=H.sslmode,delete H.sslmode),"timeout"in X&&(console.log("The timeout option is deprecated, use idle_timeout instead"),X.idle_timeout=X.timeout),H.sslrootcert==="system"&&(H.ssl="verify-full");let z=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],F={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:cO,max_pipeline:100,backoff:uO,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(T)?T:T.split(",").map((w)=>w.split(":")[0]),port:Array.isArray(Q)?Q:T.split(",").map((w)=>parseInt(w.split(":")[1]||Q)),path:X.path||T.indexOf("/")>-1&&T+"/.s.PGSQL."+Q,database:X.database||X.db||(G.pathname||"").slice(1)||Y.PGDATABASE||_,user:_,pass:X.pass||X.password||G.password||Y.PGPASSWORD||"",...Object.entries(F).reduce((w,[O,V])=>{let E=O in X?X[O]:(O in H)?H[O]==="disable"||H[O]==="false"?!1:H[O]:Y["PG"+O.toUpperCase()]||V;return w[O]=typeof E==="string"&&z.includes(O)?+E:E,w},{}),connection:{application_name:"postgres.js",...X.connection,...Object.entries(H).reduce((w,[O,V])=>((O in F)||(w[O]=V),w),{})},types:X.types||{},target_session_attrs:pO(X,G,Y),onnotice:X.onnotice,onnotify:X.onnotify,onclose:X.onclose,onparameter:X.onparameter,socket:X.socket,transform:dO(X.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...r_(X.types)}}function pO(W,$,Y){let X=W.target_session_attrs||$.searchParams.get("target_session_attrs")||Y.PGTARGETSESSIONATTRS;if(!X||["read-write","read-only","primary","standby","prefer-standby"].includes(X))return X;throw new Error("target_session_attrs "+X+" is not supported")}function uO(W){return(0.5+Math.random()/2)*Math.min(3**W/100,20)}function cO(){return 60*(30+Math.random()*30)}function dO(W){return{undefined:W.undefined,column:{from:typeof W.column==="function"?W.column:W.column&&W.column.from,to:W.column&&W.column.to},value:{from:typeof W.value==="function"?W.value:W.value&&W.value.from,to:W.value&&W.value.to},row:{from:typeof W.row==="function"?W.row:W.row&&W.row.from,to:W.row&&W.row.to}}}function lO(W){if(!W||typeof W!=="string")return{url:{searchParams:new Map}};let $=W;$=$.slice($.indexOf("://")+3).split(/[?/]/)[0],$=decodeURIComponent($.slice($.indexOf("@")+1));let Y=new URL(W.replace($,$.split(",")[0]));return{url:{username:decodeURIComponent(Y.username),password:decodeURIComponent(Y.password),host:Y.host,hostname:Y.hostname,port:Y.port,pathname:Y.pathname,searchParams:Y.searchParams},multihost:$.indexOf(",")>-1&&$}}function oO(){try{return hO.userInfo().username}catch(W){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}class n0{static[D]="SelectionProxyHandler";config;constructor(W){this.config={...W}}get(W,$){if($==="_")return{...W._,selectedFields:new Proxy(W._.selectedFields,this)};if($===f0)return{...W[f0],selectedFields:new Proxy(W[f0].selectedFields,this)};if(typeof $==="symbol")return W[$];let X=(L(W,H1)?W._.selectedFields:L(W,g1)?W[f0].selectedFields:W)[$];if(L(X,u.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!X.isSelectionField)return X.sql;let G=X.clone();return G.isSelectionField=!0,G}if(L(X,u)){if(this.config.sqlBehavior==="sql")return X;throw new Error(`You tried to reference "${$}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(L(X,q0)){if(this.config.alias)return new Proxy(X,new K8(new Proxy(X.table,new F6(this.config.alias,this.config.replaceOriginalName??!1))));return X}if(typeof X!=="object"||X===null)return X;return new Proxy(X,new n0(this.config))}}class gX extends I1{constructor(W,$,Y,X){super();this.session=$,this.dialect=Y,this.config={table:W,withList:X}}static[D]="PgDelete";config;where(W){return this.config.where=W,this}returning(W=this.config.table[m.Symbol.Columns]){return this.config.returningFields=W,this.config.returning=QW(W),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,W,!0)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new n0({alias:w1(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}function iO(W){return(W.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((Y)=>Y.toLowerCase()).join("_")}function nO(W){return(W.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((Y,X,G)=>{let J=G===0?X.toLowerCase():`${X[0].toUpperCase()}${X.slice(1)}`;return Y+J},"")}function rO(W){return W}class L7{static[D]="CasingCache";cache={};cachedTables={};convert;constructor(W){this.convert=W==="snake_case"?iO:W==="camelCase"?nO:rO}getColumnCasing(W){if(!W.keyAsName)return W.name;let $=W.table[m.Symbol.Schema]??"public",Y=W.table[m.Symbol.OriginalName],X=`${$}.${Y}.${W.name}`;if(!this.cache[X])this.cacheTable(W.table);return this.cache[X]}cacheTable(W){let $=W[m.Symbol.Schema]??"public",Y=W[m.Symbol.OriginalName],X=`${$}.${Y}`;if(!this.cachedTables[X]){for(let G of Object.values(W[m.Symbol.Columns])){let J=`${X}.${G.name}`;this.cache[J]=this.convert(G.name)}this.cachedTables[X]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class R6 extends g1{static[D]="PgViewBase"}class S2{static[D]="PgDialect";casing;constructor(W){this.casing=new L7(W?.casing)}async migrate(W,$,Y){let X=typeof Y==="string"?"__drizzle_migrations":Y.migrationsTable??"__drizzle_migrations",G=typeof Y==="string"?"drizzle":Y.migrationsSchema??"drizzle",J=M`
|
|
78
|
+
CREATE TABLE IF NOT EXISTS ${M.identifier(G)}.${M.identifier(X)} (
|
|
79
79
|
id SERIAL PRIMARY KEY,
|
|
80
80
|
hash text NOT NULL,
|
|
81
81
|
created_at bigint
|
|
82
82
|
)
|
|
83
|
-
`;await $.execute(V`CREATE SCHEMA IF NOT EXISTS ${V.identifier(G)}`),await $.execute(J);let Q=(await $.all(V`select id, hash, created_at from ${V.identifier(G)}.${V.identifier(Y)} order by created_at desc limit 1`))[0];await $.transaction(async(z)=>{for await(let T of W)if(!Q||Number(Q.created_at)<T.folderMillis){for(let F of T.sql)await z.execute(V.raw(F));await z.execute(V`insert into ${V.identifier(G)}.${V.identifier(Y)} ("hash", "created_at") values(${T.hash}, ${T.folderMillis})`)}})}escapeName(W){return`"${W}"`}escapeParam(W){return`$${W+1}`}escapeString(W){return`'${W.replace(/'/g,"''")}'`}buildWithCTE(W){if(!W?.length)return;let $=[V`with `];for(let[X,Y]of W.entries())if($.push(V`${V.identifier(Y._.alias)} as (${Y._.sql})`),X<W.length-1)$.push(V`, `);return $.push(V` `),V.join($)}buildDeleteQuery({table:W,where:$,returning:X,withList:Y}){let G=this.buildWithCTE(Y),J=X?V` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,H=$?V` where ${$}`:void 0;return V`${G}delete from ${W}${H}${J}`}buildUpdateSet(W,$){let X=W[g.Symbol.Columns],Y=Object.keys(X).filter((J)=>$[J]!==void 0||X[J]?.onUpdateFn!==void 0),G=Y.length;return V.join(Y.flatMap((J,H)=>{let Q=X[J],z=$[J]??V.param(Q.onUpdateFn(),Q),T=V`${V.identifier(this.casing.getColumnCasing(Q))} = ${z}`;if(H<G-1)return[T,V.raw(", ")];return[T]}))}buildUpdateQuery({table:W,set:$,where:X,returning:Y,withList:G,from:J,joins:H}){let Q=this.buildWithCTE(G),z=W[V1.Symbol.Name],T=W[V1.Symbol.Schema],F=W[V1.Symbol.OriginalName],_=z===F?void 0:z,w=V`${T?V`${V.identifier(T)}.`:void 0}${V.identifier(F)}${_&&V` ${V.identifier(_)}`}`,O=this.buildUpdateSet(W,$),M=J&&V.join([V.raw(" from "),this.buildFromTable(J)]),A=this.buildJoins(H),I=Y?V` returning ${this.buildSelection(Y,{isSingleTable:!J})}`:void 0,j=X?V` where ${X}`:void 0;return V`${Q}update ${w} set ${O}${M}${A}${j}${I}`}buildSelection(W,{isSingleTable:$=!1}={}){let X=W.length,Y=W.flatMap(({field:G},J)=>{let H=[];if(L(G,p.Aliased)&&G.isSelectionField)H.push(V.identifier(G.fieldAlias));else if(L(G,p.Aliased)||L(G,p)){let Q=L(G,p.Aliased)?G.sql:G;if($)H.push(new p(Q.queryChunks.map((z)=>{if(L(z,f))return V.identifier(this.casing.getColumnCasing(z));return z})));else H.push(Q);if(L(G,p.Aliased))H.push(V` as ${V.identifier(G.fieldAlias)}`)}else if(L(G,q0))if($)H.push(V.identifier(this.casing.getColumnCasing(G)));else H.push(G);if(J<X-1)H.push(V`, `);return H});return V.join(Y)}buildJoins(W){if(!W||W.length===0)return;let $=[];for(let[X,Y]of W.entries()){if(X===0)$.push(V` `);let G=Y.table,J=Y.lateral?V` lateral`:void 0,H=Y.on?V` on ${Y.on}`:void 0;if(L(G,V1)){let Q=G[V1.Symbol.Name],z=G[V1.Symbol.Schema],T=G[V1.Symbol.OriginalName],F=Q===T?void 0:Y.alias;$.push(V`${V.raw(Y.joinType)} join${J} ${z?V`${V.identifier(z)}.`:void 0}${V.identifier(T)}${F&&V` ${V.identifier(F)}`}${H}`)}else if(L(G,g1)){let Q=G[f0].name,z=G[f0].schema,T=G[f0].originalName,F=Q===T?void 0:Y.alias;$.push(V`${V.raw(Y.joinType)} join${J} ${z?V`${V.identifier(z)}.`:void 0}${V.identifier(T)}${F&&V` ${V.identifier(F)}`}${H}`)}else $.push(V`${V.raw(Y.joinType)} join${J} ${G}${H}`);if(X<W.length-1)$.push(V` `)}return V.join($)}buildFromTable(W){if(L(W,g)&&W[g.Symbol.IsAlias]){let $=V`${V.identifier(W[g.Symbol.OriginalName])}`;if(W[g.Symbol.Schema])$=V`${V.identifier(W[g.Symbol.Schema])}.${$}`;return V`${$} ${V.identifier(W[g.Symbol.Name])}`}return W}buildSelectQuery({withList:W,fields:$,fieldsFlat:X,where:Y,having:G,table:J,joins:H,orderBy:Q,groupBy:z,limit:T,offset:F,lockingClause:_,distinct:w,setOperators:O}){let M=X??zW($);for(let U0 of M)if(L(U0.field,q0)&&w1(U0.field.table)!==(L(J,H1)?J._.alias:L(J,B6)?J[f0].name:L(J,p)?void 0:w1(J))&&!((e0)=>H?.some(({alias:M1})=>M1===(e0[g.Symbol.IsAlias]?w1(e0):e0[g.Symbol.BaseName])))(U0.field.table)){let e0=w1(U0.field.table);throw new Error(`Your "${U0.path.join("->")}" field references a column "${e0}"."${U0.field.name}", but the table "${e0}" is not part of the query! Did you forget to join it?`)}let A=!H||H.length===0,I=this.buildWithCTE(W),j;if(w)j=w===!0?V` distinct`:V` distinct on (${V.join(w.on,V`, `)})`;let R=this.buildSelection(M,{isSingleTable:A}),Z=this.buildFromTable(J),P=this.buildJoins(H),h=Y?V` where ${Y}`:void 0,x=G?V` having ${G}`:void 0,m;if(Q&&Q.length>0)m=V` order by ${V.join(Q,V`, `)}`;let w0;if(z&&z.length>0)w0=V` group by ${V.join(z,V`, `)}`;let p0=typeof T==="object"||typeof T==="number"&&T>=0?V` limit ${T}`:void 0,B=F?V` offset ${F}`:void 0,V0=V.empty();if(_){let U0=V` for ${V.raw(_.strength)}`;if(_.config.of)U0.append(V` of ${V.join(Array.isArray(_.config.of)?_.config.of:[_.config.of],V`, `)}`);if(_.config.noWait)U0.append(V` nowait`);else if(_.config.skipLocked)U0.append(V` skip locked`);V0.append(U0)}let $0=V`${I}select${j} ${R} from ${Z}${P}${h}${w0}${x}${m}${p0}${B}${V0}`;if(O.length>0)return this.buildSetOperations($0,O);return $0}buildSetOperations(W,$){let[X,...Y]=$;if(!X)throw new Error("Cannot pass undefined values to any set operator");if(Y.length===0)return this.buildSetOperationQuery({leftSelect:W,setOperator:X});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:W,setOperator:X}),Y)}buildSetOperationQuery({leftSelect:W,setOperator:{type:$,isAll:X,rightSelect:Y,limit:G,orderBy:J,offset:H}}){let Q=V`(${W.getSQL()}) `,z=V`(${Y.getSQL()})`,T;if(J&&J.length>0){let O=[];for(let M of J)if(L(M,f))O.push(V.identifier(M.name));else if(L(M,p)){for(let A=0;A<M.queryChunks.length;A++){let I=M.queryChunks[A];if(L(I,f))M.queryChunks[A]=V.identifier(I.name)}O.push(V`${M}`)}else O.push(V`${M}`);T=V` order by ${V.join(O,V`, `)} `}let F=typeof G==="object"||typeof G==="number"&&G>=0?V` limit ${G}`:void 0,_=V.raw(`${$} ${X?"all ":""}`),w=H?V` offset ${H}`:void 0;return V`${Q}${_}${z}${T}${F}${w}`}buildInsertQuery({table:W,values:$,onConflict:X,returning:Y,withList:G,select:J,overridingSystemValue_:H}){let Q=[],z=W[g.Symbol.Columns],T=Object.entries(z).filter(([I,j])=>!j.shouldDisableInsert()),F=T.map(([,I])=>V.identifier(this.casing.getColumnCasing(I)));if(J){let I=$;if(L(I,p))Q.push(I);else Q.push(I.getSQL())}else{let I=$;Q.push(V.raw("values "));for(let[j,R]of I.entries()){let Z=[];for(let[P,h]of T){let x=R[P];if(x===void 0||L(x,e1)&&x.value===void 0)if(h.defaultFn!==void 0){let m=h.defaultFn(),w0=L(m,p)?m:V.param(m,h);Z.push(w0)}else if(!h.default&&h.onUpdateFn!==void 0){let m=h.onUpdateFn(),w0=L(m,p)?m:V.param(m,h);Z.push(w0)}else Z.push(V`default`);else Z.push(x)}if(Q.push(Z),j<I.length-1)Q.push(V`, `)}}let _=this.buildWithCTE(G),w=V.join(Q),O=Y?V` returning ${this.buildSelection(Y,{isSingleTable:!0})}`:void 0,M=X?V` on conflict ${X}`:void 0,A=H===!0?V`overriding system value `:void 0;return V`${_}insert into ${W} ${F} ${A}${w}${M}${O}`}buildRefreshMaterializedViewQuery({view:W,concurrently:$,withNoData:X}){let Y=$?V` concurrently`:void 0,G=X?V` with no data`:void 0;return V`refresh materialized view${Y} ${W}${G}`}prepareTyping(W){if(L(W,OY)||L(W,MY))return"json";else if(L(W,KY))return"decimal";else if(L(W,AY))return"time";else if(L(W,EY)||L(W,LY))return"timestamp";else if(L(W,DY)||L(W,VY))return"date";else if(L(W,BY))return"uuid";else return"none"}sqlToQuery(W,$){return W.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:$})}buildRelationalQueryWithoutPK({fullSchema:W,schema:$,tableNamesMap:X,table:Y,tableConfig:G,queryConfig:J,tableAlias:H,nestedQueryRelation:Q,joinOn:z}){let T=[],F,_,w=[],O,M=[];if(J===!0)T=Object.entries(G.columns).map(([j,R])=>({dbKey:R.name,tsKey:j,field:mW(R,H),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let I=Object.fromEntries(Object.entries(G.columns).map(([x,m])=>[x,mW(m,H)]));if(J.where){let x=typeof J.where==="function"?J.where(I,vT()):J.where;O=x&&F6(x,H)}let j=[],R=[];if(J.columns){let x=!1;for(let[m,w0]of Object.entries(J.columns)){if(w0===void 0)continue;if(m in G.columns){if(!x&&w0===!0)x=!0;R.push(m)}}if(R.length>0)R=x?R.filter((m)=>J.columns?.[m]===!0):Object.keys(G.columns).filter((m)=>!R.includes(m))}else R=Object.keys(G.columns);for(let x of R){let m=G.columns[x];j.push({tsKey:x,value:m})}let Z=[];if(J.with)Z=Object.entries(J.with).filter((x)=>!!x[1]).map(([x,m])=>({tsKey:x,queryConfig:m,relation:G.relations[x]}));let P;if(J.extras){P=typeof J.extras==="function"?J.extras(I,{sql:V}):J.extras;for(let[x,m]of Object.entries(P))j.push({tsKey:x,value:n5(m,H)})}for(let{tsKey:x,value:m}of j)T.push({dbKey:L(m,p.Aliased)?m.fieldAlias:G.columns[x].name,tsKey:x,field:L(m,q0)?mW(m,H):m,relationTableTsKey:void 0,isJson:!1,selection:[]});let h=typeof J.orderBy==="function"?J.orderBy(I,yT()):J.orderBy??[];if(!Array.isArray(h))h=[h];w=h.map((x)=>{if(L(x,q0))return mW(x,H);return F6(x,H)}),F=J.limit,_=J.offset;for(let{tsKey:x,queryConfig:m,relation:w0}of Z){let p0=gT($,X,w0),B=A8(w0.referencedTable),V0=X[B],$0=`${H}_${x}`,U0=V6(...p0.fields.map((VW,P8)=>RY(mW(p0.references[P8],$0),mW(VW,H)))),e0=this.buildRelationalQueryWithoutPK({fullSchema:W,schema:$,tableNamesMap:X,table:W[V0],tableConfig:$[V0],queryConfig:L(w0,y2)?m===!0?{limit:1}:{...m,limit:1}:m,tableAlias:$0,joinOn:U0,nestedQueryRelation:w0}),M1=V`${V.identifier($0)}.${V.identifier("data")}`.as(x);M.push({on:V`true`,table:new H1(e0.sql,{},$0),alias:$0,joinType:"left",lateral:!0}),T.push({dbKey:x,tsKey:x,field:M1,relationTableTsKey:V0,isJson:!0,selection:e0.selection})}}if(T.length===0)throw new wY({message:`No fields selected for table "${G.tsName}" ("${H}")`});let A;if(O=V6(z,O),Q){let I=V`json_build_array(${V.join(T.map(({field:Z,tsKey:P,isJson:h})=>h?V`${V.identifier(`${H}_${P}`)}.${V.identifier("data")}`:L(Z,p.Aliased)?Z.sql:Z),V`, `)})`;if(L(Q,M6))I=V`coalesce(json_agg(${I}${w.length>0?V` order by ${V.join(w,V`, `)}`:void 0}), '[]'::json)`;let j=[{dbKey:"data",tsKey:"data",field:I.as("data"),isJson:!0,relationTableTsKey:G.tsName,selection:T}];if(F!==void 0||_!==void 0||w.length>0)A=this.buildSelectQuery({table:_Y(Y,H),fields:{},fieldsFlat:[{path:[],field:V.raw("*")}],where:O,limit:F,offset:_,orderBy:w,setOperators:[]}),O=void 0,F=void 0,_=void 0,w=[];else A=_Y(Y,H);A=this.buildSelectQuery({table:L(A,V1)?A:new H1(A,{},H),fields:{},fieldsFlat:j.map(({field:Z})=>({path:[],field:L(Z,q0)?mW(Z,H):Z})),joins:M,where:O,limit:F,offset:_,orderBy:w,setOperators:[]})}else A=this.buildSelectQuery({table:_Y(Y,H),fields:{},fieldsFlat:T.map(({field:I})=>({path:[],field:L(I,q0)?mW(I,H):I})),joins:M,where:O,limit:F,offset:_,orderBy:w,setOperators:[]});return{tableTsKey:G.tsName,sql:A,selection:T}}}class E7{static[D]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class P1{static[D]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(W){if(this.fields=W.fields,this.session=W.session,this.dialect=W.dialect,W.withList)this.withList=W.withList;this.distinct=W.distinct}authToken;setToken(W){return this.authToken=W,this}from(W){let $=!!this.fields,X=W,Y;if(this.fields)Y=this.fields;else if(L(X,H1))Y=Object.fromEntries(Object.keys(X._.selectedFields).map((G)=>[G,X[G]]));else if(L(X,B6))Y=X[f0].selectedFields;else if(L(X,p))Y={};else Y=MQ(X);return new L7({table:X,fields:Y,isPartialSelect:$,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class QF extends E7{static[D]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:W,fields:$,isPartialSelect:X,session:Y,dialect:G,withList:J,distinct:H}){super();this.config={withList:J,table:W,fields:{...$},distinct:H,setOperators:[]},this.isPartialSelect=X,this.session=Y,this.dialect=G,this._={selectedFields:$},this.tableName=G2(W),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(W,$){return(X,Y)=>{let G=this.tableName,J=G2(X);if(typeof J==="string"&&this.config.joins?.some((H)=>H.alias===J))throw new Error(`Alias "${J}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof G==="string")this.config.fields={[G]:this.config.fields};if(typeof J==="string"&&!L(X,p)){let H=L(X,H1)?X._.selectedFields:L(X,g1)?X[f0].selectedFields:X[g.Symbol.Columns];this.config.fields[J]=H}}if(typeof Y==="function")Y=Y(new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:Y,table:X,joinType:W,alias:J,lateral:$}),typeof J==="string")switch(W){case"left":{this.joinsNotNullableMap[J]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([H])=>[H,!1])),this.joinsNotNullableMap[J]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[J]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([H])=>[H,!1])),this.joinsNotNullableMap[J]=!1;break}}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(W,$){return(X)=>{let Y=typeof X==="function"?X(rO()):X;if(!_6(this.getSelectedFields(),Y.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:W,isAll:$,rightSelect:Y}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(W){return this.config.setOperators.push(...W),this}where(W){if(typeof W==="function")W=W(new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=W,this}having(W){if(typeof W==="function")W=W(new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=W,this}groupBy(...W){if(typeof W[0]==="function"){let $=W[0](new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray($)?$:[$]}else this.config.groupBy=W;return this}orderBy(...W){if(typeof W[0]==="function"){let $=W[0](new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),X=Array.isArray($)?$:[$];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=X;else this.config.orderBy=X}else{let $=W;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=$;else this.config.orderBy=$}return this}limit(W){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=W;else this.config.limit=W;return this}offset(W){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=W;else this.config.offset=W;return this}for(W,$={}){return this.config.lockingClause={strength:W,config:$},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}as(W){return new Proxy(new H1(this.getSQL(),this.config.fields,W),new n0({alias:W,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new n0({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class L7 extends QF{static[D]="PgSelect";_prepare(W){let{session:$,config:X,dialect:Y,joinsNotNullableMap:G,authToken:J}=this;if(!$)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return C0.startActiveSpan("drizzle.prepareQuery",()=>{let H=zW(X.fields),Q=$.prepareQuery(Y.sqlToQuery(this.getSQL()),H,W,!0);return Q.joinsNotNullableMap=G,Q.setToken(J)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})}}VQ(L7,[j1]);function L4(W,$){return(X,Y,...G)=>{let J=[Y,...G].map((H)=>({type:W,isAll:$,rightSelect:H}));for(let H of J)if(!_6(X.getSelectedFields(),H.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return X.addSetOperators(J)}}var rO=()=>({union:tO,unionAll:aO,intersect:sO,intersectAll:eO,except:WK,exceptAll:$K}),tO=L4("union",!1),aO=L4("union",!0),sO=L4("intersect",!1),eO=L4("intersect",!0),WK=L4("except",!1),$K=L4("except",!0);class R6{static[D]="PgQueryBuilder";dialect;dialectConfig;constructor(W){this.dialect=L(W,N8)?W:void 0,this.dialectConfig=L(W,N8)?void 0:W}$with=(W,$)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(X);return new Proxy(new Q6(G.getSQL(),$??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),W,!0),new n0({alias:W,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...W){let $=this;function X(J){return new P1({fields:J??void 0,session:void 0,dialect:$.getDialect(),withList:W})}function Y(J){return new P1({fields:J??void 0,session:void 0,dialect:$.getDialect(),distinct:!0})}function G(J,H){return new P1({fields:H??void 0,session:void 0,dialect:$.getDialect(),distinct:{on:J}})}return{select:X,selectDistinct:Y,selectDistinctOn:G}}select(W){return new P1({fields:W??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(W){return new P1({fields:W??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(W,$){return new P1({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:W}})}getDialect(){if(!this.dialect)this.dialect=new N8(this.dialectConfig);return this.dialect}}class hY{constructor(W,$,X,Y,G){this.table=W,this.session=$,this.dialect=X,this.withList=Y,this.overridingSystemValue_=G}static[D]="PgInsertBuilder";authToken;setToken(W){return this.authToken=W,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(W){if(W=Array.isArray(W)?W:[W],W.length===0)throw new Error("values() must be called with at least one value");let $=W.map((X)=>{let Y={},G=this.table[g.Symbol.Columns];for(let J of Object.keys(X)){let H=X[J];Y[J]=L(H,p)?H:new e1(H,G[J])}return Y});return new B7(this.table,$,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(W){let $=typeof W==="function"?W(new R6):W;if(!L($,p)&&!_6(this.table[TY],$._.selectedFields))throw new Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new B7(this.table,$,this.session,this.dialect,this.withList,!0)}}class B7 extends j1{constructor(W,$,X,Y,G,J,H){super();this.session=X,this.dialect=Y,this.config={table:W,values:$,withList:G,select:J,overridingSystemValue_:H}}static[D]="PgInsert";config;returning(W=this.config.table[g.Symbol.Columns]){return this.config.returningFields=W,this.config.returning=zW(W),this}onConflictDoNothing(W={}){if(W.target===void 0)this.config.onConflict=V`do nothing`;else{let $="";$=Array.isArray(W.target)?W.target.map((Y)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(Y))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(W.target));let X=W.where?V` where ${W.where}`:void 0;this.config.onConflict=V`(${V.raw($)})${X} do nothing`}return this}onConflictDoUpdate(W){if(W.where&&(W.targetWhere||W.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let $=W.where?V` where ${W.where}`:void 0,X=W.targetWhere?V` where ${W.targetWhere}`:void 0,Y=W.setWhere?V` where ${W.setWhere}`:void 0,G=this.dialect.buildUpdateSet(this.config.table,UY(this.config.table,W.set)),J="";return J=Array.isArray(W.target)?W.target.map((H)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(H))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(W.target)),this.config.onConflict=V`(${V.raw(J)})${X} do update set ${G}${$}${Y}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,W,!0)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new n0({alias:w1(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class R7 extends j1{constructor(W,$,X){super();this.session=$,this.dialect=X,this.config={view:W}}static[D]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,W,!0)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})}}class gY{constructor(W,$,X,Y){this.table=W,this.session=$,this.dialect=X,this.withList=Y}static[D]="PgUpdateBuilder";authToken;setToken(W){return this.authToken=W,this}set(W){return new zF(this.table,UY(this.table,W),this.session,this.dialect,this.withList).setToken(this.authToken)}}class zF extends j1{constructor(W,$,X,Y,G){super();this.session=X,this.dialect=Y,this.config={set:$,table:W,withList:G,joins:[]},this.tableName=G2(W),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}static[D]="PgUpdate";config;tableName;joinsNotNullableMap;from(W){let $=W,X=G2($);if(typeof X==="string")this.joinsNotNullableMap[X]=!0;return this.config.from=$,this}getTableLikeFields(W){if(L(W,V1))return W[g.Symbol.Columns];else if(L(W,H1))return W._.selectedFields;return W[f0].selectedFields}createJoin(W){return($,X)=>{let Y=G2($);if(typeof Y==="string"&&this.config.joins.some((G)=>G.alias===Y))throw new Error(`Alias "${Y}" is already used in this query`);if(typeof X==="function"){let G=this.config.from&&!L(this.config.from,p)?this.getTableLikeFields(this.config.from):void 0;X=X(new Proxy(this.config.table[g.Symbol.Columns],new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),G&&new Proxy(G,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:X,table:$,joinType:W,alias:Y}),typeof Y==="string")switch(W){case"left":{this.joinsNotNullableMap[Y]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([G])=>[G,!1])),this.joinsNotNullableMap[Y]=!0;break}case"inner":{this.joinsNotNullableMap[Y]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([G])=>[G,!1])),this.joinsNotNullableMap[Y]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(W){return this.config.where=W,this}returning(W){if(!W){if(W=Object.assign({},this.config.table[g.Symbol.Columns]),this.config.from){let $=G2(this.config.from);if(typeof $==="string"&&this.config.from&&!L(this.config.from,p)){let X=this.getTableLikeFields(this.config.from);W[$]=X}for(let X of this.config.joins){let Y=G2(X.table);if(typeof Y==="string"&&!L(X.table,p)){let G=this.getTableLikeFields(X.table);W[Y]=G}}}}return this.config.returningFields=W,this.config.returning=zW(W),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){let $=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,W,!0);return $.joinsNotNullableMap=this.joinsNotNullableMap,$}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return this._prepare().execute(W,this.authToken)};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new n0({alias:w1(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class N6 extends p{constructor(W){super(N6.buildEmbeddedCount(W.source,W.filters).queryChunks);this.params=W,this.mapWith(Number),this.session=W.session,this.sql=N6.buildCount(W.source,W.filters)}sql;token;static[D]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(W,$){return V`(select count(*) from ${W}${V.raw(" where ").if($)}${$})`}static buildCount(W,$){return V`select count(*) as count from ${W}${V.raw(" where ").if($)}${$};`}setToken(W){return this.token=W,this}then(W,$){return Promise.resolve(this.session.count(this.sql,this.token)).then(W,$)}catch(W){return this.then(void 0,W)}finally(W){return this.then(($)=>{return W?.(),$},($)=>{throw W?.(),$})}}class Z7{constructor(W,$,X,Y,G,J,H){this.fullSchema=W,this.schema=$,this.tableNamesMap=X,this.table=Y,this.tableConfig=G,this.dialect=J,this.session=H}static[D]="PgRelationalQueryBuilder";findMany(W){return new N7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,W?W:{},"many")}findFirst(W){return new N7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,W?{...W,limit:1}:{limit:1},"first")}}class N7 extends j1{constructor(W,$,X,Y,G,J,H,Q,z){super();this.fullSchema=W,this.schema=$,this.tableNamesMap=X,this.table=Y,this.tableConfig=G,this.dialect=J,this.session=H,this.config=Q,this.mode=z}static[D]="PgRelationalQuery";_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{let{query:$,builtQuery:X}=this._toSQL();return this.session.prepareQuery(X,void 0,W,!0,(Y,G)=>{let J=Y.map((H)=>ZY(this.schema,this.tableConfig,H,$.selection,G));if(this.mode==="first")return J[0];return J})})}prepare(W){return this._prepare(W)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let W=this._getQuery(),$=this.dialect.sqlToQuery(W.sql);return{query:W,builtQuery:$}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(W){return this.authToken=W,this}execute(){return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(void 0,this.authToken)})}}class S7 extends j1{constructor(W,$,X,Y){super();this.execute=W,this.sql=$,this.query=X,this.mapBatchResult=Y}static[D]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(W,$){return $?this.mapBatchResult(W):W}_prepare(){return this}isResponseInArrayMode(){return!1}}class Z6{constructor(W,$,X){if(this.dialect=W,this.session=$,this._=X?{schema:X.schema,fullSchema:X.fullSchema,tableNamesMap:X.tableNamesMap,session:$}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:$},this.query={},this._.schema)for(let[Y,G]of Object.entries(this._.schema))this.query[Y]=new Z7(X.fullSchema,this._.schema,this._.tableNamesMap,X.fullSchema[Y],G,W,$)}static[D]="PgDatabase";query;$with=(W,$)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(new R6(X.dialect));return new Proxy(new Q6(G.getSQL(),$??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),W,!0),new n0({alias:W,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(W,$){return new N6({source:W,filters:$,session:this.session})}with(...W){let $=this;function X(z){return new P1({fields:z??void 0,session:$.session,dialect:$.dialect,withList:W})}function Y(z){return new P1({fields:z??void 0,session:$.session,dialect:$.dialect,withList:W,distinct:!0})}function G(z,T){return new P1({fields:T??void 0,session:$.session,dialect:$.dialect,withList:W,distinct:{on:z}})}function J(z){return new gY(z,$.session,$.dialect,W)}function H(z){return new hY(z,$.session,$.dialect,W)}function Q(z){return new yY(z,$.session,$.dialect,W)}return{select:X,selectDistinct:Y,selectDistinctOn:G,update:J,insert:H,delete:Q}}select(W){return new P1({fields:W??void 0,session:this.session,dialect:this.dialect})}selectDistinct(W){return new P1({fields:W??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(W,$){return new P1({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:{on:W}})}update(W){return new gY(W,this.session,this.dialect)}insert(W){return new hY(W,this.session,this.dialect)}delete(W){return new yY(W,this.session,this.dialect)}refreshMaterializedView(W){return new R7(W,this.session,this.dialect)}authToken;execute(W){let $=typeof W==="string"?V.raw(W):W.getSQL(),X=this.dialect.sqlToQuery($),Y=this.session.prepareQuery(X,void 0,void 0,!1);return new S7(()=>Y.execute(void 0,this.authToken),$,X,(G)=>Y.mapResult(G,!0))}transaction(W,$){return this.session.transaction(W,$)}}class TF{constructor(W,$){this.unique=W,this.name=$}static[D]="PgIndexBuilderOn";on(...W){return new mY(W.map(($)=>{if(L($,p))return $;$=$;let X=new J6($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=JSON.parse(JSON.stringify($.defaultConfig)),X}),this.unique,!1,this.name)}onOnly(...W){return new mY(W.map(($)=>{if(L($,p))return $;$=$;let X=new J6($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=$.defaultConfig,X}),this.unique,!0,this.name)}using(W,...$){return new mY($.map((X)=>{if(L(X,p))return X;X=X;let Y=new J6(X.name,!!X.keyAsName,X.columnType,X.indexConfig);return X.indexConfig=JSON.parse(JSON.stringify(X.defaultConfig)),Y}),this.unique,!0,this.name,W)}}class mY{static[D]="PgIndexBuilder";config;constructor(W,$,X,Y,G="btree"){this.config={name:Y,columns:W,unique:$,only:X,method:G}}concurrently(){return this.config.concurrently=!0,this}with(W){return this.config.with=W,this}where(W){return this.config.where=W,this}build(W){return new FF(this.config,W)}}class FF{static[D]="PgIndex";config;constructor(W,$){this.config={...W,table:$}}}function q7(W){return new TF(!0,W)}class C7{constructor(W){this.query=W}authToken;getQuery(){return this.query}mapResult(W,$){return W}setToken(W){return this.authToken=W,this}static[D]="PgPreparedQuery";joinsNotNullableMap}class k7{constructor(W){this.dialect=W}static[D]="PgSession";execute(W,$){return C0.startActiveSpan("drizzle.operation",()=>{return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(W),void 0,void 0,!1)}).setToken($).execute(void 0,$)})}all(W){return this.prepareQuery(this.dialect.sqlToQuery(W),void 0,void 0,!1).all()}async count(W,$){let X=await this.execute(W,$);return Number(X[0].count)}}class j7 extends Z6{constructor(W,$,X,Y=0){super(W,$,X);this.schema=X,this.nestedIndex=Y}static[D]="PgTransaction";rollback(){throw new r5}getTransactionConfigSQL(W){let $=[];if(W.isolationLevel)$.push(`isolation level ${W.isolationLevel}`);if(W.accessMode)$.push(W.accessMode);if(typeof W.deferrable==="boolean")$.push(W.deferrable?"deferrable":"not deferrable");return V.raw($.join(" "))}setTransaction(W){return this.session.execute(V`set transaction ${this.getTransactionConfigSQL(W)}`)}}class _F extends C7{constructor(W,$,X,Y,G,J,H){super({sql:$,params:X});this.client=W,this.queryString=$,this.params=X,this.logger=Y,this.fields=G,this._isResponseInArrayMode=J,this.customResultMapper=H}static[D]="PostgresJsPreparedQuery";async execute(W={}){return C0.startActiveSpan("drizzle.execute",async($)=>{let X=i5(this.params,W);$?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(X)}),this.logger.logQuery(this.queryString,X);let{fields:Y,queryString:G,client:J,joinsNotNullableMap:H,customResultMapper:Q}=this;if(!Y&&!Q)return C0.startActiveSpan("drizzle.driver.execute",()=>{return J.unsafe(G,X)});let z=await C0.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":G,"drizzle.query.params":JSON.stringify(X)}),J.unsafe(G,X).values()});return C0.startActiveSpan("drizzle.mapResponse",()=>{return Q?Q(z):z.map((T)=>DQ(Y,T,H))})})}all(W={}){return C0.startActiveSpan("drizzle.execute",async($)=>{let X=i5(this.params,W);return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(X)}),this.logger.logQuery(this.queryString,X),C0.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(X)}),this.client.unsafe(this.queryString,X)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class S6 extends k7{constructor(W,$,X,Y={}){super($);this.client=W,this.schema=X,this.options=Y,this.logger=Y.logger??new a5}static[D]="PostgresJsSession";logger;prepareQuery(W,$,X,Y,G){return new _F(this.client,W.sql,W.params,this.logger,$,Y,G)}query(W,$){return this.logger.logQuery(W,$),this.client.unsafe(W,$).values()}queryObjects(W,$){return this.client.unsafe(W,$)}transaction(W,$){return this.client.begin(async(X)=>{let Y=new S6(X,this.dialect,this.schema,this.options),G=new I7(this.dialect,Y,this.schema);if($)await G.setTransaction($);return W(G)})}}class I7 extends j7{constructor(W,$,X,Y=0){super(W,$,X,Y);this.session=$}static[D]="PostgresJsTransaction";transaction(W){return this.session.client.savepoint(($)=>{let X=new S6($,this.dialect,this.schema,this.session.options),Y=new I7(this.dialect,X,this.schema);return W(Y)})}}class wF extends Z6{static[D]="PostgresJsDatabase"}function B4(W,$={}){let X=(z)=>z;for(let z of["1184","1082","1083","1114","1182","1185","1115","1231"])W.options.parsers[z]=X,W.options.serializers[z]=X;W.options.serializers["114"]=X,W.options.serializers["3802"]=X;let Y=new N8({casing:$.casing}),G;if($.logger===!0)G=new t5;else if($.logger!==!1)G=$.logger;let J;if($.schema){let z=hT($.schema,mT);J={fullSchema:$.schema,schema:z.tables,tableNamesMap:z.tableNamesMap}}let H=new S6(W,Y,J,{logger:G}),Q=new wF(Y,H,J);return Q.$client=W,Q}function pY(...W){if(typeof W[0]==="string"){let $=E4(W[0]);return B4($,W[1])}if(OQ(W[0])){let{connection:$,client:X,...Y}=W[0];if(X)return B4(X,Y);if(typeof $==="object"&&$.url!==void 0){let{url:J,...H}=$,Q=E4(J,H);return B4(Q,Y)}let G=E4($);return B4(G,Y)}return B4(W[0],W[1])}((W)=>{function $(X){return B4({options:{parsers:{},serializers:{}}},X)}W.mock=$})(pY||(pY={}));function UF(W,$){if(W instanceof Promise)throw new Error($)}function XK(W,$){let X={},Y=[];for(let G in W){let J=W[G]["~standard"].validate($[G]);if(UF(J,`Validation must be synchronous, but ${G} returned a Promise.`),J.issues){Y.push(...J.issues.map((H)=>({...H,path:[G,...H.path??[]]})));continue}X[G]=J.value}if(Y.length)return{issues:Y};return{value:X}}function P7(W){let $=W.runtimeEnvStrict??W.runtimeEnv??process.env;if(W.emptyStringAsUndefined??!1){for(let[R,Z]of Object.entries($))if(Z==="")delete $[R]}if(!!W.skipValidation)return $;let G=typeof W.client==="object"?W.client:{},J=typeof W.server==="object"?W.server:{},H=typeof W.shared==="object"?W.shared:{},Q=W.isServer??(typeof window==="undefined"||("Deno"in window)),z=Q?{...J,...H,...G}:{...G,...H},T=W.createFinalSchema?.(z,Q)["~standard"].validate($)??XK(z,$);UF(T,"Validation must be synchronous");let F=W.onValidationError??((R)=>{throw console.error("\u274C Invalid environment variables:",R),new Error("Invalid environment variables")}),_=W.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(T.issues)return F(T.issues);let w=(R)=>{if(!W.clientPrefix)return!0;return!R.startsWith(W.clientPrefix)&&!(R in H)},O=(R)=>{return Q||!w(R)},M=(R)=>{return R==="__esModule"||R==="$$typeof"},A=(W.extends??[]).reduce((R,Z)=>{return Object.assign(R,Z)},{}),I=Object.assign(A,T.value);return new Proxy(I,{get(R,Z){if(typeof Z!=="string")return;if(M(Z))return;if(!O(Z))return _(Z);return Reflect.get(R,Z)}})}var g2=(W)=>Array.isArray(W)?W:[W],DF=(W,$)=>{let X=[[],[]];for(let Y of W)if($(Y))X[0].push(Y);else X[1].push(Y);return X},uY=Array,H2=(W,$)=>W.includes($),VF=(W,$=0)=>[...new Array(W)].map((X,Y)=>Y+$),D0=(W,$,X)=>{if(W===void 0)return $===void 0?[]:Array.isArray($)?$:[$];if(X?.prepend)if(Array.isArray($))W.unshift(...$);else W.unshift($);else if(Array.isArray($))W.push(...$);else W.push($);return W},Q2=(W,$)=>{if($===void 0||$===null)return W??[];if(W===void 0||W===null)return g2($);return W.concat($)},MF=(...W)=>W.reduce(Q2,[]),uW=(W,$,X)=>{if(W===void 0)return Array.isArray($)?$:[$];let Y=X?.isEqual??((G,J)=>G===J);for(let G of g2($))if(!W.some((J)=>Y(J,G)))W.push(G);return W},OF=(W,$)=>W.reduce((X,Y)=>{let G=Y[$];return X[G]=D0(X[G],Y),X},{}),z2=(W,$,X)=>W.length===$.length&&W.every(X?.isEqual?(Y,G)=>X.isEqual(Y,$[G]):(Y,G)=>Y===$[G]);var p1=(W,$)=>z1(W)===$,z1=(W)=>{let $=typeof W;return $==="object"?W===null?"null":"object":$==="function"?"object":$},u1={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},KF={...u1,function:"a function"};class AF extends Error{}var K0=(W)=>Z8(W,AF),Z8=(W,$=Error)=>{throw new $(W)};class q6 extends Error{name="ParseError"}var E=(W)=>Z8(W,q6),SW=(W)=>` ${W}`;var Y0=(W,$)=>{let X={},Y=Array.isArray(W),G=!1;for(let[J,H]of Object.entries(W).entries()){let Q=Y?$(J,H[1]):$(...H,J);G||=typeof Q[0]==="number";let z=Array.isArray(Q[0])||Q.length===0?Q:[Q];for(let[T,F]of z)if(typeof T==="object")X[T.group]=D0(X[T.group],F);else X[T]=F}return G?Object.values(X):X};var f7=Object.entries;var T1=(W,$)=>(W in $),R4=(W,$)=>($ in W);class x7{constructor(W){Object.assign(this,W)}}var EF=class{};class C6 extends EF{}var YK=(W,$)=>{let X={},Y={},G;for(G in W)if(G in $)X[G]=W[G];else Y[G]=W[G];return[X,Y]};var LF=(W,$)=>YK(W,$)[1],cW=(W)=>Object.keys(W).length===0,S8=(W)=>[...Object.entries(W),...Object.getOwnPropertySymbols(W).map(($)=>[$,W[$]])],BF=(W,$)=>Object.defineProperties(W,Object.getOwnPropertyDescriptors($)),RF=(W)=>{let $=Object.keys(W).sort(),X={};for(let Y=0;Y<$.length;Y++)X[$[Y]]=W[$[Y]];return X};var $W=SW("represents an uninitialized value"),NF=(W)=>Object.values(W).filter(($)=>{if(typeof $==="number")return!0;return typeof W[$]!=="number"});var b7={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},v7=globalThis.File??Blob,y7={ArrayBuffer,Blob,File:v7,FormData,Headers,Request,Response,URL},GK={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},q8={...b7,...y7,...GK,String,Number,Boolean},k6=(W)=>{let $=Object.getPrototypeOf(W);while($?.constructor&&(!T1($.constructor.name,q8)||!(W instanceof q8[$.constructor.name])))$=Object.getPrototypeOf($);let X=$?.constructor?.name;if(X===void 0||X==="Object")return;return X},j6=(W)=>typeof W==="object"&&W!==null?k6(W)??"object":z1(W);var k0=Array.isArray,JK={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},HK={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},QK={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},ZF={...JK,...HK,...QK},I6=(W)=>{let $=Object(W).name??null;return $&&T1($,q8)&&q8[$]===W?$:null};var h7=(W,$)=>{let X=W.prototype;while(X!==null){if(X===$.prototype)return!0;X=Object.getPrototypeOf(X)}return!1};var SF=(W)=>qF(W,new Map),qF=(W,$)=>{if(typeof W!=="object"||W===null)return W;if($?.has(W))return $.get(W);let X=I6(W.constructor);if(X==="Date")return new Date(W.getTime());if(X&&X!=="Array")return W;let Y=Array.isArray(W)?W.slice():Object.create(Object.getPrototypeOf(W)),G=Object.getOwnPropertyDescriptors(W);if($){$.set(W,Y);for(let J in G){let H=G[J];if("get"in H||"set"in H)continue;H.value=qF(H.value,$)}}return Object.defineProperties(Y,G),Y};var zK=(W)=>{let $=$W;return()=>$===$W?$=W():$},m2=(W)=>typeof W==="function"&&W.length===0;var CF=class extends Function{constructor(...W){let $=W.slice(0,-1),X=W.at(-1);try{super(...$,X)}catch(Y){return K0(`Encountered an unexpected error while compiling your definition:
|
|
84
|
-
Message: ${
|
|
83
|
+
`;await $.execute(M`CREATE SCHEMA IF NOT EXISTS ${M.identifier(G)}`),await $.execute(J);let T=(await $.all(M`select id, hash, created_at from ${M.identifier(G)}.${M.identifier(X)} order by created_at desc limit 1`))[0];await $.transaction(async(Q)=>{for await(let _ of W)if(!T||Number(T.created_at)<_.folderMillis){for(let z of _.sql)await Q.execute(M.raw(z));await Q.execute(M`insert into ${M.identifier(G)}.${M.identifier(X)} ("hash", "created_at") values(${_.hash}, ${_.folderMillis})`)}})}escapeName(W){return`"${W}"`}escapeParam(W){return`$${W+1}`}escapeString(W){return`'${W.replace(/'/g,"''")}'`}buildWithCTE(W){if(!W?.length)return;let $=[M`with `];for(let[Y,X]of W.entries())if($.push(M`${M.identifier(X._.alias)} as (${X._.sql})`),Y<W.length-1)$.push(M`, `);return $.push(M` `),M.join($)}buildDeleteQuery({table:W,where:$,returning:Y,withList:X}){let G=this.buildWithCTE(X),J=Y?M` returning ${this.buildSelection(Y,{isSingleTable:!0})}`:void 0,H=$?M` where ${$}`:void 0;return M`${G}delete from ${W}${H}${J}`}buildUpdateSet(W,$){let Y=W[m.Symbol.Columns],X=Object.keys(Y).filter((J)=>$[J]!==void 0||Y[J]?.onUpdateFn!==void 0),G=X.length;return M.join(X.flatMap((J,H)=>{let T=Y[J],Q=$[J]??M.param(T.onUpdateFn(),T),_=M`${M.identifier(this.casing.getColumnCasing(T))} = ${Q}`;if(H<G-1)return[_,M.raw(", ")];return[_]}))}buildUpdateQuery({table:W,set:$,where:Y,returning:X,withList:G,from:J,joins:H}){let T=this.buildWithCTE(G),Q=W[M1.Symbol.Name],_=W[M1.Symbol.Schema],z=W[M1.Symbol.OriginalName],F=Q===z?void 0:Q,w=M`${_?M`${M.identifier(_)}.`:void 0}${M.identifier(z)}${F&&M` ${M.identifier(F)}`}`,O=this.buildUpdateSet(W,$),V=J&&M.join([M.raw(" from "),this.buildFromTable(J)]),E=this.buildJoins(H),I=X?M` returning ${this.buildSelection(X,{isSingleTable:!J})}`:void 0,j=Y?M` where ${Y}`:void 0;return M`${T}update ${w} set ${O}${V}${E}${j}${I}`}buildSelection(W,{isSingleTable:$=!1}={}){let Y=W.length,X=W.flatMap(({field:G},J)=>{let H=[];if(L(G,u.Aliased)&&G.isSelectionField)H.push(M.identifier(G.fieldAlias));else if(L(G,u.Aliased)||L(G,u)){let T=L(G,u.Aliased)?G.sql:G;if($)H.push(new u(T.queryChunks.map((Q)=>{if(L(Q,b))return M.identifier(this.casing.getColumnCasing(Q));return Q})));else H.push(T);if(L(G,u.Aliased))H.push(M` as ${M.identifier(G.fieldAlias)}`)}else if(L(G,q0))if($)H.push(M.identifier(this.casing.getColumnCasing(G)));else H.push(G);if(J<Y-1)H.push(M`, `);return H});return M.join(X)}buildJoins(W){if(!W||W.length===0)return;let $=[];for(let[Y,X]of W.entries()){if(Y===0)$.push(M` `);let G=X.table,J=X.lateral?M` lateral`:void 0,H=X.on?M` on ${X.on}`:void 0;if(L(G,M1)){let T=G[M1.Symbol.Name],Q=G[M1.Symbol.Schema],_=G[M1.Symbol.OriginalName],z=T===_?void 0:X.alias;$.push(M`${M.raw(X.joinType)} join${J} ${Q?M`${M.identifier(Q)}.`:void 0}${M.identifier(_)}${z&&M` ${M.identifier(z)}`}${H}`)}else if(L(G,g1)){let T=G[f0].name,Q=G[f0].schema,_=G[f0].originalName,z=T===_?void 0:X.alias;$.push(M`${M.raw(X.joinType)} join${J} ${Q?M`${M.identifier(Q)}.`:void 0}${M.identifier(_)}${z&&M` ${M.identifier(z)}`}${H}`)}else $.push(M`${M.raw(X.joinType)} join${J} ${G}${H}`);if(Y<W.length-1)$.push(M` `)}return M.join($)}buildFromTable(W){if(L(W,m)&&W[m.Symbol.IsAlias]){let $=M`${M.identifier(W[m.Symbol.OriginalName])}`;if(W[m.Symbol.Schema])$=M`${M.identifier(W[m.Symbol.Schema])}.${$}`;return M`${$} ${M.identifier(W[m.Symbol.Name])}`}return W}buildSelectQuery({withList:W,fields:$,fieldsFlat:Y,where:X,having:G,table:J,joins:H,orderBy:T,groupBy:Q,limit:_,offset:z,lockingClause:F,distinct:w,setOperators:O}){let V=Y??QW($);for(let U0 of V)if(L(U0.field,q0)&&w1(U0.field.table)!==(L(J,H1)?J._.alias:L(J,R6)?J[f0].name:L(J,u)?void 0:w1(J))&&!((e0)=>H?.some(({alias:V1})=>V1===(e0[m.Symbol.IsAlias]?w1(e0):e0[m.Symbol.BaseName])))(U0.field.table)){let e0=w1(U0.field.table);throw new Error(`Your "${U0.path.join("->")}" field references a column "${e0}"."${U0.field.name}", but the table "${e0}" is not part of the query! Did you forget to join it?`)}let E=!H||H.length===0,I=this.buildWithCTE(W),j;if(w)j=w===!0?M` distinct`:M` distinct on (${M.join(w.on,M`, `)})`;let N=this.buildSelection(V,{isSingleTable:E}),B=this.buildFromTable(J),P=this.buildJoins(H),g=X?M` where ${X}`:void 0,x=G?M` having ${G}`:void 0,p;if(T&&T.length>0)p=M` order by ${M.join(T,M`, `)}`;let w0;if(Q&&Q.length>0)w0=M` group by ${M.join(Q,M`, `)}`;let p0=typeof _==="object"||typeof _==="number"&&_>=0?M` limit ${_}`:void 0,Z=z?M` offset ${z}`:void 0,M0=M.empty();if(F){let U0=M` for ${M.raw(F.strength)}`;if(F.config.of)U0.append(M` of ${M.join(Array.isArray(F.config.of)?F.config.of:[F.config.of],M`, `)}`);if(F.config.noWait)U0.append(M` nowait`);else if(F.config.skipLocked)U0.append(M` skip locked`);M0.append(U0)}let Y0=M`${I}select${j} ${N} from ${B}${P}${g}${w0}${x}${p}${p0}${Z}${M0}`;if(O.length>0)return this.buildSetOperations(Y0,O);return Y0}buildSetOperations(W,$){let[Y,...X]=$;if(!Y)throw new Error("Cannot pass undefined values to any set operator");if(X.length===0)return this.buildSetOperationQuery({leftSelect:W,setOperator:Y});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:W,setOperator:Y}),X)}buildSetOperationQuery({leftSelect:W,setOperator:{type:$,isAll:Y,rightSelect:X,limit:G,orderBy:J,offset:H}}){let T=M`(${W.getSQL()}) `,Q=M`(${X.getSQL()})`,_;if(J&&J.length>0){let O=[];for(let V of J)if(L(V,b))O.push(M.identifier(V.name));else if(L(V,u)){for(let E=0;E<V.queryChunks.length;E++){let I=V.queryChunks[E];if(L(I,b))V.queryChunks[E]=M.identifier(I.name)}O.push(M`${V}`)}else O.push(M`${V}`);_=M` order by ${M.join(O,M`, `)} `}let z=typeof G==="object"||typeof G==="number"&&G>=0?M` limit ${G}`:void 0,F=M.raw(`${$} ${Y?"all ":""}`),w=H?M` offset ${H}`:void 0;return M`${T}${F}${Q}${_}${z}${w}`}buildInsertQuery({table:W,values:$,onConflict:Y,returning:X,withList:G,select:J,overridingSystemValue_:H}){let T=[],Q=W[m.Symbol.Columns],_=Object.entries(Q).filter(([I,j])=>!j.shouldDisableInsert()),z=_.map(([,I])=>M.identifier(this.casing.getColumnCasing(I)));if(J){let I=$;if(L(I,u))T.push(I);else T.push(I.getSQL())}else{let I=$;T.push(M.raw("values "));for(let[j,N]of I.entries()){let B=[];for(let[P,g]of _){let x=N[P];if(x===void 0||L(x,WW)&&x.value===void 0)if(g.defaultFn!==void 0){let p=g.defaultFn(),w0=L(p,u)?p:M.param(p,g);B.push(w0)}else if(!g.default&&g.onUpdateFn!==void 0){let p=g.onUpdateFn(),w0=L(p,u)?p:M.param(p,g);B.push(w0)}else B.push(M`default`);else B.push(x)}if(T.push(B),j<I.length-1)T.push(M`, `)}}let F=this.buildWithCTE(G),w=M.join(T),O=X?M` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,V=Y?M` on conflict ${Y}`:void 0,E=H===!0?M`overriding system value `:void 0;return M`${F}insert into ${W} ${z} ${E}${w}${V}${O}`}buildRefreshMaterializedViewQuery({view:W,concurrently:$,withNoData:Y}){let X=$?M` concurrently`:void 0,G=Y?M` with no data`:void 0;return M`refresh materialized view${X} ${W}${G}`}prepareTyping(W){if(L(W,EX)||L(W,KX))return"json";else if(L(W,AX))return"decimal";else if(L(W,LX))return"time";else if(L(W,ZX)||L(W,NX))return"timestamp";else if(L(W,VX)||L(W,OX))return"date";else if(L(W,RX))return"uuid";else return"none"}sqlToQuery(W,$){return W.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:$})}buildRelationalQueryWithoutPK({fullSchema:W,schema:$,tableNamesMap:Y,table:X,tableConfig:G,queryConfig:J,tableAlias:H,nestedQueryRelation:T,joinOn:Q}){let _=[],z,F,w=[],O,V=[];if(J===!0)_=Object.entries(G.columns).map(([j,N])=>({dbKey:N.name,tsKey:j,field:mW(N,H),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let I=Object.fromEntries(Object.entries(G.columns).map(([x,p])=>[x,mW(p,H)]));if(J.where){let x=typeof J.where==="function"?J.where(I,v_()):J.where;O=x&&w6(x,H)}let j=[],N=[];if(J.columns){let x=!1;for(let[p,w0]of Object.entries(J.columns)){if(w0===void 0)continue;if(p in G.columns){if(!x&&w0===!0)x=!0;N.push(p)}}if(N.length>0)N=x?N.filter((p)=>J.columns?.[p]===!0):Object.keys(G.columns).filter((p)=>!N.includes(p))}else N=Object.keys(G.columns);for(let x of N){let p=G.columns[x];j.push({tsKey:x,value:p})}let B=[];if(J.with)B=Object.entries(J.with).filter((x)=>!!x[1]).map(([x,p])=>({tsKey:x,queryConfig:p,relation:G.relations[x]}));let P;if(J.extras){P=typeof J.extras==="function"?J.extras(I,{sql:M}):J.extras;for(let[x,p]of Object.entries(P))j.push({tsKey:x,value:t5(p,H)})}for(let{tsKey:x,value:p}of j)_.push({dbKey:L(p,u.Aliased)?p.fieldAlias:G.columns[x].name,tsKey:x,field:L(p,q0)?mW(p,H):p,relationTableTsKey:void 0,isJson:!1,selection:[]});let g=typeof J.orderBy==="function"?J.orderBy(I,y_()):J.orderBy??[];if(!Array.isArray(g))g=[g];w=g.map((x)=>{if(L(x,q0))return mW(x,H);return w6(x,H)}),z=J.limit,F=J.offset;for(let{tsKey:x,queryConfig:p,relation:w0}of B){let p0=g_($,Y,w0),Z=L2(w0.referencedTable),M0=Y[Z],Y0=`${H}_${x}`,U0=O6(...p0.fields.map((MW,b2)=>BX(mW(p0.references[b2],Y0),mW(MW,H)))),e0=this.buildRelationalQueryWithoutPK({fullSchema:W,schema:$,tableNamesMap:Y,table:W[M0],tableConfig:$[M0],queryConfig:L(w0,h$)?p===!0?{limit:1}:{...p,limit:1}:p,tableAlias:Y0,joinOn:U0,nestedQueryRelation:w0}),V1=M`${M.identifier(Y0)}.${M.identifier("data")}`.as(x);V.push({on:M`true`,table:new H1(e0.sql,{},Y0),alias:Y0,joinType:"left",lateral:!0}),_.push({dbKey:x,tsKey:x,field:V1,relationTableTsKey:M0,isJson:!0,selection:e0.selection})}}if(_.length===0)throw new DX({message:`No fields selected for table "${G.tsName}" ("${H}")`});let E;if(O=O6(Q,O),T){let I=M`json_build_array(${M.join(_.map(({field:B,tsKey:P,isJson:g})=>g?M`${M.identifier(`${H}_${P}`)}.${M.identifier("data")}`:L(B,u.Aliased)?B.sql:B),M`, `)})`;if(L(T,K6))I=M`coalesce(json_agg(${I}${w.length>0?M` order by ${M.join(w,M`, `)}`:void 0}), '[]'::json)`;let j=[{dbKey:"data",tsKey:"data",field:I.as("data"),isJson:!0,relationTableTsKey:G.tsName,selection:_}];if(z!==void 0||F!==void 0||w.length>0)E=this.buildSelectQuery({table:UX(X,H),fields:{},fieldsFlat:[{path:[],field:M.raw("*")}],where:O,limit:z,offset:F,orderBy:w,setOperators:[]}),O=void 0,z=void 0,F=void 0,w=[];else E=UX(X,H);E=this.buildSelectQuery({table:L(E,M1)?E:new H1(E,{},H),fields:{},fieldsFlat:j.map(({field:B})=>({path:[],field:L(B,q0)?mW(B,H):B})),joins:V,where:O,limit:z,offset:F,orderBy:w,setOperators:[]})}else E=this.buildSelectQuery({table:UX(X,H),fields:{},fieldsFlat:_.map(({field:I})=>({path:[],field:L(I,q0)?mW(I,H):I})),joins:V,where:O,limit:z,offset:F,orderBy:w,setOperators:[]});return{tableTsKey:G.tsName,sql:E,selection:_}}}class Z7{static[D]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class f1{static[D]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(W){if(this.fields=W.fields,this.session=W.session,this.dialect=W.dialect,W.withList)this.withList=W.withList;this.distinct=W.distinct}authToken;setToken(W){return this.authToken=W,this}from(W){let $=!!this.fields,Y=W,X;if(this.fields)X=this.fields;else if(L(Y,H1))X=Object.fromEntries(Object.keys(Y._.selectedFields).map((G)=>[G,Y[G]]));else if(L(Y,R6))X=Y[f0].selectedFields;else if(L(Y,u))X={};else X=VT(Y);return new N7({table:Y,fields:X,isPartialSelect:$,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class Tz extends Z7{static[D]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:W,fields:$,isPartialSelect:Y,session:X,dialect:G,withList:J,distinct:H}){super();this.config={withList:J,table:W,fields:{...$},distinct:H,setOperators:[]},this.isPartialSelect=Y,this.session=X,this.dialect=G,this._={selectedFields:$},this.tableName=J$(W),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(W,$){return(Y,X)=>{let G=this.tableName,J=J$(Y);if(typeof J==="string"&&this.config.joins?.some((H)=>H.alias===J))throw new Error(`Alias "${J}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof G==="string")this.config.fields={[G]:this.config.fields};if(typeof J==="string"&&!L(Y,u)){let H=L(Y,H1)?Y._.selectedFields:L(Y,g1)?Y[f0].selectedFields:Y[m.Symbol.Columns];this.config.fields[J]=H}}if(typeof X==="function")X=X(new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:X,table:Y,joinType:W,alias:J,lateral:$}),typeof J==="string")switch(W){case"left":{this.joinsNotNullableMap[J]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([H])=>[H,!1])),this.joinsNotNullableMap[J]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[J]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([H])=>[H,!1])),this.joinsNotNullableMap[J]=!1;break}}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(W,$){return(Y)=>{let X=typeof Y==="function"?Y(tO()):Y;if(!U6(this.getSelectedFields(),X.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:W,isAll:$,rightSelect:X}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(W){return this.config.setOperators.push(...W),this}where(W){if(typeof W==="function")W=W(new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=W,this}having(W){if(typeof W==="function")W=W(new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=W,this}groupBy(...W){if(typeof W[0]==="function"){let $=W[0](new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray($)?$:[$]}else this.config.groupBy=W;return this}orderBy(...W){if(typeof W[0]==="function"){let $=W[0](new Proxy(this.config.fields,new n0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),Y=Array.isArray($)?$:[$];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=Y;else this.config.orderBy=Y}else{let $=W;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=$;else this.config.orderBy=$}return this}limit(W){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=W;else this.config.limit=W;return this}offset(W){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=W;else this.config.offset=W;return this}for(W,$={}){return this.config.lockingClause={strength:W,config:$},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}as(W){return new Proxy(new H1(this.getSQL(),this.config.fields,W),new n0({alias:W,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new n0({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class N7 extends Tz{static[D]="PgSelect";_prepare(W){let{session:$,config:Y,dialect:X,joinsNotNullableMap:G,authToken:J}=this;if(!$)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return C0.startActiveSpan("drizzle.prepareQuery",()=>{let H=QW(Y.fields),T=$.prepareQuery(X.sqlToQuery(this.getSQL()),H,W,!0);return T.joinsNotNullableMap=G,T.setToken(J)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})}}MT(N7,[I1]);function N8(W,$){return(Y,X,...G)=>{let J=[X,...G].map((H)=>({type:W,isAll:$,rightSelect:H}));for(let H of J)if(!U6(Y.getSelectedFields(),H.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return Y.addSetOperators(J)}}var tO=()=>({union:aO,unionAll:sO,intersect:eO,intersectAll:WK,except:$K,exceptAll:YK}),aO=N8("union",!1),sO=N8("union",!0),eO=N8("intersect",!1),WK=N8("intersect",!0),$K=N8("except",!1),YK=N8("except",!0);class B6{static[D]="PgQueryBuilder";dialect;dialectConfig;constructor(W){this.dialect=L(W,S2)?W:void 0,this.dialectConfig=L(W,S2)?void 0:W}$with=(W,$)=>{let Y=this;return{as:(G)=>{if(typeof G==="function")G=G(Y);return new Proxy(new _6(G.getSQL(),$??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),W,!0),new n0({alias:W,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...W){let $=this;function Y(J){return new f1({fields:J??void 0,session:void 0,dialect:$.getDialect(),withList:W})}function X(J){return new f1({fields:J??void 0,session:void 0,dialect:$.getDialect(),distinct:!0})}function G(J,H){return new f1({fields:H??void 0,session:void 0,dialect:$.getDialect(),distinct:{on:J}})}return{select:Y,selectDistinct:X,selectDistinctOn:G}}select(W){return new f1({fields:W??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(W){return new f1({fields:W??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(W,$){return new f1({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:W}})}getDialect(){if(!this.dialect)this.dialect=new S2(this.dialectConfig);return this.dialect}}class mX{constructor(W,$,Y,X,G){this.table=W,this.session=$,this.dialect=Y,this.withList=X,this.overridingSystemValue_=G}static[D]="PgInsertBuilder";authToken;setToken(W){return this.authToken=W,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(W){if(W=Array.isArray(W)?W:[W],W.length===0)throw new Error("values() must be called with at least one value");let $=W.map((Y)=>{let X={},G=this.table[m.Symbol.Columns];for(let J of Object.keys(Y)){let H=Y[J];X[J]=L(H,u)?H:new WW(H,G[J])}return X});return new R7(this.table,$,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(W){let $=typeof W==="function"?W(new B6):W;if(!L($,u)&&!U6(this.table[FX],$._.selectedFields))throw new Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new R7(this.table,$,this.session,this.dialect,this.withList,!0)}}class R7 extends I1{constructor(W,$,Y,X,G,J,H){super();this.session=Y,this.dialect=X,this.config={table:W,values:$,withList:G,select:J,overridingSystemValue_:H}}static[D]="PgInsert";config;returning(W=this.config.table[m.Symbol.Columns]){return this.config.returningFields=W,this.config.returning=QW(W),this}onConflictDoNothing(W={}){if(W.target===void 0)this.config.onConflict=M`do nothing`;else{let $="";$=Array.isArray(W.target)?W.target.map((X)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(X))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(W.target));let Y=W.where?M` where ${W.where}`:void 0;this.config.onConflict=M`(${M.raw($)})${Y} do nothing`}return this}onConflictDoUpdate(W){if(W.where&&(W.targetWhere||W.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let $=W.where?M` where ${W.where}`:void 0,Y=W.targetWhere?M` where ${W.targetWhere}`:void 0,X=W.setWhere?M` where ${W.setWhere}`:void 0,G=this.dialect.buildUpdateSet(this.config.table,MX(this.config.table,W.set)),J="";return J=Array.isArray(W.target)?W.target.map((H)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(H))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(W.target)),this.config.onConflict=M`(${M.raw(J)})${Y} do update set ${G}${$}${X}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,W,!0)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new n0({alias:w1(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class B7 extends I1{constructor(W,$,Y){super();this.session=$,this.dialect=Y,this.config={view:W}}static[D]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,W,!0)})}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(W,this.authToken)})}}class pX{constructor(W,$,Y,X){this.table=W,this.session=$,this.dialect=Y,this.withList=X}static[D]="PgUpdateBuilder";authToken;setToken(W){return this.authToken=W,this}set(W){return new Qz(this.table,MX(this.table,W),this.session,this.dialect,this.withList).setToken(this.authToken)}}class Qz extends I1{constructor(W,$,Y,X,G){super();this.session=Y,this.dialect=X,this.config={set:$,table:W,withList:G,joins:[]},this.tableName=J$(W),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}static[D]="PgUpdate";config;tableName;joinsNotNullableMap;from(W){let $=W,Y=J$($);if(typeof Y==="string")this.joinsNotNullableMap[Y]=!0;return this.config.from=$,this}getTableLikeFields(W){if(L(W,M1))return W[m.Symbol.Columns];else if(L(W,H1))return W._.selectedFields;return W[f0].selectedFields}createJoin(W){return($,Y)=>{let X=J$($);if(typeof X==="string"&&this.config.joins.some((G)=>G.alias===X))throw new Error(`Alias "${X}" is already used in this query`);if(typeof Y==="function"){let G=this.config.from&&!L(this.config.from,u)?this.getTableLikeFields(this.config.from):void 0;Y=Y(new Proxy(this.config.table[m.Symbol.Columns],new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),G&&new Proxy(G,new n0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:Y,table:$,joinType:W,alias:X}),typeof X==="string")switch(W){case"left":{this.joinsNotNullableMap[X]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([G])=>[G,!1])),this.joinsNotNullableMap[X]=!0;break}case"inner":{this.joinsNotNullableMap[X]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([G])=>[G,!1])),this.joinsNotNullableMap[X]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(W){return this.config.where=W,this}returning(W){if(!W){if(W=Object.assign({},this.config.table[m.Symbol.Columns]),this.config.from){let $=J$(this.config.from);if(typeof $==="string"&&this.config.from&&!L(this.config.from,u)){let Y=this.getTableLikeFields(this.config.from);W[$]=Y}for(let Y of this.config.joins){let X=J$(Y.table);if(typeof X==="string"&&!L(Y.table,u)){let G=this.getTableLikeFields(Y.table);W[X]=G}}}}return this.config.returningFields=W,this.config.returning=QW(W),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:W,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(W){let $=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,W,!0);return $.joinsNotNullableMap=this.joinsNotNullableMap,$}prepare(W){return this._prepare(W)}authToken;setToken(W){return this.authToken=W,this}execute=(W)=>{return this._prepare().execute(W,this.authToken)};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new n0({alias:w1(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class S6 extends u{constructor(W){super(S6.buildEmbeddedCount(W.source,W.filters).queryChunks);this.params=W,this.mapWith(Number),this.session=W.session,this.sql=S6.buildCount(W.source,W.filters)}sql;token;static[D]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(W,$){return M`(select count(*) from ${W}${M.raw(" where ").if($)}${$})`}static buildCount(W,$){return M`select count(*) as count from ${W}${M.raw(" where ").if($)}${$};`}setToken(W){return this.token=W,this}then(W,$){return Promise.resolve(this.session.count(this.sql,this.token)).then(W,$)}catch(W){return this.then(void 0,W)}finally(W){return this.then(($)=>{return W?.(),$},($)=>{throw W?.(),$})}}class q7{constructor(W,$,Y,X,G,J,H){this.fullSchema=W,this.schema=$,this.tableNamesMap=Y,this.table=X,this.tableConfig=G,this.dialect=J,this.session=H}static[D]="PgRelationalQueryBuilder";findMany(W){return new S7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,W?W:{},"many")}findFirst(W){return new S7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,W?{...W,limit:1}:{limit:1},"first")}}class S7 extends I1{constructor(W,$,Y,X,G,J,H,T,Q){super();this.fullSchema=W,this.schema=$,this.tableNamesMap=Y,this.table=X,this.tableConfig=G,this.dialect=J,this.session=H,this.config=T,this.mode=Q}static[D]="PgRelationalQuery";_prepare(W){return C0.startActiveSpan("drizzle.prepareQuery",()=>{let{query:$,builtQuery:Y}=this._toSQL();return this.session.prepareQuery(Y,void 0,W,!0,(X,G)=>{let J=X.map((H)=>qX(this.schema,this.tableConfig,H,$.selection,G));if(this.mode==="first")return J[0];return J})})}prepare(W){return this._prepare(W)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let W=this._getQuery(),$=this.dialect.sqlToQuery(W.sql);return{query:W,builtQuery:$}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(W){return this.authToken=W,this}execute(){return C0.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(void 0,this.authToken)})}}class C7 extends I1{constructor(W,$,Y,X){super();this.execute=W,this.sql=$,this.query=Y,this.mapBatchResult=X}static[D]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(W,$){return $?this.mapBatchResult(W):W}_prepare(){return this}isResponseInArrayMode(){return!1}}class q6{constructor(W,$,Y){if(this.dialect=W,this.session=$,this._=Y?{schema:Y.schema,fullSchema:Y.fullSchema,tableNamesMap:Y.tableNamesMap,session:$}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:$},this.query={},this._.schema)for(let[X,G]of Object.entries(this._.schema))this.query[X]=new q7(Y.fullSchema,this._.schema,this._.tableNamesMap,Y.fullSchema[X],G,W,$)}static[D]="PgDatabase";query;$with=(W,$)=>{let Y=this;return{as:(G)=>{if(typeof G==="function")G=G(new B6(Y.dialect));return new Proxy(new _6(G.getSQL(),$??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),W,!0),new n0({alias:W,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(W,$){return new S6({source:W,filters:$,session:this.session})}with(...W){let $=this;function Y(Q){return new f1({fields:Q??void 0,session:$.session,dialect:$.dialect,withList:W})}function X(Q){return new f1({fields:Q??void 0,session:$.session,dialect:$.dialect,withList:W,distinct:!0})}function G(Q,_){return new f1({fields:_??void 0,session:$.session,dialect:$.dialect,withList:W,distinct:{on:Q}})}function J(Q){return new pX(Q,$.session,$.dialect,W)}function H(Q){return new mX(Q,$.session,$.dialect,W)}function T(Q){return new gX(Q,$.session,$.dialect,W)}return{select:Y,selectDistinct:X,selectDistinctOn:G,update:J,insert:H,delete:T}}select(W){return new f1({fields:W??void 0,session:this.session,dialect:this.dialect})}selectDistinct(W){return new f1({fields:W??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(W,$){return new f1({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:{on:W}})}update(W){return new pX(W,this.session,this.dialect)}insert(W){return new mX(W,this.session,this.dialect)}delete(W){return new gX(W,this.session,this.dialect)}refreshMaterializedView(W){return new B7(W,this.session,this.dialect)}authToken;execute(W){let $=typeof W==="string"?M.raw(W):W.getSQL(),Y=this.dialect.sqlToQuery($),X=this.session.prepareQuery(Y,void 0,void 0,!1);return new C7(()=>X.execute(void 0,this.authToken),$,Y,(G)=>X.mapResult(G,!0))}transaction(W,$){return this.session.transaction(W,$)}}class _z{constructor(W,$){this.unique=W,this.name=$}static[D]="PgIndexBuilderOn";on(...W){return new uX(W.map(($)=>{if(L($,u))return $;$=$;let Y=new T6($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=JSON.parse(JSON.stringify($.defaultConfig)),Y}),this.unique,!1,this.name)}onOnly(...W){return new uX(W.map(($)=>{if(L($,u))return $;$=$;let Y=new T6($.name,!!$.keyAsName,$.columnType,$.indexConfig);return $.indexConfig=$.defaultConfig,Y}),this.unique,!0,this.name)}using(W,...$){return new uX($.map((Y)=>{if(L(Y,u))return Y;Y=Y;let X=new T6(Y.name,!!Y.keyAsName,Y.columnType,Y.indexConfig);return Y.indexConfig=JSON.parse(JSON.stringify(Y.defaultConfig)),X}),this.unique,!0,this.name,W)}}class uX{static[D]="PgIndexBuilder";config;constructor(W,$,Y,X,G="btree"){this.config={name:X,columns:W,unique:$,only:Y,method:G}}concurrently(){return this.config.concurrently=!0,this}with(W){return this.config.with=W,this}where(W){return this.config.where=W,this}build(W){return new zz(this.config,W)}}class zz{static[D]="PgIndex";config;constructor(W,$){this.config={...W,table:$}}}function k7(W){return new _z(!0,W)}class j7{constructor(W){this.query=W}authToken;getQuery(){return this.query}mapResult(W,$){return W}setToken(W){return this.authToken=W,this}static[D]="PgPreparedQuery";joinsNotNullableMap}class I7{constructor(W){this.dialect=W}static[D]="PgSession";execute(W,$){return C0.startActiveSpan("drizzle.operation",()=>{return C0.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(W),void 0,void 0,!1)}).setToken($).execute(void 0,$)})}all(W){return this.prepareQuery(this.dialect.sqlToQuery(W),void 0,void 0,!1).all()}async count(W,$){let Y=await this.execute(W,$);return Number(Y[0].count)}}class P7 extends q6{constructor(W,$,Y,X=0){super(W,$,Y);this.schema=Y,this.nestedIndex=X}static[D]="PgTransaction";rollback(){throw new a5}getTransactionConfigSQL(W){let $=[];if(W.isolationLevel)$.push(`isolation level ${W.isolationLevel}`);if(W.accessMode)$.push(W.accessMode);if(typeof W.deferrable==="boolean")$.push(W.deferrable?"deferrable":"not deferrable");return M.raw($.join(" "))}setTransaction(W){return this.session.execute(M`set transaction ${this.getTransactionConfigSQL(W)}`)}}class Fz extends j7{constructor(W,$,Y,X,G,J,H){super({sql:$,params:Y});this.client=W,this.queryString=$,this.params=Y,this.logger=X,this.fields=G,this._isResponseInArrayMode=J,this.customResultMapper=H}static[D]="PostgresJsPreparedQuery";async execute(W={}){return C0.startActiveSpan("drizzle.execute",async($)=>{let Y=r5(this.params,W);$?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(Y)}),this.logger.logQuery(this.queryString,Y);let{fields:X,queryString:G,client:J,joinsNotNullableMap:H,customResultMapper:T}=this;if(!X&&!T)return C0.startActiveSpan("drizzle.driver.execute",()=>{return J.unsafe(G,Y)});let Q=await C0.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":G,"drizzle.query.params":JSON.stringify(Y)}),J.unsafe(G,Y).values()});return C0.startActiveSpan("drizzle.mapResponse",()=>{return T?T(Q):Q.map((_)=>DT(X,_,H))})})}all(W={}){return C0.startActiveSpan("drizzle.execute",async($)=>{let Y=r5(this.params,W);return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(Y)}),this.logger.logQuery(this.queryString,Y),C0.startActiveSpan("drizzle.driver.execute",()=>{return $?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(Y)}),this.client.unsafe(this.queryString,Y)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class C6 extends I7{constructor(W,$,Y,X={}){super($);this.client=W,this.schema=Y,this.options=X,this.logger=X.logger??new e5}static[D]="PostgresJsSession";logger;prepareQuery(W,$,Y,X,G){return new Fz(this.client,W.sql,W.params,this.logger,$,X,G)}query(W,$){return this.logger.logQuery(W,$),this.client.unsafe(W,$).values()}queryObjects(W,$){return this.client.unsafe(W,$)}transaction(W,$){return this.client.begin(async(Y)=>{let X=new C6(Y,this.dialect,this.schema,this.options),G=new f7(this.dialect,X,this.schema);if($)await G.setTransaction($);return W(G)})}}class f7 extends P7{constructor(W,$,Y,X=0){super(W,$,Y,X);this.session=$}static[D]="PostgresJsTransaction";transaction(W){return this.session.client.savepoint(($)=>{let Y=new C6($,this.dialect,this.schema,this.session.options),X=new f7(this.dialect,Y,this.schema);return W(X)})}}class wz extends q6{static[D]="PostgresJsDatabase"}function R8(W,$={}){let Y=(Q)=>Q;for(let Q of["1184","1082","1083","1114","1182","1185","1115","1231"])W.options.parsers[Q]=Y,W.options.serializers[Q]=Y;W.options.serializers["114"]=Y,W.options.serializers["3802"]=Y;let X=new S2({casing:$.casing}),G;if($.logger===!0)G=new s5;else if($.logger!==!1)G=$.logger;let J;if($.schema){let Q=h_($.schema,m_);J={fullSchema:$.schema,schema:Q.tables,tableNamesMap:Q.tableNamesMap}}let H=new C6(W,X,J,{logger:G}),T=new wz(X,H,J);return T.$client=W,T}function cX(...W){if(typeof W[0]==="string"){let $=Z8(W[0]);return R8($,W[1])}if(OT(W[0])){let{connection:$,client:Y,...X}=W[0];if(Y)return R8(Y,X);if(typeof $==="object"&&$.url!==void 0){let{url:J,...H}=$,T=Z8(J,H);return R8(T,X)}let G=Z8($);return R8(G,X)}return R8(W[0],W[1])}((W)=>{function $(Y){return R8({options:{parsers:{},serializers:{}}},Y)}W.mock=$})(cX||(cX={}));function Uz(W,$){if(W instanceof Promise)throw new Error($)}function XK(W,$){let Y={},X=[];for(let G in W){let J=W[G]["~standard"].validate($[G]);if(Uz(J,`Validation must be synchronous, but ${G} returned a Promise.`),J.issues){X.push(...J.issues.map((H)=>({...H,path:[G,...H.path??[]]})));continue}Y[G]=J.value}if(X.length)return{issues:X};return{value:Y}}function b7(W){let $=W.runtimeEnvStrict??W.runtimeEnv??process.env;if(W.emptyStringAsUndefined??!1){for(let[N,B]of Object.entries($))if(B==="")delete $[N]}if(!!W.skipValidation)return $;let G=typeof W.client==="object"?W.client:{},J=typeof W.server==="object"?W.server:{},H=typeof W.shared==="object"?W.shared:{},T=W.isServer??(typeof window==="undefined"||("Deno"in window)),Q=T?{...J,...H,...G}:{...G,...H},_=W.createFinalSchema?.(Q,T)["~standard"].validate($)??XK(Q,$);Uz(_,"Validation must be synchronous");let z=W.onValidationError??((N)=>{throw console.error("\u274C Invalid environment variables:",N),new Error("Invalid environment variables")}),F=W.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(_.issues)return z(_.issues);let w=(N)=>{if(!W.clientPrefix)return!0;return!N.startsWith(W.clientPrefix)&&!(N in H)},O=(N)=>{return T||!w(N)},V=(N)=>{return N==="__esModule"||N==="$$typeof"},E=(W.extends??[]).reduce((N,B)=>{return Object.assign(N,B)},{}),I=Object.assign(E,_.value);return new Proxy(I,{get(N,B){if(typeof B!=="string")return;if(V(B))return;if(!O(B))return F(B);return Reflect.get(N,B)}})}var m$=(W)=>Array.isArray(W)?W:[W],Dz=(W,$)=>{let Y=[[],[]];for(let X of W)if($(X))Y[0].push(X);else Y[1].push(X);return Y},dX=Array,T$=(W,$)=>W.includes($),Mz=(W,$=0)=>[...new Array(W)].map((Y,X)=>X+$),D0=(W,$,Y)=>{if(W===void 0)return $===void 0?[]:Array.isArray($)?$:[$];if(Y?.prepend)if(Array.isArray($))W.unshift(...$);else W.unshift($);else if(Array.isArray($))W.push(...$);else W.push($);return W},Q$=(W,$)=>{if($===void 0||$===null)return W??[];if(W===void 0||W===null)return m$($);return W.concat($)},Vz=(...W)=>W.reduce(Q$,[]),uW=(W,$,Y)=>{if(W===void 0)return Array.isArray($)?$:[$];let X=Y?.isEqual??((G,J)=>G===J);for(let G of m$($))if(!W.some((J)=>X(J,G)))W.push(G);return W},Oz=(W,$)=>W.reduce((Y,X)=>{let G=X[$];return Y[G]=D0(Y[G],X),Y},{}),_$=(W,$,Y)=>W.length===$.length&&W.every(Y?.isEqual?(X,G)=>Y.isEqual(X,$[G]):(X,G)=>X===$[G]);var p1=(W,$)=>Q1(W)===$,Q1=(W)=>{let $=typeof W;return $==="object"?W===null?"null":"object":$==="function"?"object":$},u1={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},Kz={...u1,function:"a function"};class Ez extends Error{}var E0=(W)=>q2(W,Ez),q2=(W,$=Error)=>{throw new $(W)};class k6 extends Error{name="ParseError"}var A=(W)=>q2(W,k6),SW=(W)=>` ${W}`;var X0=(W,$)=>{let Y={},X=Array.isArray(W),G=!1;for(let[J,H]of Object.entries(W).entries()){let T=X?$(J,H[1]):$(...H,J);G||=typeof T[0]==="number";let Q=Array.isArray(T[0])||T.length===0?T:[T];for(let[_,z]of Q)if(typeof _==="object")Y[_.group]=D0(Y[_.group],z);else Y[_]=z}return G?Object.values(Y):Y};var x7=Object.entries;var _1=(W,$)=>(W in $),B8=(W,$)=>($ in W);class v7{constructor(W){Object.assign(this,W)}}var Az=class{};class j6 extends Az{}var GK=(W,$)=>{let Y={},X={},G;for(G in W)if(G in $)Y[G]=W[G];else X[G]=W[G];return[Y,X]};var Lz=(W,$)=>GK(W,$)[1],cW=(W)=>Object.keys(W).length===0,C2=(W)=>[...Object.entries(W),...Object.getOwnPropertySymbols(W).map(($)=>[$,W[$]])],Zz=(W,$)=>Object.defineProperties(W,Object.getOwnPropertyDescriptors($)),Nz=(W)=>{let $=Object.keys(W).sort(),Y={};for(let X=0;X<$.length;X++)Y[$[X]]=W[$[X]];return Y};var YW=SW("represents an uninitialized value"),Rz=(W)=>Object.values(W).filter(($)=>{if(typeof $==="number")return!0;return typeof W[$]!=="number"});var y7={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},h7=globalThis.File??Blob,g7={ArrayBuffer,Blob,File:h7,FormData,Headers,Request,Response,URL},JK={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},k2={...y7,...g7,...JK,String,Number,Boolean},I6=(W)=>{let $=Object.getPrototypeOf(W);while($?.constructor&&(!_1($.constructor.name,k2)||!(W instanceof k2[$.constructor.name])))$=Object.getPrototypeOf($);let Y=$?.constructor?.name;if(Y===void 0||Y==="Object")return;return Y},P6=(W)=>typeof W==="object"&&W!==null?I6(W)??"object":Q1(W);var k0=Array.isArray,HK={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},TK={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},QK={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},Bz={...HK,...TK,...QK},f6=(W)=>{let $=Object(W).name??null;return $&&_1($,k2)&&k2[$]===W?$:null};var m7=(W,$)=>{let Y=W.prototype;while(Y!==null){if(Y===$.prototype)return!0;Y=Object.getPrototypeOf(Y)}return!1};var Sz=(W)=>qz(W,new Map),qz=(W,$)=>{if(typeof W!=="object"||W===null)return W;if($?.has(W))return $.get(W);let Y=f6(W.constructor);if(Y==="Date")return new Date(W.getTime());if(Y&&Y!=="Array")return W;let X=Array.isArray(W)?W.slice():Object.create(Object.getPrototypeOf(W)),G=Object.getOwnPropertyDescriptors(W);if($){$.set(W,X);for(let J in G){let H=G[J];if("get"in H||"set"in H)continue;H.value=qz(H.value,$)}}return Object.defineProperties(X,G),X};var _K=(W)=>{let $=YW;return()=>$===YW?$=W():$},p$=(W)=>typeof W==="function"&&W.length===0;var Cz=class extends Function{constructor(...W){let $=W.slice(0,-1),Y=W.at(-1);try{super(...$,Y)}catch(X){return E0(`Encountered an unexpected error while compiling your definition:
|
|
84
|
+
Message: ${X}
|
|
85
85
|
Source: (${W.slice(0,-1)}) => {
|
|
86
86
|
${W.at(-1)}
|
|
87
|
-
}`)}}};class qW{constructor(W,...[$]){return Object.assign(Object.setPrototypeOf(W.bind($?.bind??this),this.constructor.prototype),$?.attach)}}var
|
|
88
|
-
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},FK=globalThis.process?.env??{},
|
|
89
|
-
`+
|
|
90
|
-
${
|
|
91
|
-
${
|
|
87
|
+
}`)}}};class qW{constructor(W,...[$]){return Object.assign(Object.setPrototypeOf(W.bind($?.bind??this),this.constructor.prototype),$?.attach)}}var kz=_K(()=>{try{return new Function("return false")()}catch{return!0}});var qu=SW("brand");var jz=SW("arkInferred");var ju=SW("args");class R1{constructor(){}}var zK=()=>{try{return((new Error().stack?.split(`
|
|
88
|
+
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},FK=globalThis.process?.env??{},Iz={fileName:zK,env:FK};var Pz=(W)=>W[0].toUpperCase()+W.slice(1);var p7=(W)=>new RegExp(wK(W),typeof W==="string"?"":W.flags);var wK=(W)=>{return`^(?:${typeof W==="string"?W:W.source})$`};var z$={negativeLookahead:(W)=>`(?!${W})`,nonCapturingGroup:(W)=>`(?:${W})`},b6="\\",u$={" ":1,"\n":1,"\t":1};var UK=/^-0\.?0*$/.source,bz=/[1-9]\d*/.source,DK=/\.\d+/.source,MK=/\.\d*[1-9]/.source,xz=(W)=>p7(z$.negativeLookahead(UK)+z$.nonCapturingGroup("-?"+z$.nonCapturingGroup(z$.nonCapturingGroup("0|"+bz)+z$.nonCapturingGroup(W.decimalPattern)+"?")+(W.allowDecimalOnly?"|"+W.decimalPattern:"")+"?")),fz=xz({decimalPattern:MK,allowDecimalOnly:!1}),VK=fz.test.bind(fz),lX=xz({decimalPattern:DK,allowDecimalOnly:!0}),yu=lX.test.bind(lX),OK=/^-?\d*\.?\d*$/,KK=(W)=>W.length!==0&&OK.test(W),x6=p7(z$.negativeLookahead("^-0$")+"-?"+z$.nonCapturingGroup(z$.nonCapturingGroup("0|"+bz))),EK=x6.test.bind(x6),u7=/^-?\d+$/,AK=u7.test.bind(u7),vz={number:"a number",bigint:"a bigint",integer:"an integer"},yz=(W,$)=>`'${W}' was parsed as ${vz[$]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,LK=(W,$)=>$==="number"?VK(W):EK(W),ZK=(W,$)=>$==="number"?Number(W):Number.parseInt(W),NK=(W,$)=>$==="number"?KK(W):AK(W),hz=(W,$)=>c7(W,"number",$),gz=(W,$)=>c7(W,"number",{...$,strict:!0}),mz=(W,$)=>c7(W,"integer",$),c7=(W,$,Y)=>{let X=ZK(W,$);if(!Number.isNaN(X)){if(NK(W,$)){if(Y?.strict)return LK(W,$)?X:A(yz(W,$));return X}}return Y?.errorOnFail?A(Y?.errorOnFail===!0?`Failed to parse ${vz[$]} from '${W}'`:Y?.errorOnFail):void 0},pz=(W)=>{if(W[W.length-1]!=="n")return;let $=W.slice(0,-1),Y;try{Y=BigInt($)}catch{return}if(x6.test($))return Y;if(u7.test($))return A(yz(W,"bigint"))};var RK="0.46.0",BK={version:RK,filename:Iz.fileName(),FileConstructor:h7},j2=BK,uz=new Map,d7=Object.create(null),v6=(W)=>{let $=uz.get(W);if($)return $;let Y=SK(W);if(d7[Y])Y=`${Y}${d7[Y]++}`;else d7[Y]=1;return j2[Y]=W,uz.set(W,Y),Y},c$=(W)=>/^[$A-Z_a-z][\w$]*$/.test(W),SK=(W)=>{switch(typeof W){case"object":{if(W===null)break;let $=I6(W)??"object";return $[0].toLowerCase()+$.slice(1)}case"function":return c$(W.name)?W.name:"fn";case"symbol":return W.description&&c$(W.description)?W.description:"symbol"}return E0(`Unexpected attempt to register serializable value of type ${Q1(W)}`)};var y6=(W)=>typeof W==="string"?JSON.stringify(W):typeof W==="bigint"?`${W}n`:`${W}`;var cz=(W,$={})=>h6(W,{onUndefined:"$ark.undefined",onBigInt:(Y)=>`$ark.bigint-${Y}`,...$},[]);var G0=(W,$)=>{switch(Q1(W)){case"object":let Y=W,X=Y.constructor.name;return X==="Object"||X==="Array"?$?.quoteKeys===!1?oX(Y,$?.indent??0,""):JSON.stringify(h6(Y,S8,[]),null,$?.indent):oX(Y,$?.indent??0,"");case"symbol":return S8.onSymbol(W);default:return y6(W)}},oX=(W,$,Y)=>{if(typeof W==="function")return S8.onFunction(W);if(typeof W!=="object"||W===null)return y6(W);let X=Y+" ".repeat($);if(Array.isArray(W)){if(W.length===0)return"[]";let J=W.map((H)=>oX(H,$,X)).join(`,
|
|
89
|
+
`+X);return $?`[
|
|
90
|
+
${X}${J}
|
|
91
|
+
${Y}]`:`[${J}]`}let G=W.constructor.name;if(G==="Object"){let J=C2(W).map(([H,T])=>{let Q=typeof H==="symbol"?S8.onSymbol(H):c$(H)?H:JSON.stringify(H),_=oX(T,$,X);return`${X}${Q}: ${_}`});if(J.length===0)return"{}";return $?`{
|
|
92
92
|
${J.join(`,
|
|
93
93
|
`)}
|
|
94
|
-
${
|
|
95
|
-
`,this}const(W,$){return this.line(`const ${W} = ${$}`),this}let(W,$){return this.line(`let ${W} = ${$}`)}set(W,$){return this.line(`${W} = ${$}`)}if(W,$){return this.block(`if (${W})`,$)}elseIf(W,$){return this.block(`else if (${W})`,$)}else(W){return this.block("else",W)}for(W,$,
|
|
96
|
-
`).map((
|
|
97
|
-
`):this.body} }`}compile(){return new
|
|
98
|
-
`)}_add(W){let $=this.byPath[W.propString];if($){if($.hasCode("union")&&$.errors.length===0)return;let
|
|
99
|
-
`+W.map(($)=>` \u2022 ${
|
|
100
|
-
`));Object.defineProperty(this,"arkErrors",{value:W,enumerable:!1})}}var
|
|
94
|
+
${Y}}`:`{${J.join(", ")}}`}if(W instanceof Date)return I2(W);if("expression"in W&&typeof W.expression==="string")return W.expression;return G},S8={onCycle:()=>"(cycle)",onSymbol:(W)=>`Symbol(${v6(W)})`,onFunction:(W)=>`Function(${v6(W)})`},h6=(W,$,Y)=>{switch(Q1(W)){case"object":{let X=W;if("toJSON"in X&&typeof X.toJSON==="function")return X.toJSON();if(typeof X==="function")return S8.onFunction(X);if(Y.includes(X))return"(cycle)";let G=[...Y,X];if(Array.isArray(X))return X.map((H)=>h6(H,$,G));if(X instanceof Date)return X.toDateString();let J={};for(let H in X)J[H]=h6(X[H],$,G);for(let H of Object.getOwnPropertySymbols(X))J[$.onSymbol?.(H)??H.toString()]=h6(X[H],$,G);return J}case"symbol":return S8.onSymbol(W);case"bigint":return $.onBigInt?.(W)??`${W}n`;case"undefined":return $.onUndefined??"undefined";case"string":return W.replaceAll("\\","\\\\");default:return W}},I2=(W)=>{let $=W.getFullYear(),Y=W.getMonth(),X=W.getDate(),G=W.getHours(),J=W.getMinutes(),H=W.getSeconds(),T=W.getMilliseconds();if(Y===0&&X===1&&G===0&&J===0&&H===0&&T===0)return`${$}`;let Q=`${qK[Y]} ${X}, ${$}`;if(G===0&&J===0&&H===0&&T===0)return Q;let _=W.toLocaleTimeString(),z=_.endsWith(" AM")||_.endsWith(" PM")?_.slice(-3):"";if(z)_=_.slice(0,-z.length);if(T)_+=`.${kK(T,3)}`;else if(CK.test(_))_=_.slice(0,-3);return`${_+z}, ${Q}`},qK=["January","February","March","April","May","June","July","August","September","October","November","December"],CK=/:\d\d:00$/,kK=(W,$)=>String(W).padStart($,"0");var dz=(W,$,...[Y])=>{let X=Y?.stringifySymbol??G0,G=W;switch(typeof $){case"string":G=c$($)?W===""?$:`${W}.${$}`:`${W}[${JSON.stringify($)}]`;break;case"number":G=`${W}[${$}]`;break;case"symbol":G=`${W}[${X($)}]`;break;default:if(Y?.stringifyNonKey)G=`${W}[${Y.stringifyNonKey($)}]`;else A(`${G0($)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return G},F$=(W,...$)=>W.reduce((Y,X)=>dz(Y,X,...$),"");class g6 extends dX{cache={};constructor(...W){super();this.push(...W)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let W=0;W<this.length;W++)this.cache.json.push(typeof this[W]==="symbol"?G0(this[W]):this[W]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=F$(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let W="",$=[W];for(let Y of this)W=dz(W,Y),$.push(W);return this.cache.stringifyAncestors=$}}class l7{chars;i;def;constructor(W){this.def=W,this.chars=[...W],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(W){let $="";while(this.lookahead){if(W(this,$))if($[$.length-1]===b6)$=$.slice(0,-1);else break;$+=this.shift()}return $}shiftUntilLookahead(W){return typeof W==="string"?this.shiftUntil(($)=>$.lookahead===W):this.shiftUntil(($)=>($.lookahead in W))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in u$))}jumpToIndex(W){this.i=W<0?this.length+W:W}jumpForward(W){this.i+=W}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(W,$){return this.chars.slice(W,$).join("")}lookaheadIs(W){return this.lookahead===W}lookaheadIsIn(W){return this.lookahead in W}}var Qc=SW("implementedTraits");var o7="$ark",jK=2;while(o7 in globalThis)o7=`$ark${jK++}`;var lz=o7;globalThis[lz]=j2;var R=j2,IK=(W)=>`${lz}.${W}`,d0=(W)=>IK(v6(W));class iX extends j6{argNames;body="";constructor(...W){super();this.argNames=W;for(let $ of W){if($ in this)throw new Error(`Arg name '${$}' would overwrite an existing property on FunctionBody`);this[$]=$}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(W,$=!1){return i7(W,$)}index(W,$=!1){return oz(`${W}`,$)}line(W){return this.body+=`${" ".repeat(this.indentation)}${W}
|
|
95
|
+
`,this}const(W,$){return this.line(`const ${W} = ${$}`),this}let(W,$){return this.line(`let ${W} = ${$}`)}set(W,$){return this.line(`${W} = ${$}`)}if(W,$){return this.block(`if (${W})`,$)}elseIf(W,$){return this.block(`else if (${W})`,$)}else(W){return this.block("else",W)}for(W,$,Y=0){return this.block(`for (let i = ${Y}; ${W}; i++)`,$)}forIn(W,$){return this.block(`for (const k in ${W})`,$)}block(W,$,Y=""){return this.line(`${W} {`),this.indent(),$(this),this.dedent(),this.line(`}${Y}`)}return(W=""){return this.line(`return ${W}`)}write(W="anonymous",$=0){return`${W}(${this.argNames.join(", ")}) { ${$?this.body.split(`
|
|
96
|
+
`).map((Y)=>" ".repeat($)+`${Y}`).join(`
|
|
97
|
+
`):this.body} }`}compile(){return new Cz(...this.argNames,this.body)}}var w$=(W)=>p1(W,"object")||typeof W==="symbol"?d0(W):y6(W),i7=(W,$=!1)=>{if(typeof W==="string"&&c$(W))return`${$?"?":""}.${W}`;return oz(PK(W),$)},PK=(W)=>typeof W==="symbol"?d0(W):JSON.stringify(W),oz=(W,$=!1)=>`${$?"?.":""}[${W}]`;class m6 extends iX{traversalKind;optimistic;constructor(W){super("data","ctx");this.traversalKind=W.kind,this.optimistic=W.optimistic===!0}invoke(W,$){let Y=$?.arg??this.data,X=typeof W==="string"?!0:this.requiresContextFor(W),G=typeof W==="string"?W:W.id;if(X)return`${this.referenceToId(G,$)}(${Y}, ${this.ctx})`;return`${this.referenceToId(G,$)}(${Y})`}referenceToId(W,$){let Y=$?.kind??this.traversalKind,X=`this.${W}${Y}`;return $?.bind?`${X}.bind(${$?.bind})`:X}requiresContextFor(W){return this.traversalKind==="Apply"||W.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(W,$,Y){let X=this.requiresContextFor(Y);if(X)this.line(`${this.ctx}.path.push(${W})`);if(this.check(Y,{arg:$}),X)this.line(`${this.ctx}.path.pop()`);return this}check(W,$){return this.traversalKind==="Allows"?this.if(`!${this.invoke(W,$)}`,()=>this.return(!1)):this.line(this.invoke(W,$))}}var nX=(W)=>X0(W,($,Y)=>[$,k0(Y)?[...Y]:Y]),b1=SW("arkKind"),d=(W,$)=>W?.[b1]===$,b0=(W)=>d(W,"root")||d(W,"constraint");var iz=["unit","proto","domain"],q8=["required","optional","index","sequence"],n7=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],rX=[...n7,...q8,"structure","predicate"],C8=["alias","union","morph","unit","intersection","proto","domain"],fK=[...C8,...rX],tX=X0(rX,(W,$)=>[$,1]),nz=X0([...q8,"undeclared"],(W,$)=>[$,1]),rz=X0(fK,(W,$)=>[$,W]),k8=(W)=>typeof W==="string"&&(W in rz);var j8=(W)=>rz[W],aX=(W)=>C8.slice(j8(W)+1),lc=[...aX("union"),"alias"],oc=[...aX("morph"),"alias"],FW=(W)=>{if(typeof W==="string"||typeof W==="boolean"||W===null)return W;if(typeof W==="number"){if(Number.isNaN(W))return"NaN";if(W===Number.POSITIVE_INFINITY)return"Infinity";if(W===Number.NEGATIVE_INFINITY)return"-Infinity";return W}return w$(W)},d$=(W)=>{let $="{ ";for(let[Y,X]of Object.entries(W))$+=`${Y}: ${w$(X)}, `;return $+" }"},J0=(W)=>{let $=W;if($.hasAssociatedError)$.defaults.expected??=(Y)=>("description"in Y)?Y.description:$.defaults.description(Y),$.defaults.actual??=(Y)=>G0(Y),$.defaults.problem??=(Y)=>`must be ${Y.expected}${Y.actual?` (was ${Y.actual})`:""}`,$.defaults.message??=(Y)=>{if(Y.path.length===0)return Y.problem;let X=`${Y.propString} ${Y.problem}`;if(X[0]==="[")return`value at ${X}`;return X};return $};class tz extends Error{name="ToJsonSchemaError";code;context;constructor(W,$){super(G0($,{quoteKeys:!1,indent:4}));this.code=W,this.context=$}hasCode(W){return this.code===W}}var bK={dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(W)=>h0.throw("arrayObject",W),arrayPostfix:(W)=>h0.throw("arrayPostfix",W),defaultValue:(W)=>h0.throw("defaultValue",W),domain:(W)=>h0.throw("domain",W),morph:(W)=>h0.throw("morph",W),patternIntersection:(W)=>h0.throw("patternIntersection",W),predicate:(W)=>h0.throw("predicate",W),proto:(W)=>h0.throw("proto",W),symbolKey:(W)=>h0.throw("symbolKey",W),unit:(W)=>h0.throw("unit",W),date:(W)=>h0.throw("date",W)}},h0={Error:tz,throw:(...W)=>{throw new h0.Error(...W)},throwInternalOperandError:(W,$)=>E0(`Unexpected JSON Schema input for ${W}: ${G0($)}`),defaultConfig:bK};R.config??={};var p6=(W,$)=>{if(!$)return W;let Y={...W},X;for(X in $){let G={...W.keywords};if(X==="keywords"){for(let J in $[X]){let H=$.keywords[J];if(H===void 0)continue;G[J]=typeof H==="string"?{description:H}:H}Y.keywords=G}else if(X==="toJsonSchema")Y[X]=r7(W.toJsonSchema,$.toJsonSchema);else if(k8(X))Y[X]={...W[X],...$[X]};else Y[X]=$[X]}return Y},r7=(W,$)=>{if(!W)return $??{};if(!$)return W;let Y={...W},X;for(X in $)if(X==="fallback")Y.fallback=xK(W.fallback,$.fallback);else Y[X]=$[X];return Y},xK=(W,$)=>{W=az(W),$=az($);let Y={},X;for(X in h0.defaultConfig.fallback)Y[X]=$[X]??$.default??W[X]??W.default??h0.defaultConfig.fallback[X];return Y},az=(W)=>typeof W==="function"?{default:W}:W??{};class l$ extends j6{[b1]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:W,relativePath:$,...Y},X){super();this.input=Y,this.ctx=X,Zz(this,Y);let G=X.data;if(Y.code==="union")Y.errors=Y.errors.flatMap((H)=>{let T=H.hasCode("union")?H.errors:[H];if(!W&&!$)return T;return T.map((Q)=>Q.transform((_)=>({..._,path:Vz(W,_.path,$)})))});this.nodeConfig=X.config[this.code];let J=[...Y.path??X.path];if($)J.push(...$);if(W)J.unshift(...W);this.path=new g6(...J),this.data="data"in Y?Y.data:G}transform(W){return new l$(W({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(W){return this.code===W}get propString(){return F$(this.path)}get expected(){if(this.input.expected)return this.input.expected;let W=this.meta?.expected??this.nodeConfig.expected;return typeof W==="function"?W(this.input):W}get actual(){if(this.input.actual)return this.input.actual;let W=this.meta?.actual??this.nodeConfig.actual;return typeof W==="function"?W(this.data):W}get problem(){if(this.input.problem)return this.input.problem;let W=this.meta?.problem??this.nodeConfig.problem;return typeof W==="function"?W(this):W}get message(){if(this.input.message)return this.input.message;let W=this.meta?.message??this.nodeConfig.message;return typeof W==="function"?W(this):W}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}}class c1 extends dX{[b1]="errors";ctx;constructor(W){super();this.ctx=W}byPath=Object.create(null);get flatByPath(){return X0(this.byPath,(W,$)=>[W,$.flat])}get flatProblemsByPath(){return X0(this.byPath,(W,$)=>[W,$.flat.map((Y)=>Y.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new t7(this)}add(W){if(this.includes(W))return;this._add(W)}transform(W){let $=new c1(this.ctx);for(let Y of this)$.add(W(Y));return $}merge(W){for(let $ of W){if(this.includes($))continue;this._add(new l$({...$,path:[...this.ctx.path,...$.path]},this.ctx))}}affectsPath(W){if(this.length===0)return!1;return W.stringifyAncestors().some(($)=>($ in this.byPath))||W.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((W)=>W.toJSON())]}toString(){return this.join(`
|
|
98
|
+
`)}_add(W){let $=this.byPath[W.propString];if($){if($.hasCode("union")&&$.errors.length===0)return;let Y=W.hasCode("union")&&W.errors.length===0?W:new l$({code:"intersection",errors:$.hasCode("intersection")?[...$.errors,W]:[$,W]},this.ctx),X=this.indexOf($);this.mutable[X===-1?this.length:X]=Y,this.byPath[W.propString]=Y,this.addAncestorPaths(W)}else this.byPath[W.propString]=W,this.addAncestorPaths(W),this.mutable.push(W);this.count++}addAncestorPaths(W){for(let $ of W.path.stringifyAncestors())this.byAncestorPath[$]=D0(this.byAncestorPath[$],W)}}class t7 extends Error{name="TraversalError";constructor(W){if(W.length===1)super(W.summary);else super(`
|
|
99
|
+
`+W.map(($)=>` \u2022 ${vK($)}`).join(`
|
|
100
|
+
`));Object.defineProperty(this,"arkErrors",{value:W,enumerable:!1})}}var vK=(W)=>W.toString().split(`
|
|
101
101
|
`).join(`
|
|
102
|
-
`);class CW{path=[];errors=new c1(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(W,$){this.root=W,this.config=$}get data(){let W=this.root;for(let $ of this.path)W=W?.[$];return W}get propString(){return F2(this.path)}reject(W){return this.error(W),!1}mustBe(W){return this.error(W),!1}error(W){let $=typeof W==="object"?W.code?W:{...W,code:"predicate"}:{code:"predicate",expected:W};return this.errorFromContext($)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches.at(-1)}queueMorphs(W){let $={path:new y6(...this.path),morphs:W};if(this.currentBranch)this.currentBranch.queuedMorphs.push($);else this.queuedMorphs.push($)}finalize(W){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return W?W(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(W){return this.errorFromContext(W)}errorFromContext(W){let $=new d2(W,this);if(this.currentBranch)this.currentBranch.error=$;else this.errors.add($);return $}applyQueuedMorphs(){while(this.queuedMorphs.length){let W=this.queuedMorphs;this.queuedMorphs=[];for(let{path:$,morphs:X}of W){if(this.errors.affectsPath($))continue;this.applyMorphsAtPath($,X)}}}applyMorphsAtPath(W,$){let X=W.at(-1),Y;if(X!==void 0){Y=this.root;for(let G=0;G<W.length-1;G++)Y=Y[W[G]]}this.path=[...W];for(let G of $){let J=x0(G),H=G(Y===void 0?this.root:Y[X],this);if(H instanceof d2){this.errors.add(H);break}if(H instanceof c1){if(!J)this.errors.merge(H);break}if(Y===void 0)this.root=H;else Y[X]=H;this.applyQueuedMorphs()}}}var d1=(W,$,X)=>{if(!X)return $();X.path.push(W);let Y=$();return X.path.pop(),Y};class p6 extends qW{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(W,$){super((Y,G,J=this.onFail)=>{if(G)return this.traverseApply(Y,G),G.hasError()?G.errors:G.data;return this.rootApply(Y,J)},{attach:W});this.attachments=W,this.$=$,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((Y,G)=>gK(Y,G.shallowReferences),[this]);let X=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let Y=0;Y<this.children.length;Y++){if(this.includesTransform||=this.children[Y].includesTransform,this.includesContextualPredicate||=this.children[Y].includesContextualPredicate,this.isCyclic||=this.children[Y].isCyclic,!X){let G=this.children[Y].flatRefs;for(let J=0;J<G.length;J++){let H=G[J];if(!this.flatRefs.some((Q)=>eF(Q,H))){this.flatRefs.push(H);for(let Q of H.node.branches)if(Q.hasKind("morph")||Q.hasKind("intersection")&&Q.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:H.path,propString:H.propString,node:Q})}}}Object.assign(this.referencesById,this.children[Y].referencesById)}this.flatRefs.sort((Y,G)=>Y.path.length>G.path.length?1:Y.path.length<G.path.length?-1:Y.propString>G.propString?1:Y.propString<G.propString?-1:Y.node.expression<G.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((Y)=>Y.length===1||Y.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((Y)=>Y.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(Y)=>this.traverseAllows(Y,new CW(Y,this.$.resolvedConfig)):(Y)=>this.traverseAllows(Y)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return($,X)=>{if(this.allows($))return $;let Y=new CW($,this.$.resolvedConfig);return this.traverseApply($,Y),Y.finalize(X)};case"contextual":return($,X)=>{let Y=new CW($,this.$.resolvedConfig);return this.traverseApply($,Y),Y.finalize(X)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let W=this.$.resolvedConfig.clone;return($,X)=>{if(this.allows($))return this.contextFreeMorph(W&&(typeof $==="object"&&$!==null||typeof $==="function")?W($):$);let Y=new CW($,this.$.resolvedConfig);return this.traverseApply($,Y),Y.finalize(X)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,K0(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=hK(this.metaJson);cacheGetter(W,$){return Object.defineProperty(this,W,{value:$}),$}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=C4(this.kind);precompilation;assert=(W,$)=>this(W,$,(X)=>X.throw());traverse(W,$){return this(W,$,null)}get in(){return this.cacheGetter("in",this.getIo("in"))}get out(){return this.cacheGetter("out",this.getIo("out"))}getIo(W){if(!this.includesTransform)return this;let $={};for(let[X,Y]of this.innerEntries){let G=this.impl.keys[X];if(G.reduceIo)G.reduceIo(W,$,Y);else if(G.child){let J=Y;$[X]=k0(J)?J.map((H)=>H[W]):J[W]}else $[X]=Y}return this.$.node(this.kind,$)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(W){let $=x0(W)?W:this.$.parseDefinition(W);return this.innerHash===$.innerHash}ifEquals(W){return this.equals(W)?this:void 0}hasKind(W){return this.kind===W}assertHasKind(W){if(this.kind!==W)Z8(`${this.kind} node was not of asserted kind ${W}`);return this}hasKindIn(...W){return W.includes(this.kind)}assertHasKindIn(...W){if(!H2(W,this.kind))Z8(`${this.kind} node was not one of asserted kinds ${W}`);return this}isBasis(){return H2(iF,this.kind)}isConstraint(){return H2(iY,this.kind)}isStructural(){return H2(Z4,this.kind)}isRefinement(){return H2(o7,this.kind)}isRoot(){return H2(S4,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(W){return this.hasKind("unit")&&this.allows(W)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(W){let $=m6.normalize(W);return this._select($)}_select(W){let $=m6.applyBoundary[W.boundary??"references"](this);if(W.kind)$=$.filter((X)=>X.kind===W.kind);if(W.where)$=$.filter(W.where);return m6.applyMethod[W.method??"filter"]($,this,W)}transform(W,$){return this._transform(W,this._createTransformContext($))}_createTransformContext(W){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:W?.prereduced??!1},undeclaredKeyHandling:void 0,...W}}_transform(W,$){let X=$.bindScope??this.$;if($.seen[this.id])return this.$.lazilyResolve($.seen[this.id]);if($.shouldTransform?.(this,$)===!1)return this;let Y;if($.seen[this.id]=()=>Y,this.hasKind("structure")&&this.undeclared!==$.undeclaredKeyHandling)$={...$,undeclaredKeyHandling:this.undeclared};let G=Y0(this.inner,(T,F)=>{if(!this.impl.keys[T].child)return[T,F];let _=F;if(!k0(_)){let O=_._transform(W,$);return O?[T,O]:[]}if(_.length===0)return[T,F];let w=_.flatMap((O)=>{return O._transform(W,$)??[]});return w.length?[T,w]:[]});delete $.seen[this.id];let J=Object.assign(G,{meta:this.meta}),H=$.selected&&!$.selected.includes(this)?J:W(this.kind,J,$);if(H===null)return null;if(x0(H))return Y=H;let Q=Object.keys(H);if((Q.length===0||Q.length===1&&Q[0]==="meta")&&!cW(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in H))return $.undeclaredKeyHandling?{...H,value:N.intrinsic.unknown}:null;if(this.kind==="morph")H.in??=N.intrinsic.unknown;return Y=X.node(this.kind,H,$.parseOptions)}configureReferences(W,$="references"){let X=m6.normalize($),Y=typeof W==="string"?(Q,z)=>({...z,meta:{...z.meta,description:W}}):typeof W==="function"?(Q,z)=>({...z,meta:W(z.meta)}):(Q,z)=>({...z,meta:{...z.meta,...W}});if(X.boundary==="self")return this.$.node(this.kind,Y(this.kind,{...this.inner,meta:this.meta}));let G=this._select(X),J=G&&g2(G),H=X.boundary==="child"?(Q,z)=>z.root.children.includes(Q):X.boundary==="shallow"?(Q)=>Q.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Y,{shouldTransform:H,selected:J}))}}var m6={applyBoundary:{self:(W)=>[W],child:(W)=>[...W.children],shallow:(W)=>[...W.shallowReferences],references:(W)=>[...W.references]},applyMethod:{filter:(W)=>W,assertFilter:(W,$,X)=>{if(W.length===0)Z8(sF($,X));return W},find:(W)=>W[0],assertFind:(W,$,X)=>{if(W.length===0)Z8(sF($,X));return W[0]}},normalize:(W)=>typeof W==="function"?{boundary:"references",method:"filter",where:W}:typeof W==="string"?T1(W,m6.applyBoundary)?{method:"filter",boundary:W}:{boundary:"references",method:"filter",kind:W}:{boundary:"references",method:"filter",...W}},sF=(W,$)=>`${W} had no references matching ${G0($)}.`,vK=(W)=>F2(W,{stringifyNonKey:($)=>$.expression}),yK=/"(\$ark\.[^"]+)"/g,hK=(W)=>JSON.stringify(W).replaceAll(yK,"$1"),kW=(W,$)=>({path:W,node:$,propString:vK(W)}),eF=(W,$)=>W.propString===$.propString&&W.node.equals($.node),r7=(W,$)=>uW(W,$,{isEqual:eF}),gK=(W,$)=>uW(W,$,{isEqual:(X,Y)=>X.equals(Y)});class b extends Array{static init(W,$,X,Y){return new b({kind:W,l:$,r:X,path:Y?.path??[],optional:Y?.optional??!1})}add(W,$,X,Y){return this.push({kind:W,l:$,r:X,path:Y?.path??[],optional:Y?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:W,l:$,r:X}=this[0],Y=F2(W);return a7(`Intersection${Y&&` at ${Y}`} of ${W_($,X)}`)}return`The following intersections result in unsatisfiable types:
|
|
103
|
-
\u2022 ${this.map(({path:W,l:$,r:
|
|
104
|
-
\u2022 `)}`}throw(){return E(this.describeReasons())}invert(){let W=this.map(($)=>({...$,l:$.r,r:$.l}));if(!(W instanceof b))return new b(...W);return W}withPrefixKey(W,$){return this.map((X)=>({...X,path:[W,...X.path],optional:X.optional||$==="optional"}))}toNeverIfDisjoint(){return N.intrinsic.never}}var W_=(W,$)=>`${t7(W)} and ${t7($)}`,t7=(W)=>x0(W)?W.expression:k0(W)?W.map(t7).join(" | ")||"never":String(W),a7=(W)=>`${W} results in an unsatisfiable type`;var k4={},l1=(W,$,X)=>b0(W,$,{$:X,invert:!1,pipe:!1}),u6=(W,$,X)=>b0(W,$,{$:X,invert:!1,pipe:!0}),b0=(W,$,X)=>{let Y=X.pipe?"|>":"&",G=`${W.hash}${Y}${$.hash}`;if(k4[G]!==void 0)return k4[G];if(!X.pipe){let Q=`${$.hash}${Y}${W.hash}`;if(k4[Q]!==void 0){let z=k4[Q],T=z instanceof b?z.invert():z;return k4[G]=T,T}}let J=!X.pipe||!W.includesTransform&&!$.includesTransform;if(J&&W.equals($))return W;let H=J?s7(W,$,X):W.hasKindIn(...S4)?mK(W,$,X):s7(W,$,X);if(x0(H)){if(W.equals(H))H=W;else if($.equals(H))H=$}return k4[G]=H,H},s7=(W,$,X)=>{let Y=W.precedence<$.precedence?W.kind:$.kind,G=W.impl.intersections[$.kind]??$.impl.intersections[W.kind];if(G===void 0)return null;else if(Y===W.kind)return G(W,$,X);else{let J=G($,W,{...X,invert:!X.invert});if(J instanceof b)J=J.invert();return J}},mK=(W,$,X)=>W.includesTransform||$.includesTransform?X.invert?$_($,W,X):$_(W,$,X):s7(W,$,X),$_=(W,$,X)=>W.distribute((Y)=>pK(Y,$,X),(Y)=>{let G=Y.filter(x0);if(G.length===0)return b.init("union",W.branches,$.branches);if(G.length<W.branches.length||!W.branches.every((Q,z)=>Q.in.equals(G[z].in)))return X.$.parseSchema(G);let J;if(G.length===1){let Q=G[0];if(!J)return Q;return X.$.node("morph",{...Q.inner,in:Q.in.configure(J,"self")})}let H={branches:G};if(J)H.meta=J;return X.$.parseSchema(H)}),pK=(W,$,X)=>{if(W.hasKind("morph")){let G=[...W.morphs];if(W.lastMorphIfNode){let J=b0(W.lastMorphIfNode,$,X);if(J instanceof b)return J;G[G.length-1]=J}else G.push($);return X.$.node("morph",{morphs:G,in:W.inner.in})}if($.hasKind("morph")){let G=b0(W,$.in,X);if(G instanceof b)return G;return X.$.node("morph",{morphs:[$],in:G})}return X.$.node("morph",{morphs:[$],in:W})};class wW extends p6{constructor(W,$){super(W,$);Object.defineProperty(this,f1,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(W){return l1(this,W,this.$)}}class w2 extends wW{traverseApply=(W,$)=>{if(!this.traverseAllows(W,$))$.errorFromNodeContext(this.errorContext)};compile(W){if(W.traversalKind==="Allows")W.return(this.compiledCondition);else W.if(this.compiledNegation,()=>W.line(`${W.ctx}.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return c2(this.errorContext)}}var N1=(W)=>($,X)=>{if(k0($)){if($.length===0)return;let G=$.map((J)=>X.$.node(W,J));if(W==="predicate")return G;return G.sort((J,H)=>J.hash<H.hash?-1:1)}let Y=X.$.node(W,$);return Y.hasOpenIntersection()?[Y]:Y},j4=(W)=>{let $=W.r.shift();if(!$){let Y=W.l.length===0&&W.kind==="structure"?N.intrinsic.unknown.internal:W.ctx.$.node(W.kind,Object.assign(W.baseInner,uK(W.l)),{prereduced:!0});for(let G of W.roots){if(Y instanceof b)return Y;Y=b0(G,Y,W.ctx)}return Y}let X=!1;for(let Y=0;Y<W.l.length;Y++){let G=b0(W.l[Y],$,W.ctx);if(G===null)continue;if(G instanceof b)return G;if(!X){if(G.isRoot())return W.roots.push(G),W.l.splice(Y),j4(W);W.l[Y]=G,X=!0}else if(!W.l.includes(G))return K0(`Unexpectedly encountered multiple distinct intersection results for refinement ${G}`)}if(!X)W.l.push($);if(W.kind==="intersection"){if($.impliedSiblings)for(let Y of $.impliedSiblings)uW(W.r,Y)}return j4(W)},I4=(W)=>{return Object.entries(W).flatMap(([X,Y])=>(X in nY)?Y:[]).sort((X,Y)=>X.precedence<Y.precedence?-1:X.precedence>Y.precedence?1:X.kind==="predicate"&&Y.kind==="predicate"?0:X.hash<Y.hash?-1:1)},uK=(W)=>{let $={};for(let X of W)if(X.hasOpenIntersection())$[X.kind]=D0($[X.kind],X);else{if($[X.kind])return K0(`Unexpected intersection of closed refinements of kind ${X.kind}`);$[X.kind]=X}return $},X_=(...W)=>E(Y_(...W)),Y_=(W,$,X)=>{let Y=X.hasKind("morph")?"a morph":X.isUnknown()?"unknown":X.exclude($).defaultShortDescription;return`${PF(W)} operand must be ${$.description} (was ${Y})`};var G_=(W,$,X)=>new l2(W,$,X,X,null);class tY extends qW{}class l2 extends qW{[f1]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(W,$,X,Y,G){super((...J)=>{let H=Y0(this.names,(Q,z)=>{let T=this.arg$.parse(J[Q]);if(!T.extends(this.constraints[Q]))E(cK(z,this.constraints[Q].expression,T.expression));return[z,T]});if(this.defIsLazy()){let Q=this.bodyDef(H);return this.$.parse(Q)}return this.$.parse($,{args:H})});this.paramDefs=W,this.bodyDef=$,this.$=X,this.arg$=Y,this.hkt=G,this.description=G?new G().description??`a generic type for ${G.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof tY}cacheGetter(W,$){return Object.defineProperty(this,W,{value:$}),$}get json(){return this.cacheGetter("json",{params:this.params.map((W)=>W[1].isUnknown()?W[0]:[W[0],W[1].json]),body:cF(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((W)=>typeof W==="string"?[W,N.intrinsic.unknown]:[W[0],this.$.parse(W[1])]))}get names(){return this.cacheGetter("names",this.params.map((W)=>W[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((W)=>W[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var cK=(W,$,X)=>`${W} must be assignable to ${$} (was ${X})`;var dK=J0({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(W)=>typeof W==="function"?{predicate:W}:W,defaults:{description:(W)=>`valid according to ${W.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class J_ extends wW{serializedPredicate=d0(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=c2(this.errorContext);traverseApply=(W,$)=>{if(!this.predicate(W,$.external)&&!$.hasError())$.errorFromNodeContext(this.errorContext)};compile(W){if(W.traversalKind==="Allows"){W.return(this.compiledCondition);return}W.if(`${this.compiledNegation} && !ctx.hasError()`,()=>W.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(W,$){return $.fallback.predicate({code:"predicate",base:W,predicate:this.predicate})}}var e7={implementation:dK,Node:J_};var lK=J0({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(W)=>Number.isInteger(W)?W:E(oK(W))}},normalize:(W)=>typeof W==="number"?{rule:W}:W,hasAssociatedError:!0,defaults:{description:(W)=>W.rule===1?"an integer":W.rule===2?"even":`a multiple of ${W.rule}`},intersections:{divisor:(W,$,X)=>X.$.node("divisor",{rule:Math.abs(W.rule*$.rule/iK(W.rule,$.rule))})},obviatesBasisDescription:!0});class H_ extends w2{traverseAllows=(W)=>W%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=N.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(W){if(W.type="integer",this.rule===1)return W;return W.multipleOf=this.rule,W}}var WG={implementation:lK,Node:H_};var oK=(W)=>`divisor must be an integer (was ${W})`,iK=(W,$)=>{let X,Y=W,G=$;while(G!==0)X=G,G=Y%G,Y=X;return Y};class XW extends w2{boundOperandKind=aK[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=sK(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${nK[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?eK(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(W){return(this.limitKind==="upper"?this.numericLimit<W.numericLimit:this.numericLimit>W.numericLimit)||this.numericLimit===W.numericLimit&&this.exclusive===!0&&!W.exclusive}overlapsRange(W){if(this.isStricterThan(W))return!1;if(this.numericLimit===W.numericLimit&&(this.exclusive||W.exclusive))return!1;return!0}overlapIsUnit(W){return this.numericLimit===W.numericLimit&&!this.exclusive&&!W.exclusive}}var nK={"<":">=","<=":">",">":"<=",">=":"<"},rK={min:"max",minLength:"maxLength",after:"before"},aY={parse:(W)=>W||void 0},sY=(W)=>($)=>{if(typeof $==="number")return{rule:$};let{exclusive:X,...Y}=$;return X?{...Y,rule:W==="minLength"?Y.rule+1:Y.rule-1}:Y},eY=(W)=>($)=>{if(typeof $==="number"||typeof $==="string"||$ instanceof Date)return{rule:$};let{exclusive:X,...Y}=$;if(!X)return Y;let G=typeof Y.rule==="number"?Y.rule:typeof Y.rule==="string"?new Date(Y.rule).valueOf():Y.rule.valueOf();return X?{...Y,rule:W==="after"?G+1:G-1}:Y},W9=(W)=>typeof W==="string"||typeof W==="number"?new Date(W):W,tK=(W,$)=>`${W} bound must be a positive integer (was ${$})`,P4=(W)=>($)=>{if(!Number.isInteger($)||$<0)E(tK(W,$));return $},aK={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},sK=(W,$)=>`${T1(W,rK)?">":"<"}${$?"":"="}`,eK=(W)=>typeof W==="string"?W:new Date(W).toLocaleString(),Q_=(W)=>`Bounded expression ${W} must be exactly one of number, string, Array, or Date`;var WA=J0({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:W9,serialize:(W)=>W.toISOString()}},normalize:eY("after"),defaults:{description:(W)=>`${W.collapsibleLimitString} or later`,actual:k8},intersections:{after:(W,$)=>W.isStricterThan($)?W:$}});class z_ extends XW{impliedBasis=N.intrinsic.Date.internal;collapsibleLimitString=k8(this.rule);traverseAllows=(W)=>W>=this.rule;reduceJsonSchema(W,$){return $.fallback.date({code:"date",base:W,after:this.rule})}}var $G={implementation:WA,Node:z_};var $A=J0({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:W9,serialize:(W)=>W.toISOString()}},normalize:eY("before"),defaults:{description:(W)=>`${W.collapsibleLimitString} or earlier`,actual:k8},intersections:{before:(W,$)=>W.isStricterThan($)?W:$,after:(W,$,X)=>W.overlapsRange($)?W.overlapIsUnit($)?X.$.node("unit",{unit:W.rule}):null:b.init("range",W,$)}});class T_ extends XW{collapsibleLimitString=k8(this.rule);traverseAllows=(W)=>W<=this.rule;impliedBasis=N.intrinsic.Date.internal;reduceJsonSchema(W,$){return $.fallback.date({code:"date",base:W,before:this.rule})}}var XG={implementation:$A,Node:T_};var XA=J0({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:P4("exactLength")}},normalize:(W)=>typeof W==="number"?{rule:W}:W,hasAssociatedError:!0,defaults:{description:(W)=>`exactly length ${W.rule}`,actual:(W)=>`${W.length}`},intersections:{exactLength:(W,$,X)=>b.init("unit",X.$.node("unit",{unit:W.rule}),X.$.node("unit",{unit:$.rule}),{path:["length"]}),minLength:(W,$)=>W.rule>=$.rule?W:b.init("range",W,$),maxLength:(W,$)=>W.rule<=$.rule?W:b.init("range",W,$)}});class F_ extends w2{traverseAllows=(W)=>W.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=N.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(W){switch(W.type){case"string":return W.minLength=this.rule,W.maxLength=this.rule,W;case"array":return W.minItems=this.rule,W.maxItems=this.rule,W;default:return h0.throwInternalOperandError("exactLength",W)}}}var YG={implementation:XA,Node:F_};var YA=J0({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:aY},normalize:(W)=>typeof W==="number"?{rule:W}:W,defaults:{description:(W)=>{if(W.rule===0)return W.exclusive?"negative":"non-positive";return`${W.exclusive?"less than":"at most"} ${W.rule}`}},intersections:{max:(W,$)=>W.isStricterThan($)?W:$,min:(W,$,X)=>W.overlapsRange($)?W.overlapIsUnit($)?X.$.node("unit",{unit:W.rule}):null:b.init("range",W,$)},obviatesBasisDescription:!0});class __ extends XW{impliedBasis=N.intrinsic.number.internal;traverseAllows=this.exclusive?(W)=>W<this.rule:(W)=>W<=this.rule;reduceJsonSchema(W){if(this.exclusive)W.exclusiveMaximum=this.rule;else W.maximum=this.rule;return W}}var GG={implementation:YA,Node:__};var GA=J0({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:P4("maxLength")}},reduce:(W,$)=>W.rule===0?$.node("exactLength",W):void 0,normalize:sY("maxLength"),defaults:{description:(W)=>`at most length ${W.rule}`,actual:(W)=>`${W.length}`},intersections:{maxLength:(W,$)=>W.isStricterThan($)?W:$,minLength:(W,$,X)=>W.overlapsRange($)?W.overlapIsUnit($)?X.$.node("exactLength",{rule:W.rule}):null:b.init("range",W,$)}});class w_ extends XW{impliedBasis=N.intrinsic.lengthBoundable.internal;traverseAllows=(W)=>W.length<=this.rule;reduceJsonSchema(W){switch(W.type){case"string":return W.maxLength=this.rule,W;case"array":return W.maxItems=this.rule,W;default:return h0.throwInternalOperandError("maxLength",W)}}}var JG={implementation:GA,Node:w_};var JA=J0({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:aY},normalize:(W)=>typeof W==="number"?{rule:W}:W,defaults:{description:(W)=>{if(W.rule===0)return W.exclusive?"positive":"non-negative";return`${W.exclusive?"more than":"at least"} ${W.rule}`}},intersections:{min:(W,$)=>W.isStricterThan($)?W:$},obviatesBasisDescription:!0});class U_ extends XW{impliedBasis=N.intrinsic.number.internal;traverseAllows=this.exclusive?(W)=>W>this.rule:(W)=>W>=this.rule;reduceJsonSchema(W){if(this.exclusive)W.exclusiveMinimum=this.rule;else W.minimum=this.rule;return W}}var HG={implementation:JA,Node:U_};var HA=J0({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:P4("minLength")}},reduce:(W)=>W.rule===0?N.intrinsic.unknown:void 0,normalize:sY("minLength"),defaults:{description:(W)=>W.rule===1?"non-empty":`at least length ${W.rule}`,actual:(W)=>W.length===0?"":`${W.length}`},intersections:{minLength:(W,$)=>W.isStricterThan($)?W:$}});class D_ extends XW{impliedBasis=N.intrinsic.lengthBoundable.internal;traverseAllows=(W)=>W.length>=this.rule;reduceJsonSchema(W){switch(W.type){case"string":return W.minLength=this.rule,W;case"array":return W.minItems=this.rule,W;default:return h0.throwInternalOperandError("minLength",W)}}}var QG={implementation:HA,Node:D_};var V_={min:HG.implementation,max:GG.implementation,minLength:QG.implementation,maxLength:JG.implementation,exactLength:YG.implementation,after:$G.implementation,before:XG.implementation},M_={min:HG.Node,max:GG.Node,minLength:QG.Node,maxLength:JG.Node,exactLength:YG.Node,after:$G.Node,before:XG.Node};var QA=J0({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(W)=>typeof W==="string"?{rule:W}:W instanceof RegExp?W.flags?{rule:W.source,flags:W.flags}:{rule:W.source}:W,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(W)=>`matched by ${W.rule}`},intersections:{pattern:()=>null}});class O_ extends w2{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=N.intrinsic.string.internal;reduceJsonSchema(W,$){if(W.pattern)return $.fallback.patternIntersection({code:"patternIntersection",base:W,pattern:this.rule});return W.pattern=this.rule,W}}var zG={implementation:QA,Node:O_};var c6=(W,$)=>{let X=zA(W);if($&&!$.includes(X))return E(`Root of kind ${X} should be one of ${$}`);return X},zA=(W)=>{if(d(W,"root"))return W.kind;if(typeof W==="string")return W[0]==="$"?"alias":(W in u1)?"domain":"proto";if(typeof W==="function")return"proto";if(typeof W!=="object"||W===null)return E(K_(W));if("morphs"in W)return"morph";if("branches"in W||k0(W))return"union";if("unit"in W)return"unit";if("reference"in W)return"alias";let $=Object.keys(W);if($.length===0||$.some((X)=>(X in nY)))return"intersection";if("proto"in W)return"proto";if("domain"in W)return"domain";return E(K_(W))},K_=(W)=>`${G0(W)} is not a valid type schema`,A_={},TA=(W)=>k0(W)?W.map(($)=>$.collapsibleJson):W.collapsibleJson,x1={};N.nodesByRegisteredId=x1;var TG=(W)=>{return A_[W]??=0,`${W}${++A_[W]}`},FG=(W)=>{let $=f4[W.kind],X=$.applyConfig?.(W.def,W.$.resolvedConfig)??W.def,Y={},{meta:G,...J}=X,H=G===void 0?{}:typeof G==="string"?{description:G}:G,Q=f7(J).sort(([T],[F])=>q4(T)?q4(F)?C4(T)-C4(F):1:q4(F)?-1:T<F?-1:1).filter(([T,F])=>{if(T.startsWith("meta.")){let _=T.slice(5);return H[_]=F,!1}return!0});for(let T of Q){let F=T[0],_=$.keys[F];if(!_)return E(`Key ${F} is not valid on ${W.kind} schema`);let w=_.parse?_.parse(T[1],W):T[1];if(w!==$W&&(w!==void 0||_.preserveUndefined))Y[F]=w}if($.reduce&&!W.prereduced){let T=$.reduce(Y,W.$);if(T){if(T instanceof b)return T.throw();return FA(T,H)}}return _G({id:W.id,kind:W.kind,inner:Y,meta:H,$:W.$})},_G=({id:W,kind:$,inner:X,meta:Y,$:G,ignoreCache:J})=>{let H=f4[$],Q=f7(X),z=[],T={};for(let[j,R]of Q){let Z=H.keys[j],P=Z.serialize??(Z.child?TA:_W);if(T[j]=P(R),Z.child===!0){let h=R;if(k0(h))z.push(...h);else z.push(h)}else if(typeof Z.child==="function")z.push(...Z.child(R))}if(H.finalizeInnerJson)T=H.finalizeInnerJson(T);let F={...T},_={};if(!cW(Y))_=Y0(Y,(j,R)=>[j,j==="examples"?R:_W(R)]),F.meta=$9(_,"description",!0);T=$9(T,H.collapsibleKey,!1);let w=JSON.stringify({kind:$,...T});F=$9(F,H.collapsibleKey,!1);let O=$9(F,H.collapsibleKey,!0),M=JSON.stringify({kind:$,...F});if(G.nodesByHash[M]&&!J)return G.nodesByHash[M];let A={id:W,kind:$,impl:H,inner:X,innerEntries:Q,innerJson:T,innerHash:w,meta:Y,metaJson:_,json:F,hash:M,collapsibleJson:O,children:z};if($!=="intersection"){for(let j in X)if(j!=="in"&&j!=="out")A[j]=X[j]}let I=new L_[$](A,G);return G.nodesByHash[M]=I},E_=(W,$)=>{if(W.id===$)return W;if(x0(x1[$]))K0(`Unexpected attempt to overwrite node id ${$}`);return _G({id:$,kind:W.kind,inner:W.inner,meta:W.meta,$:W.$,ignoreCache:!0})},FA=(W,$,X)=>{if(X&&x0(x1[X]))K0(`Unexpected attempt to overwrite node id ${X}`);return _G({id:X??TG($.alias??W.kind),kind:W.kind,inner:W.inner,meta:$,$:W.$})},$9=(W,$,X)=>{let Y=Object.keys(W);if(Y.length===1&&Y[0]===$){let G=W[$];if(X)return G;if(p1(G,"object")&&(Object.keys(G).length===1||Array.isArray(G)))return G}return W};var d6=(W,$,X)=>{if(W.key!==$.key)return null;let Y=W.key,G=b0(W.value,$.value,X),J=W.required||$.required?"required":"optional";if(G instanceof b)if(J==="optional")G=N.intrinsic.never.internal;else return G.withPrefixKey(W.key,W.required&&$.required?"required":"optional");if(J==="required")return X.$.node("required",{key:Y,value:G});let H=W.hasDefault()?$.hasDefault()?W.default===$.default?W.default:E(wG(W.default,$.default)):W.default:$.hasDefault()?$.default:$W;return X.$.node("optional",{key:Y,value:G,default:H})};class l6 extends wW{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=N.intrinsic.object.internal;serializedKey=_2(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=D0(this.value.flatRefs.map((W)=>kW([this.key,...W.path],W.node)),kW([this.key],this.value));_transform(W,$){$.path.push(this.key);let X=super._transform(W,$);return $.path.pop(),X}hasDefault(){return"default"in this.inner}traverseAllows=(W,$)=>{if(this.key in W)return d1(this.key,()=>this.value.traverseAllows(W[this.key],$),$);return this.optional};traverseApply=(W,$)=>{if(this.key in W)d1(this.key,()=>this.value.traverseApply(W[this.key],$),$);else if(this.hasKind("required"))$.errorFromNodeContext(this.errorContext)};compile(W){if(W.if(`${this.serializedKey} in data`,()=>W.traverseKey(this.serializedKey,`data${W.prop(this.key)}`,this.value)),this.hasKind("required"))W.else(()=>W.traversalKind==="Apply"?W.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):W.return(!1));if(W.traversalKind==="Allows")W.return(!0)}}var wG=(W,$)=>`Invalid intersection of default values ${G0(W)} & ${G0($)}`;var _A=J0({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(W,$)=>$.$.parseSchema(W)},default:{preserveUndefined:!0}},normalize:(W)=>W,reduce:(W,$)=>{if($.resolvedConfig.exactOptionalPropertyTypes===!1){if(!W.value.allows(void 0))return $.node("optional",{...W,value:W.value.or(r.undefined)},{prereduced:!0})}},defaults:{description:(W)=>`${W.compiledKey}?: ${W.value.description}`},intersections:{optional:d6}});class B_ extends l6{constructor(...W){super(...W);if("default"in this.inner)i6(this.value,this.inner.default,this.key)}get outProp(){if(!this.hasDefault())return this;let{default:W,...$}=this.inner;return this.cacheGetter("outProp",this.$.node("required",$,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${G0(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=UA(this);defaultValueMorphRef=this.defaultValueMorph&&d0(this.defaultValueMorph)}var o6={implementation:_A,Node:B_},wA={},UA=(W)=>{if(!W.hasDefault())return;let $=`{${W.compiledKey}: ${W.value.id} = ${_W(W.default)}}`;return wA[$]??=UG(W.key,W.value,W.default)},UG=(W,$,X)=>{if(typeof X==="function")return $.includesTransform?(G,J)=>{return d1(W,()=>$(G[W]=X(),J),J),G}:(G)=>{return G[W]=X(),G};let Y=$.includesTransform?$.assert(X):X;return p1(Y,"object")?(G,J)=>{return d1(W,()=>$(G[W]=X,J),J),G}:(G)=>{return G[W]=Y,G}},i6=(W,$,X)=>{let Y=m2($);if(p1($,"object")&&!Y)E(DA(X));let G=W.in(Y?$():$);if(G instanceof c1){if(X===null)E(`Default ${G.summary}`);let J=G.transform((H)=>H.transform((Q)=>({...Q,prefixPath:[X]})));E(`Default for ${J.summary}`)}return $},DA=(W)=>{return`Non-primitive default ${W===null?"":typeof W==="number"?`for value at [${W}] `:`for ${_2(W)} `}must be specified as a function like () => ({my: 'object'})`};class UW extends p6{constructor(W,$){super(W,$);Object.defineProperty(this,f1,{value:"root",enumerable:!1})}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(W)=>{let $=this(W);if($ instanceof c1)return $;return{value:$}}}}as(){return this}brand(W){if(W==="")return E(VA);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(W,$){let X=this.branches.map(W);return $?.(X)??X}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(W={}){let $=i7(this.$.resolvedConfig.toJsonSchema,W);$.useRefs||=this.isCyclic;let X=typeof $.dialect==="string"?{$schema:$.dialect}:{};if(Object.assign(X,this.toJsonSchemaRecurse($)),$.useRefs)X.$defs=Y0(this.references,(Y,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema($)]:[]);return X}toJsonSchemaRecurse(W){if(W.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/$defs/${this.id}`};return this.toResolvedJsonSchema(W)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(W){let $=this.innerToJsonSchema(W);return Object.assign($,this.metaJson)}intersect(W){let $=this.$.parseDefinition(W),X=this.rawIntersect($);if(X instanceof b)return X;return this.$.finalize(X)}rawIntersect(W){return l1(this,W,this.$)}toNeverIfDisjoint(){return this}and(W){let $=this.intersect(W);return $ instanceof b?$.throw():$}rawAnd(W){let $=this.rawIntersect(W);return $ instanceof b?$.throw():$}or(W){let $=this.$.parseDefinition(W);return this.$.finalize(this.rawOr($))}rawOr(W){let $=[...this.branches,...W.branches];return this.$.node("union",$)}map(W){return this.$.schema(this.applyStructuralOperation("map",[W]))}pick(...W){return this.$.schema(this.applyStructuralOperation("pick",W))}omit(...W){return this.$.schema(this.applyStructuralOperation("omit",W))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let W=this.applyStructuralOperation("keyof",[]).reduce(($,X)=>$.intersect(X).toNeverIfDisjoint(),N.intrinsic.unknown.internal);if(W.branches.length===0)E(a7(`keyof ${this.expression}`));return this._keyof=this.$.finalize(W)}get props(){if(this.branches.length!==1)return E(MA(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(W){let $=this.$.parseDefinition(W);return this.$.schema($.distribute((X)=>this.applyStructuralOperation("merge",[R_(X)??E(N_("merge",X.expression))])))}applyStructuralOperation(W,$){return this.distribute((X)=>{if(X.equals(N.intrinsic.object)&&W!=="merge")return X;let Y=R_(X);if(!Y)E(N_(W,X.expression));if(W==="keyof")return Y.keyof();if(W==="get")return Y.get(...$);if(W==="props")return Y.props;let G=W==="required"?"require":W==="partial"?"optionalize":W;return this.$.node("intersection",{...X.inner,structure:Y[G](...$)})})}get(...W){if(W[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",W))}extract(W){let $=this.$.parseDefinition(W);return this.$.schema(this.branches.filter((X)=>X.extends($)))}exclude(W){let $=this.$.parseDefinition(W);return this.$.schema(this.branches.filter((X)=>!X.extends($)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(W){return!(this.intersect(W)instanceof b)}extends(W){let $=this.intersect(W);return!($ instanceof b)&&this.equals($)}ifExtends(W){return this.extends(W)?this:void 0}subsumes(W){return this.$.parseDefinition(W).extends(this)}configure(W,$="shallow"){return this.configureReferences(W,$)}describe(W,$="shallow"){return this.configure({description:W},$)}optional(){return[this,"?"]}default(W){return i6(this,W,null),[this,"=",W]}from(W){return this.assert(W)}_pipe(...W){let $=W.reduce((X,Y)=>X.rawPipeOnce(Y),this);return this.$.finalize($)}tryPipe(...W){let $=W.reduce((X,Y)=>X.rawPipeOnce(d(Y,"root")?Y:(G,J)=>{try{return Y(G,J)}catch(H){return J.error({code:"predicate",predicate:Y,actual:`aborted due to error:
|
|
102
|
+
`);class CW{path=[];errors=new c1(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(W,$){this.root=W,this.config=$}get data(){let W=this.root;for(let $ of this.path)W=W?.[$];return W}get propString(){return F$(this.path)}reject(W){return this.error(W),!1}mustBe(W){return this.error(W),!1}error(W){let $=typeof W==="object"?W.code?W:{...W,code:"predicate"}:{code:"predicate",expected:W};return this.errorFromContext($)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches.at(-1)}queueMorphs(W){let $={path:new g6(...this.path),morphs:W};if(this.currentBranch)this.currentBranch.queuedMorphs.push($);else this.queuedMorphs.push($)}finalize(W){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return W?W(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(W){return this.errorFromContext(W)}errorFromContext(W){let $=new l$(W,this);if(this.currentBranch)this.currentBranch.error=$;else this.errors.add($);return $}applyQueuedMorphs(){while(this.queuedMorphs.length){let W=this.queuedMorphs;this.queuedMorphs=[];for(let{path:$,morphs:Y}of W){if(this.errors.affectsPath($))continue;this.applyMorphsAtPath($,Y)}}}applyMorphsAtPath(W,$){let Y=W.at(-1),X;if(Y!==void 0){X=this.root;for(let G=0;G<W.length-1;G++)X=X[W[G]]}this.path=[...W];for(let G of $){let J=b0(G),H=G(X===void 0?this.root:X[Y],this);if(H instanceof l$){this.errors.add(H);break}if(H instanceof c1){if(!J)this.errors.merge(H);break}if(X===void 0)this.root=H;else X[Y]=H;this.applyQueuedMorphs()}}}var d1=(W,$,Y)=>{if(!Y)return $();Y.path.push(W);let X=$();return Y.path.pop(),X};class c6 extends qW{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(W,$){super((X,G,J=this.onFail)=>{if(G)return this.traverseApply(X,G),G.hasError()?G.errors:G.data;return this.rootApply(X,J)},{attach:W});this.attachments=W,this.$=$,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((X,G)=>mK(X,G.shallowReferences),[this]);let Y=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let X=0;X<this.children.length;X++){if(this.includesTransform||=this.children[X].includesTransform,this.includesContextualPredicate||=this.children[X].includesContextualPredicate,this.isCyclic||=this.children[X].isCyclic,!Y){let G=this.children[X].flatRefs;for(let J=0;J<G.length;J++){let H=G[J];if(!this.flatRefs.some((T)=>ez(T,H))){this.flatRefs.push(H);for(let T of H.node.branches)if(T.hasKind("morph")||T.hasKind("intersection")&&T.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:H.path,propString:H.propString,node:T})}}}Object.assign(this.referencesById,this.children[X].referencesById)}this.flatRefs.sort((X,G)=>X.path.length>G.path.length?1:X.path.length<G.path.length?-1:X.propString>G.propString?1:X.propString<G.propString?-1:X.node.expression<G.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((X)=>X.length===1||X.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((X)=>X.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(X)=>this.traverseAllows(X,new CW(X,this.$.resolvedConfig)):(X)=>this.traverseAllows(X)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return($,Y)=>{if(this.allows($))return $;let X=new CW($,this.$.resolvedConfig);return this.traverseApply($,X),X.finalize(Y)};case"contextual":return($,Y)=>{let X=new CW($,this.$.resolvedConfig);return this.traverseApply($,X),X.finalize(Y)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let W=this.$.resolvedConfig.clone;return($,Y)=>{if(this.allows($))return this.contextFreeMorph(W&&(typeof $==="object"&&$!==null||typeof $==="function")?W($):$);let X=new CW($,this.$.resolvedConfig);return this.traverseApply($,X),X.finalize(Y)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,E0(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=gK(this.metaJson);cacheGetter(W,$){return Object.defineProperty(this,W,{value:$}),$}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=j8(this.kind);precompilation;assert=(W,$)=>this(W,$,(Y)=>Y.throw());traverse(W,$){return this(W,$,null)}get in(){return this.cacheGetter("in",this.getIo("in"))}get out(){return this.cacheGetter("out",this.getIo("out"))}getIo(W){if(!this.includesTransform)return this;let $={};for(let[Y,X]of this.innerEntries){let G=this.impl.keys[Y];if(G.reduceIo)G.reduceIo(W,$,X);else if(G.child){let J=X;$[Y]=k0(J)?J.map((H)=>H[W]):J[W]}else $[Y]=X}return this.$.node(this.kind,$)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(W){let $=b0(W)?W:this.$.parseDefinition(W);return this.innerHash===$.innerHash}ifEquals(W){return this.equals(W)?this:void 0}hasKind(W){return this.kind===W}assertHasKind(W){if(this.kind!==W)q2(`${this.kind} node was not of asserted kind ${W}`);return this}hasKindIn(...W){return W.includes(this.kind)}assertHasKindIn(...W){if(!T$(W,this.kind))q2(`${this.kind} node was not one of asserted kinds ${W}`);return this}isBasis(){return T$(iz,this.kind)}isConstraint(){return T$(rX,this.kind)}isStructural(){return T$(q8,this.kind)}isRefinement(){return T$(n7,this.kind)}isRoot(){return T$(C8,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(W){return this.hasKind("unit")&&this.allows(W)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(W){let $=u6.normalize(W);return this._select($)}_select(W){let $=u6.applyBoundary[W.boundary??"references"](this);if(W.kind)$=$.filter((Y)=>Y.kind===W.kind);if(W.where)$=$.filter(W.where);return u6.applyMethod[W.method??"filter"]($,this,W)}transform(W,$){return this._transform(W,this._createTransformContext($))}_createTransformContext(W){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:W?.prereduced??!1},undeclaredKeyHandling:void 0,...W}}_transform(W,$){let Y=$.bindScope??this.$;if($.seen[this.id])return this.$.lazilyResolve($.seen[this.id]);if($.shouldTransform?.(this,$)===!1)return this;let X;if($.seen[this.id]=()=>X,this.hasKind("structure")&&this.undeclared!==$.undeclaredKeyHandling)$={...$,undeclaredKeyHandling:this.undeclared};let G=X0(this.inner,(_,z)=>{if(!this.impl.keys[_].child)return[_,z];let F=z;if(!k0(F)){let O=F._transform(W,$);return O?[_,O]:[]}if(F.length===0)return[_,z];let w=F.flatMap((O)=>{return O._transform(W,$)??[]});return w.length?[_,w]:[]});delete $.seen[this.id];let J=Object.assign(G,{meta:this.meta}),H=$.selected&&!$.selected.includes(this)?J:W(this.kind,J,$);if(H===null)return null;if(b0(H))return X=H;let T=Object.keys(H);if((T.length===0||T.length===1&&T[0]==="meta")&&!cW(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in H))return $.undeclaredKeyHandling?{...H,value:R.intrinsic.unknown}:null;if(this.kind==="morph")H.in??=R.intrinsic.unknown;return X=Y.node(this.kind,H,$.parseOptions)}configureReferences(W,$="references"){let Y=u6.normalize($),X=typeof W==="string"?(T,Q)=>({...Q,meta:{...Q.meta,description:W}}):typeof W==="function"?(T,Q)=>({...Q,meta:W(Q.meta)}):(T,Q)=>({...Q,meta:{...Q.meta,...W}});if(Y.boundary==="self")return this.$.node(this.kind,X(this.kind,{...this.inner,meta:this.meta}));let G=this._select(Y),J=G&&m$(G),H=Y.boundary==="child"?(T,Q)=>Q.root.children.includes(T):Y.boundary==="shallow"?(T)=>T.kind!=="structure":()=>!0;return this.$.finalize(this.transform(X,{shouldTransform:H,selected:J}))}}var u6={applyBoundary:{self:(W)=>[W],child:(W)=>[...W.children],shallow:(W)=>[...W.shallowReferences],references:(W)=>[...W.references]},applyMethod:{filter:(W)=>W,assertFilter:(W,$,Y)=>{if(W.length===0)q2(sz($,Y));return W},find:(W)=>W[0],assertFind:(W,$,Y)=>{if(W.length===0)q2(sz($,Y));return W[0]}},normalize:(W)=>typeof W==="function"?{boundary:"references",method:"filter",where:W}:typeof W==="string"?_1(W,u6.applyBoundary)?{method:"filter",boundary:W}:{boundary:"references",method:"filter",kind:W}:{boundary:"references",method:"filter",...W}},sz=(W,$)=>`${W} had no references matching ${G0($)}.`,yK=(W)=>F$(W,{stringifyNonKey:($)=>$.expression}),hK=/"(\$ark\.[^"]+)"/g,gK=(W)=>JSON.stringify(W).replaceAll(hK,"$1"),kW=(W,$)=>({path:W,node:$,propString:yK(W)}),ez=(W,$)=>W.propString===$.propString&&W.node.equals($.node),a7=(W,$)=>uW(W,$,{isEqual:ez}),mK=(W,$)=>uW(W,$,{isEqual:(Y,X)=>Y.equals(X)});class v extends Array{static init(W,$,Y,X){return new v({kind:W,l:$,r:Y,path:X?.path??[],optional:X?.optional??!1})}add(W,$,Y,X){return this.push({kind:W,l:$,r:Y,path:X?.path??[],optional:X?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:W,l:$,r:Y}=this[0],X=F$(W);return e7(`Intersection${X&&` at ${X}`} of ${WF($,Y)}`)}return`The following intersections result in unsatisfiable types:
|
|
103
|
+
\u2022 ${this.map(({path:W,l:$,r:Y})=>`${W}: ${WF($,Y)}`).join(`
|
|
104
|
+
\u2022 `)}`}throw(){return A(this.describeReasons())}invert(){let W=this.map(($)=>({...$,l:$.r,r:$.l}));if(!(W instanceof v))return new v(...W);return W}withPrefixKey(W,$){return this.map((Y)=>({...Y,path:[W,...Y.path],optional:Y.optional||$==="optional"}))}toNeverIfDisjoint(){return R.intrinsic.never}}var WF=(W,$)=>`${s7(W)} and ${s7($)}`,s7=(W)=>b0(W)?W.expression:k0(W)?W.map(s7).join(" | ")||"never":String(W),e7=(W)=>`${W} results in an unsatisfiable type`;var I8={},l1=(W,$,Y)=>x0(W,$,{$:Y,invert:!1,pipe:!1}),d6=(W,$,Y)=>x0(W,$,{$:Y,invert:!1,pipe:!0}),x0=(W,$,Y)=>{let X=Y.pipe?"|>":"&",G=`${W.hash}${X}${$.hash}`;if(I8[G]!==void 0)return I8[G];if(!Y.pipe){let T=`${$.hash}${X}${W.hash}`;if(I8[T]!==void 0){let Q=I8[T],_=Q instanceof v?Q.invert():Q;return I8[G]=_,_}}let J=!Y.pipe||!W.includesTransform&&!$.includesTransform;if(J&&W.equals($))return W;let H=J?WG(W,$,Y):W.hasKindIn(...C8)?pK(W,$,Y):WG(W,$,Y);if(b0(H)){if(W.equals(H))H=W;else if($.equals(H))H=$}return I8[G]=H,H},WG=(W,$,Y)=>{let X=W.precedence<$.precedence?W.kind:$.kind,G=W.impl.intersections[$.kind]??$.impl.intersections[W.kind];if(G===void 0)return null;else if(X===W.kind)return G(W,$,Y);else{let J=G($,W,{...Y,invert:!Y.invert});if(J instanceof v)J=J.invert();return J}},pK=(W,$,Y)=>W.includesTransform||$.includesTransform?Y.invert?$F($,W,Y):$F(W,$,Y):WG(W,$,Y),$F=(W,$,Y)=>W.distribute((X)=>uK(X,$,Y),(X)=>{let G=X.filter(b0);if(G.length===0)return v.init("union",W.branches,$.branches);if(G.length<W.branches.length||!W.branches.every((T,Q)=>T.in.equals(G[Q].in)))return Y.$.parseSchema(G);let J;if(G.length===1){let T=G[0];if(!J)return T;return Y.$.node("morph",{...T.inner,in:T.in.configure(J,"self")})}let H={branches:G};if(J)H.meta=J;return Y.$.parseSchema(H)}),uK=(W,$,Y)=>{if(W.hasKind("morph")){let G=[...W.morphs];if(W.lastMorphIfNode){let J=x0(W.lastMorphIfNode,$,Y);if(J instanceof v)return J;G[G.length-1]=J}else G.push($);return Y.$.node("morph",{morphs:G,in:W.inner.in})}if($.hasKind("morph")){let G=x0(W,$.in,Y);if(G instanceof v)return G;return Y.$.node("morph",{morphs:[$],in:G})}return Y.$.node("morph",{morphs:[$],in:W})};class wW extends c6{constructor(W,$){super(W,$);Object.defineProperty(this,b1,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(W){return l1(this,W,this.$)}}class U$ extends wW{traverseApply=(W,$)=>{if(!this.traverseAllows(W,$))$.errorFromNodeContext(this.errorContext)};compile(W){if(W.traversalKind==="Allows")W.return(this.compiledCondition);else W.if(this.compiledNegation,()=>W.line(`${W.ctx}.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return d$(this.errorContext)}}var B1=(W)=>($,Y)=>{if(k0($)){if($.length===0)return;let G=$.map((J)=>Y.$.node(W,J));if(W==="predicate")return G;return G.sort((J,H)=>J.hash<H.hash?-1:1)}let X=Y.$.node(W,$);return X.hasOpenIntersection()?[X]:X},P8=(W)=>{let $=W.r.shift();if(!$){let X=W.l.length===0&&W.kind==="structure"?R.intrinsic.unknown.internal:W.ctx.$.node(W.kind,Object.assign(W.baseInner,cK(W.l)),{prereduced:!0});for(let G of W.roots){if(X instanceof v)return X;X=x0(G,X,W.ctx)}return X}let Y=!1;for(let X=0;X<W.l.length;X++){let G=x0(W.l[X],$,W.ctx);if(G===null)continue;if(G instanceof v)return G;if(!Y){if(G.isRoot())return W.roots.push(G),W.l.splice(X),P8(W);W.l[X]=G,Y=!0}else if(!W.l.includes(G))return E0(`Unexpectedly encountered multiple distinct intersection results for refinement ${G}`)}if(!Y)W.l.push($);if(W.kind==="intersection"){if($.impliedSiblings)for(let X of $.impliedSiblings)uW(W.r,X)}return P8(W)},f8=(W)=>{return Object.entries(W).flatMap(([Y,X])=>(Y in tX)?X:[]).sort((Y,X)=>Y.precedence<X.precedence?-1:Y.precedence>X.precedence?1:Y.kind==="predicate"&&X.kind==="predicate"?0:Y.hash<X.hash?-1:1)},cK=(W)=>{let $={};for(let Y of W)if(Y.hasOpenIntersection())$[Y.kind]=D0($[Y.kind],Y);else{if($[Y.kind])return E0(`Unexpected intersection of closed refinements of kind ${Y.kind}`);$[Y.kind]=Y}return $},YF=(...W)=>A(XF(...W)),XF=(W,$,Y)=>{let X=Y.hasKind("morph")?"a morph":Y.isUnknown()?"unknown":Y.exclude($).defaultShortDescription;return`${Pz(W)} operand must be ${$.description} (was ${X})`};var GF=(W,$,Y)=>new o$(W,$,Y,Y,null);class sX extends qW{}class o$ extends qW{[b1]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(W,$,Y,X,G){super((...J)=>{let H=X0(this.names,(T,Q)=>{let _=this.arg$.parse(J[T]);if(!_.extends(this.constraints[T]))A(dK(Q,this.constraints[T].expression,_.expression));return[Q,_]});if(this.defIsLazy()){let T=this.bodyDef(H);return this.$.parse(T)}return this.$.parse($,{args:H})});this.paramDefs=W,this.bodyDef=$,this.$=Y,this.arg$=X,this.hkt=G,this.description=G?new G().description??`a generic type for ${G.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof sX}cacheGetter(W,$){return Object.defineProperty(this,W,{value:$}),$}get json(){return this.cacheGetter("json",{params:this.params.map((W)=>W[1].isUnknown()?W[0]:[W[0],W[1].json]),body:cz(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((W)=>typeof W==="string"?[W,R.intrinsic.unknown]:[W[0],this.$.parse(W[1])]))}get names(){return this.cacheGetter("names",this.params.map((W)=>W[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((W)=>W[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var dK=(W,$,Y)=>`${W} must be assignable to ${$} (was ${Y})`;var lK=J0({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(W)=>typeof W==="function"?{predicate:W}:W,defaults:{description:(W)=>`valid according to ${W.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class JF extends wW{serializedPredicate=d0(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=d$(this.errorContext);traverseApply=(W,$)=>{if(!this.predicate(W,$.external)&&!$.hasError())$.errorFromNodeContext(this.errorContext)};compile(W){if(W.traversalKind==="Allows"){W.return(this.compiledCondition);return}W.if(`${this.compiledNegation} && !ctx.hasError()`,()=>W.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(W,$){return $.fallback.predicate({code:"predicate",base:W,predicate:this.predicate})}}var $G={implementation:lK,Node:JF};var oK=J0({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(W)=>Number.isInteger(W)?W:A(iK(W))}},normalize:(W)=>typeof W==="number"?{rule:W}:W,hasAssociatedError:!0,defaults:{description:(W)=>W.rule===1?"an integer":W.rule===2?"even":`a multiple of ${W.rule}`},intersections:{divisor:(W,$,Y)=>Y.$.node("divisor",{rule:Math.abs(W.rule*$.rule/nK(W.rule,$.rule))})},obviatesBasisDescription:!0});class HF extends U${traverseAllows=(W)=>W%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=R.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(W){if(W.type="integer",this.rule===1)return W;return W.multipleOf=this.rule,W}}var YG={implementation:oK,Node:HF};var iK=(W)=>`divisor must be an integer (was ${W})`,nK=(W,$)=>{let Y,X=W,G=$;while(G!==0)Y=G,G=X%G,X=Y;return X};class XW extends U${boundOperandKind=sK[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=eK(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${rK[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?WE(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(W){return(this.limitKind==="upper"?this.numericLimit<W.numericLimit:this.numericLimit>W.numericLimit)||this.numericLimit===W.numericLimit&&this.exclusive===!0&&!W.exclusive}overlapsRange(W){if(this.isStricterThan(W))return!1;if(this.numericLimit===W.numericLimit&&(this.exclusive||W.exclusive))return!1;return!0}overlapIsUnit(W){return this.numericLimit===W.numericLimit&&!this.exclusive&&!W.exclusive}}var rK={"<":">=","<=":">",">":"<=",">=":"<"},tK={min:"max",minLength:"maxLength",after:"before"},eX={parse:(W)=>W||void 0},W9=(W)=>($)=>{if(typeof $==="number")return{rule:$};let{exclusive:Y,...X}=$;return Y?{...X,rule:W==="minLength"?X.rule+1:X.rule-1}:X},$9=(W)=>($)=>{if(typeof $==="number"||typeof $==="string"||$ instanceof Date)return{rule:$};let{exclusive:Y,...X}=$;if(!Y)return X;let G=typeof X.rule==="number"?X.rule:typeof X.rule==="string"?new Date(X.rule).valueOf():X.rule.valueOf();return Y?{...X,rule:W==="after"?G+1:G-1}:X},Y9=(W)=>typeof W==="string"||typeof W==="number"?new Date(W):W,aK=(W,$)=>`${W} bound must be a positive integer (was ${$})`,b8=(W)=>($)=>{if(!Number.isInteger($)||$<0)A(aK(W,$));return $},sK={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},eK=(W,$)=>`${_1(W,tK)?">":"<"}${$?"":"="}`,WE=(W)=>typeof W==="string"?W:new Date(W).toLocaleString(),TF=(W)=>`Bounded expression ${W} must be exactly one of number, string, Array, or Date`;var $E=J0({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:Y9,serialize:(W)=>W.toISOString()}},normalize:$9("after"),defaults:{description:(W)=>`${W.collapsibleLimitString} or later`,actual:I2},intersections:{after:(W,$)=>W.isStricterThan($)?W:$}});class QF extends XW{impliedBasis=R.intrinsic.Date.internal;collapsibleLimitString=I2(this.rule);traverseAllows=(W)=>W>=this.rule;reduceJsonSchema(W,$){return $.fallback.date({code:"date",base:W,after:this.rule})}}var XG={implementation:$E,Node:QF};var YE=J0({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:Y9,serialize:(W)=>W.toISOString()}},normalize:$9("before"),defaults:{description:(W)=>`${W.collapsibleLimitString} or earlier`,actual:I2},intersections:{before:(W,$)=>W.isStricterThan($)?W:$,after:(W,$,Y)=>W.overlapsRange($)?W.overlapIsUnit($)?Y.$.node("unit",{unit:W.rule}):null:v.init("range",W,$)}});class _F extends XW{collapsibleLimitString=I2(this.rule);traverseAllows=(W)=>W<=this.rule;impliedBasis=R.intrinsic.Date.internal;reduceJsonSchema(W,$){return $.fallback.date({code:"date",base:W,before:this.rule})}}var GG={implementation:YE,Node:_F};var XE=J0({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:b8("exactLength")}},normalize:(W)=>typeof W==="number"?{rule:W}:W,hasAssociatedError:!0,defaults:{description:(W)=>`exactly length ${W.rule}`,actual:(W)=>`${W.length}`},intersections:{exactLength:(W,$,Y)=>v.init("unit",Y.$.node("unit",{unit:W.rule}),Y.$.node("unit",{unit:$.rule}),{path:["length"]}),minLength:(W,$)=>W.rule>=$.rule?W:v.init("range",W,$),maxLength:(W,$)=>W.rule<=$.rule?W:v.init("range",W,$)}});class zF extends U${traverseAllows=(W)=>W.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=R.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(W){switch(W.type){case"string":return W.minLength=this.rule,W.maxLength=this.rule,W;case"array":return W.minItems=this.rule,W.maxItems=this.rule,W;default:return h0.throwInternalOperandError("exactLength",W)}}}var JG={implementation:XE,Node:zF};var GE=J0({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:eX},normalize:(W)=>typeof W==="number"?{rule:W}:W,defaults:{description:(W)=>{if(W.rule===0)return W.exclusive?"negative":"non-positive";return`${W.exclusive?"less than":"at most"} ${W.rule}`}},intersections:{max:(W,$)=>W.isStricterThan($)?W:$,min:(W,$,Y)=>W.overlapsRange($)?W.overlapIsUnit($)?Y.$.node("unit",{unit:W.rule}):null:v.init("range",W,$)},obviatesBasisDescription:!0});class FF extends XW{impliedBasis=R.intrinsic.number.internal;traverseAllows=this.exclusive?(W)=>W<this.rule:(W)=>W<=this.rule;reduceJsonSchema(W){if(this.exclusive)W.exclusiveMaximum=this.rule;else W.maximum=this.rule;return W}}var HG={implementation:GE,Node:FF};var JE=J0({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:b8("maxLength")}},reduce:(W,$)=>W.rule===0?$.node("exactLength",W):void 0,normalize:W9("maxLength"),defaults:{description:(W)=>`at most length ${W.rule}`,actual:(W)=>`${W.length}`},intersections:{maxLength:(W,$)=>W.isStricterThan($)?W:$,minLength:(W,$,Y)=>W.overlapsRange($)?W.overlapIsUnit($)?Y.$.node("exactLength",{rule:W.rule}):null:v.init("range",W,$)}});class wF extends XW{impliedBasis=R.intrinsic.lengthBoundable.internal;traverseAllows=(W)=>W.length<=this.rule;reduceJsonSchema(W){switch(W.type){case"string":return W.maxLength=this.rule,W;case"array":return W.maxItems=this.rule,W;default:return h0.throwInternalOperandError("maxLength",W)}}}var TG={implementation:JE,Node:wF};var HE=J0({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:eX},normalize:(W)=>typeof W==="number"?{rule:W}:W,defaults:{description:(W)=>{if(W.rule===0)return W.exclusive?"positive":"non-negative";return`${W.exclusive?"more than":"at least"} ${W.rule}`}},intersections:{min:(W,$)=>W.isStricterThan($)?W:$},obviatesBasisDescription:!0});class UF extends XW{impliedBasis=R.intrinsic.number.internal;traverseAllows=this.exclusive?(W)=>W>this.rule:(W)=>W>=this.rule;reduceJsonSchema(W){if(this.exclusive)W.exclusiveMinimum=this.rule;else W.minimum=this.rule;return W}}var QG={implementation:HE,Node:UF};var TE=J0({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:b8("minLength")}},reduce:(W)=>W.rule===0?R.intrinsic.unknown:void 0,normalize:W9("minLength"),defaults:{description:(W)=>W.rule===1?"non-empty":`at least length ${W.rule}`,actual:(W)=>W.length===0?"":`${W.length}`},intersections:{minLength:(W,$)=>W.isStricterThan($)?W:$}});class DF extends XW{impliedBasis=R.intrinsic.lengthBoundable.internal;traverseAllows=(W)=>W.length>=this.rule;reduceJsonSchema(W){switch(W.type){case"string":return W.minLength=this.rule,W;case"array":return W.minItems=this.rule,W;default:return h0.throwInternalOperandError("minLength",W)}}}var _G={implementation:TE,Node:DF};var MF={min:QG.implementation,max:HG.implementation,minLength:_G.implementation,maxLength:TG.implementation,exactLength:JG.implementation,after:XG.implementation,before:GG.implementation},VF={min:QG.Node,max:HG.Node,minLength:_G.Node,maxLength:TG.Node,exactLength:JG.Node,after:XG.Node,before:GG.Node};var QE=J0({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(W)=>typeof W==="string"?{rule:W}:W instanceof RegExp?W.flags?{rule:W.source,flags:W.flags}:{rule:W.source}:W,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(W)=>`matched by ${W.rule}`},intersections:{pattern:()=>null}});class OF extends U${instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=R.intrinsic.string.internal;reduceJsonSchema(W,$){if(W.pattern)return $.fallback.patternIntersection({code:"patternIntersection",base:W,pattern:this.rule});return W.pattern=this.rule,W}}var zG={implementation:QE,Node:OF};var l6=(W,$)=>{let Y=_E(W);if($&&!$.includes(Y))return A(`Root of kind ${Y} should be one of ${$}`);return Y},_E=(W)=>{if(d(W,"root"))return W.kind;if(typeof W==="string")return W[0]==="$"?"alias":(W in u1)?"domain":"proto";if(typeof W==="function")return"proto";if(typeof W!=="object"||W===null)return A(KF(W));if("morphs"in W)return"morph";if("branches"in W||k0(W))return"union";if("unit"in W)return"unit";if("reference"in W)return"alias";let $=Object.keys(W);if($.length===0||$.some((Y)=>(Y in tX)))return"intersection";if("proto"in W)return"proto";if("domain"in W)return"domain";return A(KF(W))},KF=(W)=>`${G0(W)} is not a valid type schema`,EF={},zE=(W)=>k0(W)?W.map(($)=>$.collapsibleJson):W.collapsibleJson,x1={};R.nodesByRegisteredId=x1;var FG=(W)=>{return EF[W]??=0,`${W}${++EF[W]}`},wG=(W)=>{let $=x8[W.kind],Y=$.applyConfig?.(W.def,W.$.resolvedConfig)??W.def,X={},{meta:G,...J}=Y,H=G===void 0?{}:typeof G==="string"?{description:G}:G,T=x7(J).sort(([_],[z])=>k8(_)?k8(z)?j8(_)-j8(z):1:k8(z)?-1:_<z?-1:1).filter(([_,z])=>{if(_.startsWith("meta.")){let F=_.slice(5);return H[F]=z,!1}return!0});for(let _ of T){let z=_[0],F=$.keys[z];if(!F)return A(`Key ${z} is not valid on ${W.kind} schema`);let w=F.parse?F.parse(_[1],W):_[1];if(w!==YW&&(w!==void 0||F.preserveUndefined))X[z]=w}if($.reduce&&!W.prereduced){let _=$.reduce(X,W.$);if(_){if(_ instanceof v)return _.throw();return FE(_,H)}}return UG({id:W.id,kind:W.kind,inner:X,meta:H,$:W.$})},UG=({id:W,kind:$,inner:Y,meta:X,$:G,ignoreCache:J})=>{let H=x8[$],T=x7(Y),Q=[],_={};for(let[j,N]of T){let B=H.keys[j],P=B.serialize??(B.child?zE:FW);if(_[j]=P(N),B.child===!0){let g=N;if(k0(g))Q.push(...g);else Q.push(g)}else if(typeof B.child==="function")Q.push(...B.child(N))}if(H.finalizeInnerJson)_=H.finalizeInnerJson(_);let z={..._},F={};if(!cW(X))F=X0(X,(j,N)=>[j,j==="examples"?N:FW(N)]),z.meta=X9(F,"description",!0);_=X9(_,H.collapsibleKey,!1);let w=JSON.stringify({kind:$,..._});z=X9(z,H.collapsibleKey,!1);let O=X9(z,H.collapsibleKey,!0),V=JSON.stringify({kind:$,...z});if(G.nodesByHash[V]&&!J)return G.nodesByHash[V];let E={id:W,kind:$,impl:H,inner:Y,innerEntries:T,innerJson:_,innerHash:w,meta:X,metaJson:F,json:z,hash:V,collapsibleJson:O,children:Q};if($!=="intersection"){for(let j in Y)if(j!=="in"&&j!=="out")E[j]=Y[j]}let I=new LF[$](E,G);return G.nodesByHash[V]=I},AF=(W,$)=>{if(W.id===$)return W;if(b0(x1[$]))E0(`Unexpected attempt to overwrite node id ${$}`);return UG({id:$,kind:W.kind,inner:W.inner,meta:W.meta,$:W.$,ignoreCache:!0})},FE=(W,$,Y)=>{if(Y&&b0(x1[Y]))E0(`Unexpected attempt to overwrite node id ${Y}`);return UG({id:Y??FG($.alias??W.kind),kind:W.kind,inner:W.inner,meta:$,$:W.$})},X9=(W,$,Y)=>{let X=Object.keys(W);if(X.length===1&&X[0]===$){let G=W[$];if(Y)return G;if(p1(G,"object")&&(Object.keys(G).length===1||Array.isArray(G)))return G}return W};var o6=(W,$,Y)=>{if(W.key!==$.key)return null;let X=W.key,G=x0(W.value,$.value,Y),J=W.required||$.required?"required":"optional";if(G instanceof v)if(J==="optional")G=R.intrinsic.never.internal;else return G.withPrefixKey(W.key,W.required&&$.required?"required":"optional");if(J==="required")return Y.$.node("required",{key:X,value:G});let H=W.hasDefault()?$.hasDefault()?W.default===$.default?W.default:A(DG(W.default,$.default)):W.default:$.hasDefault()?$.default:YW;return Y.$.node("optional",{key:X,value:G,default:H})};class i6 extends wW{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=R.intrinsic.object.internal;serializedKey=w$(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=D0(this.value.flatRefs.map((W)=>kW([this.key,...W.path],W.node)),kW([this.key],this.value));_transform(W,$){$.path.push(this.key);let Y=super._transform(W,$);return $.path.pop(),Y}hasDefault(){return"default"in this.inner}traverseAllows=(W,$)=>{if(this.key in W)return d1(this.key,()=>this.value.traverseAllows(W[this.key],$),$);return this.optional};traverseApply=(W,$)=>{if(this.key in W)d1(this.key,()=>this.value.traverseApply(W[this.key],$),$);else if(this.hasKind("required"))$.errorFromNodeContext(this.errorContext)};compile(W){if(W.if(`${this.serializedKey} in data`,()=>W.traverseKey(this.serializedKey,`data${W.prop(this.key)}`,this.value)),this.hasKind("required"))W.else(()=>W.traversalKind==="Apply"?W.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):W.return(!1));if(W.traversalKind==="Allows")W.return(!0)}}var DG=(W,$)=>`Invalid intersection of default values ${G0(W)} & ${G0($)}`;var wE=J0({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(W,$)=>$.$.parseSchema(W)},default:{preserveUndefined:!0}},normalize:(W)=>W,reduce:(W,$)=>{if($.resolvedConfig.exactOptionalPropertyTypes===!1){if(!W.value.allows(void 0))return $.node("optional",{...W,value:W.value.or(r.undefined)},{prereduced:!0})}},defaults:{description:(W)=>`${W.compiledKey}?: ${W.value.description}`},intersections:{optional:o6}});class ZF extends i6{constructor(...W){super(...W);if("default"in this.inner)r6(this.value,this.inner.default,this.key)}get outProp(){if(!this.hasDefault())return this;let{default:W,...$}=this.inner;return this.cacheGetter("outProp",this.$.node("required",$,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${G0(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=DE(this);defaultValueMorphRef=this.defaultValueMorph&&d0(this.defaultValueMorph)}var n6={implementation:wE,Node:ZF},UE={},DE=(W)=>{if(!W.hasDefault())return;let $=`{${W.compiledKey}: ${W.value.id} = ${FW(W.default)}}`;return UE[$]??=MG(W.key,W.value,W.default)},MG=(W,$,Y)=>{if(typeof Y==="function")return $.includesTransform?(G,J)=>{return d1(W,()=>$(G[W]=Y(),J),J),G}:(G)=>{return G[W]=Y(),G};let X=$.includesTransform?$.assert(Y):Y;return p1(X,"object")?(G,J)=>{return d1(W,()=>$(G[W]=Y,J),J),G}:(G)=>{return G[W]=X,G}},r6=(W,$,Y)=>{let X=p$($);if(p1($,"object")&&!X)A(ME(Y));let G=W.in(X?$():$);if(G instanceof c1){if(Y===null)A(`Default ${G.summary}`);let J=G.transform((H)=>H.transform((T)=>({...T,prefixPath:[Y]})));A(`Default for ${J.summary}`)}return $},ME=(W)=>{return`Non-primitive default ${W===null?"":typeof W==="number"?`for value at [${W}] `:`for ${w$(W)} `}must be specified as a function like () => ({my: 'object'})`};class UW extends c6{constructor(W,$){super(W,$);Object.defineProperty(this,b1,{value:"root",enumerable:!1})}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(W)=>{let $=this(W);if($ instanceof c1)return $;return{value:$}}}}as(){return this}brand(W){if(W==="")return A(VE);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(W,$){let Y=this.branches.map(W);return $?.(Y)??Y}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(W={}){let $=r7(this.$.resolvedConfig.toJsonSchema,W);$.useRefs||=this.isCyclic;let Y=typeof $.dialect==="string"?{$schema:$.dialect}:{};if(Object.assign(Y,this.toJsonSchemaRecurse($)),$.useRefs)Y.$defs=X0(this.references,(X,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema($)]:[]);return Y}toJsonSchemaRecurse(W){if(W.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/$defs/${this.id}`};return this.toResolvedJsonSchema(W)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(W){let $=this.innerToJsonSchema(W);return Object.assign($,this.metaJson)}intersect(W){let $=this.$.parseDefinition(W),Y=this.rawIntersect($);if(Y instanceof v)return Y;return this.$.finalize(Y)}rawIntersect(W){return l1(this,W,this.$)}toNeverIfDisjoint(){return this}and(W){let $=this.intersect(W);return $ instanceof v?$.throw():$}rawAnd(W){let $=this.rawIntersect(W);return $ instanceof v?$.throw():$}or(W){let $=this.$.parseDefinition(W);return this.$.finalize(this.rawOr($))}rawOr(W){let $=[...this.branches,...W.branches];return this.$.node("union",$)}map(W){return this.$.schema(this.applyStructuralOperation("map",[W]))}pick(...W){return this.$.schema(this.applyStructuralOperation("pick",W))}omit(...W){return this.$.schema(this.applyStructuralOperation("omit",W))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let W=this.applyStructuralOperation("keyof",[]).reduce(($,Y)=>$.intersect(Y).toNeverIfDisjoint(),R.intrinsic.unknown.internal);if(W.branches.length===0)A(e7(`keyof ${this.expression}`));return this._keyof=this.$.finalize(W)}get props(){if(this.branches.length!==1)return A(OE(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(W){let $=this.$.parseDefinition(W);return this.$.schema($.distribute((Y)=>this.applyStructuralOperation("merge",[NF(Y)??A(RF("merge",Y.expression))])))}applyStructuralOperation(W,$){return this.distribute((Y)=>{if(Y.equals(R.intrinsic.object)&&W!=="merge")return Y;let X=NF(Y);if(!X)A(RF(W,Y.expression));if(W==="keyof")return X.keyof();if(W==="get")return X.get(...$);if(W==="props")return X.props;let G=W==="required"?"require":W==="partial"?"optionalize":W;return this.$.node("intersection",{...Y.inner,structure:X[G](...$)})})}get(...W){if(W[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",W))}extract(W){let $=this.$.parseDefinition(W);return this.$.schema(this.branches.filter((Y)=>Y.extends($)))}exclude(W){let $=this.$.parseDefinition(W);return this.$.schema(this.branches.filter((Y)=>!Y.extends($)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(W){return!(this.intersect(W)instanceof v)}extends(W){let $=this.intersect(W);return!($ instanceof v)&&this.equals($)}ifExtends(W){return this.extends(W)?this:void 0}subsumes(W){return this.$.parseDefinition(W).extends(this)}configure(W,$="shallow"){return this.configureReferences(W,$)}describe(W,$="shallow"){return this.configure({description:W},$)}optional(){return[this,"?"]}default(W){return r6(this,W,null),[this,"=",W]}from(W){return this.assert(W)}_pipe(...W){let $=W.reduce((Y,X)=>Y.rawPipeOnce(X),this);return this.$.finalize($)}tryPipe(...W){let $=W.reduce((Y,X)=>Y.rawPipeOnce(d(X,"root")?X:(G,J)=>{try{return X(G,J)}catch(H){return J.error({code:"predicate",predicate:X,actual:`aborted due to error:
|
|
105
105
|
${H}
|
|
106
|
-
`})}}),this);return this.$.finalize($)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(W){return this.$.finalize(this.toNode(this.$.parseDefinition(W)))}toNode(W){let $=
|
|
107
|
-
${W}`,
|
|
108
|
-
Seen: [${
|
|
109
|
-
Resolution: ${G0($)}`);return $}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let W=this.reference.slice(1),$=this.$.resolutions[W];if(typeof $==="string")return $;if(d($,"root"))return $.id;return
|
|
106
|
+
`})}}),this);return this.$.finalize($)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(W){return this.$.finalize(this.toNode(this.$.parseDefinition(W)))}toNode(W){let $=d6(this,W,this.$);if($ instanceof v)return $.throw();return $}rawPipeOnce(W){if(d(W,"root"))return this.toNode(W);return this.distribute(($)=>$.hasKind("morph")?this.$.node("morph",{in:$.inner.in,morphs:[...$.morphs,W]}):this.$.node("morph",{in:$,morphs:[W]}),this.$.parseSchema)}narrow(W){return this.constrainOut("predicate",W)}constrain(W,$){return this._constrain("root",W,$)}constrainIn(W,$){return this._constrain("in",W,$)}constrainOut(W,$){return this._constrain("out",W,$)}_constrain(W,$,Y){let X=this.$.node($,Y);if(X.isRoot())return X.isUnknown()?this:E0(`Unexpected constraint node ${X}`);let G=W==="root"?this:this[W];if(G.hasKind("morph")||X.impliedBasis&&!G.extends(X.impliedBasis))return YF($,X.impliedBasis,this);let J=this.$.node("intersection",{[X.kind]:X}),H=W==="out"?d6(this,J,this.$):l1(this,J,this.$);if(H instanceof v)H.throw();return this.$.finalize(H)}onUndeclaredKey(W){let $=typeof W==="string"?W:W.rule,Y=typeof W==="string"?!1:W.deep;return this.$.finalize(this.transform((X,G)=>X==="structure"?$==="ignore"?Lz(G,{undeclared:1}):{...G,undeclared:$}:G,Y?void 0:{shouldTransform:(X)=>!T$(q8,X.kind)}))}hasEqualMorphs(W){if(!this.includesTransform&&!W.includesTransform)return!0;if(!_$(this.shallowMorphs,W.shallowMorphs))return!1;if(!_$(this.flatMorphs,W.flatMorphs,{isEqual:($,Y)=>$.propString===Y.propString&&($.node.hasKind("morph")&&Y.node.hasKind("morph")?$.node.hasEqualMorphs(Y.node):$.node.hasKind("intersection")&&Y.node.hasKind("intersection")?$.node.structure?.structuralMorphRef===Y.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(W){return this.onUndeclaredKey({rule:W,deep:!0})}filter(W){return this.constrainIn("predicate",W)}divisibleBy(W){return this.constrain("divisor",W)}matching(W){return this.constrain("pattern",W)}atLeast(W){return this.constrain("min",W)}atMost(W){return this.constrain("max",W)}moreThan(W){return this.constrain("min",v8(W))}lessThan(W){return this.constrain("max",v8(W))}atLeastLength(W){return this.constrain("minLength",W)}atMostLength(W){return this.constrain("maxLength",W)}moreThanLength(W){return this.constrain("minLength",v8(W))}lessThanLength(W){return this.constrain("maxLength",v8(W))}exactlyLength(W){return this.constrain("exactLength",W)}atOrAfter(W){return this.constrain("after",W)}atOrBefore(W){return this.constrain("before",W)}laterThan(W){return this.constrain("after",v8(W))}earlierThan(W){return this.constrain("before",v8(W))}}var VE="Expected a non-empty brand name after #",v8=(W)=>typeof W==="object"&&!(W instanceof Date)?{...W,exclusive:!0}:{rule:W,exclusive:!0},t6=(W,$)=>d($,"root")?d(W,"root")?W.extends($):$.allows(W):d(W,"root")?W.hasUnit($):$===W,NF=(W)=>{if(W.hasKind("morph"))return null;if(W.hasKind("intersection"))return W.inner.structure??(W.basis?.domain==="object"?W.$.bindReference(R.intrinsic.emptyStructure):null);if(W.isBasis()&&W.domain==="object")return W.$.bindReference(R.intrinsic.emptyStructure);return null},OE=(W)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
107
|
+
${W}`,RF=(W,$)=>`${W} operand must be an object (was ${$})`;var dW=(W,$)=>X0(aX(W),(Y,X)=>[X,$]);var KE=(W)=>typeof W==="string"?{reference:W}:W,BF=(W)=>W instanceof v?R.intrinsic.never.internal:W,EE=J0({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(W)=>W.startsWith("$")?W:`$ark.${W}`},resolve:{}},normalize:KE,defaults:{description:(W)=>W.reference},intersections:{alias:(W,$,Y)=>Y.$.lazilyResolve(()=>BF(x0(W.resolution,$.resolution,Y)),`${W.reference}${Y.pipe?"=>":"&"}${$.reference}`),...dW("alias",(W,$,Y)=>{if($.isUnknown())return W;if($.isNever())return $;if($.isBasis()&&!$.overlaps(R.intrinsic.object))return v.init("assignability",R.intrinsic.object,$);return Y.$.lazilyResolve(()=>BF(x0(W.resolution,$,Y)),`${W.reference}${Y.pipe?"=>":"&"}${$.id}`)})}});class SF extends UW{expression=this.reference;structure=void 0;get resolution(){let W=this._resolve();return x1[this.id]=W}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let W=this.reference,$=x1[W],Y=[];while(d($,"context")){if(Y.includes($.id))return A(AE($.id,Y));Y.push($.id),$=x1[$.id]}if(!d($,"root"))return E0(`Unexpected resolution for reference ${this.reference}
|
|
108
|
+
Seen: [${Y.join("->")}]
|
|
109
|
+
Resolution: ${G0($)}`);return $}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let W=this.reference.slice(1),$=this.$.resolutions[W];if(typeof $==="string")return $;if(d($,"root"))return $.id;return E0(`Unexpected resolution for reference ${this.reference}: ${G0($)}`)}get defaultShortDescription(){return u1.object}innerToJsonSchema(W){return this.resolution.toJsonSchemaRecurse(W)}traverseAllows=(W,$)=>{let Y=$.seen[this.reference];if(Y?.includes(W))return!0;return $.seen[this.reference]=D0(Y,W),this.resolution.traverseAllows(W,$)};traverseApply=(W,$)=>{let Y=$.seen[this.reference];if(Y?.includes(W))return;$.seen[this.reference]=D0(Y,W),this.resolution.traverseApply(W,$)};compile(W){let $=this.resolutionId;W.if(`ctx.seen.${$} && ctx.seen.${$}.includes(data)`,()=>W.return(!0)),W.if(`!ctx.seen.${$}`,()=>W.line(`ctx.seen.${$} = []`)),W.line(`ctx.seen.${$}.push(data)`),W.return(W.invoke($))}}var AE=(W,$)=>`Alias '${W}' has a shallow resolution cycle: ${[...$,W].join("->")}`,a6={implementation:EE,Node:SF};class P2 extends UW{traverseApply=(W,$)=>{if(!this.traverseAllows(W,$))$.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return d$(this.errorContext)}compile(W){if(W.traversalKind==="Allows")W.return(this.compiledCondition);else W.if(this.compiledNegation,()=>W.line(`${W.ctx}.errorFromNodeContext(${this.compiledErrorContext})`))}}var LE=J0({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(W)=>typeof W==="string"?{domain:W}:B8(W,"numberAllowsNaN")&&W.domain!=="number"?A(G9.writeBadAllowNanMessage(W.domain)):W,applyConfig:(W,$)=>W.numberAllowsNaN===void 0&&W.domain==="number"&&$.numberAllowsNaN?{...W,numberAllowsNaN:!0}:W,defaults:{description:(W)=>u1[W.domain],actual:(W)=>Number.isNaN(W)?"NaN":u1[Q1(W)]},intersections:{domain:(W,$)=>W.domain==="number"&&$.domain==="number"?W.numberAllowsNaN?$:W:v.init("domain",W,$)}});class qF extends P2{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(W)=>typeof W==="number"&&!Number.isNaN(W):(W)=>Q1(W)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return u1[this.domain]}innerToJsonSchema(W){if(this.domain==="bigint"||this.domain==="symbol")return W.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var G9={implementation:LE,Node:qF,writeBadAllowNanMessage:(W)=>`numberAllowsNaN may only be specified with domain "number" (was ${W})`};var ZE=J0({kind:"intersection",hasAssociatedError:!0,normalize:(W)=>{if(b0(W))return W;let{structure:$,...Y}=W,X=!!$,G=$??{},J=X0(Y,(H,T)=>{if(_1(H,nz)){if(X)A(`Flattened structure key ${H} cannot be specified alongside a root 'structure' key.`);return G[H]=T,[]}return[H,T]});if(d(G,"constraint")||!cW(G))J.structure=G;return J},finalizeInnerJson:({structure:W,...$})=>p1(W,"object")?{...W,...$}:$,keys:{domain:{child:!0,parse:(W,$)=>$.$.node("domain",W)},proto:{child:!0,parse:(W,$)=>$.$.node("proto",W)},structure:{child:!0,parse:(W,$)=>$.$.node("structure",W),serialize:(W)=>{if(!W.sequence?.minLength)return W.collapsibleJson;let{sequence:$,...Y}=W.collapsibleJson,{minVariadicLength:X,...G}=$,J=G.variadic&&Object.keys(G).length===1?G.variadic:G;return{...Y,sequence:J}}},divisor:{child:!0,parse:B1("divisor")},max:{child:!0,parse:B1("max")},min:{child:!0,parse:B1("min")},maxLength:{child:!0,parse:B1("maxLength")},minLength:{child:!0,parse:B1("minLength")},exactLength:{child:!0,parse:B1("exactLength")},before:{child:!0,parse:B1("before")},after:{child:!0,parse:B1("after")},pattern:{child:!0,parse:B1("pattern")},predicate:{child:!0,parse:B1("predicate")}},reduce:(W,$)=>CF({},W,{$,invert:!1,pipe:!1}),defaults:{description:(W)=>{if(W.children.length===0)return"unknown";if(W.structure)return W.structure.description;let $=[];if(W.basis&&!W.refinements.some((Y)=>Y.impl.obviatesBasisDescription))$.push(W.basis.description);if(W.refinements.length){let Y=W.refinements.toSorted((X,G)=>X.kind==="min"&&G.kind==="max"?-1:0).map((X)=>X.description);$.push(...Y)}if(W.inner.predicate)$.push(...W.inner.predicate.map((Y)=>Y.description));return $.join(" and ")},expected:(W)=>` \u25E6 ${W.errors.map(($)=>$.expected).join(`
|
|
110
110
|
\u25E6 `)}`,problem:(W)=>`(${W.actual}) must be...
|
|
111
|
-
${W.expected}`},intersections:{intersection:(W,$,
|
|
111
|
+
${W.expected}`},intersections:{intersection:(W,$,Y)=>CF(W.inner,$.inner,Y),...dW("intersection",(W,$,Y)=>{if(W.children.length===0)return $;let{domain:X,proto:G,...J}=W.inner,H=G??X,T=H?x0(H,$,Y):$;return T instanceof v?T:W?.basis?.equals(T)?W:W.$.node("intersection",{...J,[T.kind]:T},{prereduced:!0})})}});class kF extends UW{basis=this.inner.domain??this.inner.proto??null;refinements=this.children.filter((W)=>W.isRefinement());structure=this.inner.structure;expression=NE(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(W){return this.children.reduce(($,Y)=>Y.isBasis()?Y.toJsonSchemaRecurse(W):Y.reduceJsonSchema($,W),{})}traverseAllows=(W,$)=>this.children.every((Y)=>Y.traverseAllows(W,$));traverseApply=(W,$)=>{let Y=$.currentErrorCount;if(this.basis){if(this.basis.traverseApply(W,$),$.currentErrorCount>Y)return}if(this.refinements.length){for(let X=0;X<this.refinements.length-1;X++)if(this.refinements[X].traverseApply(W,$),$.failFast&&$.currentErrorCount>Y)return;if(this.refinements.at(-1).traverseApply(W,$),$.currentErrorCount>Y)return}if(this.structure){if(this.structure.traverseApply(W,$),$.currentErrorCount>Y)return}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)if(this.inner.predicate[X].traverseApply(W,$),$.failFast&&$.currentErrorCount>Y)return;this.inner.predicate.at(-1).traverseApply(W,$)}};compile(W){if(W.traversalKind==="Allows"){for(let $ of this.children)W.check($);W.return(!0);return}if(W.initializeErrorCount(),this.basis){if(W.check(this.basis),this.children.length>1)W.returnIfFail()}if(this.refinements.length){for(let $=0;$<this.refinements.length-1;$++)W.check(this.refinements[$]),W.returnIfFailFast();if(W.check(this.refinements.at(-1)),this.structure||this.inner.predicate)W.returnIfFail()}if(this.structure){if(W.check(this.structure),this.inner.predicate)W.returnIfFail()}if(this.inner.predicate){for(let $=0;$<this.inner.predicate.length-1;$++)W.check(this.inner.predicate[$]),W.returnIfFail();W.check(this.inner.predicate.at(-1))}}}var VG={implementation:ZE,Node:kF},NE=(W)=>{let $=W.structure?.expression||`${W.basis&&!W.refinements.some((Y)=>Y.impl.obviatesBasisExpression)?W.basis.nestableExpression+" ":""}${W.refinements.map((Y)=>Y.expression).join(" & ")}`||"unknown";if($==="Array == 0")$="[]";return $},CF=(W,$,Y)=>{let X={},G=W.proto??W.domain,J=$.proto??$.domain,H=G?J?x0(G,J,Y):G:J;if(H instanceof v)return H;if(H)X[H.kind]=H;return P8({kind:"intersection",baseInner:X,l:f8(W),r:f8($),roots:[],ctx:Y})};var RE=J0({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(W,$)=>$.$.parseSchema(W)},morphs:{parse:m$,serialize:(W)=>W.map(($)=>d($,"root")?$.json:d0($))},declaredIn:{child:!1,serialize:(W)=>W.json},declaredOut:{child:!1,serialize:(W)=>W.json}},normalize:(W)=>W,defaults:{description:(W)=>`a morph from ${W.in.description} to ${W.out?.description??"unknown"}`},intersections:{morph:(W,$,Y)=>{if(!W.hasEqualMorphs($))return A(BE(W.expression,$.expression));let X=x0(W.in,$.in,Y);if(X instanceof v)return X;let G={morphs:W.morphs};if(W.declaredIn||$.declaredIn){let J=x0(W.in,$.in,Y);if(J instanceof v)return J.throw();else G.declaredIn=J}if(W.declaredOut||$.declaredOut){let J=x0(W.out,$.out,Y);if(J instanceof v)return J.throw();else G.declaredOut=J}return X.distribute((J)=>Y.$.node("morph",{...G,in:J}),Y.$.parseSchema)},...dW("morph",(W,$,Y)=>{let X=W.inner.in?x0(W.inner.in,$,Y):$;return X instanceof v?X:X.equals(W.inner.in)?W:Y.$.node("morph",{...W.inner,in:X})})}});class jF extends UW{serializedMorphs=this.morphs.map(d0);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs.at(-1);lastMorphIfNode=d(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.out:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get in(){return this.declaredIn??this.inner.in?.in??R.intrinsic.unknown.internal}get out(){return this.declaredOut??this.introspectableOut??R.intrinsic.unknown.internal}declareIn(W){return this.$.node("morph",{...this.inner,declaredIn:W})}declareOut(W){return this.$.node("morph",{...this.inner,declaredOut:W})}expression=`(In: ${this.in.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.out.expression}>`;get defaultShortDescription(){return this.in.meta.description??this.in.defaultShortDescription}innerToJsonSchema(W){return W.fallback.morph({code:"morph",base:this.in.toJsonSchemaRecurse(W),out:this.introspectableOut?.toJsonSchemaRecurse(W)??null})}compile(W){if(W.traversalKind==="Allows"){if(!this.introspectableIn)return;W.return(W.invoke(this.introspectableIn));return}if(this.introspectableIn)W.line(W.invoke(this.introspectableIn));W.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(W,$)=>!this.introspectableIn||this.introspectableIn.traverseAllows(W,$);traverseApply=(W,$)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(W,$);$.queueMorphs(this.morphs)};hasEqualMorphs(W){return _$(this.morphs,W.morphs,{isEqual:($,Y)=>$===Y||d($,"root")&&d(Y,"root")&&$.equals(Y)})}}var OG={implementation:RE,Node:jF},BE=(W,$)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
112
112
|
Left: ${W}
|
|
113
|
-
Right: ${$}`;var
|
|
113
|
+
Right: ${$}`;var SE=J0({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(W)=>f6(W)??FW(W)},dateAllowsInvalid:{}},normalize:(W)=>{let $=typeof W==="string"?{proto:k2[W]}:typeof W==="function"?b0(W)?W:{proto:W}:typeof W.proto==="string"?{...W,proto:k2[W.proto]}:W;if(typeof $.proto!=="function")A(s6.writeInvalidSchemaMessage($.proto));if(B8($,"dateAllowsInvalid")&&$.proto!==Date)A(s6.writeBadInvalidDateMessage($.proto));return $},applyConfig:(W,$)=>{if(W.dateAllowsInvalid===void 0&&W.proto===Date&&$.dateAllowsInvalid)return{...W,dateAllowsInvalid:!0};return W},defaults:{description:(W)=>W.builtinName?Bz[W.builtinName]:`an instance of ${W.proto.name}`,actual:(W)=>W instanceof Date&&W.toString()==="Invalid Date"?"an invalid Date":P6(W)},intersections:{proto:(W,$)=>W.proto===Date&&$.proto===Date?W.dateAllowsInvalid?$:W:m7(W.proto,$.proto)?W:m7($.proto,W.proto)?$:v.init("proto",W,$),domain:(W,$)=>$.domain==="object"?W:v.init("domain",R.intrinsic.object.internal,$)}});class IF extends P2{builtinName=f6(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(W)=>W instanceof Date&&W.toString()!=="Invalid Date":(W)=>W instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(W){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return W.fallback.date?.({code:"date",base:{}})??W.fallback.proto({code:"proto",base:{},proto:this.proto});default:return W.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}}var s6={implementation:SE,Node:IF,writeBadInvalidDateMessage:(W)=>`dateAllowsInvalid may only be specified with constructor Date (was ${W.name})`,writeInvalidSchemaMessage:(W)=>`instanceOf operand must be a function (was ${Q1(W)})`};var qE=J0({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(W,$)=>{let Y=[];for(let X of W){let G=d(X,"root")?X.branches:$.$.parseSchema(X).branches;for(let J of G)if(J.hasKind("morph")){let H=Y.findIndex((T)=>T.hasKind("morph")&&T.hasEqualMorphs(J));if(H===-1)Y.push(J);else{let T=Y[H];Y[H]=$.$.node("morph",{...T.inner,in:T.in.rawOr(J.in)})}}else Y.push(J)}if(!$.def.ordered)Y.sort((X,G)=>X.hash<G.hash?-1:1);return Y}}},normalize:(W)=>k0(W)?{branches:W}:W,reduce:(W,$)=>{let Y=yE(W);if(Y.length===1)return Y[0];if(Y.length===W.branches.length)return;return $.node("union",{...W,branches:Y},{prereduced:!0})},defaults:{description:(W)=>W.distribute(($)=>$.description,y8),expected:(W)=>{let $=Oz(W.errors,"propString"),Y=Object.entries($).map(([X,G])=>{let J=[];for(let Q of G)uW(J,Q.expected);let H=y8(J),T=G.every((Q)=>Q.actual===G[0].actual)?G[0].actual:G0(G[0].data);return`${X&&`${X} `}must be ${H}${T&&` (was ${T})`}`});return y8(Y)},problem:(W)=>W.expected,message:(W)=>W.problem},intersections:{union:(W,$,Y)=>{if(W.isNever!==$.isNever)return v.init("presence",W,$);let X;if(W.ordered){if($.ordered)A(gE(W.expression,$.expression));if(X=KG($.branches,W.branches,Y),X instanceof v)X.invert()}else X=KG(W.branches,$.branches,Y);if(X instanceof v)return X;return Y.$.parseSchema(W.ordered||$.ordered?{branches:X,ordered:!0}:{branches:X})},...dW("union",(W,$,Y)=>{let X=KG(W.branches,[$],Y);if(X instanceof v)return X;if(X.length===1)return X[0];return Y.$.parseSchema(W.ordered?{branches:X,ordered:!0}:{branches:X})})}});class bF extends UW{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let W=[],$=-1;for(let Y of this.branches){if(Y.hasKind("unit")&&Y.domain==="boolean"){if($===-1)$=W.length,W.push(Y);else W[$]=R.intrinsic.boolean;continue}W.push(Y)}return W}unitBranches=this.branches.filter((W)=>W.in.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?bE(this.discriminant):null;expression=this.distribute((W)=>W.nestableExpression,vE);createBranchedOptimisticRootApply(){return(W,$)=>{let Y=this.traverseOptimistic(W);if(Y!==YW)return Y;let X=new CW(W,this.$.resolvedConfig);return this.traverseApply(W,X),X.finalize($)}}get shallowMorphs(){return this.branches.reduce((W,$)=>uW(W,$.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((W)=>W.defaultShortDescription,y8)}innerToJsonSchema(W){if(this.branchGroups.length===1&&this.branchGroups[0].equals(R.intrinsic.boolean))return{type:"boolean"};let $=this.branchGroups.map((Y)=>Y.toJsonSchemaRecurse(W));if($.every((Y)=>Object.keys(Y).length===1&&B8(Y,"const")))return{enum:$.map((Y)=>Y.const)};return{anyOf:$}}traverseAllows=(W,$)=>this.branches.some((Y)=>Y.traverseAllows(W,$));traverseApply=(W,$)=>{let Y=[];for(let X=0;X<this.branches.length;X++){if($.pushBranch(),this.branches[X].traverseApply(W,$),!$.hasError()){if(this.branches[X].includesTransform)return $.queuedMorphs.push(...$.popBranch().queuedMorphs);return $.popBranch()}Y.push($.popBranch().error)}$.errorFromNodeContext({code:"union",errors:Y,meta:this.meta})};traverseOptimistic=(W)=>{for(let $=0;$<this.branches.length;$++){let Y=this.branches[$];if(Y.traverseAllows(W)){if(Y.contextFreeMorph)return Y.contextFreeMorph(W);return W}}return YW};compile(W){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(W);let $=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")$=`typeof ${$} === "object" ? ${$} === null ? "null" : "object" : typeof ${$} === "function" ? "object" : typeof ${$}`;let Y=this.discriminant.cases,X=Object.keys(Y),{optimistic:G}=W;if(W.optimistic=!1,W.block(`switch(${$})`,()=>{for(let _ in Y){let z=Y[_],F=_==="default"?_:`case ${_}`;W.line(`${F}: return ${z===!0?G?W.data:z:G?`${W.invoke(z)} ? ${z.contextFreeMorph?`${d0(z.contextFreeMorph)}(${W.data})`:W.data} : "${YW}"`:W.invoke(z)}`)}return W}),W.traversalKind==="Allows"){W.return(G?`"${YW}"`:!1);return}let J=y8(this.discriminant.kind==="domain"?X.map((_)=>{let z=_.slice(1,-1);return z==="function"?u1.object:u1[z]}):X),H=this.discriminant.path.map((_)=>typeof _==="symbol"?d0(_):JSON.stringify(_)),T=JSON.stringify(J),Q=this.discriminant.kind==="domain"?`${PE}[${$}]`:`${fE}(${$})`;W.line(`ctx.errorFromNodeContext({
|
|
114
114
|
code: "predicate",
|
|
115
|
-
expected: ${
|
|
116
|
-
actual: ${
|
|
115
|
+
expected: ${T},
|
|
116
|
+
actual: ${Q},
|
|
117
117
|
relativePath: [${H}],
|
|
118
118
|
meta: ${this.compiledMeta}
|
|
119
|
-
})`)}compileIndiscriminable(W){if(W.traversalKind==="Apply"){W.const("errors","[]");for(let $ of this.branches)W.line("ctx.pushBranch()").line(W.invoke($)).if("!ctx.hasError()",()=>W.return($.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");W.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:$}=W;W.optimistic=!1;for(let
|
|
119
|
+
})`)}compileIndiscriminable(W){if(W.traversalKind==="Apply"){W.const("errors","[]");for(let $ of this.branches)W.line("ctx.pushBranch()").line(W.invoke($)).if("!ctx.hasError()",()=>W.return($.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");W.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:$}=W;W.optimistic=!1;for(let Y of this.branches)W.if(`${W.invoke(Y)}`,()=>W.return($?Y.contextFreeMorph?`${d0(Y.contextFreeMorph)}(${W.data})`:W.data:!0));W.return($?`"${YW}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let G=X0(this.unitBranches,(J,H)=>[`${H.in.serializedValue}`,H.hasKind("morph")?H:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:G}}let W=[];for(let G=0;G<this.branches.length-1;G++){let J=this.branches[G];for(let H=G+1;H<this.branches.length;H++){let T=this.branches[H],Q=l1(J.in,T.in,J.$);if(!(Q instanceof v))continue;for(let _ of Q){if(!_.kind||_.optional)continue;let z,F;if(_.kind==="domain"){let{l:O,r:V}=_;z=`"${typeof O==="string"?O:O.domain}"`,F=`"${typeof V==="string"?V:V.domain}"`}else if(_.kind==="unit")z=_.l.serializedValue,F=_.r.serializedValue;else continue;let w=W.find((O)=>_$(O.path,_.path)&&O.kind===_.kind);if(!w)W.push({kind:_.kind,cases:{[z]:{branchIndices:[G],condition:_.l},[F]:{branchIndices:[H],condition:_.r}},path:_.path});else{if(w.cases[z])w.cases[z].branchIndices=uW(w.cases[z].branchIndices,G);else w.cases[z]??={branchIndices:[G],condition:_.l};if(w.cases[F])w.cases[F].branchIndices=uW(w.cases[F].branchIndices,H);else w.cases[F]??={branchIndices:[H],condition:_.r}}}}}let $=this.ordered?jE(W,this.branches):W;if(!$.length)return null;let Y=CE($,this),X={};for(let G in Y.best.cases){let J=kE(Y,G);if(J===null){X[G]=!0;continue}if(J.length===this.branches.length)return null;if(this.ordered)J.sort((Q,_)=>Q.originalIndex-_.originalIndex);let H=J.map((Q)=>Q.branch),T=H.length===1?H[0]:this.$.node("union",this.ordered?{branches:H,ordered:!0}:H);Object.assign(this.referencesById,T.referencesById),X[G]=T}if(Y.defaultEntries.length){let G=Y.defaultEntries.map((J)=>J.branch);X.default=this.$.node("union",this.ordered?{branches:G,ordered:!0}:G,{prereduced:!0}),Object.assign(this.referencesById,X.default.referencesById)}return Object.assign(Y.location,{cases:X})}}var CE=(W,$)=>{let Y=W.sort((J,H)=>Object.keys(H.cases).length-Object.keys(J.cases).length)[0],X={kind:Y.kind,path:Y.path,optionallyChainedPropString:xF(Y.path)},G=$.branches.map((J,H)=>({originalIndex:H,branch:J}));return{best:Y,location:X,defaultEntries:G,node:$}},kE=(W,$)=>{let Y=W.best.cases[$],X=IE(Y.condition,W.location.path,W.node.$),G=[],J=[];for(let H=0;H<W.defaultEntries.length;H++){let T=W.defaultEntries[H];if(Y.branchIndices.includes(T.originalIndex)){let Q=PF(W.node.branches[T.originalIndex],W.location);if(Q===null)G=null;else G?.push({originalIndex:T.originalIndex,branch:Q})}else if(T.branch.hasKind("alias")&&X.hasKind("domain")&&X.domain==="object")G?.push(T);else{if(T.branch.in.overlaps(X)){let Q=PF(T.branch,W.location);G?.push({originalIndex:T.originalIndex,branch:Q})}J.push(T)}}return W.defaultEntries=J,G},jE=(W,$)=>{return W.filter((X)=>{let G=Object.values(X.cases).map((J)=>J.branchIndices);for(let J=0;J<G.length-1;J++){let H=G[J];for(let T=J+1;T<G.length;T++){let Q=G[T];for(let _ of H)for(let z of Q)if(_>z){if($[_].overlaps($[z]))return!1}}}return!0})},IE=(W,$,Y)=>{let X=W==="undefined"?Y.node("unit",{unit:void 0}):W==="null"?Y.node("unit",{unit:null}):W==="boolean"?Y.units([!0,!1]):W;for(let G=$.length-1;G>=0;G--){let J=$[G];X=Y.node("intersection",typeof J==="number"?{proto:"Array",sequence:[...Mz(J).map((H)=>({})),X]}:{domain:"object",required:[{key:J,value:X}]})}return X},xF=(W)=>W.reduce(($,Y)=>$+i7(Y,!0),"data"),PE=d0(Kz),fE=d0(G0),EG={implementation:qE,Node:bF},bE=(W)=>({kind:W.kind,path:W.path.map(($)=>typeof $==="string"?$:w$($)),cases:X0(W.cases,($,Y)=>[$,Y===!0?Y:Y.hasKind("union")&&Y.discriminantJson?Y.discriminantJson:Y.json])}),xE={delimiter:" | ",finalDelimiter:" | "},vE=(W)=>y8(W,xE),y8=(W,$)=>{let Y=$?.delimiter??", ",X=$?.finalDelimiter??" or ";if(W.length===0)return"never";if(W.length===1)return W[0];if(W.length===2&&W[0]==="false"&&W[1]==="true"||W[0]==="true"&&W[1]==="false")return"boolean";let G={},J=W.filter((T)=>G[T]?!1:G[T]=!0),H=J.pop();return`${J.join(Y)}${J.length?X:""}${H}`},KG=(W,$,Y)=>{let X=$.map(()=>[]);for(let J=0;J<W.length;J++){let H={};for(let T=0;T<$.length;T++){if(X[T]===null)continue;if(W[J].equals($[T])){X[T]=null,H={};break}let Q=x0(W[J],$[T],Y);if(Q instanceof v)continue;if(Q.equals(W[J])){X[T].push(W[J]),H={};break}if(Q.equals($[T]))X[T]=null;else H[T]=Q}for(let T in H)X[T][J]=H[T]}let G=X.flatMap((J,H)=>J?.flatMap((T)=>T.branches)??$[H]);return G.length===0?v.init("union",W,$):G},yE=({branches:W,ordered:$})=>{if(W.length<2)return W;let Y=W.map(()=>!0);for(let X=0;X<W.length;X++)for(let G=X+1;G<W.length&&Y[X]&&Y[G];G++){if(W[X].equals(W[G])){Y[G]=!1;continue}let J=l1(W[X].in,W[G].in,W[0].$);if(J instanceof v)continue;if(!$)hE(W[X],W[G]);if(J.equals(W[X].in))Y[X]=!!$;else if(J.equals(W[G].in))Y[G]=!1}return W.filter((X,G)=>Y[G])},hE=(W,$)=>{if(!W.includesTransform&&!$.includesTransform)return;if(!_$(W.shallowMorphs,$.shallowMorphs))A(fF(W.expression,$.expression));if(!_$(W.flatMorphs,$.flatMorphs,{isEqual:(Y,X)=>Y.propString===X.propString&&(Y.node.hasKind("morph")&&X.node.hasKind("morph")?Y.node.hasEqualMorphs(X.node):Y.node.hasKind("intersection")&&X.node.hasKind("intersection")?Y.node.structure?.structuralMorphRef===X.node.structure?.structuralMorphRef:!1)}))A(fF(W.expression,$.expression))},PF=(W,$)=>W.transform((Y,X)=>{if(Y==="domain"||Y==="unit")return null;return X},{shouldTransform:(Y,X)=>{let G=xF(X.path);if(!$.optionallyChainedPropString.startsWith(G))return!1;if(Y.hasKind("domain")&&Y.domain==="object")return!0;if((Y.hasKind("domain")||$.kind==="unit")&&G===$.optionallyChainedPropString)return!0;return Y.children.length!==0&&Y.kind!=="index"}}),fF=(W,$)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
120
120
|
Left: ${W}
|
|
121
|
-
Right: ${$}`,
|
|
121
|
+
Right: ${$}`,gE=(W,$)=>`The intersection of two ordered unions is indeterminate:
|
|
122
122
|
Left: ${W}
|
|
123
|
-
Right: ${$}`;var gA=J0({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(W)=>W instanceof Date?W.toISOString():_W(W)}},normalize:(W)=>W,defaults:{description:(W)=>G0(W.unit),problem:({expected:W,actual:$})=>`${W===$?`must be reference equal to ${W} (serialized to the same value)`:`must be ${W} (was ${$})`}`},intersections:{unit:(W,$)=>b.init("unit",W,$),...dW("unit",(W,$)=>{if($.allows(W.unit))return W;let X=$.hasKind("intersection")?$.basis:$;if(X){let Y=X.hasKind("domain")?X:N.intrinsic.object;if(W.domain!==Y.domain){let G=W.domain==="undefined"||W.domain==="null"||W.domain==="boolean"?W.domain:N.intrinsic[W.domain];return b.init("domain",G,Y)}}return b.init("assignability",W,$.hasKind("intersection")?$.children.find((Y)=>!Y.allows(W.unit)):$)})}});class y_ extends j8{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=v_(this.unit,this.serializedValue);compiledNegation=v_(this.unit,this.serializedValue,"negated");expression=G0(this.unit);domain=z1(this.unit);get defaultShortDescription(){return this.domain==="object"?u1.object:this.description}innerToJsonSchema(W){return this.unit===null?{type:"null"}:N.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:W.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(W)=>W instanceof Date&&W.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(W)=>Number.isNaN(W):(W)=>W===this.unit}var KG={implementation:gA,Node:y_},v_=(W,$,X)=>{if(W instanceof Date){let Y=`data instanceof Date && data.toISOString() === ${$}`;return X?`!(${Y})`:Y}if(Number.isNaN(W))return`${X?"!":""}Number.isNaN(data)`;return`data ${X?"!":"="}== ${$}`};var mA=J0({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(W,$)=>{let X=$.$.parseSchema(W);if(!X.extends(N.intrinsic.key))return E(uA(X.expression));let Y=X.branches.filter((G)=>G.hasKind("unit"));if(Y.length)return E(pA(Y.map((G)=>G0(G.unit))));return X}},value:{child:!0,parse:(W,$)=>$.$.parseSchema(W)}},normalize:(W)=>W,defaults:{description:(W)=>`[${W.signature.expression}]: ${W.value.description}`},intersections:{index:(W,$,X)=>{if(W.signature.equals($.signature)){let Y=b0(W.value,$.value,X),G=Y instanceof b?N.intrinsic.never.internal:Y;return X.$.node("index",{signature:W.signature,value:G})}if(W.signature.extends($.signature)&&W.value.subsumes($.value))return $;if($.signature.extends(W.signature)&&$.value.subsumes(W.value))return W;return null}}});class h_ extends wW{impliedBasis=N.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=D0(this.value.flatRefs.map((W)=>kW([this.signature,...W.path],W.node)),kW([this.signature],this.value));traverseAllows=(W,$)=>S8(W).every((X)=>{if(this.signature.traverseAllows(X[0],$))return d1(X[0],()=>this.value.traverseAllows(X[1],$),$);return!0});traverseApply=(W,$)=>{for(let X of S8(W))if(this.signature.traverseAllows(X[0],$))d1(X[0],()=>this.value.traverseApply(X[1],$),$)};_transform(W,$){$.path.push(this.signature);let X=super._transform(W,$);return $.path.pop(),X}compile(){}}var AG={implementation:mA,Node:h_},pA=(W)=>`Index keys ${W.join(", ")} should be specified as named props.`,uA=(W)=>`Indexed key definition '${W}' must be a string or symbol`;var cA=J0({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(W,$)=>$.$.parseSchema(W)}},normalize:(W)=>W,defaults:{description:(W)=>`${W.compiledKey}: ${W.value.description}`,expected:(W)=>W.missingValueDescription,actual:()=>"missing"},intersections:{required:d6,optional:d6}});class g_ extends l6{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=c2(this.errorContext)}var EG={implementation:cA,Node:g_};var dA=J0({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(W,$)=>{if(W.length===0)return;return W.map((X)=>$.$.parseSchema(X))}},optionals:{child:!0,parse:(W,$)=>{if(W.length===0)return;return W.map((X)=>$.$.parseSchema(X))}},defaultables:{child:(W)=>W.map(($)=>$[0]),parse:(W,$)=>{if(W.length===0)return;return W.map((X)=>{let Y=$.$.parseSchema(X[0]);return i6(Y,X[1],null),[Y,X[1]]})},serialize:(W)=>W.map(($)=>[$[0].collapsibleJson,_W($[1])])},variadic:{child:!0,parse:(W,$)=>$.$.parseSchema(W,$)},minVariadicLength:{parse:(W)=>W===0?void 0:W},postfix:{child:!0,parse:(W,$)=>{if(W.length===0)return;return W.map((X)=>$.$.parseSchema(X))}}},normalize:(W)=>{if(typeof W==="string")return{variadic:W};if("variadic"in W||"prefix"in W||"defaultables"in W||"optionals"in W||"postfix"in W||"minVariadicLength"in W){if(W.postfix?.length){if(!W.variadic)return E(nA);if(W.optionals?.length||W.defaultables?.length)return E(BG)}if(W.minVariadicLength&&!W.variadic)return E("minVariadicLength may not be specified without a variadic element");return W}return{variadic:W}},reduce:(W,$)=>{let X=W.minVariadicLength??0,Y=W.prefix?.slice()??[],G=W.defaultables?.slice()??[],J=W.optionals?.slice()??[],H=W.postfix?.slice()??[];if(W.variadic){while(J.at(-1)?.equals(W.variadic))J.pop();if(J.length===0&&G.length===0)while(Y.at(-1)?.equals(W.variadic))Y.pop(),X++;while(H[0]?.equals(W.variadic))H.shift(),X++}else if(J.length===0&&G.length===0)Y.push(...H.splice(0));if(X!==W.minVariadicLength||W.prefix&&W.prefix.length!==Y.length)return $.node("sequence",{...W,prefix:Y,defaultables:G,optionals:J,postfix:H,minVariadicLength:X},{prereduced:!0})},defaults:{description:(W)=>{if(W.isVariadicOnly)return`${W.variadic.nestableExpression}[]`;return`[${W.tuple.map((X)=>X.kind==="defaultables"?`${X.node.nestableExpression} = ${G0(X.default)}`:X.kind==="optionals"?`${X.node.nestableExpression}?`:X.kind==="variadic"?`...${X.node.nestableExpression}[]`:X.node.expression).join(", ")}]`}},intersections:{sequence:(W,$,X)=>{let Y=a6({l:W.tuple,r:$.tuple,disjoint:new b,result:[],fixedVariants:[],ctx:X}),G=Y.disjoint.length===0?[Y,...Y.fixedVariants]:Y.fixedVariants;return G.length===0?Y.disjoint:G.length===1?X.$.node("sequence",m_(G[0].result)):X.$.node("union",G.map((J)=>({proto:Array,sequence:m_(J.result)})))}}});class p_ extends wW{impliedBasis=N.intrinsic.Array.internal;tuple=iA(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((W)=>{if(W.kind==="defaultables"||W.kind==="optionals")return this.defaultablesAndOptionals.push(W.node),!0;return W.kind==="prefix"});variadicOrPostfix=Q2(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return r7(this.flatRefs,this.prevariadic.flatMap((W,$)=>D0(W.node.flatRefs.map((X)=>kW([`${$}`,...X.path],X.node)),kW([`${$}`],W.node)))),r7(this.flatRefs,this.variadicOrPostfix.flatMap((W)=>D0(W.flatRefs.map(($)=>kW([N.intrinsic.nonNegativeIntegerString.internal,...$.path],$.node)),kW([N.intrinsic.nonNegativeIntegerString.internal],W)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=oA(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d0(this.defaultValueMorphs):void 0;elementAtIndex(W,$){if($<this.prevariadic.length)return this.tuple[$];let X=W.length-this.postfixLength;if($>=X)return{kind:"postfix",node:this.postfix[$-X]};return{kind:"variadic",node:this.variadic??K0(`Unexpected attempt to access index ${$} on ${this}`)}}traverseAllows=(W,$)=>{for(let X=0;X<W.length;X++)if(!this.elementAtIndex(W,X).node.traverseAllows(W[X],$))return!1;return!0};traverseApply=(W,$)=>{let X=0;for(;X<W.length;X++)d1(X,()=>this.elementAtIndex(W,X).node.traverseApply(W[X],$),$)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(W){if(this.prefix)for(let[$,X]of this.prefix.entries())W.traverseKey(`${$}`,`data[${$}]`,X);for(let[$,X]of this.defaultablesAndOptionals.entries()){let Y=`${$+this.prefixLength}`;W.if(`${Y} >= ${W.data}.length`,()=>W.traversalKind==="Allows"?W.return(!0):W.return()),W.traverseKey(Y,`data[${Y}]`,X)}if(this.variadic){if(this.postfix)W.const("firstPostfixIndex",`${W.data}.length${this.postfix?`- ${this.postfix.length}`:""}`);if(W.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>W.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[$,X]of this.postfix.entries()){let Y=`firstPostfixIndex + ${$}`;W.traverseKey(Y,`data[${Y}]`,X)}}if(W.traversalKind==="Allows")W.return(!0)}_transform(W,$){$.path.push(N.intrinsic.nonNegativeIntegerString.internal);let X=super._transform(W,$);return $.path.pop(),X}expression=this.description;reduceJsonSchema(W,$){if(this.prevariadic.length)W.prefixItems=this.prevariadic.map((X)=>{let Y=X.node.toJsonSchemaRecurse($);if(X.kind==="defaultables"){let G=typeof X.default==="function"?X.default():X.default;Y.default=N.intrinsic.jsonData.allows(G)?G:$.fallback.defaultValue({code:"defaultValue",base:Y,value:G})}return Y});if(this.minLength)W.minItems=this.minLength;if(this.variadic){let X=Object.assign(W,{items:this.variadic.toJsonSchemaRecurse($)});if(this.maxLength)X.maxItems=this.maxLength;if(this.postfix){let Y=this.postfix.map((G)=>G.toJsonSchemaRecurse($));W=$.fallback.arrayPostfix({code:"arrayPostfix",base:X,elements:Y})}}else W.items=!1,delete W.maxItems;return W}}var lA={},oA=(W)=>{if(!W.defaultables)return[];let $=[],X="[",Y=W.prefixLength+W.defaultablesLength-1;for(let G=W.prefixLength;G<=Y;G++){let[J,H]=W.defaultables[G-W.prefixLength];$.push(UG(G,J,H)),X+=`${G}: ${J.id} = ${_W(H)}, `}return X+="]",lA[X]??=$},LG={implementation:dA,Node:p_},iA=(W)=>{let $=[];if(W.prefix)for(let X of W.prefix)$.push({kind:"prefix",node:X});if(W.defaultables)for(let[X,Y]of W.defaultables)$.push({kind:"defaultables",node:X,default:Y});if(W.optionals)for(let X of W.optionals)$.push({kind:"optionals",node:X});if(W.variadic)$.push({kind:"variadic",node:W.variadic});if(W.postfix)for(let X of W.postfix)$.push({kind:"postfix",node:X});return $},m_=(W)=>W.reduce(($,X)=>{if(X.kind==="variadic")$.variadic=X.node;else if(X.kind==="defaultables")$.defaultables=D0($.defaultables,[[X.node,X.default]]);else $[X.kind]=D0($[X.kind],X.node);return $},{}),BG="A postfix required element cannot follow an optional or defaultable element",nA="A postfix element requires a variadic element",a6=(W)=>{let[$,...X]=W.l,[Y,...G]=W.r;if(!$||!Y)return W;let J=X.at(-1)?.kind==="postfix",H=G.at(-1)?.kind==="postfix",Q=$.kind==="prefix"||Y.kind==="prefix"?"prefix":$.kind==="postfix"||Y.kind==="postfix"?"postfix":$.kind==="variadic"&&Y.kind==="variadic"?"variadic":J||H?"prefix":$.kind==="defaultables"||Y.kind==="defaultables"?"defaultables":"optionals";if($.kind==="prefix"&&Y.kind==="variadic"&&H){let _=a6({...W,fixedVariants:[],r:G.map((w)=>({...w,kind:"prefix"}))});if(_.disjoint.length===0)W.fixedVariants.push(_)}else if(Y.kind==="prefix"&&$.kind==="variadic"&&J){let _=a6({...W,fixedVariants:[],l:X.map((w)=>({...w,kind:"prefix"}))});if(_.disjoint.length===0)W.fixedVariants.push(_)}let z=b0($.node,Y.node,W.ctx);if(z instanceof b)if(Q==="prefix"||Q==="postfix")W.disjoint.push(...z.withPrefixKey(Q==="prefix"?W.result.length:`-${X.length+1}`,"required")),W.result=[...W.result,{kind:Q,node:N.intrinsic.never.internal}];else if(Q==="optionals"||Q==="defaultables")return W;else return a6({...W,fixedVariants:[],l:X.map((_)=>({..._,kind:"prefix"})),r:X.map((_)=>({..._,kind:"prefix"}))});else if(Q==="defaultables"){if($.kind==="defaultables"&&Y.kind==="defaultables"&&$.default!==Y.default)E(wG($.default,Y.default));W.result=[...W.result,{kind:Q,node:z,default:$.kind==="defaultables"?$.default:Y.kind==="defaultables"?Y.default:K0(`Unexpected defaultable intersection from ${$.kind} and ${Y.kind} elements.`)}]}else W.result=[...W.result,{kind:Q,node:z}];let T=W.l.length,F=W.r.length;if($.kind!=="variadic"||T>=F&&(Y.kind==="variadic"||F===1))W.l=X;if(Y.kind!=="variadic"||F>=T&&($.kind==="variadic"||T===1))W.r=G;return a6(W)};var d_=(W)=>($)=>{if($.props.length||$.index){let X=$.index?.map((G)=>G[W])??[];for(let G of $.props)X.push(G[W]);if($.undeclared)X.push(`+ (undeclared): ${$.undeclared}`);let Y=`{ ${X.join(", ")} }`;return $.sequence?`${Y} & ${$.sequence.description}`:Y}return $.sequence?.description??"{}"},rA=d_("description"),tA=d_("expression"),u_=(W,$,X)=>{let Y=W.required?"required":"optional";if(!$.signature.allows(W.key))return null;let G=l1(W.value,$.value,X);if(G instanceof b)return Y==="optional"?X.node("optional",{key:W.key,value:N.intrinsic.never.internal}):G.withPrefixKey(W.key,W.kind);return null},aA=J0({kind:"structure",hasAssociatedError:!1,normalize:(W)=>W,applyConfig:(W,$)=>{if(!W.undeclared&&$.onUndeclaredKey!=="ignore")return{...W,undeclared:$.onUndeclaredKey};return W},keys:{required:{child:!0,parse:N1("required"),reduceIo:(W,$,X)=>{$.required=D0($.required,X.map((Y)=>Y[W]));return}},optional:{child:!0,parse:N1("optional"),reduceIo:(W,$,X)=>{if(W==="in"){$.optional=X.map((Y)=>Y.in);return}for(let Y of X)$[Y.outProp.kind]=D0($[Y.outProp.kind],Y.outProp.out)}},index:{child:!0,parse:N1("index")},sequence:{child:!0,parse:N1("sequence")},undeclared:{parse:(W)=>W==="ignore"?void 0:W,reduceIo:(W,$,X)=>{if(X!=="delete")return;if(W==="in")delete $.undeclared;else $.undeclared="reject"}}},defaults:{description:rA},intersections:{structure:(W,$,X)=>{let Y={...W.inner},G={...$.inner},J=new b;if(W.undeclared){let z=W.keyof();for(let T of $.requiredKeys)if(!z.allows(T))J.add("presence",N.intrinsic.never.internal,$.propsByKey[T].value,{path:[T]});if(G.optional)G.optional=G.optional.filter((T)=>z.allows(T.key));if(G.index)G.index=G.index.flatMap((T)=>{if(T.signature.extends(z))return T;let F=l1(z,T.signature,X.$);if(F instanceof b)return[];let _=Y9(F,T.value,X.$);if(_.required)G.required=Q2(G.required,_.required);if(_.optional)G.optional=Q2(G.optional,_.optional);return _.index??[]})}if($.undeclared){let z=$.keyof();for(let T of W.requiredKeys)if(!z.allows(T))J.add("presence",W.propsByKey[T].value,N.intrinsic.never.internal,{path:[T]});if(Y.optional)Y.optional=Y.optional.filter((T)=>z.allows(T.key));if(Y.index)Y.index=Y.index.flatMap((T)=>{if(T.signature.extends(z))return T;let F=l1(z,T.signature,X.$);if(F instanceof b)return[];let _=Y9(F,T.value,X.$);if(_.required)Y.required=Q2(Y.required,_.required);if(_.optional)Y.optional=Q2(Y.optional,_.optional);return _.index??[]})}let H={};if(W.undeclared||$.undeclared)H.undeclared=W.undeclared==="reject"||$.undeclared==="reject"?"reject":"delete";let Q=j4({kind:"structure",baseInner:H,l:I4(Y),r:I4(G),roots:[],ctx:X});if(Q instanceof b)J.push(...Q);if(J.length)return J;return Q}},reduce:(W,$)=>{if(W.index){if(!(W.required||W.optional))return;let X=!1,Y=W.required??[],G=W.optional??[],J=[...G];for(let H of W.index){for(let Q of Y){let z=u_(Q,H,$);if(z instanceof b)return z}for(let[Q,z]of G.entries()){let T=u_(z,H,$);if(T instanceof b)return T;if(T===null)continue;J[Q]=T,X=!0}}if(X)return $.node("structure",{...W,optional:J},{prereduced:!0})}}});class l_ extends wW{impliedBasis=N.intrinsic.object.internal;impliedSiblings=this.children.flatMap((W)=>W.impliedSiblings??[]);props=Q2(this.required,this.optional);propsByKey=Y0(this.props,(W,$)=>[$.key,$]);propsByKeyReference=d0(this.propsByKey);expression=tA(this);requiredKeys=this.required?.map((W)=>W.key)??[];optionalKeys=this.optional?.map((W)=>W.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let W=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:$}of this.index)W=W.concat($.branches);return this._keyof=this.$.node("union",W)}map(W){return this.$.node("structure",this.props.flatMap(W).reduce(($,X)=>{let Y=this.propsByKey[X.key];if(x0(X)){if(X.kind!=="required"&&X.kind!=="optional")return E(`Map result must have kind "required" or "optional" (was ${X.kind})`);return $[X.kind]=D0($[X.kind],X),$}let G=X.kind??Y?.kind??"required",J=Y0(X,(H,Q)=>(H in o6.implementation.keys)?[H,Q]:[]);return $[G]=D0($[G],this.$.node(G,J)),$},{}))}assertHasKeys(W){let $=W.filter((X)=>!n6(X,this.keyof()));if($.length)return E(c_(this.expression,$))}get(W,...$){let X,Y=!1,G=$E(W);if((typeof G==="string"||typeof G==="symbol")&&this.propsByKey[G])X=this.propsByKey[G].value,Y=this.propsByKey[G].required;if(this.index){for(let H of this.index)if(n6(G,H.signature))X=X?.and(H.value)??H.value}if(this.sequence&&n6(G,N.intrinsic.nonNegativeIntegerString))if(d(G,"root")){if(this.sequence.variadic)X=X?.and(this.sequence.element)??this.sequence.element}else{let H=Number.parseInt(G);if(H<this.sequence.prevariadic.length){let Q=this.sequence.prevariadic[H].node;X=X?.and(Q)??Q,Y||=H<this.sequence.prefixLength}else if(this.sequence.variadic){let Q=this.$.node("union",this.sequence.variadicOrPostfix);X=X?.and(Q)??Q}}if(!X){if(this.sequence?.variadic&&d(G,"root")&&G.extends(N.intrinsic.number))return E(XE(G.expression,this.sequence.expression));return E(c_(this.expression,[G]))}let J=X.get(...$);return Y?J:J.or(N.intrinsic.undefined)}pick(...W){return this.assertHasKeys(W),this.$.node("structure",this.filterKeys("pick",W))}omit(...W){return this.assertHasKeys(W),this.$.node("structure",this.filterKeys("omit",W))}optionalize(){let{required:W,...$}=this.inner;return this.$.node("structure",{...$,optional:this.props.map((X)=>X.hasKind("required")?this.$.node("optional",X.inner):X)})}require(){let{optional:W,...$}=this.inner;return this.$.node("structure",{...$,required:this.props.map((X)=>X.hasKind("optional")?{key:X.key,value:X.value}:X)})}merge(W){let $=this.filterKeys("omit",[W.keyof()]);if(W.required)$.required=D0($.required,W.required);if(W.optional)$.optional=D0($.optional,W.optional);if(W.index)$.index=D0($.index,W.index);if(W.sequence)$.sequence=W.sequence;if(W.undeclared)$.undeclared=W.undeclared;else delete $.undeclared;return this.$.node("structure",$)}filterKeys(W,$){let X=oY(this.inner),Y=(G)=>{let J=$.some((H)=>n6(G,H));return W==="pick"?J:!J};if(X.required)X.required=X.required.filter((G)=>Y(G.key));if(X.optional)X.optional=X.optional.filter((G)=>Y(G.key));if(X.index)X.index=X.index.filter((G)=>Y(G.signature));return X}traverseAllows=(W,$)=>this._traverse("Allows",W,$);traverseApply=(W,$)=>this._traverse("Apply",W,$);_traverse=(W,$,X)=>{let Y=X?.currentErrorCount??0;for(let G=0;G<this.props.length;G++)if(W==="Allows"){if(!this.props[G].traverseAllows($,X))return!1}else if(this.props[G].traverseApply($,X),X.failFast&&X.currentErrorCount>Y)return!1;if(this.sequence){if(W==="Allows"){if(!this.sequence.traverseAllows($,X))return!1}else if(this.sequence.traverseApply($,X),X.failFast&&X.currentErrorCount>Y)return!1}if(this.index||this.undeclared==="reject"){let G=Object.keys($);G.push(...Object.getOwnPropertySymbols($));for(let J=0;J<G.length;J++){let H=G[J];if(this.index){for(let Q of this.index)if(Q.signature.traverseAllows(H,X)){if(W==="Allows"){if(!d1(H,()=>Q.value.traverseAllows($[H],X),X))return!1}else if(d1(H,()=>Q.value.traverseApply($[H],X),X),X.failFast&&X.currentErrorCount>Y)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(H)){if(W==="Allows")return!1;if(X.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[H],meta:this.meta}),X.failFast)return!1}}}if(this.structuralMorph&&X&&!X.hasError())X.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((W)=>W.hasDefault())??[])}declaresKey=(W)=>(W in this.propsByKey)||this.index?.some(($)=>$.signature.allows(W))||this.sequence!==void 0&&N.intrinsic.nonNegativeIntegerString.allows(W);_compileDeclaresKey(W){let $=[];if(this.props.length)$.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let X of this.index)$.push(W.invoke(X.signature,{kind:"Allows",arg:"k"}));if(this.sequence)$.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return $.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",eA(this))}structuralMorphRef=this.structuralMorph&&d0(this.structuralMorph);compile(W){if(W.traversalKind==="Apply")W.initializeErrorCount();for(let $ of this.props)if(W.check($),W.traversalKind==="Apply")W.returnIfFailFast();if(this.sequence){if(W.check(this.sequence),W.traversalKind==="Apply")W.returnIfFailFast()}if(this.index||this.undeclared==="reject")W.const("keys","Object.keys(data)"),W.line("keys.push(...Object.getOwnPropertySymbols(data))"),W.for("i < keys.length",()=>this.compileExhaustiveEntry(W));if(W.traversalKind==="Allows")return W.return(!0);if(this.structuralMorphRef)W.if("ctx && !ctx.hasError()",()=>{return W.line("ctx.queueMorphs(["),WE(W,this),W.line("])")})}compileExhaustiveEntry(W){if(W.const("k","keys[i]"),this.index)for(let $ of this.index)W.if(`${W.invoke($.signature,{arg:"k",kind:"Allows"})}`,()=>W.traverseKey("k","data[k]",$.value));if(this.undeclared==="reject")W.if(`!(${this._compileDeclaresKey(W)})`,()=>{if(W.traversalKind==="Allows")return W.return(!1);return W.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>W.return())});return W}reduceJsonSchema(W,$){switch(W.type){case"object":return this.reduceObjectJsonSchema(W,$);case"array":let X=this.sequence?.reduceJsonSchema(W,$)??W;if(this.props.length||this.index)return $.fallback.arrayObject({code:"arrayObject",base:X,object:this.reduceObjectJsonSchema({type:"object"},$)});return X;default:return h0.throwInternalOperandError("structure",W)}}reduceObjectJsonSchema(W,$){if(this.props.length){W.properties={};for(let X of this.props){let Y=X.value.toJsonSchemaRecurse($);if(typeof X.key==="symbol"){$.fallback.symbolKey({code:"symbolKey",base:W,key:X.key,value:Y,optional:X.optional});continue}if(X.hasDefault()){let G=typeof X.default==="function"?X.default():X.default;Y.default=N.intrinsic.jsonData.allows(G)?G:$.fallback.defaultValue({code:"defaultValue",base:Y,value:G})}W.properties[X.key]=Y}if(this.requiredKeys.length&&W.properties)W.required=this.requiredKeys.filter((X)=>typeof X==="string"&&(X in W.properties))}if(this.index)for(let X of this.index){let Y=X.value.toJsonSchemaRecurse($);if(X.signature.equals(N.intrinsic.string)){W.additionalProperties=Y;continue}for(let G of X.signature.branches){if(!G.extends(N.intrinsic.string)){W=$.fallback.symbolKey({code:"symbolKey",base:W,key:null,value:Y,optional:!1});continue}let J={type:"string"};if(G.hasKind("morph"))J=$.fallback.morph({code:"morph",base:G.in.toJsonSchemaRecurse($),out:G.out.toJsonSchemaRecurse($)});if(!G.hasKind("intersection"))return K0(`Unexpected index branch kind ${G.kind}.`);let{pattern:H}=G.inner;if(H){let Q=Object.assign(J,{pattern:H[0].rule});for(let z=1;z<H.length;z++)J=$.fallback.patternIntersection({code:"patternIntersection",base:Q,pattern:H[z].rule});W.patternProperties??={},W.patternProperties[Q.pattern]=Y}}}if(this.undeclared&&!W.additionalProperties)W.additionalProperties=!1;return W}}var RG={},sA=(W)=>{let $="";for(let X=0;X<W.defaultable.length;X++)$+=W.defaultable[X].defaultValueMorphRef;if(W.sequence?.defaultValueMorphsReference)$+=W.sequence?.defaultValueMorphsReference;if(W.undeclared==="delete"){if($+="delete !(",W.required)for(let X of W.required)$+=X.compiledKey+" | ";if(W.optional)for(let X of W.optional)$+=X.compiledKey+" | ";if(W.index)for(let X of W.index)$+=X.signature.id+" | ";if(W.sequence)if(W.sequence.maxLength===null)$+=r.nonNegativeIntegerString.id;else for(let X=0;X<W.sequence.tuple.length;X++)$+=X+" | ";$+=")"}return $},eA=(W)=>{let $=sA(W);if(!$)return;if(RG[$])return RG[$];let X=(Y,G)=>{for(let J=0;J<W.defaultable.length;J++)if(!(W.defaultable[J].key in Y))W.defaultable[J].defaultValueMorph(Y,G);if(W.sequence?.defaultables)for(let J=Y.length-W.sequence.prefixLength;J<W.sequence.defaultables.length;J++)W.sequence.defaultValueMorphs[J](Y,G);if(W.undeclared==="delete"){for(let J in Y)if(!W.declaresKey(J))delete Y[J]}return Y};return RG[$]=X},WE=(W,$)=>{let Y=`(data${$.defaultable.some((G)=>G.defaultValueMorph.length===2)||$.sequence?.defaultValueMorphs.some((G)=>G.length===2)?", ctx":""})`;return W.block(`${Y} => `,(G)=>{for(let J=0;J<$.defaultable.length;J++){let{serializedKey:H,defaultValueMorphRef:Q}=$.defaultable[J];G.if(`!(${H} in data)`,(z)=>z.line(`${Q}${Y}`))}if($.sequence?.defaultables)G.for(`i < ${$.sequence.defaultables.length}`,(J)=>J.set("data[i]",5),`data.length - ${$.sequence.prefixLength}`);if($.undeclared==="delete")G.forIn("data",(J)=>J.if(`!(${$._compileDeclaresKey(J)})`,(H)=>H.line("delete data[k]")));return G.return("data")})},NG={implementation:aA,Node:l_},$E=(W)=>{if(d(W,"root")&&W.hasKind("unit"))W=W.unit;if(typeof W==="number")W=`${W}`;return W},XE=(W,$)=>`${W} is not allowed as an array index on ${$}. Use the 'nonNegativeIntegerString' keyword instead.`,Y9=(W,$,X)=>{let[Y,G]=DF(W.branches,(H)=>H.hasKind("unit"));if(!Y.length)return{index:X.node("index",{signature:W,value:$})};let J={};for(let H of Y){let Q=X.node("required",{key:H.unit,value:$});J[Q.kind]=D0(J[Q.kind],Q)}if(G.length)J.index=X.node("index",{signature:G,value:$});return J},YE=(W)=>d(W,"root")?W.expression:G0(W),c_=(W,$)=>`Key${$.length===1?"":"s"} ${$.map(YE).join(", ")} ${$.length===1?"does":"do"} not exist on ${W}`;var f4={...V_,alias:r6.implementation,domain:X9.implementation,unit:KG.implementation,proto:t6.implementation,union:OG.implementation,morph:VG.implementation,intersection:DG.implementation,divisor:WG.implementation,pattern:zG.implementation,predicate:e7.implementation,required:EG.implementation,optional:o6.implementation,index:AG.implementation,sequence:LG.implementation,structure:NG.implementation};N.defaultConfig=RF(Object.assign(Y0(f4,(W,$)=>[W,$.defaults]),{jitless:kF(),clone:SF,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:h0.defaultConfig}));N.resolvedConfig=g6(N.defaultConfig,N.config);var L_={...M_,alias:r6.Node,domain:X9.Node,unit:KG.Node,proto:t6.Node,union:OG.Node,morph:VG.Node,intersection:DG.Node,divisor:WG.Node,pattern:zG.Node,predicate:e7.Node,required:EG.Node,optional:o6.Node,index:AG.Node,sequence:LG.Node,structure:NG.Node};class v4 extends x7{get[f1](){return"module"}}var ZG=(W,$)=>new v4(Y0(W,(X,Y)=>[X,d(Y,"module")?ZG(Y,$):$.bindReference(Y)]));var GE=(W)=>k0(W)?W:("branches"in W)&&k0(W.branches)?W.branches:void 0,JE=(W,$)=>E(`Node of kind ${$} is not valid as a ${W} definition`),o_=(W)=>`#${W} duplicates public alias ${W}`,SG={};N.ambient??={};var i_,r_="function $",HE=(W)=>t_(W,a_(W)),t_=(W,$)=>{let X=$.write(r_,4),Y=$.compile()();for(let G of W){if(G.precompilation)continue;if(G.traverseAllows=Y[`${G.id}Allows`].bind(Y),G.isRoot()&&!G.allowsRequiresContext)G.allows=G.traverseAllows;if(G.traverseApply=Y[`${G.id}Apply`].bind(Y),Y[`${G.id}Optimistic`])G.traverseOptimistic=Y[`${G.id}Optimistic`].bind(Y);G.precompilation=X}},a_=(W)=>new lY().return(W.reduce(($,X)=>{let Y=new h6({kind:"Allows"}).indent();X.compile(Y);let G=Y.write(`${X.id}Allows`),J=new h6({kind:"Apply"}).indent();X.compile(J);let H=J.write(`${X.id}Apply`),Q=`${$}${G},
|
|
123
|
+
Right: ${$}`;var mE=J0({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(W)=>W instanceof Date?W.toISOString():FW(W)}},normalize:(W)=>W,defaults:{description:(W)=>G0(W.unit),problem:({expected:W,actual:$})=>`${W===$?`must be reference equal to ${W} (serialized to the same value)`:`must be ${W} (was ${$})`}`},intersections:{unit:(W,$)=>v.init("unit",W,$),...dW("unit",(W,$)=>{if($.allows(W.unit))return W;let Y=$.hasKind("intersection")?$.basis:$;if(Y){let X=Y.hasKind("domain")?Y:R.intrinsic.object;if(W.domain!==X.domain){let G=W.domain==="undefined"||W.domain==="null"||W.domain==="boolean"?W.domain:R.intrinsic[W.domain];return v.init("domain",G,X)}}return v.init("assignability",W,$.hasKind("intersection")?$.children.find((X)=>!X.allows(W.unit)):$)})}});class yF extends P2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=vF(this.unit,this.serializedValue);compiledNegation=vF(this.unit,this.serializedValue,"negated");expression=G0(this.unit);domain=Q1(this.unit);get defaultShortDescription(){return this.domain==="object"?u1.object:this.description}innerToJsonSchema(W){return this.unit===null?{type:"null"}:R.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:W.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(W)=>W instanceof Date&&W.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(W)=>Number.isNaN(W):(W)=>W===this.unit}var AG={implementation:mE,Node:yF},vF=(W,$,Y)=>{if(W instanceof Date){let X=`data instanceof Date && data.toISOString() === ${$}`;return Y?`!(${X})`:X}if(Number.isNaN(W))return`${Y?"!":""}Number.isNaN(data)`;return`data ${Y?"!":"="}== ${$}`};var pE=J0({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(W,$)=>{let Y=$.$.parseSchema(W);if(!Y.extends(R.intrinsic.key))return A(cE(Y.expression));let X=Y.branches.filter((G)=>G.hasKind("unit"));if(X.length)return A(uE(X.map((G)=>G0(G.unit))));return Y}},value:{child:!0,parse:(W,$)=>$.$.parseSchema(W)}},normalize:(W)=>W,defaults:{description:(W)=>`[${W.signature.expression}]: ${W.value.description}`},intersections:{index:(W,$,Y)=>{if(W.signature.equals($.signature)){let X=x0(W.value,$.value,Y),G=X instanceof v?R.intrinsic.never.internal:X;return Y.$.node("index",{signature:W.signature,value:G})}if(W.signature.extends($.signature)&&W.value.subsumes($.value))return $;if($.signature.extends(W.signature)&&$.value.subsumes(W.value))return W;return null}}});class hF extends wW{impliedBasis=R.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=D0(this.value.flatRefs.map((W)=>kW([this.signature,...W.path],W.node)),kW([this.signature],this.value));traverseAllows=(W,$)=>C2(W).every((Y)=>{if(this.signature.traverseAllows(Y[0],$))return d1(Y[0],()=>this.value.traverseAllows(Y[1],$),$);return!0});traverseApply=(W,$)=>{for(let Y of C2(W))if(this.signature.traverseAllows(Y[0],$))d1(Y[0],()=>this.value.traverseApply(Y[1],$),$)};_transform(W,$){$.path.push(this.signature);let Y=super._transform(W,$);return $.path.pop(),Y}compile(){}}var LG={implementation:pE,Node:hF},uE=(W)=>`Index keys ${W.join(", ")} should be specified as named props.`,cE=(W)=>`Indexed key definition '${W}' must be a string or symbol`;var dE=J0({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(W,$)=>$.$.parseSchema(W)}},normalize:(W)=>W,defaults:{description:(W)=>`${W.compiledKey}: ${W.value.description}`,expected:(W)=>W.missingValueDescription,actual:()=>"missing"},intersections:{required:o6,optional:o6}});class gF extends i6{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=d$(this.errorContext)}var ZG={implementation:dE,Node:gF};var lE=J0({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(W,$)=>{if(W.length===0)return;return W.map((Y)=>$.$.parseSchema(Y))}},optionals:{child:!0,parse:(W,$)=>{if(W.length===0)return;return W.map((Y)=>$.$.parseSchema(Y))}},defaultables:{child:(W)=>W.map(($)=>$[0]),parse:(W,$)=>{if(W.length===0)return;return W.map((Y)=>{let X=$.$.parseSchema(Y[0]);return r6(X,Y[1],null),[X,Y[1]]})},serialize:(W)=>W.map(($)=>[$[0].collapsibleJson,FW($[1])])},variadic:{child:!0,parse:(W,$)=>$.$.parseSchema(W,$)},minVariadicLength:{parse:(W)=>W===0?void 0:W},postfix:{child:!0,parse:(W,$)=>{if(W.length===0)return;return W.map((Y)=>$.$.parseSchema(Y))}}},normalize:(W)=>{if(typeof W==="string")return{variadic:W};if("variadic"in W||"prefix"in W||"defaultables"in W||"optionals"in W||"postfix"in W||"minVariadicLength"in W){if(W.postfix?.length){if(!W.variadic)return A(rE);if(W.optionals?.length||W.defaultables?.length)return A(RG)}if(W.minVariadicLength&&!W.variadic)return A("minVariadicLength may not be specified without a variadic element");return W}return{variadic:W}},reduce:(W,$)=>{let Y=W.minVariadicLength??0,X=W.prefix?.slice()??[],G=W.defaultables?.slice()??[],J=W.optionals?.slice()??[],H=W.postfix?.slice()??[];if(W.variadic){while(J.at(-1)?.equals(W.variadic))J.pop();if(J.length===0&&G.length===0)while(X.at(-1)?.equals(W.variadic))X.pop(),Y++;while(H[0]?.equals(W.variadic))H.shift(),Y++}else if(J.length===0&&G.length===0)X.push(...H.splice(0));if(Y!==W.minVariadicLength||W.prefix&&W.prefix.length!==X.length)return $.node("sequence",{...W,prefix:X,defaultables:G,optionals:J,postfix:H,minVariadicLength:Y},{prereduced:!0})},defaults:{description:(W)=>{if(W.isVariadicOnly)return`${W.variadic.nestableExpression}[]`;return`[${W.tuple.map((Y)=>Y.kind==="defaultables"?`${Y.node.nestableExpression} = ${G0(Y.default)}`:Y.kind==="optionals"?`${Y.node.nestableExpression}?`:Y.kind==="variadic"?`...${Y.node.nestableExpression}[]`:Y.node.expression).join(", ")}]`}},intersections:{sequence:(W,$,Y)=>{let X=e6({l:W.tuple,r:$.tuple,disjoint:new v,result:[],fixedVariants:[],ctx:Y}),G=X.disjoint.length===0?[X,...X.fixedVariants]:X.fixedVariants;return G.length===0?X.disjoint:G.length===1?Y.$.node("sequence",mF(G[0].result)):Y.$.node("union",G.map((J)=>({proto:Array,sequence:mF(J.result)})))}}});class pF extends wW{impliedBasis=R.intrinsic.Array.internal;tuple=nE(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((W)=>{if(W.kind==="defaultables"||W.kind==="optionals")return this.defaultablesAndOptionals.push(W.node),!0;return W.kind==="prefix"});variadicOrPostfix=Q$(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return a7(this.flatRefs,this.prevariadic.flatMap((W,$)=>D0(W.node.flatRefs.map((Y)=>kW([`${$}`,...Y.path],Y.node)),kW([`${$}`],W.node)))),a7(this.flatRefs,this.variadicOrPostfix.flatMap((W)=>D0(W.flatRefs.map(($)=>kW([R.intrinsic.nonNegativeIntegerString.internal,...$.path],$.node)),kW([R.intrinsic.nonNegativeIntegerString.internal],W)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=iE(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d0(this.defaultValueMorphs):void 0;elementAtIndex(W,$){if($<this.prevariadic.length)return this.tuple[$];let Y=W.length-this.postfixLength;if($>=Y)return{kind:"postfix",node:this.postfix[$-Y]};return{kind:"variadic",node:this.variadic??E0(`Unexpected attempt to access index ${$} on ${this}`)}}traverseAllows=(W,$)=>{for(let Y=0;Y<W.length;Y++)if(!this.elementAtIndex(W,Y).node.traverseAllows(W[Y],$))return!1;return!0};traverseApply=(W,$)=>{let Y=0;for(;Y<W.length;Y++)d1(Y,()=>this.elementAtIndex(W,Y).node.traverseApply(W[Y],$),$)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(W){if(this.prefix)for(let[$,Y]of this.prefix.entries())W.traverseKey(`${$}`,`data[${$}]`,Y);for(let[$,Y]of this.defaultablesAndOptionals.entries()){let X=`${$+this.prefixLength}`;W.if(`${X} >= ${W.data}.length`,()=>W.traversalKind==="Allows"?W.return(!0):W.return()),W.traverseKey(X,`data[${X}]`,Y)}if(this.variadic){if(this.postfix)W.const("firstPostfixIndex",`${W.data}.length${this.postfix?`- ${this.postfix.length}`:""}`);if(W.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>W.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[$,Y]of this.postfix.entries()){let X=`firstPostfixIndex + ${$}`;W.traverseKey(X,`data[${X}]`,Y)}}if(W.traversalKind==="Allows")W.return(!0)}_transform(W,$){$.path.push(R.intrinsic.nonNegativeIntegerString.internal);let Y=super._transform(W,$);return $.path.pop(),Y}expression=this.description;reduceJsonSchema(W,$){if(this.prevariadic.length)W.prefixItems=this.prevariadic.map((Y)=>{let X=Y.node.toJsonSchemaRecurse($);if(Y.kind==="defaultables"){let G=typeof Y.default==="function"?Y.default():Y.default;X.default=R.intrinsic.jsonData.allows(G)?G:$.fallback.defaultValue({code:"defaultValue",base:X,value:G})}return X});if(this.minLength)W.minItems=this.minLength;if(this.variadic){let Y=Object.assign(W,{items:this.variadic.toJsonSchemaRecurse($)});if(this.maxLength)Y.maxItems=this.maxLength;if(this.postfix){let X=this.postfix.map((G)=>G.toJsonSchemaRecurse($));W=$.fallback.arrayPostfix({code:"arrayPostfix",base:Y,elements:X})}}else W.items=!1,delete W.maxItems;return W}}var oE={},iE=(W)=>{if(!W.defaultables)return[];let $=[],Y="[",X=W.prefixLength+W.defaultablesLength-1;for(let G=W.prefixLength;G<=X;G++){let[J,H]=W.defaultables[G-W.prefixLength];$.push(MG(G,J,H)),Y+=`${G}: ${J.id} = ${FW(H)}, `}return Y+="]",oE[Y]??=$},NG={implementation:lE,Node:pF},nE=(W)=>{let $=[];if(W.prefix)for(let Y of W.prefix)$.push({kind:"prefix",node:Y});if(W.defaultables)for(let[Y,X]of W.defaultables)$.push({kind:"defaultables",node:Y,default:X});if(W.optionals)for(let Y of W.optionals)$.push({kind:"optionals",node:Y});if(W.variadic)$.push({kind:"variadic",node:W.variadic});if(W.postfix)for(let Y of W.postfix)$.push({kind:"postfix",node:Y});return $},mF=(W)=>W.reduce(($,Y)=>{if(Y.kind==="variadic")$.variadic=Y.node;else if(Y.kind==="defaultables")$.defaultables=D0($.defaultables,[[Y.node,Y.default]]);else $[Y.kind]=D0($[Y.kind],Y.node);return $},{}),RG="A postfix required element cannot follow an optional or defaultable element",rE="A postfix element requires a variadic element",e6=(W)=>{let[$,...Y]=W.l,[X,...G]=W.r;if(!$||!X)return W;let J=Y.at(-1)?.kind==="postfix",H=G.at(-1)?.kind==="postfix",T=$.kind==="prefix"||X.kind==="prefix"?"prefix":$.kind==="postfix"||X.kind==="postfix"?"postfix":$.kind==="variadic"&&X.kind==="variadic"?"variadic":J||H?"prefix":$.kind==="defaultables"||X.kind==="defaultables"?"defaultables":"optionals";if($.kind==="prefix"&&X.kind==="variadic"&&H){let F=e6({...W,fixedVariants:[],r:G.map((w)=>({...w,kind:"prefix"}))});if(F.disjoint.length===0)W.fixedVariants.push(F)}else if(X.kind==="prefix"&&$.kind==="variadic"&&J){let F=e6({...W,fixedVariants:[],l:Y.map((w)=>({...w,kind:"prefix"}))});if(F.disjoint.length===0)W.fixedVariants.push(F)}let Q=x0($.node,X.node,W.ctx);if(Q instanceof v)if(T==="prefix"||T==="postfix")W.disjoint.push(...Q.withPrefixKey(T==="prefix"?W.result.length:`-${Y.length+1}`,"required")),W.result=[...W.result,{kind:T,node:R.intrinsic.never.internal}];else if(T==="optionals"||T==="defaultables")return W;else return e6({...W,fixedVariants:[],l:Y.map((F)=>({...F,kind:"prefix"})),r:Y.map((F)=>({...F,kind:"prefix"}))});else if(T==="defaultables"){if($.kind==="defaultables"&&X.kind==="defaultables"&&$.default!==X.default)A(DG($.default,X.default));W.result=[...W.result,{kind:T,node:Q,default:$.kind==="defaultables"?$.default:X.kind==="defaultables"?X.default:E0(`Unexpected defaultable intersection from ${$.kind} and ${X.kind} elements.`)}]}else W.result=[...W.result,{kind:T,node:Q}];let _=W.l.length,z=W.r.length;if($.kind!=="variadic"||_>=z&&(X.kind==="variadic"||z===1))W.l=Y;if(X.kind!=="variadic"||z>=_&&($.kind==="variadic"||_===1))W.r=G;return e6(W)};var dF=(W)=>($)=>{if($.props.length||$.index){let Y=$.index?.map((G)=>G[W])??[];for(let G of $.props)Y.push(G[W]);if($.undeclared)Y.push(`+ (undeclared): ${$.undeclared}`);let X=`{ ${Y.join(", ")} }`;return $.sequence?`${X} & ${$.sequence.description}`:X}return $.sequence?.description??"{}"},tE=dF("description"),aE=dF("expression"),uF=(W,$,Y)=>{let X=W.required?"required":"optional";if(!$.signature.allows(W.key))return null;let G=l1(W.value,$.value,Y);if(G instanceof v)return X==="optional"?Y.node("optional",{key:W.key,value:R.intrinsic.never.internal}):G.withPrefixKey(W.key,W.kind);return null},sE=J0({kind:"structure",hasAssociatedError:!1,normalize:(W)=>W,applyConfig:(W,$)=>{if(!W.undeclared&&$.onUndeclaredKey!=="ignore")return{...W,undeclared:$.onUndeclaredKey};return W},keys:{required:{child:!0,parse:B1("required"),reduceIo:(W,$,Y)=>{$.required=D0($.required,Y.map((X)=>X[W]));return}},optional:{child:!0,parse:B1("optional"),reduceIo:(W,$,Y)=>{if(W==="in"){$.optional=Y.map((X)=>X.in);return}for(let X of Y)$[X.outProp.kind]=D0($[X.outProp.kind],X.outProp.out)}},index:{child:!0,parse:B1("index")},sequence:{child:!0,parse:B1("sequence")},undeclared:{parse:(W)=>W==="ignore"?void 0:W,reduceIo:(W,$,Y)=>{if(Y!=="delete")return;if(W==="in")delete $.undeclared;else $.undeclared="reject"}}},defaults:{description:tE},intersections:{structure:(W,$,Y)=>{let X={...W.inner},G={...$.inner},J=new v;if(W.undeclared){let Q=W.keyof();for(let _ of $.requiredKeys)if(!Q.allows(_))J.add("presence",R.intrinsic.never.internal,$.propsByKey[_].value,{path:[_]});if(G.optional)G.optional=G.optional.filter((_)=>Q.allows(_.key));if(G.index)G.index=G.index.flatMap((_)=>{if(_.signature.extends(Q))return _;let z=l1(Q,_.signature,Y.$);if(z instanceof v)return[];let F=J9(z,_.value,Y.$);if(F.required)G.required=Q$(G.required,F.required);if(F.optional)G.optional=Q$(G.optional,F.optional);return F.index??[]})}if($.undeclared){let Q=$.keyof();for(let _ of W.requiredKeys)if(!Q.allows(_))J.add("presence",W.propsByKey[_].value,R.intrinsic.never.internal,{path:[_]});if(X.optional)X.optional=X.optional.filter((_)=>Q.allows(_.key));if(X.index)X.index=X.index.flatMap((_)=>{if(_.signature.extends(Q))return _;let z=l1(Q,_.signature,Y.$);if(z instanceof v)return[];let F=J9(z,_.value,Y.$);if(F.required)X.required=Q$(X.required,F.required);if(F.optional)X.optional=Q$(X.optional,F.optional);return F.index??[]})}let H={};if(W.undeclared||$.undeclared)H.undeclared=W.undeclared==="reject"||$.undeclared==="reject"?"reject":"delete";let T=P8({kind:"structure",baseInner:H,l:f8(X),r:f8(G),roots:[],ctx:Y});if(T instanceof v)J.push(...T);if(J.length)return J;return T}},reduce:(W,$)=>{if(W.index){if(!(W.required||W.optional))return;let Y=!1,X=W.required??[],G=W.optional??[],J=[...G];for(let H of W.index){for(let T of X){let Q=uF(T,H,$);if(Q instanceof v)return Q}for(let[T,Q]of G.entries()){let _=uF(Q,H,$);if(_ instanceof v)return _;if(_===null)continue;J[T]=_,Y=!0}}if(Y)return $.node("structure",{...W,optional:J},{prereduced:!0})}}});class lF extends wW{impliedBasis=R.intrinsic.object.internal;impliedSiblings=this.children.flatMap((W)=>W.impliedSiblings??[]);props=Q$(this.required,this.optional);propsByKey=X0(this.props,(W,$)=>[$.key,$]);propsByKeyReference=d0(this.propsByKey);expression=aE(this);requiredKeys=this.required?.map((W)=>W.key)??[];optionalKeys=this.optional?.map((W)=>W.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let W=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:$}of this.index)W=W.concat($.branches);return this._keyof=this.$.node("union",W)}map(W){return this.$.node("structure",this.props.flatMap(W).reduce(($,Y)=>{let X=this.propsByKey[Y.key];if(b0(Y)){if(Y.kind!=="required"&&Y.kind!=="optional")return A(`Map result must have kind "required" or "optional" (was ${Y.kind})`);return $[Y.kind]=D0($[Y.kind],Y),$}let G=Y.kind??X?.kind??"required",J=X0(Y,(H,T)=>(H in n6.implementation.keys)?[H,T]:[]);return $[G]=D0($[G],this.$.node(G,J)),$},{}))}assertHasKeys(W){let $=W.filter((Y)=>!t6(Y,this.keyof()));if($.length)return A(cF(this.expression,$))}get(W,...$){let Y,X=!1,G=YA(W);if((typeof G==="string"||typeof G==="symbol")&&this.propsByKey[G])Y=this.propsByKey[G].value,X=this.propsByKey[G].required;if(this.index){for(let H of this.index)if(t6(G,H.signature))Y=Y?.and(H.value)??H.value}if(this.sequence&&t6(G,R.intrinsic.nonNegativeIntegerString))if(d(G,"root")){if(this.sequence.variadic)Y=Y?.and(this.sequence.element)??this.sequence.element}else{let H=Number.parseInt(G);if(H<this.sequence.prevariadic.length){let T=this.sequence.prevariadic[H].node;Y=Y?.and(T)??T,X||=H<this.sequence.prefixLength}else if(this.sequence.variadic){let T=this.$.node("union",this.sequence.variadicOrPostfix);Y=Y?.and(T)??T}}if(!Y){if(this.sequence?.variadic&&d(G,"root")&&G.extends(R.intrinsic.number))return A(XA(G.expression,this.sequence.expression));return A(cF(this.expression,[G]))}let J=Y.get(...$);return X?J:J.or(R.intrinsic.undefined)}pick(...W){return this.assertHasKeys(W),this.$.node("structure",this.filterKeys("pick",W))}omit(...W){return this.assertHasKeys(W),this.$.node("structure",this.filterKeys("omit",W))}optionalize(){let{required:W,...$}=this.inner;return this.$.node("structure",{...$,optional:this.props.map((Y)=>Y.hasKind("required")?this.$.node("optional",Y.inner):Y)})}require(){let{optional:W,...$}=this.inner;return this.$.node("structure",{...$,required:this.props.map((Y)=>Y.hasKind("optional")?{key:Y.key,value:Y.value}:Y)})}merge(W){let $=this.filterKeys("omit",[W.keyof()]);if(W.required)$.required=D0($.required,W.required);if(W.optional)$.optional=D0($.optional,W.optional);if(W.index)$.index=D0($.index,W.index);if(W.sequence)$.sequence=W.sequence;if(W.undeclared)$.undeclared=W.undeclared;else delete $.undeclared;return this.$.node("structure",$)}filterKeys(W,$){let Y=nX(this.inner),X=(G)=>{let J=$.some((H)=>t6(G,H));return W==="pick"?J:!J};if(Y.required)Y.required=Y.required.filter((G)=>X(G.key));if(Y.optional)Y.optional=Y.optional.filter((G)=>X(G.key));if(Y.index)Y.index=Y.index.filter((G)=>X(G.signature));return Y}traverseAllows=(W,$)=>this._traverse("Allows",W,$);traverseApply=(W,$)=>this._traverse("Apply",W,$);_traverse=(W,$,Y)=>{let X=Y?.currentErrorCount??0;for(let G=0;G<this.props.length;G++)if(W==="Allows"){if(!this.props[G].traverseAllows($,Y))return!1}else if(this.props[G].traverseApply($,Y),Y.failFast&&Y.currentErrorCount>X)return!1;if(this.sequence){if(W==="Allows"){if(!this.sequence.traverseAllows($,Y))return!1}else if(this.sequence.traverseApply($,Y),Y.failFast&&Y.currentErrorCount>X)return!1}if(this.index||this.undeclared==="reject"){let G=Object.keys($);G.push(...Object.getOwnPropertySymbols($));for(let J=0;J<G.length;J++){let H=G[J];if(this.index){for(let T of this.index)if(T.signature.traverseAllows(H,Y)){if(W==="Allows"){if(!d1(H,()=>T.value.traverseAllows($[H],Y),Y))return!1}else if(d1(H,()=>T.value.traverseApply($[H],Y),Y),Y.failFast&&Y.currentErrorCount>X)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(H)){if(W==="Allows")return!1;if(Y.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[H],meta:this.meta}),Y.failFast)return!1}}}if(this.structuralMorph&&Y&&!Y.hasError())Y.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((W)=>W.hasDefault())??[])}declaresKey=(W)=>(W in this.propsByKey)||this.index?.some(($)=>$.signature.allows(W))||this.sequence!==void 0&&R.intrinsic.nonNegativeIntegerString.allows(W);_compileDeclaresKey(W){let $=[];if(this.props.length)$.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let Y of this.index)$.push(W.invoke(Y.signature,{kind:"Allows",arg:"k"}));if(this.sequence)$.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return $.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",WA(this))}structuralMorphRef=this.structuralMorph&&d0(this.structuralMorph);compile(W){if(W.traversalKind==="Apply")W.initializeErrorCount();for(let $ of this.props)if(W.check($),W.traversalKind==="Apply")W.returnIfFailFast();if(this.sequence){if(W.check(this.sequence),W.traversalKind==="Apply")W.returnIfFailFast()}if(this.index||this.undeclared==="reject")W.const("keys","Object.keys(data)"),W.line("keys.push(...Object.getOwnPropertySymbols(data))"),W.for("i < keys.length",()=>this.compileExhaustiveEntry(W));if(W.traversalKind==="Allows")return W.return(!0);if(this.structuralMorphRef)W.if("ctx && !ctx.hasError()",()=>{return W.line("ctx.queueMorphs(["),$A(W,this),W.line("])")})}compileExhaustiveEntry(W){if(W.const("k","keys[i]"),this.index)for(let $ of this.index)W.if(`${W.invoke($.signature,{arg:"k",kind:"Allows"})}`,()=>W.traverseKey("k","data[k]",$.value));if(this.undeclared==="reject")W.if(`!(${this._compileDeclaresKey(W)})`,()=>{if(W.traversalKind==="Allows")return W.return(!1);return W.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>W.return())});return W}reduceJsonSchema(W,$){switch(W.type){case"object":return this.reduceObjectJsonSchema(W,$);case"array":let Y=this.sequence?.reduceJsonSchema(W,$)??W;if(this.props.length||this.index)return $.fallback.arrayObject({code:"arrayObject",base:Y,object:this.reduceObjectJsonSchema({type:"object"},$)});return Y;default:return h0.throwInternalOperandError("structure",W)}}reduceObjectJsonSchema(W,$){if(this.props.length){W.properties={};for(let Y of this.props){let X=Y.value.toJsonSchemaRecurse($);if(typeof Y.key==="symbol"){$.fallback.symbolKey({code:"symbolKey",base:W,key:Y.key,value:X,optional:Y.optional});continue}if(Y.hasDefault()){let G=typeof Y.default==="function"?Y.default():Y.default;X.default=R.intrinsic.jsonData.allows(G)?G:$.fallback.defaultValue({code:"defaultValue",base:X,value:G})}W.properties[Y.key]=X}if(this.requiredKeys.length&&W.properties)W.required=this.requiredKeys.filter((Y)=>typeof Y==="string"&&(Y in W.properties))}if(this.index)for(let Y of this.index){let X=Y.value.toJsonSchemaRecurse($);if(Y.signature.equals(R.intrinsic.string)){W.additionalProperties=X;continue}for(let G of Y.signature.branches){if(!G.extends(R.intrinsic.string)){W=$.fallback.symbolKey({code:"symbolKey",base:W,key:null,value:X,optional:!1});continue}let J={type:"string"};if(G.hasKind("morph"))J=$.fallback.morph({code:"morph",base:G.in.toJsonSchemaRecurse($),out:G.out.toJsonSchemaRecurse($)});if(!G.hasKind("intersection"))return E0(`Unexpected index branch kind ${G.kind}.`);let{pattern:H}=G.inner;if(H){let T=Object.assign(J,{pattern:H[0].rule});for(let Q=1;Q<H.length;Q++)J=$.fallback.patternIntersection({code:"patternIntersection",base:T,pattern:H[Q].rule});W.patternProperties??={},W.patternProperties[T.pattern]=X}}}if(this.undeclared&&!W.additionalProperties)W.additionalProperties=!1;return W}}var BG={},eE=(W)=>{let $="";for(let Y=0;Y<W.defaultable.length;Y++)$+=W.defaultable[Y].defaultValueMorphRef;if(W.sequence?.defaultValueMorphsReference)$+=W.sequence?.defaultValueMorphsReference;if(W.undeclared==="delete"){if($+="delete !(",W.required)for(let Y of W.required)$+=Y.compiledKey+" | ";if(W.optional)for(let Y of W.optional)$+=Y.compiledKey+" | ";if(W.index)for(let Y of W.index)$+=Y.signature.id+" | ";if(W.sequence)if(W.sequence.maxLength===null)$+=r.nonNegativeIntegerString.id;else for(let Y=0;Y<W.sequence.tuple.length;Y++)$+=Y+" | ";$+=")"}return $},WA=(W)=>{let $=eE(W);if(!$)return;if(BG[$])return BG[$];let Y=(X,G)=>{for(let J=0;J<W.defaultable.length;J++)if(!(W.defaultable[J].key in X))W.defaultable[J].defaultValueMorph(X,G);if(W.sequence?.defaultables)for(let J=X.length-W.sequence.prefixLength;J<W.sequence.defaultables.length;J++)W.sequence.defaultValueMorphs[J](X,G);if(W.undeclared==="delete"){for(let J in X)if(!W.declaresKey(J))delete X[J]}return X};return BG[$]=Y},$A=(W,$)=>{let X=`(data${$.defaultable.some((G)=>G.defaultValueMorph.length===2)||$.sequence?.defaultValueMorphs.some((G)=>G.length===2)?", ctx":""})`;return W.block(`${X} => `,(G)=>{for(let J=0;J<$.defaultable.length;J++){let{serializedKey:H,defaultValueMorphRef:T}=$.defaultable[J];G.if(`!(${H} in data)`,(Q)=>Q.line(`${T}${X}`))}if($.sequence?.defaultables)G.for(`i < ${$.sequence.defaultables.length}`,(J)=>J.set("data[i]",5),`data.length - ${$.sequence.prefixLength}`);if($.undeclared==="delete")G.forIn("data",(J)=>J.if(`!(${$._compileDeclaresKey(J)})`,(H)=>H.line("delete data[k]")));return G.return("data")})},SG={implementation:sE,Node:lF},YA=(W)=>{if(d(W,"root")&&W.hasKind("unit"))W=W.unit;if(typeof W==="number")W=`${W}`;return W},XA=(W,$)=>`${W} is not allowed as an array index on ${$}. Use the 'nonNegativeIntegerString' keyword instead.`,J9=(W,$,Y)=>{let[X,G]=Dz(W.branches,(H)=>H.hasKind("unit"));if(!X.length)return{index:Y.node("index",{signature:W,value:$})};let J={};for(let H of X){let T=Y.node("required",{key:H.unit,value:$});J[T.kind]=D0(J[T.kind],T)}if(G.length)J.index=Y.node("index",{signature:G,value:$});return J},GA=(W)=>d(W,"root")?W.expression:G0(W),cF=(W,$)=>`Key${$.length===1?"":"s"} ${$.map(GA).join(", ")} ${$.length===1?"does":"do"} not exist on ${W}`;var x8={...MF,alias:a6.implementation,domain:G9.implementation,unit:AG.implementation,proto:s6.implementation,union:EG.implementation,morph:OG.implementation,intersection:VG.implementation,divisor:YG.implementation,pattern:zG.implementation,predicate:$G.implementation,required:ZG.implementation,optional:n6.implementation,index:LG.implementation,sequence:NG.implementation,structure:SG.implementation};R.defaultConfig=Nz(Object.assign(X0(x8,(W,$)=>[W,$.defaults]),{jitless:kz(),clone:Sz,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:h0.defaultConfig}));R.resolvedConfig=p6(R.defaultConfig,R.config);var LF={...VF,alias:a6.Node,domain:G9.Node,unit:AG.Node,proto:s6.Node,union:EG.Node,morph:OG.Node,intersection:VG.Node,divisor:YG.Node,pattern:zG.Node,predicate:$G.Node,required:ZG.Node,optional:n6.Node,index:LG.Node,sequence:NG.Node,structure:SG.Node};class h8 extends v7{get[b1](){return"module"}}var qG=(W,$)=>new h8(X0(W,(Y,X)=>[Y,d(X,"module")?qG(X,$):$.bindReference(X)]));var JA=(W)=>k0(W)?W:("branches"in W)&&k0(W.branches)?W.branches:void 0,HA=(W,$)=>A(`Node of kind ${$} is not valid as a ${W} definition`),oF=(W)=>`#${W} duplicates public alias ${W}`,CG={};R.ambient??={};var iF,rF="function $",TA=(W)=>tF(W,aF(W)),tF=(W,$)=>{let Y=$.write(rF,4),X=$.compile()();for(let G of W){if(G.precompilation)continue;if(G.traverseAllows=X[`${G.id}Allows`].bind(X),G.isRoot()&&!G.allowsRequiresContext)G.allows=G.traverseAllows;if(G.traverseApply=X[`${G.id}Apply`].bind(X),X[`${G.id}Optimistic`])G.traverseOptimistic=X[`${G.id}Optimistic`].bind(X);G.precompilation=Y}},aF=(W)=>new iX().return(W.reduce(($,Y)=>{let X=new m6({kind:"Allows"}).indent();Y.compile(X);let G=X.write(`${Y.id}Allows`),J=new m6({kind:"Apply"}).indent();Y.compile(J);let H=J.write(`${Y.id}Apply`),T=`${$}${G},
|
|
124
124
|
${H},
|
|
125
|
-
`;if(!
|
|
125
|
+
`;if(!Y.hasKind("union"))return T;let Q=new m6({kind:"Allows",optimistic:!0}).indent();Y.compile(Q);let _=Q.write(`${Y.id}Optimistic`);return`${T}${_},
|
|
126
126
|
`},`{
|
|
127
|
-
`)+"}");class G9{config;resolvedConfig;name;get[f1](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(W,$){if(this.config=g6(N.config,$),this.resolvedConfig=g6(N.resolvedConfig,$),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(SG).length}`,this.name in SG)E(`A Scope already named ${this.name} already exists`);SG[this.name]=this;let X=Object.entries(W).map((Y)=>this.preparseOwnAliasEntry(...Y));for(let[Y,G]of X){let J=Y;if(Y[0]==="#"){if(J=Y.slice(1),J in this.aliases)E(o_(J));this.aliases[J]=G}else{if(J in this.aliases)E(o_(Y));this.aliases[J]=G,this.exportedNames.push(J)}if(!d(G,"module")&&!d(G,"generic")&&!m2(G)){let H=this.preparseOwnDefinitionFormat(G,{alias:J});this.resolutions[J]=d(H,"root")?this.bindReference(H):this.createParseContext(H).id}}i_??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[i_.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=N.intrinsic?Y0(N.intrinsic,(Y,G)=>Y.startsWith("json")?[]:[Y,this.bindReference(G)]):{}}cacheGetter(W,$){return Object.defineProperty(this,W,{value:$}),$}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(W){return W}generic=(...W)=>{let $=this;return(X,Y)=>new l2(W,Y?new tY(X):X,$,$,Y??null)};units=(W,$)=>{let X=[];for(let G of W)if(!X.includes(G))X.push(G);let Y=X.map((G)=>this.node("unit",{unit:G},$));return this.node("union",Y,{...$,prereduced:!0})};lazyResolutions=[];lazilyResolve(W,$){let X=this.node("alias",{reference:$??"synthetic",resolve:W},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(X);return X}schema=(W,$)=>this.finalize(this.parseSchema(W,$));parseSchema=(W,$)=>this.node(c6(W),W,$);preparseNode(W,$,X){let Y=typeof W==="string"?W:c6($,W);if(x0($)&&$.kind===Y)return $;if(Y==="alias"&&!X?.prereduced){let{reference:H}=r6.implementation.normalize($,this);if(H.startsWith("$")){let Q=this.resolveRoot(H.slice(1));$=Q,Y=Q.kind}}else if(Y==="union"&&p1($,"object")){let H=GE($);if(H?.length===1)$=H[0],Y=c6($)}if(x0($)&&$.kind===Y)return $;let J=f4[Y].normalize?.($,this)??$;if(x0(J))return J.kind===Y?J:JE(Y,J.kind);return{...X,$:this,kind:Y,def:J,prefix:X.alias??Y}}bindReference(W){let $;if(x0(W))$=W.$===this?W:new W.constructor(W.attachments,this);else $=W.$===this?W:new l2(W.params,W.bodyDef,W.$,this,W.hkt);if(!this.resolved)Object.assign(this.referencesById,$.referencesById);return $}resolveRoot(W){return this.maybeResolveRoot(W)??E(kG(W))}maybeResolveRoot(W){let $=this.maybeResolve(W);if(d($,"generic"))return;return $}maybeResolveSubalias(W){return qG(this.aliases,W)??qG(this.ambient,W)}get ambient(){return N.ambient}maybeResolve(W){let $=this.resolutions[W];if($){if(typeof $!=="string")return this.bindReference($);let Y=x1[$];if(d(Y,"root"))return this.resolutions[W]=Y;if(d(Y,"context")){if(Y.phase==="resolving")return this.node("alias",{reference:`$${W}`},{prereduced:!0});if(Y.phase==="resolved")return K0(`Unexpected resolved context for was uncached by its scope: ${G0(Y)}`);Y.phase="resolving";let G=this.bindReference(this.parseOwnDefinitionFormat(Y.def,Y));return Y.phase="resolved",x1[G.id]=G,x1[Y.id]=G,this.resolutions[W]=G}return K0(`Unexpected nodesById entry for ${$}: ${G0(Y)}`)}let X=this.aliases[W]??this.ambient?.[W];if(!X)return this.maybeResolveSubalias(W);if(X=this.normalizeRootScopeValue(X),d(X,"generic"))return this.resolutions[W]=this.bindReference(X);if(d(X,"module")){if(!X.root)E(Ww(W));return this.resolutions[W]=this.bindReference(X.root)}return this.resolutions[W]=this.parse(X,{alias:W})}createParseContext(W){let $=W.id??TG(W.prefix);return x1[$]=Object.assign(W,{[f1]:"context",$:this,id:$,phase:"unresolved"})}traversal(W){return new CW(W,this.resolvedConfig)}import(...W){return new v4(Y0(this.export(...W),($,X)=>[`#${$}`,X]))}precompilation;_exportedResolutions;_exports;export(...W){if(!this._exports){this._exports={};for(let X of this.exportedNames){let Y=this.aliases[X];this._exports[X]=d(Y,"module")?ZG(Y,this):n_(this.maybeResolve(X))}for(let X of this.lazyResolutions)X.resolution;if(this._exportedResolutions=e_(this,this._exports),this._json=s_(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let X=a_(this.references);this.precompilation=X.write(r_,4),t_(this.references,X)}this.resolved=!0}let $=W.length?W:this.exportedNames;return new v4(Y0($,(X,Y)=>[Y,this._exports[Y]]))}resolve(W){return this.export()[W]}node=(W,$,X={})=>{let Y=this.preparseNode(W,$,X);if(x0(Y))return this.bindReference(Y);let G=this.createParseContext(Y),J=FG(G),H=this.bindReference(J);return x1[G.id]=H};parse=(W,$={})=>this.finalize(this.parseDefinition(W,$));parseDefinition(W,$={}){if(d(W,"root"))return this.bindReference(W);let X=this.preparseOwnDefinitionFormat(W,$);if(d(X,"root"))return this.bindReference(X);let Y=this.createParseContext(X);x1[Y.id]=Y;let G=this.bindReference(this.parseOwnDefinitionFormat(W,Y));if(G.isCyclic)G=E_(G,Y.id);return x1[Y.id]=G,G}finalize(W){if(n_(W),!W.precompilation&&!this.resolvedConfig.jitless)HE(W.references);return W}}class CG extends G9{parseOwnDefinitionFormat(W,$){return FG($)}preparseOwnDefinitionFormat(W,$){return this.preparseNode(c6(W),W,$)}preparseOwnAliasEntry(W,$){return[W,$]}normalizeRootScopeValue(W){return W}}var n_=(W)=>{let $=W.references.filter((X)=>X.hasKind("alias"));for(let X of $){Object.assign(X.referencesById,X.resolution.referencesById);for(let Y of W.references)if(X.id in Y.referencesById)Object.assign(Y.referencesById,X.referencesById)}return W},s_=(W)=>Y0(W,($,X)=>[$,d(X,"root")||d(X,"generic")?X.json:d(X,"module")?s_(X):K0(`Unexpected resolution ${G0(X)}`)]),qG=(W,$)=>{let X=$.indexOf(".");if(X===-1)return;let Y=$.slice(0,X),G=W[Y];if(G===void 0)return;if(!d(G,"module"))return E(QE(Y));let J=$.slice(X+1),H=G[J];if(H===void 0)return qG(G,J);if(d(H,"root")||d(H,"generic"))return H;if(d(H,"module"))return H.root??E(Ww($));K0(`Unexpected resolution for alias '${$}': ${G0(H)}`)},J9=(W,$)=>new CG(W,$),s6=new CG({});var e_=(W,$)=>{let X={};for(let Y in $){let G=$[Y];if(d(G,"module")){let J=e_(W,G),H=Y0(J,(Q,z)=>[`${Y}.${Q}`,z]);Object.assign(X,H)}else if(d(G,"root")||d(G,"generic"))X[Y]=G;else K0(`Unexpected scope resolution ${G0(G)}`)}return X},kG=(W)=>`'${W}' is unresolvable`,QE=(W)=>`'${W}' must reference a module to be accessed using dot syntax`,Ww=(W)=>`Reference to submodule '${W}' must specify an alias`;s6.export();var{schema:R0,node:y4,defineSchema:xn,generic:DW}=s6;var jG="^(?:0|[1-9]\\d*)$",zE=new RegExp(jG),yn=d0(zE);var $w=J9({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();N.intrinsic={...$w};var Xw=J9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:jG}},{prereducedAliases:!0}).export();Object.assign(N.intrinsic,Xw);var TE=J9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),r={...$w,...Xw,...TE,emptyStructure:y4("structure",{},{prereduced:!0})};N.intrinsic={...r};var Gw=(W)=>typeof W==="string"&&W[0]==="d"&&(W[1]==="'"||W[1]==='"')&&W.at(-1)===W[1],Yw=(W)=>W.toString()!=="Invalid Date",Jw=(W)=>W.slice(2,-1),IG=(W)=>`'${W}' could not be parsed by the Date constructor`,Hw=(W,$)=>FE(W,$),FE=(W,$)=>{let X=new Date(W);if(Yw(X))return X;let Y=hF(W);if(Y!==void 0){let G=new Date(Y);if(Yw(G))return G}return $?E($===!0?IG(W):$):void 0};var PG=(W,$)=>{let X=W.scanner.shiftUntil(_E[zw[$]]);if(W.scanner.lookahead==="")return W.error(UE(X,$));if(W.scanner.shift(),$==="/"){try{new RegExp(X)}catch(Y){E(String(Y))}W.root=W.ctx.$.node("intersection",{domain:"string",pattern:X},{prereduced:!0})}else if(T1($,fG))W.root=W.ctx.$.node("unit",{unit:X});else{let Y=Hw(X,IG(X));W.root=W.ctx.$.node("unit",{meta:X,unit:Y})}},fG={"'":1,'"':1},Qw={"/":1,"'":1,'"':1},zw={"d'":"'",'d"':'"',"'":"'",'"':'"',"/":"/"},_E={"'":(W)=>W.lookahead==="'",'"':(W)=>W.lookahead==='"',"/":(W)=>W.lookahead==="/"},wE={'"':"double-quote","'":"single-quote","/":"forward slash"},UE=(W,$)=>`${$}${W} requires a closing ${wE[zw[$]]}`;var Tw=(W)=>`Private type references should not include '#'. Use '${W}' instead.`,H9="Optional definitions like 'string?' are only valid as properties in an object or tuple",Q9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var Fw={">":!0,">=":!0},_w={"<":!0,"<=":!0};var h4={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},ww=(W)=>`Unmatched )${W===""?"":` before ${W}`}`,z9=(W)=>`Missing ${W}`,Uw=(W,$)=>`Left bounds are only valid when paired with right bounds (try ...${$}${W})`,T9=(W)=>`Left-bounded expressions must specify their limits using < or <= (was ${W})`,Dw=(W,$,X,Y)=>`An expression may have at most one left bound (parsed ${W}${h4[$]}, ${X}${h4[Y]})`;var Vw=(W,$,X)=>Mw(W,$,X,[]),Mw=(W,$,X,Y)=>{let G=X.parseUntilFinalizer();if(Y.push(G.root),G.finalizer===">"){if(Y.length!==$.params.length)return X.error(xG(W,$.names,Y.map((J)=>J.expression)));return Y}if(G.finalizer===",")return Mw(W,$,X,Y);return G.error(z9(">"))},xG=(W,$,X)=>`${W}<${$.join(", ")}> requires exactly ${$.length} args (got ${X.length}${X.length===0?"":`: ${X.join(", ")}`})`;var bG=(W)=>{let $=W.scanner.shiftUntilNextTerminator();if($==="keyof")W.addPrefix("keyof");else W.root=VE(W,$)},DE=(W,$,X)=>{if(X.scanner.shiftUntilNonWhitespace(),X.scanner.shift()!=="<")return X.error(xG(W,$.names,[]));let G=Vw(W,$,X);return $(...G)},VE=(W,$)=>ME(W,$)??OE(W,$)??W.error($===""?W.scanner.lookahead==="#"?Tw(W.shiftedByOne().scanner.shiftUntilNextTerminator()):vG(W):kG($)),ME=(W,$)=>{if(W.ctx.args?.[$]){let Y=W.ctx.args[$];if(typeof Y!=="string")return Y;return W.ctx.$.node("alias",{reference:Y},{prereduced:!0})}let X=W.ctx.$.maybeResolve($);if(d(X,"root"))return X;if(X===void 0)return;if(d(X,"generic"))return DE($,X,W);return E(`Unexpected resolution ${G0(X)}`)},OE=(W,$)=>{let X=gF($);if(X!==void 0)return W.ctx.$.node("unit",{unit:X});let Y=pF($);if(Y!==void 0)return W.ctx.$.node("unit",{unit:Y})},vG=(W)=>{let $=W.previousOperator();return $?yG($,W.scanner.unscanned):KE(W.scanner.unscanned)},yG=(W,$="")=>`Token '${W}' requires a right operand${$?` before '${$}'`:""}`,KE=(W)=>`Expected an expression${W?` before '${W}'`:""}`;var hG=(W)=>W.scanner.lookahead===""?W.error(vG(W)):W.scanner.lookahead==="("?W.shiftedByOne().reduceGroupOpen():W.scanner.lookaheadIsIn(Qw)?PG(W,W.scanner.shift()):W.scanner.lookaheadIsIn(p2)?hG(W.shiftedByOne()):W.scanner.lookahead==="d"?W.scanner.nextLookahead in fG?PG(W,`${W.scanner.shift()}${W.scanner.shift()}`):bG(W):bG(W);class U2 extends c7{shiftUntilNextTerminator(){return this.shiftUntilNonWhitespace(),this.shiftUntil(()=>(this.lookahead in U2.terminatingChars))}static terminatingChars={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...p2};static finalizingLookaheads={">":1,",":1,"":1,"=":1,"?":1};static lookaheadIsFinalizing=(W,$)=>W===">"?$[0]==="="?$[1]==="=":$.trimStart()===""||T1($.trimStart()[0],U2.terminatingChars):W==="="?$[0]!=="=":W===","||W==="?"}var Kw=(W,$)=>{let X=AE(W,$);if(W.root.hasKind("unit")){if(typeof W.root.unit==="number"){W.reduceLeftBound(W.root.unit,X),W.unsetRoot();return}if(W.root.unit instanceof Date){let Y=`d'${W.root.description??W.root.unit.toISOString()}'`;W.unsetRoot(),W.reduceLeftBound(Y,X);return}}return LE(W,X)},Aw={"<":1,">":1,"=":1},AE=(W,$)=>W.scanner.lookaheadIs("=")?`${$}${W.scanner.shift()}`:$;var Ow=(W,$,X,Y)=>{if(X.extends(N.intrinsic.number)){if(typeof $!=="number")return E(gG(W,$,Y));return W==="=="?["min","max"]:W[0]===">"?["min"]:["max"]}if(X.extends(N.intrinsic.lengthBoundable)){if(typeof $!=="number")return E(gG(W,$,Y));return W==="=="?["exactLength"]:W[0]===">"?["minLength"]:["maxLength"]}if(X.extends(N.intrinsic.Date))return W==="=="?["after","before"]:W[0]===">"?["after"]:["before"];return E(Q_(X.expression))},EE=(W)=>({rule:Gw(W.limit)?Jw(W.limit):W.limit,exclusive:W.comparator.length===1}),LE=(W,$)=>{let X=W.unsetRoot(),Y=W.scanner.location;W.parseOperand();let G=W.unsetRoot(),J=W.scanner.sliceChars(Y,W.scanner.location);if(W.root=X,!G.hasKind("unit")||typeof G.unit!=="number"&&!(G.unit instanceof Date))return W.error(gG($,J,"right"));let H=G.unit,Q=$.length===1,z=Ow($,typeof H==="number"?H:J,X,"right");for(let F of z)W.constrainRoot(F,$==="=="?{rule:H}:{rule:H,exclusive:Q});if(!W.branches.leftBound)return;if(!T1($,_w))return W.error(T9($));let T=Ow(W.branches.leftBound.comparator,W.branches.leftBound.limit,X,"left");W.constrainRoot(T[0],EE(W.branches.leftBound)),W.branches.leftBound=null},gG=(W,$,X)=>`Comparator ${X==="left"?h4[W]:W} must be ${X==="left"?"preceded":"followed"} by a corresponding literal (was ${$})`;var Ew=(W)=>{W.scanner.shiftUntilNonWhitespace();let $=W.scanner.shiftUntilNextTerminator();W.root=W.root.brand($)};var Bw=(W)=>{let $=W.scanner.shiftUntilNextTerminator(),X=mF($,{errorOnFail:Lw($)});if(X===0)W.error(Lw(0));W.root=W.root.constrain("divisor",X)},Lw=(W)=>`% operator must be followed by a non-zero integer literal (was ${W})`;var mG=(W)=>{let $=W.scanner.shift();return $===""?W.finalize(""):$==="["?W.scanner.shift()==="]"?W.setRoot(W.root.array()):W.error(BE):$==="|"?W.scanner.lookahead===">"?W.shiftedByOne().pushRootToBranch("|>"):W.pushRootToBranch($):$==="&"?W.pushRootToBranch($):$===")"?W.finalizeGroup():U2.lookaheadIsFinalizing($,W.scanner.unscanned)?W.finalize($):T1($,Aw)?Kw(W,$):$==="%"?Bw(W):$==="#"?Ew(W):($ in p2)?mG(W):W.error(F9($))},F9=(W,$="")=>`'${W}' is not allowed here${$&&` (should be ${$})`}`,BE="Missing expected ']'";var Rw=(W)=>{let $=W.unsetRoot();W.parseOperand();let X=W.unsetRoot();if(!X.hasKind("unit"))return W.error(RE(X.expression));let Y=X.unit instanceof Date?()=>new Date(X.unit):X.unit;return[$,"=",Y]},RE=(W)=>`Default value '${W}' must a literal value`;var pG=(W,$)=>{let X=$.$.maybeResolveRoot(W);if(X)return X;if(W.endsWith("[]")){let J=$.$.maybeResolveRoot(W.slice(0,-2));if(J)return J.array()}let Y=new g4(new U2(W),$),G=NE(Y);if(Y.finalizer===">")E(F9(">"));return G},NE=(W)=>{W.parseOperand();let $=e6(W).root;if(!$)return K0(`Root was unexpectedly unset after parsing string '${W.scanner.scanned}'`);if(W.finalizer==="=")$=Rw(W);else if(W.finalizer==="?")$=[$,"?"];if(W.scanner.shiftUntilNonWhitespace(),W.scanner.lookahead)E(F9(W.scanner.lookahead));return $},e6=(W)=>{while(W.finalizer===void 0)ZE(W);return W},ZE=(W)=>W.hasRoot()?W.parseOperator():W.parseOperand();class g4{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(W,$){this.scanner=W,this.ctx=$}error(W){return E(W)}hasRoot(){return this.root!==void 0}setRoot(W){this.root=W}unsetRoot(){let W=this.root;return this.root=void 0,W}constrainRoot(...W){this.root=this.root.constrain(W[0],W[1])}finalize(W){if(this.groups.length)return this.error(z9(")"));this.finalizeBranches(),this.finalizer=W}reduceLeftBound(W,$){let X=h4[$];if(!T1(X,Fw))return this.error(T9($));if(this.branches.leftBound)return this.error(Dw(this.branches.leftBound.limit,this.branches.leftBound.comparator,W,X));this.branches.leftBound={comparator:X,limit:W}}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 W=this.groups.pop();if(!W)return this.error(ww(this.scanner.unscanned));this.branches=W}addPrefix(W){this.branches.prefixes.push(W)}applyPrefixes(){while(this.branches.prefixes.length){let W=this.branches.prefixes.pop();this.root=W==="keyof"?this.root.keyof():K0(`Unexpected prefix '${W}'`)}}pushRootToBranch(W){this.assertRangeUnset(),this.applyPrefixes();let $=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd($)??$,W==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,W==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return e6(new g4(this.scanner,this.ctx))}parseOperator(){return mG(this)}parseOperand(){return hG(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(Uw(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 SE="An empty string is not a valid generic parameter name",_9=(W,$,X)=>{W.shiftUntilNonWhitespace();let Y=W.shiftUntilNextTerminator();if(Y===""){if(W.lookahead===""&&$.length)return $;return E(SE)}return W.shiftUntilNonWhitespace(),qE(W,Y,$,X)},Nw="extends ",qE=(W,$,X,Y)=>{if(W.shiftUntilNonWhitespace(),W.unscanned.startsWith(Nw))W.jumpForward(Nw.length);else{if(W.lookahead===",")W.shift();return X.push($),_9(W,X,Y)}let G=e6(new g4(W,Y));return X.push([$,G.root]),_9(W,X,Y)};class uG extends qW{$;constructor(W){super((...$)=>new WX(W)(...$),{bind:W});this.$=W}in(W){return new WX(this.$,W===void 0?void 0:this.$.parse(W))}at(W,$){return new WX(this.$).at(W,$)}case(W,$){return new WX(this.$).case(W,$)}}class WX extends qW{$;in;key;branches=[];constructor(W,$){super((X)=>this.caseEntries(Object.entries(X).map(([Y,G])=>Y==="default"?[Y,G]:[this.$.parse(Y),G])));this.$=W,this.in=$}at(W,$){if(this.key)E(kE);if(this.branches.length)E(CE);return this.key=W,$?this.match($):this}case(W,$){return this.caseEntry(this.$.parse(W),$)}caseEntry(W,$){let Y=(this.key?this.$.parse({[this.key]:W}):W).pipe($);return this.branches.push(Y),this}match(W){return this(W)}strings(W){return this.caseEntries(Object.entries(W).map(([$,X])=>$==="default"?[$,X]:[this.$.node("unit",{unit:$}),X]))}caseEntries(W){for(let $=0;$<W.length;$++){let[X,Y]=W[$];if(X==="default"){if($!==W.length-1)E("default may only be specified as the last key of a switch definition");return this.default(Y)}if(typeof Y!=="function")return E(`Value for case "${X}" must be a function (was ${z1(Y)})`);this.caseEntry(X,Y)}return this}default(W){if(typeof W==="function")this.case(r.unknown,W);let $={branches:this.branches,ordered:!0};if(W==="never"||W==="assert")$.meta={onFail:Zw};let X=this.$.node("union",$);if(!this.in)return this.$.finalize(X);let Y=this.in.pipe(X);if(W==="never"||W==="assert")Y=Y.configureReferences({onFail:Zw},"self");return this.$.finalize(Y)}}var Zw=(W)=>W.throw(),CE="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",kE="At most one key matcher may be specified per expression";var w9=(W,$)=>{if(k0(W)){if(W[1]==="=")return[$.$.parseOwnDefinitionFormat(W[0],$),"=",W[2]];if(W[1]==="?")return[$.$.parseOwnDefinitionFormat(W[0],$),"?"]}return U9(W,$)},Sw="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",qw="Only required keys may specify default values, e.g. { value: 'number = 0' }";var Cw=(W,$)=>{let X,Y={},G=S8(W);for(let[H,Q]of G){let z=PE(H);if(z.kind==="spread"){if(!cW(Y))return E(IE);let O=$.$.parseOwnDefinitionFormat(Q,$);if(O.equals(r.object))continue;if(!O.hasKind("intersection")||!O.basis?.equals(r.object))return E(fE(O.expression));X=O.structure;continue}if(z.kind==="undeclared"){if(Q!=="reject"&&Q!=="delete"&&Q!=="ignore")E(jE(Q));Y.undeclared=Q;continue}let T=w9(Q,$),F=z;if(z.kind==="required"){if(!k0(T))cG(Y,"required",{key:z.normalized,value:T},$);else cG(Y,"optional",T[1]==="="?{key:z.normalized,value:T[0],default:T[2]}:{key:z.normalized,value:T[0]},$);continue}if(k0(T)){if(T[1]==="?")E(Sw);if(T[1]==="=")E(qw)}if(z.kind==="optional"){cG(Y,"optional",{key:z.normalized,value:T},$);continue}let _=$.$.parseOwnDefinitionFormat(F.normalized,$),w=Y9(_,T,$.$);if(w.index)Y.index=D0(Y.index,w.index);if(w.required)Y.required=D0(Y.required,w.required)}let J=$.$.node("structure",Y);return $.$.parseSchema({domain:"object",structure:X?.merge(J)??J})},cG=(W,$,X,Y)=>{W[$]=D0(W[$],Y.$.node($,X))},jE=(W)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${G0(W)})`,IE="Spread operator may only be used as the first key in an object",PE=(W)=>typeof W==="symbol"?{kind:"required",normalized:W}:W.at(-1)==="?"?W.at(-2)===P6?{kind:"required",normalized:`${W.slice(0,-2)}?`}:{kind:"optional",normalized:W.slice(0,-1)}:W[0]==="["&&W.at(-1)==="]"?{kind:"index",normalized:W.slice(1,-1)}:W[0]===P6&&W[1]==="["&&W.at(-1)==="]"?{kind:"required",normalized:W.slice(1)}:W==="..."?{kind:"spread"}:W==="+"?{kind:"undeclared"}:{kind:"required",normalized:W==="\\..."?"...":W==="\\+"?"+":W},fE=(W)=>`Spread operand must resolve to an object literal type (was ${W})`;var jw=(W,$)=>cE(W)?xw[W[0]](W,$):pE(W)?fw[W[1]](W,$):null,xE=(W,$)=>$.$.parseOwnDefinitionFormat(W[1],$).keyof(),dG=(W,$)=>{if(W[2]===void 0)return E(yG(W[1],""));let X=$.$.parseOwnDefinitionFormat(W[0],$),Y=$.$.parseOwnDefinitionFormat(W[2],$);if(W[1]==="|")return $.$.node("union",{branches:[X,Y]});let G=W[1]==="&"?l1(X,Y,$.$):u6(X,Y,$.$);if(G instanceof b)return G.throw();return G},bE=(W,$)=>$.$.parseOwnDefinitionFormat(W[0],$).array(),vE=(W,$)=>{if(typeof W[2]!=="function")return E(Iw("=>",W[2]));return $.$.parseOwnDefinitionFormat(W[0],$).pipe(W[2])},Iw=(W,$)=>`${W===":"?"Narrow":"Morph"} expression requires a function following '${W}' (was ${typeof $})`,yE=(W,$)=>{if(typeof W[2]!=="function")return E(Iw(":",W[2]));return $.$.parseOwnDefinitionFormat(W[0],$).constrain("predicate",W[2])},hE=(W,$)=>$.$.parseOwnDefinitionFormat(W[0],$).configureReferences(W[2],"shallow"),Pw=(W)=>W,gE=Pw({"[]":bE,"?":()=>E(H9)}),mE=Pw({"|":dG,"&":dG,":":yE,"=>":vE,"|>":dG,"@":hE,"=":()=>E(Q9)}),fw={...gE,...mE},pE=(W)=>fw[W[1]]!==void 0,uE=(W)=>W,xw=uE({keyof:xE,instanceof:(W,$)=>{if(typeof W[1]!=="function")return E(kw(j6(W[1])));let X=W.slice(1).map((Y)=>typeof Y==="function"?$.$.node("proto",{proto:Y}):E(kw(j6(Y))));return X.length===1?X[0]:$.$.node("union",{branches:X})},"===":(W,$)=>$.$.units(W.slice(1))}),cE=(W)=>xw[W[0]]!==void 0,kw=(W)=>`Expected a constructor following 'instanceof' operator (was ${W})`;var yw=(W,$)=>{let X=[{}],Y=0;while(Y<W.length){let G=!1;if(W[Y]==="..."&&Y<W.length-1)G=!0,Y++;let J=w9(W[Y],$),[H,Q,z]=!k0(J)?[J]:J;if(Y++,G){if(!H.extends(N.intrinsic.Array))return E(oE(H.expression));X=X.flatMap((T)=>H.distribute((F)=>lE(oY(T),F)))}else X=X.map((T)=>{if(Q==="?")return hw(T,H);if(Q==="=")return dE(T,H,z);return lG(T,H)})}return $.$.parseSchema(X.map((G)=>cW(G)?{proto:Array,exactLength:0}:{proto:Array,sequence:G}))},lG=(W,$)=>{if(W.defaultables||W.optionals)return E(W.variadic?BG:iE);if(W.variadic)W.postfix=D0(W.postfix,$);else W.prefix=D0(W.prefix,$);return W},hw=(W,$)=>{if(W.variadic)return E(gw);return W.optionals=D0(W.optionals,$),W},dE=(W,$,X)=>{if(W.variadic)return E(gw);if(W.optionals)return E(nE);return W.defaultables=D0(W.defaultables,[[$,X]]),W},bw=(W,$)=>{if(W.postfix)E(vw);if(W.variadic){if(!W.variadic.equals($))E(vw)}else W.variadic=$.internal;return W},lE=(W,$)=>{let X=$.select({method:"find",kind:"sequence"});if(!X)return bw(W,N.intrinsic.unknown);if(X.prefix)for(let Y of X.prefix)lG(W,Y);if(X.optionals)for(let Y of X.optionals)hw(W,Y);if(X.variadic)bw(W,X.variadic);if(X.postfix)for(let Y of X.postfix)lG(W,Y);return W},oE=(W)=>`Spread element must be an array (was ${W})`,vw="A tuple may have at most one variadic element",iE="A required element may not follow an optional element",gw="An optional element may not follow a variadic element";var nE="A defaultable element may not follow an optional element without a default";var rE={},U9=(W,$)=>{if(typeof W==="string"){if($.args&&Object.keys($.args).some((Y)=>W.includes(Y)))return pG(W,$);let X=rE[$.$.name]??={};return X[W]??=pG(W,$)}return p1(W,"object")?tE(W,$):E(oG(z1(W)))},tE=(W,$)=>{let X=k6(W);switch(X){case void 0:if(d(W,"root"))return W;return Cw(W,$);case"Array":return aE(W,$);case"RegExp":return $.$.node("intersection",{domain:"string",pattern:W},{prereduced:!0});case"Function":{let Y=m2(W)?W():W;if(d(Y,"root"))return Y;return E(oG("Function"))}default:return E(oG(X??G0(W)))}},aE=(W,$)=>jw(W,$)??yw(W,$),oG=(W)=>`Type definitions must be strings or objects (was ${W})`;class iG extends qW{constructor(W){let $=Object.assign({errors:c1,hkt:R1,$:W,raw:W.parse,module:W.constructor.module,scope:W.constructor.scope,define:W.define,match:W.match,generic:W.generic,schema:W.schema,keywords:W.ambient,unit:W.unit,enumerated:W.enumerated,instanceOf:W.instanceOf,valueOf:W.valueOf,or:W.or,and:W.and,merge:W.merge,pipe:W.pipe},W.ambientAttachments);super((...X)=>{if(X.length===1)return W.parse(X[0]);if(X.length===2&&typeof X[0]==="string"&&X[0][0]==="<"&&X[0].at(-1)===">"){let Y=X[0].slice(1,-1),G=W.parseGenericParams(Y,{});return new l2(G,X[1],W,W,null)}return W.parse(X)},{bind:W,attach:$})}}var m4=N;class D9 extends G9{get ambientAttachments(){if(!m4.typeAttachments)return;return this.cacheGetter("ambientAttachments",Y0(m4.typeAttachments,(W,$)=>[W,this.bindReference($)]))}preparseOwnAliasEntry(W,$){let X=W.indexOf("<");if(X===-1){if(d($,"module")||d($,"generic"))return[W,$];let J=this.name==="ark"?W:W==="root"?this.name:`${this.name}.${W}`,H=this.resolvedConfig.keywords?.[J];if(H)$=[$,"@",H];return[W,$]}if(W.at(-1)!==">")E("'>' must be the last character of a generic declaration in a scope");let Y=W.slice(0,X),G=W.slice(X+1,-1);return[Y,()=>{let J=this.parseGenericParams(G,{alias:Y});return G_(J,$,this)}]}parseGenericParams(W,$){return _9(new U2(W),[],this.createParseContext({...$,def:W,prefix:"generic"}))}normalizeRootScopeValue(W){if(m2(W)&&!d(W,"generic"))return W();return W}preparseOwnDefinitionFormat(W,$){return{...$,def:W,prefix:$.alias??"type"}}parseOwnDefinitionFormat(W,$){if(!($.alias&&($.alias in this.aliases))&&!$.args)$.args={this:$.id};let Y=U9(W,$);if(k0(Y)){if(Y[1]==="=")return E(Q9);if(Y[1]==="?")return E(H9)}return Y}unit=(W)=>this.units([W]);valueOf=(W)=>this.units(NF(W));enumerated=(...W)=>this.units(W);instanceOf=(W)=>this.node("proto",{proto:W},{prereduced:!0});or=(...W)=>this.schema(W.map(($)=>this.parse($)));and=(...W)=>W.reduce(($,X)=>$.and(this.parse(X)),this.intrinsic.unknown);merge=(...W)=>W.reduce(($,X)=>$.merge(this.parse(X)),this.intrinsic.object);pipe=(...W)=>this.intrinsic.unknown.pipe(...W);match=new uG(this);declare=()=>({type:this.type});define(W){return W}type=new iG(this);static scope=(W,$={})=>new D9(W,$);static module=(W,$={})=>this.scope(W,$).export()}var nG=Object.assign(D9.scope,{define:(W)=>W}),T0=D9;class mw extends R1{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var sE=DW(["base",r.object],["props",r.object])((W)=>W.base.merge(W.props),mw),pw=T0.module({Key:r.key,Merge:sE});class uw extends R1{}var eE=DW("element")((W)=>{let $=W.element.exclude(r.Array),X=$.array();return $.rawOr(X).pipe(g2).distribute((Y)=>Y.assertHasKind("morph").declareOut(X),R0)},uw),cw=T0.module({root:r.Array,readonly:"root",index:r.nonNegativeIntegerString,liftFrom:eE},{name:"Array"});var rG=R0(["string",C8.FileConstructor]),WL=rG.rawOr(rG.array()),dw=R0({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:WL}}),lw=T0.module({root:["instanceof",FormData],value:rG,parsed:dw,parse:R0({in:FormData,morphs:(W)=>{let $={};for(let[X,Y]of W)if(X in $){let G=$[X];if(typeof G==="string"||G instanceof C8.FileConstructor)$[X]=[G,Y];else G.push(Y)}else $[X]=Y;return $},declaredOut:dw})},{name:"FormData"});var ow=T0.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 $L={Boolean:1,Number:1,String:1},iw=T0.module({...Y0({...b7,...y7},(W,$)=>(W in $L)?[]:[W,["instanceof",$]]),Array:cw,TypedArray:ow,FormData:lw});var XL=R0({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"}),YL=R0({domain:"number",divisor:1}),V9=T0.module({root:r.number,integer:YL,epoch:XL,safe:R0({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 g0=(W,$,X)=>{let Y={domain:"string",pattern:{rule:W.source,flags:W.flags,meta:$}};if(X)Y.meta={format:X};return y4("intersection",Y)},nw=g0(f6,"a well-formed integer string"),HU=T0.module({root:nw,parse:R0({in:nw,morphs:(W,$)=>{let X=Number.parseInt(W);return Number.isSafeInteger(X)?X:$.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:r.integer})},{name:"string.integer"}),GL=g0(/^[\dA-Fa-f]+$/,"hex characters only"),JL=T0.module({root:g0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:g0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),rw=g0(/^[A-Z].*$/,"capitalized"),HL=T0.module({root:R0({in:"string",morphs:(W)=>W.charAt(0).toUpperCase()+W.slice(1),declaredOut:rw}),preformatted:rw},{name:"string.capitalize"}),QL=(W)=>{let $=W.replaceAll(/[ -]+/g,""),X=0,Y,G,J=!1;for(let H=$.length-1;H>=0;H--){if(Y=$.substring(H,H+1),G=Number.parseInt(Y,10),J)G*=2,X+=G>=10?G%10+1:G;else X+=G;J=!J}return!!(X%10===0?$:!1)},zL=/^(?: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}))$/,TL=R0({domain:"string",pattern:{meta:"a credit card number",rule:zL.source},predicate:{meta:"a credit card number",predicate:QL}});var FL=/^([+-]?\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 _L=(W)=>!Number.isNaN(new Date(W).valueOf()),tw=R0({domain:"string",predicate:{meta:"a parsable date",predicate:_L}}).assertHasKind("intersection"),aw=HU.root.internal.narrow((W,$)=>{let X=Number.parseInt(W),Y=V9.epoch(X);if(Y instanceof c1)return $.errors.merge(Y),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),wL=T0.module({root:aw,parse:R0({in:aw,morphs:(W)=>new Date(W),declaredOut:r.Date})},{name:"string.date.epoch"}),sw=g0(FL,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),UL=T0.module({root:sw,parse:R0({in:sw,morphs:(W)=>new Date(W),declaredOut:r.Date})},{name:"string.date.iso"}),DL=T0.module({root:tw,parse:R0({declaredIn:tw,in:"string",morphs:(W,$)=>{let X=new Date(W);if(Number.isNaN(X.valueOf()))return $.error("a parsable date");return X},declaredOut:r.Date}),iso:UL,epoch:wL},{name:"string.date"}),VL=g0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),ew="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",o2=`(${ew}[.]){3}${ew}`,ML=new RegExp(`^${o2}$`),s0="(?:[0-9a-fA-F]{1,4})",OL=new RegExp(`^((?:${s0}:){7}(?:${s0}|:)|(?:${s0}:){6}(?:${o2}|:${s0}|:)|(?:${s0}:){5}(?::${o2}|(:${s0}){1,2}|:)|(?:${s0}:){4}(?:(:${s0}){0,1}:${o2}|(:${s0}){1,3}|:)|(?:${s0}:){3}(?:(:${s0}){0,2}:${o2}|(:${s0}){1,4}|:)|(?:${s0}:){2}(?:(:${s0}){0,3}:${o2}|(:${s0}){1,5}|:)|(?:${s0}:){1}(?:(:${s0}){0,4}:${o2}|(:${s0}){1,6}|:)|(?::((?::${s0}){0,5}:${o2}|(?::${s0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),KL=T0.module({root:["v4 | v6","@","an IP address"],v4:g0(ML,"an IPv4 address","ipv4"),v6:g0(OL,"an IPv6 address","ipv6")},{name:"string.ip"}),p4="a JSON string",QU=(W)=>{if(!(W instanceof SyntaxError))throw W;return`must be ${p4} (${W})`},AL=R0({meta:p4,domain:"string",predicate:{meta:p4,predicate:(W,$)=>{try{return JSON.parse(W),!0}catch(X){return $.reject({code:"predicate",expected:p4,problem:QU(X)})}}}}),EL=(W,$)=>{if(W.length===0)return $.error({code:"predicate",expected:p4,actual:"empty"});try{return JSON.parse(W)}catch(X){return $.error({code:"predicate",expected:p4,problem:QU(X)})}},LL=T0.module({root:AL,parse:R0({meta:"safe JSON string parser",in:"string",morphs:EL,declaredOut:r.jsonObject})},{name:"string.json"}),WU=g0(/^[a-z]*$/,"only lowercase letters"),BL=T0.module({root:R0({in:"string",morphs:(W)=>W.toLowerCase(),declaredOut:WU}),preformatted:WU},{name:"string.lower"}),zU=["NFC","NFD","NFKC","NFKD"],$X=Y0(zU,(W,$)=>[$,R0({domain:"string",predicate:(X)=>X.normalize($)===X,meta:`${$}-normalized unicode`})]),M9=Y0(zU,(W,$)=>[$,R0({in:"string",morphs:(X)=>X.normalize($),declaredOut:$X[$]})]),RL=T0.module({root:M9.NFC,preformatted:$X.NFC},{name:"string.normalize.NFC"}),NL=T0.module({root:M9.NFD,preformatted:$X.NFD},{name:"string.normalize.NFD"}),ZL=T0.module({root:M9.NFKC,preformatted:$X.NFKC},{name:"string.normalize.NFKC"}),SL=T0.module({root:M9.NFKD,preformatted:$X.NFKD},{name:"string.normalize.NFKD"}),qL=T0.module({root:"NFC",NFC:RL,NFD:NL,NFKC:ZL,NFKD:SL},{name:"string.normalize"}),$U=g0(cY,"a well-formed numeric string"),CL=T0.module({root:$U,parse:R0({in:$U,morphs:(W)=>Number.parseFloat(W),declaredOut:r.number})},{name:"string.numeric"}),XU="a regex pattern",kL=R0({domain:"string",predicate:{meta:XU,predicate:(W,$)=>{try{return new RegExp(W),!0}catch(X){return $.reject({code:"predicate",expected:XU,problem:String(X)})}}},meta:{format:"regex"}}),jL=/^(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-]+)*))?$/,IL=g0(jL,"a semantic version (see https://semver.org/)"),YU=g0(/^\S.*\S$|^\S?$/,"trimmed"),PL=T0.module({root:R0({in:"string",morphs:(W)=>W.trim(),declaredOut:YU}),preformatted:YU},{name:"string.trim"}),GU=g0(/^[A-Z]*$/,"only uppercase letters"),fL=T0.module({root:R0({in:"string",morphs:(W)=>W.toUpperCase(),declaredOut:GU}),preformatted:GU},{name:"string.upper"}),xL=(W)=>{if(URL.canParse)return URL.canParse(W);try{return new URL(W),!0}catch{return!1}},JU=R0({domain:"string",predicate:{meta:"a URL string",predicate:xL},meta:{format:"uri"}}),bL=T0.module({root:JU,parse:R0({declaredIn:JU,in:"string",morphs:(W,$)=>{try{return new URL(W)}catch{return $.error("a URL string")}},declaredOut:R0(URL)})},{name:"string.url"}),vL=T0.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:g0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:g0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:g0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:g0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:g0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:g0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:g0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:g0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),TU=T0.module({root:r.string,alpha:g0(/^[A-Za-z]*$/,"only letters"),alphanumeric:g0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:GL,base64:JL,capitalize:HL,creditCard:TL,date:DL,digits:g0(/^\d*$/,"only digits 0-9"),email:VL,integer:HU,ip:KL,json:LL,lower:BL,normalize:qL,numeric:CL,regex:kL,semver:IL,trim:PL,upper:fL,url:bL,uuid:vL},{name:"string"});var FU=T0.module({bigint:r.bigint,boolean:r.boolean,false:r.false,never:r.never,null:r.null,number:r.number,object:r.object,string:r.string,symbol:r.symbol,true:r.true,unknown:r.unknown,undefined:r.undefined}),_U=T0.module({root:r.unknown,any:r.unknown},{name:"unknown"}),yL=T0.module({root:r.jsonObject,stringify:y4("morph",{in:r.jsonObject,morphs:(W)=>JSON.stringify(W),declaredOut:r.string})},{name:"object.json"}),wU=T0.module({root:r.object,json:yL},{name:"object"});class UU extends R1{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var hL=DW(["K",r.key],"V")((W)=>({domain:"object",index:{signature:W.K,value:W.V}}),UU);class DU extends R1{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var gL=DW(["T",r.object],["K",r.key])((W)=>W.T.pick(W.K),DU);class VU extends R1{description='omit a set of properties from an object like `Omit(User, "age")`'}var mL=DW(["T",r.object],["K",r.key])((W)=>W.T.omit(W.K),VU);class MU extends R1{description="make all named properties of an object optional like `Partial(User)`"}var pL=DW(["T",r.object])((W)=>W.T.partial(),MU);class OU extends R1{description="make all named properties of an object required like `Required(User)`"}var uL=DW(["T",r.object])((W)=>W.T.required(),OU);class KU extends R1{description='exclude branches of a union like `Exclude("boolean", "true")`'}var cL=DW("T","U")((W)=>W.T.exclude(W.U),KU);class AU extends R1{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var dL=DW("T","U")((W)=>W.T.extract(W.U),AU),EU=T0.module({Exclude:cL,Extract:dL,Omit:mL,Partial:pL,Pick:gL,Record:hL,Required:uL});var i2=nG({...FU,...EU,...iw,...pw,string:TU,number:V9,object:wU,unknown:_U},{prereducedAliases:!0,name:"ark"}),F1=i2.export();Object.assign(m4.ambient,F1);m4.typeAttachments={string:F1.string.root,number:F1.number.root,bigint:F1.bigint,boolean:F1.boolean,symbol:F1.symbol,undefined:F1.undefined,null:F1.null,object:F1.object.root,unknown:F1.unknown.root,false:F1.false,true:F1.true,never:F1.never,arrayIndex:F1.Array.index,Key:F1.Key,Record:F1.Record,Array:F1.Array.root,Date:F1.Date};var jW=Object.assign(i2.type,m4.typeAttachments),lL=i2.match,oL=i2.generic,Hs=i2.schema,iL=i2.define,nL=i2.declare;var rL="__vite_start_time"in globalThis,tL=typeof window!=="undefined",Ns="vitest"in globalThis,D2=jW("string"),LU=jW('"true" | "false" | undefined'),V2=P7({isServer:!rL&&!tL,server:{CI:jW("string | undefined").pipe(Boolean),POSTGRES_USER:D2,POSTGRES_PASSWORD:D2,POSTGRES_DATABASE:D2,POSTGRES_HOST:D2,POSTGRES_PORT:D2.pipe((W)=>Number.parseInt(W,10)),BACKEND_PORT:D2.pipe((W)=>Number.parseInt(W,10)),RUN_WORKERS_FROM_SOURCE:LU.pipe((W)=>W==="true"),FRONTEND_PORT:D2.pipe((W)=>Number.parseInt(W,10)),FRONTEND_ORIGINS:D2.pipe.try((W)=>JSON.parse(W),jW("string[]")),API_KEY_OPENAI:jW("string | undefined"),API_KEY_RESEND:jW("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:D2,VITE_DEV_FRONTEND_HOST:jW("string | undefined"),VITE_DEV_HTTPS:LU.pipe((W)=>W==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var aG={};vD(aG,{users:()=>I8,untrackedUserColumnNames:()=>aL,twoFactorMethod:()=>SU,trackedUserColumnName:()=>sL,trackableUserColumnNames:()=>NU,signInHistory:()=>WB,role:()=>RU,players:()=>tG,passwordResetAttempts:()=>$B,games:()=>O9,banishedIps:()=>K9,accountActions:()=>eL,accountAction:()=>ZU});function BU(W){return V`lower(${W})`}var RU=H6("role",["admin","user"]),I8=v2("users",{id:TW().primaryKey().defaultRandom(),username:I1({length:16}).notNull(),emailOffered:I1({length:254}).notNull(),emailVerified:I1({length:254}),password:I1({length:254}),createdAt:ZW({withTimezone:!0}).notNull().defaultNow(),createdIp:I1({length:45}).notNull(),isActive:w6().notNull().default(!1),verifiedAt:ZW({withTimezone:!0}),userRole:RU().default("user")},(W)=>[q7("usernameUniqueIndex").on(BU(W.username)),q7("emailVerifiedUniqueIndex").on(BU(W.emailVerified))]),aL=["id","createdAt","createdIp","isActive","verifiedAt"],NU=["username","emailOffered","emailVerified","password","userRole"],sL=H6("trackedUserColumnName",NU),ZU=H6("accountAction",["cooldown","confirmEmail","signIn","resetPassword"]),eL=v2("accountActions",{userId:TW().references(()=>I8.id).primaryKey(),action:ZU().notNull(),code:I1({length:254}).notNull(),wrongCodeCount:U6().notNull().default(0),expiresAt:ZW({withTimezone:!0}).notNull()}),O9=v2("games",{id:TW().primaryKey().defaultRandom()}),tG=v2("players",{userId:TW().notNull().references(()=>I8.id,{onDelete:"cascade"}),gameId:TW().notNull().references(()=>O9.id,{onDelete:"cascade"}),score:U6().notNull()},(W)=>[UT({name:"players_userId_gameId_pk",columns:[W.userId,W.gameId]})]),WB=v2("signInHistory",{id:TW().primaryKey().defaultRandom(),userId:TW().references(()=>I8.id,{onDelete:"cascade"}),signInTime:ZW({withTimezone:!0}).notNull().defaultNow(),ipAddress:I1({length:45}).notNull(),userAgent:I1({length:1024}),successful:w6().notNull().default(!1)}),SU=H6("twoFactorMethod",["email","phone"]),$B=v2("passwordResetAttempts",{id:TW().primaryKey().defaultRandom(),userId:TW().notNull().references(()=>I8.id,{onDelete:"cascade"}),requestedIp:I1({length:45}).notNull(),requestedAt:ZW({withTimezone:!0}).notNull().defaultNow(),succeededIp:I1({length:45}),succeededAt:ZW({withTimezone:!0}),verificationMethod:SU().notNull()}),K9=v2("banishedIps",{ip:I1({length:45}).primaryKey(),reason:I1({length:2048}).notNull(),banishedAt:ZW({withTimezone:!0}).notNull().defaultNow(),banishedUntil:ZW({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class sG{options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(XB.resolve(__dirname,"notify_update.sql"));let W=[w1(I8),w1(O9),w1(tG)];await this.sql`SELECT create_notify_triggers(${this.sql.array(W)})`,await this.sql.listen("table_update",($)=>{let X=$.split(","),Y=X[0],G=X[1],J=`${Y}("${G}")`;if(this.observers.has(J))this.observers.get(J).next(J)})}constructor(W=!1,$={host:V2.POSTGRES_HOST,port:V2.POSTGRES_PORT,user:V2.POSTGRES_USER,password:V2.POSTGRES_PASSWORD,database:V2.POSTGRES_DATABASE}){this.options=$,this.sql=E4($),this.drizzle=pY(this.sql,{schema:aG,logger:W})}observe(W,$){if(!this.observers.has(W))this.observers.set(W,new B0);this.observers.get(W).subscribe("SINGLETON",$)}}import{resolve as JB}from"path";import{existsSync as eG,mkdirSync as qU,readFileSync as YB,readdirSync as CU,rmSync as kU,statSync as jU,writeFileSync as GB}from"fs";import{resolve as WJ}from"path";var IU=class{rootDir;get initialized(){return eG(this.rootDir)}initialize(){if(!this.initialized)qU(this.rootDir,{recursive:!0})}constructor(W){if(this.rootDir=W.path,W.eagerInit)this.initialize()}getItem(W){let $=WJ(this.rootDir,W);if(eG($))return YB($,"utf-8");return null}setItem(W,$){this.initialize();let X=WJ(this.rootDir,W);GB(X,$)}removeItem(W){let $=WJ(this.rootDir,W);if(eG($))this.initialize(),kU($)}key(W){return CU(this.rootDir).sort((Y,G)=>{let J=jU(Y);return jU(G).ctimeMs-J.ctimeMs})[W]??null}clear(){kU(this.rootDir,{recursive:!0}),qU(this.rootDir,{recursive:!0})}get length(){return CU(this.rootDir).length}};var $J=new IU({path:JB(process.cwd(),"storage")});import*as A9 from"fs";import*as PU from"readline";function HB(W){let X=W.replace(":","T").replace(" ","").replace(/(\d{2})\/(\w{3})\/(\d{4})T(.+)/,(Y,G,J,H,Q)=>{let T={Jan:"01",Feb:"02",Mar:"03",Apr:"04",May:"05",Jun:"06",Jul:"07",Aug:"08",Sep:"09",Oct:"10",Nov:"11",Dec:"12"}[J];return`${H}-${T}-${G}T${Q}`});return new Date(X)}async function fU(W,$="/var/log/nginx/access.log",X=new Date){let Y=new Map;if(!A9.existsSync($))return W.error(`Log file not found: ${$}`),Y;let G=A9.createReadStream($),J=PU.createInterface({input:G,crlfDelay:Number.POSITIVE_INFINITY}),H=new Date(X.getTime()-3600000);return J.on("line",(Q)=>{let z=/^(?<ip>\S+) \S+ \S+ \[(?<dateTime>.*?)\]/,T=Q.match(z);if(T?.groups){let F=T.groups.ip,_=T.groups.dateTime,w=HB(_);if(!Number.isNaN(w.getTime())){if(w>=H&&w<=X){let O=Y.get(F);if(!O)O=[],Y.set(F,O);O.push(Q)}}else W.error(`Failed to parse date: ${_}`)}}),new Promise((Q,z)=>{J.on("error",(T)=>{z(T)}),J.on("close",()=>{Q(Y)})})}function xU(W){return W.toJsonSchema()}var QB=["Network security adjudicator, your job is to determine if an IP address should be banned.","The IP address in question created the following logs on our server today:","```nginx.log\n"].join(`
|
|
128
|
-
`);function
|
|
127
|
+
`)+"}");class H9{config;resolvedConfig;name;get[b1](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(W,$){if(this.config=p6(R.config,$),this.resolvedConfig=p6(R.resolvedConfig,$),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(CG).length}`,this.name in CG)A(`A Scope already named ${this.name} already exists`);CG[this.name]=this;let Y=Object.entries(W).map((X)=>this.preparseOwnAliasEntry(...X));for(let[X,G]of Y){let J=X;if(X[0]==="#"){if(J=X.slice(1),J in this.aliases)A(oF(J));this.aliases[J]=G}else{if(J in this.aliases)A(oF(X));this.aliases[J]=G,this.exportedNames.push(J)}if(!d(G,"module")&&!d(G,"generic")&&!p$(G)){let H=this.preparseOwnDefinitionFormat(G,{alias:J});this.resolutions[J]=d(H,"root")?this.bindReference(H):this.createParseContext(H).id}}iF??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[iF.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=R.intrinsic?X0(R.intrinsic,(X,G)=>X.startsWith("json")?[]:[X,this.bindReference(G)]):{}}cacheGetter(W,$){return Object.defineProperty(this,W,{value:$}),$}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(W){return W}generic=(...W)=>{let $=this;return(Y,X)=>new o$(W,X?new sX(Y):Y,$,$,X??null)};units=(W,$)=>{let Y=[];for(let G of W)if(!Y.includes(G))Y.push(G);let X=Y.map((G)=>this.node("unit",{unit:G},$));return this.node("union",X,{...$,prereduced:!0})};lazyResolutions=[];lazilyResolve(W,$){let Y=this.node("alias",{reference:$??"synthetic",resolve:W},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(Y);return Y}schema=(W,$)=>this.finalize(this.parseSchema(W,$));parseSchema=(W,$)=>this.node(l6(W),W,$);preparseNode(W,$,Y){let X=typeof W==="string"?W:l6($,W);if(b0($)&&$.kind===X)return $;if(X==="alias"&&!Y?.prereduced){let{reference:H}=a6.implementation.normalize($,this);if(H.startsWith("$")){let T=this.resolveRoot(H.slice(1));$=T,X=T.kind}}else if(X==="union"&&p1($,"object")){let H=JA($);if(H?.length===1)$=H[0],X=l6($)}if(b0($)&&$.kind===X)return $;let J=x8[X].normalize?.($,this)??$;if(b0(J))return J.kind===X?J:HA(X,J.kind);return{...Y,$:this,kind:X,def:J,prefix:Y.alias??X}}bindReference(W){let $;if(b0(W))$=W.$===this?W:new W.constructor(W.attachments,this);else $=W.$===this?W:new o$(W.params,W.bodyDef,W.$,this,W.hkt);if(!this.resolved)Object.assign(this.referencesById,$.referencesById);return $}resolveRoot(W){return this.maybeResolveRoot(W)??A(IG(W))}maybeResolveRoot(W){let $=this.maybeResolve(W);if(d($,"generic"))return;return $}maybeResolveSubalias(W){return kG(this.aliases,W)??kG(this.ambient,W)}get ambient(){return R.ambient}maybeResolve(W){let $=this.resolutions[W];if($){if(typeof $!=="string")return this.bindReference($);let X=x1[$];if(d(X,"root"))return this.resolutions[W]=X;if(d(X,"context")){if(X.phase==="resolving")return this.node("alias",{reference:`$${W}`},{prereduced:!0});if(X.phase==="resolved")return E0(`Unexpected resolved context for was uncached by its scope: ${G0(X)}`);X.phase="resolving";let G=this.bindReference(this.parseOwnDefinitionFormat(X.def,X));return X.phase="resolved",x1[G.id]=G,x1[X.id]=G,this.resolutions[W]=G}return E0(`Unexpected nodesById entry for ${$}: ${G0(X)}`)}let Y=this.aliases[W]??this.ambient?.[W];if(!Y)return this.maybeResolveSubalias(W);if(Y=this.normalizeRootScopeValue(Y),d(Y,"generic"))return this.resolutions[W]=this.bindReference(Y);if(d(Y,"module")){if(!Y.root)A(Ww(W));return this.resolutions[W]=this.bindReference(Y.root)}return this.resolutions[W]=this.parse(Y,{alias:W})}createParseContext(W){let $=W.id??FG(W.prefix);return x1[$]=Object.assign(W,{[b1]:"context",$:this,id:$,phase:"unresolved"})}traversal(W){return new CW(W,this.resolvedConfig)}import(...W){return new h8(X0(this.export(...W),($,Y)=>[`#${$}`,Y]))}precompilation;_exportedResolutions;_exports;export(...W){if(!this._exports){this._exports={};for(let Y of this.exportedNames){let X=this.aliases[Y];this._exports[Y]=d(X,"module")?qG(X,this):nF(this.maybeResolve(Y))}for(let Y of this.lazyResolutions)Y.resolution;if(this._exportedResolutions=eF(this,this._exports),this._json=sF(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Y=aF(this.references);this.precompilation=Y.write(rF,4),tF(this.references,Y)}this.resolved=!0}let $=W.length?W:this.exportedNames;return new h8(X0($,(Y,X)=>[X,this._exports[X]]))}resolve(W){return this.export()[W]}node=(W,$,Y={})=>{let X=this.preparseNode(W,$,Y);if(b0(X))return this.bindReference(X);let G=this.createParseContext(X),J=wG(G),H=this.bindReference(J);return x1[G.id]=H};parse=(W,$={})=>this.finalize(this.parseDefinition(W,$));parseDefinition(W,$={}){if(d(W,"root"))return this.bindReference(W);let Y=this.preparseOwnDefinitionFormat(W,$);if(d(Y,"root"))return this.bindReference(Y);let X=this.createParseContext(Y);x1[X.id]=X;let G=this.bindReference(this.parseOwnDefinitionFormat(W,X));if(G.isCyclic)G=AF(G,X.id);return x1[X.id]=G,G}finalize(W){if(nF(W),!W.precompilation&&!this.resolvedConfig.jitless)TA(W.references);return W}}class jG extends H9{parseOwnDefinitionFormat(W,$){return wG($)}preparseOwnDefinitionFormat(W,$){return this.preparseNode(l6(W),W,$)}preparseOwnAliasEntry(W,$){return[W,$]}normalizeRootScopeValue(W){return W}}var nF=(W)=>{let $=W.references.filter((Y)=>Y.hasKind("alias"));for(let Y of $){Object.assign(Y.referencesById,Y.resolution.referencesById);for(let X of W.references)if(Y.id in X.referencesById)Object.assign(X.referencesById,Y.referencesById)}return W},sF=(W)=>X0(W,($,Y)=>[$,d(Y,"root")||d(Y,"generic")?Y.json:d(Y,"module")?sF(Y):E0(`Unexpected resolution ${G0(Y)}`)]),kG=(W,$)=>{let Y=$.indexOf(".");if(Y===-1)return;let X=$.slice(0,Y),G=W[X];if(G===void 0)return;if(!d(G,"module"))return A(QA(X));let J=$.slice(Y+1),H=G[J];if(H===void 0)return kG(G,J);if(d(H,"root")||d(H,"generic"))return H;if(d(H,"module"))return H.root??A(Ww($));E0(`Unexpected resolution for alias '${$}': ${G0(H)}`)},T9=(W,$)=>new jG(W,$),WY=new jG({});var eF=(W,$)=>{let Y={};for(let X in $){let G=$[X];if(d(G,"module")){let J=eF(W,G),H=X0(J,(T,Q)=>[`${X}.${T}`,Q]);Object.assign(Y,H)}else if(d(G,"root")||d(G,"generic"))Y[X]=G;else E0(`Unexpected scope resolution ${G0(G)}`)}return Y},IG=(W)=>`'${W}' is unresolvable`,QA=(W)=>`'${W}' must reference a module to be accessed using dot syntax`,Ww=(W)=>`Reference to submodule '${W}' must specify an alias`;WY.export();var{schema:N0,node:g8,defineSchema:en,generic:DW}=WY;var PG="^(?:0|[1-9]\\d*)$",_A=new RegExp(PG),Yr=d0(_A);var $w=T9({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();R.intrinsic={...$w};var Yw=T9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:PG}},{prereducedAliases:!0}).export();Object.assign(R.intrinsic,Yw);var zA=T9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),r={...$w,...Yw,...zA,emptyStructure:g8("structure",{},{prereduced:!0})};R.intrinsic={...r};var Gw=(W)=>typeof W==="string"&&W[0]==="d"&&(W[1]==="'"||W[1]==='"')&&W.at(-1)===W[1],Xw=(W)=>W.toString()!=="Invalid Date",Jw=(W)=>W.slice(2,-1),fG=(W)=>`'${W}' could not be parsed by the Date constructor`,Hw=(W,$)=>FA(W,$),FA=(W,$)=>{let Y=new Date(W);if(Xw(Y))return Y;let X=hz(W);if(X!==void 0){let G=new Date(X);if(Xw(G))return G}return $?A($===!0?fG(W):$):void 0};var bG=(W,$)=>{let Y=W.scanner.shiftUntil(wA[Qw[$]]);if(W.scanner.lookahead==="")return W.error(DA(Y,$));if(W.scanner.shift(),$==="/"){try{new RegExp(Y)}catch(X){A(String(X))}W.root=W.ctx.$.node("intersection",{domain:"string",pattern:Y},{prereduced:!0})}else if(_1($,xG))W.root=W.ctx.$.node("unit",{unit:Y});else{let X=Hw(Y,fG(Y));W.root=W.ctx.$.node("unit",{meta:Y,unit:X})}},xG={"'":1,'"':1},Tw={"/":1,"'":1,'"':1},Qw={"d'":"'",'d"':'"',"'":"'",'"':'"',"/":"/"},wA={"'":(W)=>W.lookahead==="'",'"':(W)=>W.lookahead==='"',"/":(W)=>W.lookahead==="/"},UA={'"':"double-quote","'":"single-quote","/":"forward slash"},DA=(W,$)=>`${$}${W} requires a closing ${UA[Qw[$]]}`;var _w=(W)=>`Private type references should not include '#'. Use '${W}' instead.`,Q9="Optional definitions like 'string?' are only valid as properties in an object or tuple",_9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var zw={">":!0,">=":!0},Fw={"<":!0,"<=":!0};var m8={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},ww=(W)=>`Unmatched )${W===""?"":` before ${W}`}`,z9=(W)=>`Missing ${W}`,Uw=(W,$)=>`Left bounds are only valid when paired with right bounds (try ...${$}${W})`,F9=(W)=>`Left-bounded expressions must specify their limits using < or <= (was ${W})`,Dw=(W,$,Y,X)=>`An expression may have at most one left bound (parsed ${W}${m8[$]}, ${Y}${m8[X]})`;var Mw=(W,$,Y)=>Vw(W,$,Y,[]),Vw=(W,$,Y,X)=>{let G=Y.parseUntilFinalizer();if(X.push(G.root),G.finalizer===">"){if(X.length!==$.params.length)return Y.error(vG(W,$.names,X.map((J)=>J.expression)));return X}if(G.finalizer===",")return Vw(W,$,Y,X);return G.error(z9(">"))},vG=(W,$,Y)=>`${W}<${$.join(", ")}> requires exactly ${$.length} args (got ${Y.length}${Y.length===0?"":`: ${Y.join(", ")}`})`;var yG=(W)=>{let $=W.scanner.shiftUntilNextTerminator();if($==="keyof")W.addPrefix("keyof");else W.root=VA(W,$)},MA=(W,$,Y)=>{if(Y.scanner.shiftUntilNonWhitespace(),Y.scanner.shift()!=="<")return Y.error(vG(W,$.names,[]));let G=Mw(W,$,Y);return $(...G)},VA=(W,$)=>OA(W,$)??KA(W,$)??W.error($===""?W.scanner.lookahead==="#"?_w(W.shiftedByOne().scanner.shiftUntilNextTerminator()):hG(W):IG($)),OA=(W,$)=>{if(W.ctx.args?.[$]){let X=W.ctx.args[$];if(typeof X!=="string")return X;return W.ctx.$.node("alias",{reference:X},{prereduced:!0})}let Y=W.ctx.$.maybeResolve($);if(d(Y,"root"))return Y;if(Y===void 0)return;if(d(Y,"generic"))return MA($,Y,W);return A(`Unexpected resolution ${G0(Y)}`)},KA=(W,$)=>{let Y=gz($);if(Y!==void 0)return W.ctx.$.node("unit",{unit:Y});let X=pz($);if(X!==void 0)return W.ctx.$.node("unit",{unit:X})},hG=(W)=>{let $=W.previousOperator();return $?gG($,W.scanner.unscanned):EA(W.scanner.unscanned)},gG=(W,$="")=>`Token '${W}' requires a right operand${$?` before '${$}'`:""}`,EA=(W)=>`Expected an expression${W?` before '${W}'`:""}`;var mG=(W)=>W.scanner.lookahead===""?W.error(hG(W)):W.scanner.lookahead==="("?W.shiftedByOne().reduceGroupOpen():W.scanner.lookaheadIsIn(Tw)?bG(W,W.scanner.shift()):W.scanner.lookaheadIsIn(u$)?mG(W.shiftedByOne()):W.scanner.lookahead==="d"?W.scanner.nextLookahead in xG?bG(W,`${W.scanner.shift()}${W.scanner.shift()}`):yG(W):yG(W);class D$ extends l7{shiftUntilNextTerminator(){return this.shiftUntilNonWhitespace(),this.shiftUntil(()=>(this.lookahead in D$.terminatingChars))}static terminatingChars={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...u$};static finalizingLookaheads={">":1,",":1,"":1,"=":1,"?":1};static lookaheadIsFinalizing=(W,$)=>W===">"?$[0]==="="?$[1]==="=":$.trimStart()===""||_1($.trimStart()[0],D$.terminatingChars):W==="="?$[0]!=="=":W===","||W==="?"}var Kw=(W,$)=>{let Y=AA(W,$);if(W.root.hasKind("unit")){if(typeof W.root.unit==="number"){W.reduceLeftBound(W.root.unit,Y),W.unsetRoot();return}if(W.root.unit instanceof Date){let X=`d'${W.root.description??W.root.unit.toISOString()}'`;W.unsetRoot(),W.reduceLeftBound(X,Y);return}}return ZA(W,Y)},Ew={"<":1,">":1,"=":1},AA=(W,$)=>W.scanner.lookaheadIs("=")?`${$}${W.scanner.shift()}`:$;var Ow=(W,$,Y,X)=>{if(Y.extends(R.intrinsic.number)){if(typeof $!=="number")return A(pG(W,$,X));return W==="=="?["min","max"]:W[0]===">"?["min"]:["max"]}if(Y.extends(R.intrinsic.lengthBoundable)){if(typeof $!=="number")return A(pG(W,$,X));return W==="=="?["exactLength"]:W[0]===">"?["minLength"]:["maxLength"]}if(Y.extends(R.intrinsic.Date))return W==="=="?["after","before"]:W[0]===">"?["after"]:["before"];return A(TF(Y.expression))},LA=(W)=>({rule:Gw(W.limit)?Jw(W.limit):W.limit,exclusive:W.comparator.length===1}),ZA=(W,$)=>{let Y=W.unsetRoot(),X=W.scanner.location;W.parseOperand();let G=W.unsetRoot(),J=W.scanner.sliceChars(X,W.scanner.location);if(W.root=Y,!G.hasKind("unit")||typeof G.unit!=="number"&&!(G.unit instanceof Date))return W.error(pG($,J,"right"));let H=G.unit,T=$.length===1,Q=Ow($,typeof H==="number"?H:J,Y,"right");for(let z of Q)W.constrainRoot(z,$==="=="?{rule:H}:{rule:H,exclusive:T});if(!W.branches.leftBound)return;if(!_1($,Fw))return W.error(F9($));let _=Ow(W.branches.leftBound.comparator,W.branches.leftBound.limit,Y,"left");W.constrainRoot(_[0],LA(W.branches.leftBound)),W.branches.leftBound=null},pG=(W,$,Y)=>`Comparator ${Y==="left"?m8[W]:W} must be ${Y==="left"?"preceded":"followed"} by a corresponding literal (was ${$})`;var Aw=(W)=>{W.scanner.shiftUntilNonWhitespace();let $=W.scanner.shiftUntilNextTerminator();W.root=W.root.brand($)};var Zw=(W)=>{let $=W.scanner.shiftUntilNextTerminator(),Y=mz($,{errorOnFail:Lw($)});if(Y===0)W.error(Lw(0));W.root=W.root.constrain("divisor",Y)},Lw=(W)=>`% operator must be followed by a non-zero integer literal (was ${W})`;var uG=(W)=>{let $=W.scanner.shift();return $===""?W.finalize(""):$==="["?W.scanner.shift()==="]"?W.setRoot(W.root.array()):W.error(NA):$==="|"?W.scanner.lookahead===">"?W.shiftedByOne().pushRootToBranch("|>"):W.pushRootToBranch($):$==="&"?W.pushRootToBranch($):$===")"?W.finalizeGroup():D$.lookaheadIsFinalizing($,W.scanner.unscanned)?W.finalize($):_1($,Ew)?Kw(W,$):$==="%"?Zw(W):$==="#"?Aw(W):($ in u$)?uG(W):W.error(w9($))},w9=(W,$="")=>`'${W}' is not allowed here${$&&` (should be ${$})`}`,NA="Missing expected ']'";var Nw=(W)=>{let $=W.unsetRoot();W.parseOperand();let Y=W.unsetRoot();if(!Y.hasKind("unit"))return W.error(RA(Y.expression));let X=Y.unit instanceof Date?()=>new Date(Y.unit):Y.unit;return[$,"=",X]},RA=(W)=>`Default value '${W}' must a literal value`;var cG=(W,$)=>{let Y=$.$.maybeResolveRoot(W);if(Y)return Y;if(W.endsWith("[]")){let J=$.$.maybeResolveRoot(W.slice(0,-2));if(J)return J.array()}let X=new p8(new D$(W),$),G=BA(X);if(X.finalizer===">")A(w9(">"));return G},BA=(W)=>{W.parseOperand();let $=$Y(W).root;if(!$)return E0(`Root was unexpectedly unset after parsing string '${W.scanner.scanned}'`);if(W.finalizer==="=")$=Nw(W);else if(W.finalizer==="?")$=[$,"?"];if(W.scanner.shiftUntilNonWhitespace(),W.scanner.lookahead)A(w9(W.scanner.lookahead));return $},$Y=(W)=>{while(W.finalizer===void 0)SA(W);return W},SA=(W)=>W.hasRoot()?W.parseOperator():W.parseOperand();class p8{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(W,$){this.scanner=W,this.ctx=$}error(W){return A(W)}hasRoot(){return this.root!==void 0}setRoot(W){this.root=W}unsetRoot(){let W=this.root;return this.root=void 0,W}constrainRoot(...W){this.root=this.root.constrain(W[0],W[1])}finalize(W){if(this.groups.length)return this.error(z9(")"));this.finalizeBranches(),this.finalizer=W}reduceLeftBound(W,$){let Y=m8[$];if(!_1(Y,zw))return this.error(F9($));if(this.branches.leftBound)return this.error(Dw(this.branches.leftBound.limit,this.branches.leftBound.comparator,W,Y));this.branches.leftBound={comparator:Y,limit:W}}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 W=this.groups.pop();if(!W)return this.error(ww(this.scanner.unscanned));this.branches=W}addPrefix(W){this.branches.prefixes.push(W)}applyPrefixes(){while(this.branches.prefixes.length){let W=this.branches.prefixes.pop();this.root=W==="keyof"?this.root.keyof():E0(`Unexpected prefix '${W}'`)}}pushRootToBranch(W){this.assertRangeUnset(),this.applyPrefixes();let $=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd($)??$,W==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,W==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return $Y(new p8(this.scanner,this.ctx))}parseOperator(){return uG(this)}parseOperand(){return mG(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(Uw(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 qA="An empty string is not a valid generic parameter name",U9=(W,$,Y)=>{W.shiftUntilNonWhitespace();let X=W.shiftUntilNextTerminator();if(X===""){if(W.lookahead===""&&$.length)return $;return A(qA)}return W.shiftUntilNonWhitespace(),CA(W,X,$,Y)},Rw="extends ",CA=(W,$,Y,X)=>{if(W.shiftUntilNonWhitespace(),W.unscanned.startsWith(Rw))W.jumpForward(Rw.length);else{if(W.lookahead===",")W.shift();return Y.push($),U9(W,Y,X)}let G=$Y(new p8(W,X));return Y.push([$,G.root]),U9(W,Y,X)};class dG extends qW{$;constructor(W){super((...$)=>new YY(W)(...$),{bind:W});this.$=W}in(W){return new YY(this.$,W===void 0?void 0:this.$.parse(W))}at(W,$){return new YY(this.$).at(W,$)}case(W,$){return new YY(this.$).case(W,$)}}class YY extends qW{$;in;key;branches=[];constructor(W,$){super((Y)=>this.caseEntries(Object.entries(Y).map(([X,G])=>X==="default"?[X,G]:[this.$.parse(X),G])));this.$=W,this.in=$}at(W,$){if(this.key)A(jA);if(this.branches.length)A(kA);return this.key=W,$?this.match($):this}case(W,$){return this.caseEntry(this.$.parse(W),$)}caseEntry(W,$){let X=(this.key?this.$.parse({[this.key]:W}):W).pipe($);return this.branches.push(X),this}match(W){return this(W)}strings(W){return this.caseEntries(Object.entries(W).map(([$,Y])=>$==="default"?[$,Y]:[this.$.node("unit",{unit:$}),Y]))}caseEntries(W){for(let $=0;$<W.length;$++){let[Y,X]=W[$];if(Y==="default"){if($!==W.length-1)A("default may only be specified as the last key of a switch definition");return this.default(X)}if(typeof X!=="function")return A(`Value for case "${Y}" must be a function (was ${Q1(X)})`);this.caseEntry(Y,X)}return this}default(W){if(typeof W==="function")this.case(r.unknown,W);let $={branches:this.branches,ordered:!0};if(W==="never"||W==="assert")$.meta={onFail:Bw};let Y=this.$.node("union",$);if(!this.in)return this.$.finalize(Y);let X=this.in.pipe(Y);if(W==="never"||W==="assert")X=X.configureReferences({onFail:Bw},"self");return this.$.finalize(X)}}var Bw=(W)=>W.throw(),kA="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",jA="At most one key matcher may be specified per expression";var D9=(W,$)=>{if(k0(W)){if(W[1]==="=")return[$.$.parseOwnDefinitionFormat(W[0],$),"=",W[2]];if(W[1]==="?")return[$.$.parseOwnDefinitionFormat(W[0],$),"?"]}return M9(W,$)},Sw="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",qw="Only required keys may specify default values, e.g. { value: 'number = 0' }";var Cw=(W,$)=>{let Y,X={},G=C2(W);for(let[H,T]of G){let Q=fA(H);if(Q.kind==="spread"){if(!cW(X))return A(PA);let O=$.$.parseOwnDefinitionFormat(T,$);if(O.equals(r.object))continue;if(!O.hasKind("intersection")||!O.basis?.equals(r.object))return A(bA(O.expression));Y=O.structure;continue}if(Q.kind==="undeclared"){if(T!=="reject"&&T!=="delete"&&T!=="ignore")A(IA(T));X.undeclared=T;continue}let _=D9(T,$),z=Q;if(Q.kind==="required"){if(!k0(_))lG(X,"required",{key:Q.normalized,value:_},$);else lG(X,"optional",_[1]==="="?{key:Q.normalized,value:_[0],default:_[2]}:{key:Q.normalized,value:_[0]},$);continue}if(k0(_)){if(_[1]==="?")A(Sw);if(_[1]==="=")A(qw)}if(Q.kind==="optional"){lG(X,"optional",{key:Q.normalized,value:_},$);continue}let F=$.$.parseOwnDefinitionFormat(z.normalized,$),w=J9(F,_,$.$);if(w.index)X.index=D0(X.index,w.index);if(w.required)X.required=D0(X.required,w.required)}let J=$.$.node("structure",X);return $.$.parseSchema({domain:"object",structure:Y?.merge(J)??J})},lG=(W,$,Y,X)=>{W[$]=D0(W[$],X.$.node($,Y))},IA=(W)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${G0(W)})`,PA="Spread operator may only be used as the first key in an object",fA=(W)=>typeof W==="symbol"?{kind:"required",normalized:W}:W.at(-1)==="?"?W.at(-2)===b6?{kind:"required",normalized:`${W.slice(0,-2)}?`}:{kind:"optional",normalized:W.slice(0,-1)}:W[0]==="["&&W.at(-1)==="]"?{kind:"index",normalized:W.slice(1,-1)}:W[0]===b6&&W[1]==="["&&W.at(-1)==="]"?{kind:"required",normalized:W.slice(1)}:W==="..."?{kind:"spread"}:W==="+"?{kind:"undeclared"}:{kind:"required",normalized:W==="\\..."?"...":W==="\\+"?"+":W},bA=(W)=>`Spread operand must resolve to an object literal type (was ${W})`;var jw=(W,$)=>dA(W)?bw[W[0]](W,$):uA(W)?fw[W[1]](W,$):null,xA=(W,$)=>$.$.parseOwnDefinitionFormat(W[1],$).keyof(),oG=(W,$)=>{if(W[2]===void 0)return A(gG(W[1],""));let Y=$.$.parseOwnDefinitionFormat(W[0],$),X=$.$.parseOwnDefinitionFormat(W[2],$);if(W[1]==="|")return $.$.node("union",{branches:[Y,X]});let G=W[1]==="&"?l1(Y,X,$.$):d6(Y,X,$.$);if(G instanceof v)return G.throw();return G},vA=(W,$)=>$.$.parseOwnDefinitionFormat(W[0],$).array(),yA=(W,$)=>{if(typeof W[2]!=="function")return A(Iw("=>",W[2]));return $.$.parseOwnDefinitionFormat(W[0],$).pipe(W[2])},Iw=(W,$)=>`${W===":"?"Narrow":"Morph"} expression requires a function following '${W}' (was ${typeof $})`,hA=(W,$)=>{if(typeof W[2]!=="function")return A(Iw(":",W[2]));return $.$.parseOwnDefinitionFormat(W[0],$).constrain("predicate",W[2])},gA=(W,$)=>$.$.parseOwnDefinitionFormat(W[0],$).configureReferences(W[2],"shallow"),Pw=(W)=>W,mA=Pw({"[]":vA,"?":()=>A(Q9)}),pA=Pw({"|":oG,"&":oG,":":hA,"=>":yA,"|>":oG,"@":gA,"=":()=>A(_9)}),fw={...mA,...pA},uA=(W)=>fw[W[1]]!==void 0,cA=(W)=>W,bw=cA({keyof:xA,instanceof:(W,$)=>{if(typeof W[1]!=="function")return A(kw(P6(W[1])));let Y=W.slice(1).map((X)=>typeof X==="function"?$.$.node("proto",{proto:X}):A(kw(P6(X))));return Y.length===1?Y[0]:$.$.node("union",{branches:Y})},"===":(W,$)=>$.$.units(W.slice(1))}),dA=(W)=>bw[W[0]]!==void 0,kw=(W)=>`Expected a constructor following 'instanceof' operator (was ${W})`;var yw=(W,$)=>{let Y=[{}],X=0;while(X<W.length){let G=!1;if(W[X]==="..."&&X<W.length-1)G=!0,X++;let J=D9(W[X],$),[H,T,Q]=!k0(J)?[J]:J;if(X++,G){if(!H.extends(R.intrinsic.Array))return A(iA(H.expression));Y=Y.flatMap((_)=>H.distribute((z)=>oA(nX(_),z)))}else Y=Y.map((_)=>{if(T==="?")return hw(_,H);if(T==="=")return lA(_,H,Q);return iG(_,H)})}return $.$.parseSchema(Y.map((G)=>cW(G)?{proto:Array,exactLength:0}:{proto:Array,sequence:G}))},iG=(W,$)=>{if(W.defaultables||W.optionals)return A(W.variadic?RG:nA);if(W.variadic)W.postfix=D0(W.postfix,$);else W.prefix=D0(W.prefix,$);return W},hw=(W,$)=>{if(W.variadic)return A(gw);return W.optionals=D0(W.optionals,$),W},lA=(W,$,Y)=>{if(W.variadic)return A(gw);if(W.optionals)return A(rA);return W.defaultables=D0(W.defaultables,[[$,Y]]),W},xw=(W,$)=>{if(W.postfix)A(vw);if(W.variadic){if(!W.variadic.equals($))A(vw)}else W.variadic=$.internal;return W},oA=(W,$)=>{let Y=$.select({method:"find",kind:"sequence"});if(!Y)return xw(W,R.intrinsic.unknown);if(Y.prefix)for(let X of Y.prefix)iG(W,X);if(Y.optionals)for(let X of Y.optionals)hw(W,X);if(Y.variadic)xw(W,Y.variadic);if(Y.postfix)for(let X of Y.postfix)iG(W,X);return W},iA=(W)=>`Spread element must be an array (was ${W})`,vw="A tuple may have at most one variadic element",nA="A required element may not follow an optional element",gw="An optional element may not follow a variadic element";var rA="A defaultable element may not follow an optional element without a default";var tA={},M9=(W,$)=>{if(typeof W==="string"){if($.args&&Object.keys($.args).some((X)=>W.includes(X)))return cG(W,$);let Y=tA[$.$.name]??={};return Y[W]??=cG(W,$)}return p1(W,"object")?aA(W,$):A(nG(Q1(W)))},aA=(W,$)=>{let Y=I6(W);switch(Y){case void 0:if(d(W,"root"))return W;return Cw(W,$);case"Array":return sA(W,$);case"RegExp":return $.$.node("intersection",{domain:"string",pattern:W},{prereduced:!0});case"Function":{let X=p$(W)?W():W;if(d(X,"root"))return X;return A(nG("Function"))}default:return A(nG(Y??G0(W)))}},sA=(W,$)=>jw(W,$)??yw(W,$),nG=(W)=>`Type definitions must be strings or objects (was ${W})`;class rG extends qW{constructor(W){let $=Object.assign({errors:c1,hkt:R1,$:W,raw:W.parse,module:W.constructor.module,scope:W.constructor.scope,define:W.define,match:W.match,generic:W.generic,schema:W.schema,keywords:W.ambient,unit:W.unit,enumerated:W.enumerated,instanceOf:W.instanceOf,valueOf:W.valueOf,or:W.or,and:W.and,merge:W.merge,pipe:W.pipe},W.ambientAttachments);super((...Y)=>{if(Y.length===1)return W.parse(Y[0]);if(Y.length===2&&typeof Y[0]==="string"&&Y[0][0]==="<"&&Y[0].at(-1)===">"){let X=Y[0].slice(1,-1),G=W.parseGenericParams(X,{});return new o$(G,Y[1],W,W,null)}return W.parse(Y)},{bind:W,attach:$})}}var u8=R;class V9 extends H9{get ambientAttachments(){if(!u8.typeAttachments)return;return this.cacheGetter("ambientAttachments",X0(u8.typeAttachments,(W,$)=>[W,this.bindReference($)]))}preparseOwnAliasEntry(W,$){let Y=W.indexOf("<");if(Y===-1){if(d($,"module")||d($,"generic"))return[W,$];let J=this.name==="ark"?W:W==="root"?this.name:`${this.name}.${W}`,H=this.resolvedConfig.keywords?.[J];if(H)$=[$,"@",H];return[W,$]}if(W.at(-1)!==">")A("'>' must be the last character of a generic declaration in a scope");let X=W.slice(0,Y),G=W.slice(Y+1,-1);return[X,()=>{let J=this.parseGenericParams(G,{alias:X});return GF(J,$,this)}]}parseGenericParams(W,$){return U9(new D$(W),[],this.createParseContext({...$,def:W,prefix:"generic"}))}normalizeRootScopeValue(W){if(p$(W)&&!d(W,"generic"))return W();return W}preparseOwnDefinitionFormat(W,$){return{...$,def:W,prefix:$.alias??"type"}}parseOwnDefinitionFormat(W,$){if(!($.alias&&($.alias in this.aliases))&&!$.args)$.args={this:$.id};let X=M9(W,$);if(k0(X)){if(X[1]==="=")return A(_9);if(X[1]==="?")return A(Q9)}return X}unit=(W)=>this.units([W]);valueOf=(W)=>this.units(Rz(W));enumerated=(...W)=>this.units(W);instanceOf=(W)=>this.node("proto",{proto:W},{prereduced:!0});or=(...W)=>this.schema(W.map(($)=>this.parse($)));and=(...W)=>W.reduce(($,Y)=>$.and(this.parse(Y)),this.intrinsic.unknown);merge=(...W)=>W.reduce(($,Y)=>$.merge(this.parse(Y)),this.intrinsic.object);pipe=(...W)=>this.intrinsic.unknown.pipe(...W);match=new dG(this);declare=()=>({type:this.type});define(W){return W}type=new rG(this);static scope=(W,$={})=>new V9(W,$);static module=(W,$={})=>this.scope(W,$).export()}var tG=Object.assign(V9.scope,{define:(W)=>W}),_0=V9;class mw extends R1{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var eA=DW(["base",r.object],["props",r.object])((W)=>W.base.merge(W.props),mw),pw=_0.module({Key:r.key,Merge:eA});class uw extends R1{}var WL=DW("element")((W)=>{let $=W.element.exclude(r.Array),Y=$.array();return $.rawOr(Y).pipe(m$).distribute((X)=>X.assertHasKind("morph").declareOut(Y),N0)},uw),cw=_0.module({root:r.Array,readonly:"root",index:r.nonNegativeIntegerString,liftFrom:WL},{name:"Array"});var aG=N0(["string",j2.FileConstructor]),$L=aG.rawOr(aG.array()),dw=N0({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:$L}}),lw=_0.module({root:["instanceof",FormData],value:aG,parsed:dw,parse:N0({in:FormData,morphs:(W)=>{let $={};for(let[Y,X]of W)if(Y in $){let G=$[Y];if(typeof G==="string"||G instanceof j2.FileConstructor)$[Y]=[G,X];else G.push(X)}else $[Y]=X;return $},declaredOut:dw})},{name:"FormData"});var ow=_0.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 YL={Boolean:1,Number:1,String:1},iw=_0.module({...X0({...y7,...g7},(W,$)=>(W in YL)?[]:[W,["instanceof",$]]),Array:cw,TypedArray:ow,FormData:lw});var XL=N0({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"}),GL=N0({domain:"number",divisor:1}),O9=_0.module({root:r.number,integer:GL,epoch:XL,safe:N0({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 g0=(W,$,Y)=>{let X={domain:"string",pattern:{rule:W.source,flags:W.flags,meta:$}};if(Y)X.meta={format:Y};return g8("intersection",X)},nw=g0(x6,"a well-formed integer string"),HU=_0.module({root:nw,parse:N0({in:nw,morphs:(W,$)=>{let Y=Number.parseInt(W);return Number.isSafeInteger(Y)?Y:$.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:r.integer})},{name:"string.integer"}),JL=g0(/^[\dA-Fa-f]+$/,"hex characters only"),HL=_0.module({root:g0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:g0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),rw=g0(/^[A-Z].*$/,"capitalized"),TL=_0.module({root:N0({in:"string",morphs:(W)=>W.charAt(0).toUpperCase()+W.slice(1),declaredOut:rw}),preformatted:rw},{name:"string.capitalize"}),QL=(W)=>{let $=W.replaceAll(/[ -]+/g,""),Y=0,X,G,J=!1;for(let H=$.length-1;H>=0;H--){if(X=$.substring(H,H+1),G=Number.parseInt(X,10),J)G*=2,Y+=G>=10?G%10+1:G;else Y+=G;J=!J}return!!(Y%10===0?$:!1)},_L=/^(?: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}))$/,zL=N0({domain:"string",pattern:{meta:"a credit card number",rule:_L.source},predicate:{meta:"a credit card number",predicate:QL}});var FL=/^([+-]?\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 wL=(W)=>!Number.isNaN(new Date(W).valueOf()),tw=N0({domain:"string",predicate:{meta:"a parsable date",predicate:wL}}).assertHasKind("intersection"),aw=HU.root.internal.narrow((W,$)=>{let Y=Number.parseInt(W),X=O9.epoch(Y);if(X instanceof c1)return $.errors.merge(X),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),UL=_0.module({root:aw,parse:N0({in:aw,morphs:(W)=>new Date(W),declaredOut:r.Date})},{name:"string.date.epoch"}),sw=g0(FL,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),DL=_0.module({root:sw,parse:N0({in:sw,morphs:(W)=>new Date(W),declaredOut:r.Date})},{name:"string.date.iso"}),ML=_0.module({root:tw,parse:N0({declaredIn:tw,in:"string",morphs:(W,$)=>{let Y=new Date(W);if(Number.isNaN(Y.valueOf()))return $.error("a parsable date");return Y},declaredOut:r.Date}),iso:DL,epoch:UL},{name:"string.date"}),VL=g0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),ew="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",i$=`(${ew}[.]){3}${ew}`,OL=new RegExp(`^${i$}$`),s0="(?:[0-9a-fA-F]{1,4})",KL=new RegExp(`^((?:${s0}:){7}(?:${s0}|:)|(?:${s0}:){6}(?:${i$}|:${s0}|:)|(?:${s0}:){5}(?::${i$}|(:${s0}){1,2}|:)|(?:${s0}:){4}(?:(:${s0}){0,1}:${i$}|(:${s0}){1,3}|:)|(?:${s0}:){3}(?:(:${s0}){0,2}:${i$}|(:${s0}){1,4}|:)|(?:${s0}:){2}(?:(:${s0}){0,3}:${i$}|(:${s0}){1,5}|:)|(?:${s0}:){1}(?:(:${s0}){0,4}:${i$}|(:${s0}){1,6}|:)|(?::((?::${s0}){0,5}:${i$}|(?::${s0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),EL=_0.module({root:["v4 | v6","@","an IP address"],v4:g0(OL,"an IPv4 address","ipv4"),v6:g0(KL,"an IPv6 address","ipv6")},{name:"string.ip"}),c8="a JSON string",TU=(W)=>{if(!(W instanceof SyntaxError))throw W;return`must be ${c8} (${W})`},AL=N0({meta:c8,domain:"string",predicate:{meta:c8,predicate:(W,$)=>{try{return JSON.parse(W),!0}catch(Y){return $.reject({code:"predicate",expected:c8,problem:TU(Y)})}}}}),LL=(W,$)=>{if(W.length===0)return $.error({code:"predicate",expected:c8,actual:"empty"});try{return JSON.parse(W)}catch(Y){return $.error({code:"predicate",expected:c8,problem:TU(Y)})}},ZL=_0.module({root:AL,parse:N0({meta:"safe JSON string parser",in:"string",morphs:LL,declaredOut:r.jsonObject})},{name:"string.json"}),WU=g0(/^[a-z]*$/,"only lowercase letters"),NL=_0.module({root:N0({in:"string",morphs:(W)=>W.toLowerCase(),declaredOut:WU}),preformatted:WU},{name:"string.lower"}),QU=["NFC","NFD","NFKC","NFKD"],XY=X0(QU,(W,$)=>[$,N0({domain:"string",predicate:(Y)=>Y.normalize($)===Y,meta:`${$}-normalized unicode`})]),K9=X0(QU,(W,$)=>[$,N0({in:"string",morphs:(Y)=>Y.normalize($),declaredOut:XY[$]})]),RL=_0.module({root:K9.NFC,preformatted:XY.NFC},{name:"string.normalize.NFC"}),BL=_0.module({root:K9.NFD,preformatted:XY.NFD},{name:"string.normalize.NFD"}),SL=_0.module({root:K9.NFKC,preformatted:XY.NFKC},{name:"string.normalize.NFKC"}),qL=_0.module({root:K9.NFKD,preformatted:XY.NFKD},{name:"string.normalize.NFKD"}),CL=_0.module({root:"NFC",NFC:RL,NFD:BL,NFKC:SL,NFKD:qL},{name:"string.normalize"}),$U=g0(lX,"a well-formed numeric string"),kL=_0.module({root:$U,parse:N0({in:$U,morphs:(W)=>Number.parseFloat(W),declaredOut:r.number})},{name:"string.numeric"}),YU="a regex pattern",jL=N0({domain:"string",predicate:{meta:YU,predicate:(W,$)=>{try{return new RegExp(W),!0}catch(Y){return $.reject({code:"predicate",expected:YU,problem:String(Y)})}}},meta:{format:"regex"}}),IL=/^(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-]+)*))?$/,PL=g0(IL,"a semantic version (see https://semver.org/)"),XU=g0(/^\S.*\S$|^\S?$/,"trimmed"),fL=_0.module({root:N0({in:"string",morphs:(W)=>W.trim(),declaredOut:XU}),preformatted:XU},{name:"string.trim"}),GU=g0(/^[A-Z]*$/,"only uppercase letters"),bL=_0.module({root:N0({in:"string",morphs:(W)=>W.toUpperCase(),declaredOut:GU}),preformatted:GU},{name:"string.upper"}),xL=(W)=>{if(URL.canParse)return URL.canParse(W);try{return new URL(W),!0}catch{return!1}},JU=N0({domain:"string",predicate:{meta:"a URL string",predicate:xL},meta:{format:"uri"}}),vL=_0.module({root:JU,parse:N0({declaredIn:JU,in:"string",morphs:(W,$)=>{try{return new URL(W)}catch{return $.error("a URL string")}},declaredOut:N0(URL)})},{name:"string.url"}),yL=_0.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:g0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:g0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:g0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:g0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:g0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:g0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:g0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:g0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),_U=_0.module({root:r.string,alpha:g0(/^[A-Za-z]*$/,"only letters"),alphanumeric:g0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:JL,base64:HL,capitalize:TL,creditCard:zL,date:ML,digits:g0(/^\d*$/,"only digits 0-9"),email:VL,integer:HU,ip:EL,json:ZL,lower:NL,normalize:CL,numeric:kL,regex:jL,semver:PL,trim:fL,upper:bL,url:vL,uuid:yL},{name:"string"});var zU=_0.module({bigint:r.bigint,boolean:r.boolean,false:r.false,never:r.never,null:r.null,number:r.number,object:r.object,string:r.string,symbol:r.symbol,true:r.true,unknown:r.unknown,undefined:r.undefined}),FU=_0.module({root:r.unknown,any:r.unknown},{name:"unknown"}),hL=_0.module({root:r.jsonObject,stringify:g8("morph",{in:r.jsonObject,morphs:(W)=>JSON.stringify(W),declaredOut:r.string})},{name:"object.json"}),wU=_0.module({root:r.object,json:hL},{name:"object"});class UU extends R1{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var gL=DW(["K",r.key],"V")((W)=>({domain:"object",index:{signature:W.K,value:W.V}}),UU);class DU extends R1{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var mL=DW(["T",r.object],["K",r.key])((W)=>W.T.pick(W.K),DU);class MU extends R1{description='omit a set of properties from an object like `Omit(User, "age")`'}var pL=DW(["T",r.object],["K",r.key])((W)=>W.T.omit(W.K),MU);class VU extends R1{description="make all named properties of an object optional like `Partial(User)`"}var uL=DW(["T",r.object])((W)=>W.T.partial(),VU);class OU extends R1{description="make all named properties of an object required like `Required(User)`"}var cL=DW(["T",r.object])((W)=>W.T.required(),OU);class KU extends R1{description='exclude branches of a union like `Exclude("boolean", "true")`'}var dL=DW("T","U")((W)=>W.T.exclude(W.U),KU);class EU extends R1{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var lL=DW("T","U")((W)=>W.T.extract(W.U),EU),AU=_0.module({Exclude:dL,Extract:lL,Omit:pL,Partial:uL,Pick:mL,Record:gL,Required:cL});var n$=tG({...zU,...AU,...iw,...pw,string:_U,number:O9,object:wU,unknown:FU},{prereducedAliases:!0,name:"ark"}),z1=n$.export();Object.assign(u8.ambient,z1);u8.typeAttachments={string:z1.string.root,number:z1.number.root,bigint:z1.bigint,boolean:z1.boolean,symbol:z1.symbol,undefined:z1.undefined,null:z1.null,object:z1.object.root,unknown:z1.unknown.root,false:z1.false,true:z1.true,never:z1.never,arrayIndex:z1.Array.index,Key:z1.Key,Record:z1.Record,Array:z1.Array.root,Date:z1.Date};var jW=Object.assign(n$.type,u8.typeAttachments),oL=n$.match,iL=n$.generic,Rs=n$.schema,nL=n$.define,rL=n$.declare;var tL="__vite_start_time"in globalThis,aL=typeof window!=="undefined",us="vitest"in globalThis,M$=jW("string"),LU=jW('"true" | "false" | undefined'),V$=b7({isServer:!tL&&!aL,server:{CI:jW("string | undefined").pipe(Boolean),POSTGRES_USER:M$,POSTGRES_PASSWORD:M$,POSTGRES_DATABASE:M$,POSTGRES_HOST:M$,POSTGRES_PORT:M$.pipe((W)=>Number.parseInt(W,10)),BACKEND_PORT:M$.pipe((W)=>Number.parseInt(W,10)),RUN_WORKERS_FROM_SOURCE:LU.pipe((W)=>W==="true"),FRONTEND_PORT:M$.pipe((W)=>Number.parseInt(W,10)),FRONTEND_ORIGINS:M$.pipe.try((W)=>JSON.parse(W),jW("string[]")),API_KEY_OPENAI:jW("string | undefined"),API_KEY_RESEND:jW("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:M$,VITE_DEV_FRONTEND_HOST:jW("string | undefined"),VITE_DEV_HTTPS:LU.pipe((W)=>W==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var eG={};vD(eG,{users:()=>f2,untrackedUserColumnNames:()=>sL,twoFactorMethod:()=>SU,trackedUserColumnName:()=>eL,trackableUserColumnNames:()=>RU,signInHistory:()=>$Z,role:()=>NU,players:()=>sG,passwordResetAttempts:()=>YZ,games:()=>E9,banishedIps:()=>A9,accountActions:()=>WZ,accountAction:()=>BU});function ZU(W){return M`lower(${W})`}var NU=Q6("role",["admin","user"]),f2=y$("users",{id:_W().primaryKey().defaultRandom(),username:P1({length:16}).notNull(),emailOffered:P1({length:254}).notNull(),emailVerified:P1({length:254}),password:P1({length:254}),createdAt:BW({withTimezone:!0}).notNull().defaultNow(),createdIp:P1({length:45}).notNull(),isActive:D6().notNull().default(!1),verifiedAt:BW({withTimezone:!0}),userRole:NU().default("user")},(W)=>[k7("usernameUniqueIndex").on(ZU(W.username)),k7("emailVerifiedUniqueIndex").on(ZU(W.emailVerified))]),sL=["id","createdAt","createdIp","isActive","verifiedAt"],RU=["username","emailOffered","emailVerified","password","userRole"],eL=Q6("trackedUserColumnName",RU),BU=Q6("accountAction",["cooldown","confirmEmail","signIn","resetPassword"]),WZ=y$("accountActions",{userId:_W().references(()=>f2.id).primaryKey(),action:BU().notNull(),code:P1({length:254}).notNull(),wrongCodeCount:M6().notNull().default(0),expiresAt:BW({withTimezone:!0}).notNull()}),E9=y$("games",{id:_W().primaryKey().defaultRandom()}),sG=y$("players",{userId:_W().notNull().references(()=>f2.id,{onDelete:"cascade"}),gameId:_W().notNull().references(()=>E9.id,{onDelete:"cascade"}),score:M6().notNull()},(W)=>[U_({name:"players_userId_gameId_pk",columns:[W.userId,W.gameId]})]),$Z=y$("signInHistory",{id:_W().primaryKey().defaultRandom(),userId:_W().references(()=>f2.id,{onDelete:"cascade"}),signInTime:BW({withTimezone:!0}).notNull().defaultNow(),ipAddress:P1({length:45}).notNull(),userAgent:P1({length:1024}),successful:D6().notNull().default(!1)}),SU=Q6("twoFactorMethod",["email","phone"]),YZ=y$("passwordResetAttempts",{id:_W().primaryKey().defaultRandom(),userId:_W().notNull().references(()=>f2.id,{onDelete:"cascade"}),requestedIp:P1({length:45}).notNull(),requestedAt:BW({withTimezone:!0}).notNull().defaultNow(),succeededIp:P1({length:45}),succeededAt:BW({withTimezone:!0}),verificationMethod:SU().notNull()}),A9=y$("banishedIps",{ip:P1({length:45}).primaryKey(),reason:P1({length:2048}).notNull(),banishedAt:BW({withTimezone:!0}).notNull().defaultNow(),banishedUntil:BW({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class WJ{options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(XZ.resolve(__dirname,"notify_update.sql"));let W=[w1(f2),w1(E9),w1(sG)];await this.sql`SELECT create_notify_triggers(${this.sql.array(W)})`,await this.sql.listen("table_update",($)=>{let Y=$.split(","),X=Y[0],G=Y[1],J=`${X}("${G}")`;if(this.observers.has(J))this.observers.get(J).next(J)})}constructor(W=!1,$={host:V$.POSTGRES_HOST,port:V$.POSTGRES_PORT,user:V$.POSTGRES_USER,password:V$.POSTGRES_PASSWORD,database:V$.POSTGRES_DATABASE}){this.options=$,this.sql=Z8($),this.drizzle=cX(this.sql,{schema:eG,logger:W})}observe(W,$){if(!this.observers.has(W))this.observers.set(W,new Z0);this.observers.get(W).subscribe("SINGLETON",$)}}import{resolve as HZ}from"path";import{existsSync as $J,mkdirSync as qU,readFileSync as GZ,readdirSync as CU,rmSync as kU,statSync as jU,writeFileSync as JZ}from"fs";import{resolve as YJ}from"path";var IU=class{rootDir;get initialized(){return $J(this.rootDir)}initialize(){if(!this.initialized)qU(this.rootDir,{recursive:!0})}constructor(W){if(this.rootDir=W.path,W.eagerInit)this.initialize()}getItem(W){let $=YJ(this.rootDir,W);if($J($))return GZ($,"utf-8");return null}setItem(W,$){this.initialize();let Y=YJ(this.rootDir,W);JZ(Y,$)}removeItem(W){let $=YJ(this.rootDir,W);if($J($))this.initialize(),kU($)}key(W){return CU(this.rootDir).sort((X,G)=>{let J=jU(X);return jU(G).ctimeMs-J.ctimeMs})[W]??null}clear(){kU(this.rootDir,{recursive:!0}),qU(this.rootDir,{recursive:!0})}get length(){return CU(this.rootDir).length}};var XJ=new IU({path:HZ(process.cwd(),"storage")});import*as L9 from"fs";import*as PU from"readline";function TZ(W){let Y=W.replace(":","T").replace(" ","").replace(/(\d{2})\/(\w{3})\/(\d{4})T(.+)/,(X,G,J,H,T)=>{let _={Jan:"01",Feb:"02",Mar:"03",Apr:"04",May:"05",Jun:"06",Jul:"07",Aug:"08",Sep:"09",Oct:"10",Nov:"11",Dec:"12"}[J];return`${H}-${_}-${G}T${T}`});return new Date(Y)}async function fU(W,$="/var/log/nginx/access.log",Y=new Date){let X=new Map;if(!L9.existsSync($))return W.error(`Log file not found: ${$}`),X;let G=L9.createReadStream($),J=PU.createInterface({input:G,crlfDelay:Number.POSITIVE_INFINITY}),H=new Date(Y.getTime()-3600000);return J.on("line",(T)=>{let Q=/^(?<ip>\S+) \S+ \S+ \[(?<dateTime>.*?)\]/,_=T.match(Q);if(_?.groups){let z=_.groups.ip,F=_.groups.dateTime,w=TZ(F);if(!Number.isNaN(w.getTime())){if(w>=H&&w<=Y){let O=X.get(z);if(!O)O=[],X.set(z,O);O.push(T)}}else W.error(`Failed to parse date: ${F}`)}}),new Promise((T,Q)=>{J.on("error",(_)=>{Q(_)}),J.on("close",()=>{T(X)})})}function bU(W){return W.toJsonSchema()}var QZ=["Network security adjudicator, your job is to determine if an IP address should be banned.","The IP address in question created the following logs on our server today:","```nginx.log\n"].join(`
|
|
128
|
+
`);function xU(W){return QZ+W.join(`
|
|
129
129
|
|
|
130
|
-
`)}var vU={schema:jW([{shouldBanIp:"false"},"|",{shouldBanIp:"true",veryConciseReason:"string"}]),toJsonSchema:
|
|
131
|
-
`));let
|
|
132
|
-
`),
|
|
133
|
-
`);else
|
|
134
|
-
`);
|
|
135
|
-
`);break}}let
|
|
130
|
+
`)}var vU={schema:jW([{shouldBanIp:"false"},"|",{shouldBanIp:"true",veryConciseReason:"string"}]),toJsonSchema:bU,fallback:{shouldBanIp:!1}};var zZ=[".env","php"];async function yU({generator:W,logFilePath:$,logger:Y,now:X=new Date}){let G=W.usdBudget,J=new WJ({logQuery(B,P){Y.info("\uD83D\uDCDD query",B,P)}}),H=await fU(Y,$,X),T=[],Q=W.from(vU),_=0,z=0;for(let[B,P]of H){Y.info(`\uD83D\uDD0D ruling on ${B}. logs:`),Y.info(P.map((x)=>` ${x}`).join(`
|
|
131
|
+
`));let g=!1;for(let x of zZ)if(P.some((p)=>p.includes(x))){T.push({ip:B,reason:`Always ban ${x}`}),Y.info(` \uD83E\uDDD1\u200D\u2696\uFE0F banning ${B}--always ban ${x}
|
|
132
|
+
`),g=!0;break}if(g)continue;if(W.usdBudget>W.usdMinimum){let x=xU(P),p=await Q(x);if(p.shouldBanIp)T.push({ip:B,reason:p.veryConciseReason}),Y.info(` \uD83E\uDDD1\u200D\u2696\uFE0F banning ${B}--${p.veryConciseReason}
|
|
133
|
+
`);else z++,Y.info(` \uD83D\uDD4A\uFE0F not banning ${B}
|
|
134
|
+
`);_++}else{Y.warn("\uD83D\uDCB0 insufficient funds to process all logs"),Y.warn(`\uD83D\uDCB0 got through ${_}/${H.size} ips
|
|
135
|
+
`);break}}let F=T.length;if(T.length>0)await J.drizzle.insert(A9).values(T).onConflictDoNothing();let w=[],O=XJ.getItem("lastTribunalProcessedDate"),V=new Date(O??"1970-01-01");try{w.push(...await J.drizzle.query.banishedIps.findMany({columns:{ip:!0},where:SX(A9.banishedAt,V)}))}catch(B){Y.error(B)}try{if(process.env.EXPERIMENTAL_BAN_IPS)await Promise.all(w.map((B)=>new Promise((P,g)=>_Z(`iptables -D INPUT -s ${B.ip} -j DROP`).on("exit",(x)=>{if(x===0)Y.info(`\uD83E\uDDD1\u200D\u2696\uFE0F banned ${B.ip}`),P();else g(new Error(`iptables exited with code ${x}`))}))));else Y.info("\uD83E\uDDD1\u200D\u2696\uFE0F skipping iptables update")}catch(B){if(B instanceof Error)Y.error(B.message);else{let P=nH(B);Y.error("iptables exited with error",P)}}XJ.setItem("lastTribunalProcessedDate",X.toISOString()),Y.info(`\u2728 banned ${F} ips, didn't ban ${z} ips`);let E=G-W.usdBudget,I=E.toLocaleString("en",{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:6}),j=G.toLocaleString("en",{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:6}),N=Math.round(E/G*100);Y.info(`\uD83D\uDCB8 spent ${I}, ${N}% of ${j} budget`)}var O$=new g9;Object.assign(console,O$.logger,{log:O$.logger.info});process.on("SIGINT",()=>{O$.logger.info("\u2757 received SIGINT; exiting gracefully"),Z9()});process.on("SIGTERM",()=>{O$.logger.info("\u2757 received SIGTERM; exiting gracefully"),Z9()});process.on("exit",()=>{O$.logger.info("\u2757 received exit; exiting gracefully"),Z9()});O$.logger.info("\uD83D\uDEEB tribunal worker ready");var FZ=new iH({usdBudget:0.01,usdMinimum:0,model:"gpt-4o-mini",apiKey:V$.API_KEY_OPENAI,cachingMode:"off",logger:O$.logger});if(V$.API_KEY_OPENAI===void 0&&!("VITEST"in import.meta.env))throw new Error("OPENAI_API_KEY is not set and vitest is not running.");await yU({generator:FZ,logFilePath:"/var/log/nginx/access.log",logger:O$.logger});Z9();function Z9(){O$.logger.info("\uD83D\uDEEC tribunal server exiting"),process.exit(0)}
|