@noormdev/cli 1.0.0-alpha.11 → 1.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- var se=(t,e,r=!1)=>{Object.entries(e).map(([i,n])=>{Object.defineProperty(t,i,{value:n,writable:!1,enumerable:!1,configurable:r})})};var ke=(t,e)=>e.split(".").reduce((i,n)=>{if(i==null)return null;if(i instanceof Map)return i.get(n);if(i instanceof Set){let s=i.has(n),o=Array.from(i);return s?o[o.indexOf(n)]:o[n]}return i[n]},t),tt=(t,e,r)=>{u(typeof t=="object"&&t!==null,"obj must be a non-null object"),u(typeof e=="string"&&e.length>0,"path must be a non-empty string");let i=e.split("."),n=i[i.length-1],s=t;for(let o=0;o<i.length-1;o++){let c=i[o];if(s==null)throw new Error(`Cannot set property '${c}' on ${s} at path: ${i.slice(0,o).join(".")}`);if(typeof s!="object")throw new Error(`Cannot set property '${c}' on primitive value at path: ${i.slice(0,o).join(".")}`);c in s||(s[c]={}),s=s[c]}if(s==null)throw new Error(`Cannot set property '${n}' on ${s}`);if(typeof s!="object")throw new Error(`Cannot set property '${n}' on primitive value`);s[n]=r},_e=(t,e)=>{u(typeof t=="object"&&t!==null,"obj must be a non-null object"),u(Array.isArray(e),"entries must be an array");for(let r=0;r<e.length;r++){let i=e[r];u(Array.isArray(i)&&i.length===2,`entry ${r} must be a [path, value] tuple`);let[n,s]=i;u(typeof n=="string"&&n.length>0,`entry ${r} must have a non-empty string path (received: ${typeof n})`),tt(t,n,s)}};var Se=class extends Error{};var ie=(t,e)=>t==null||(e instanceof Function?!!e(t):!!e),u=(t,e,r)=>{if((t instanceof Function?!!t():!!t)===!1)throw new(r||Se)(e||"assertion failed")};var A=(t,...e)=>{t!==void 0&&u(...e)};var B=t=>t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint",$=t=>t==null,H=(t,e)=>$(t)===!1&&$(e)===!1&&t.constructor===e.constructor;var b=t=>t instanceof Function,Te=t=>t instanceof Object,rt=new Set([Date,RegExp,Function,Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError,DOMException,Array,Set,Map,WeakMap,WeakSet,Promise,Proxy,Symbol,BigInt,WeakRef,FinalizationRegistry,DataView,ArrayBuffer,Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array,FormData,URLSearchParams]),C=t=>!B(t)&&Te(t)&&!rt.has(t.constructor);var nt=new Set(["true","yes",!0]),st=new Set(["false","no",!1]),qe=t=>nt.has(t),Ue=t=>st.has(t);var O=async t=>{u(b(t),"fn must be a function");try{return[await t(),null]}catch(e){return[null,e]}},S=t=>{u(b(t),"fn must be a function");try{return[t(),null]}catch(e){return[null,e]}};var k=new Map,R=new Map;var it=new Set(["__proto__","constructor","prototype"]),P=t=>typeof t=="string"&&it.has(t),oe=t=>Object.keys(t).filter(e=>!P(e));var ot=()=>{k.set(Array,(e,r)=>e.map(i=>v(i,r))),k.set(Object,(e,r)=>{let i={},n=Object.keys(e);for(let s of n)P(s)||(i[s]=v(e[s],r));return i}),k.set(Map,(e,r)=>{let i=new Map;for(let n of e.entries()){let[s,o]=n;i.set(s,v(o,r))}return i}),k.set(Set,(e,r)=>{let i=new Set;for(let n of e)i.add(v(n,r));return i}),[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array].forEach(e=>{k.set(e,r=>new e(r))}),k.set(ArrayBuffer,e=>e.slice(0)),k.set(DataView,e=>{let r=e.buffer.slice(0);return new DataView(r,e.byteOffset,e.byteLength)}),k.set(Error,(e,r)=>{let i=typeof structuredClone=="function"?structuredClone(e):new e.constructor(e.message);e.name&&(i.name=e.name),e.stack&&(i.stack=e.stack);let n=Object.keys(e);for(let s of n)s!=="name"&&s!=="message"&&s!=="stack"&&!P(s)&&(i[s]=v(e[s],r));return i}),k.set(Date,e=>new Date(e.getTime())),k.set(RegExp,e=>new RegExp(e.source,e.flags))},Ke=!1,at=new Set([ArrayBuffer,DataView,Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array,Error,Date,RegExp]),v=(t,e=new WeakMap)=>{if(Ke||(ot(),Ke=!0),B(t))return t;if(e.has(t))return e.get(t);if(t instanceof Error)return k.get(Error)(t,e);let r=Object.getPrototypeOf(t)?.constructor||t.constructor,i=k.get(r);if(!i)return t;if(at.has(r))return i(t,e);let n;if(Array.isArray(t)){n=[],e.set(t,n);let o=i(t,e);return n.push(...o),n}if(t instanceof Map){n=new Map,e.set(t,n);let o=i(t,e);for(let[c,a]of o)n.set(c,a);return n}if(t instanceof Set){n=new Set,e.set(t,n);let o=i(t,e);for(let c of o)n.add(c);return n}n={},e.set(t,n);let s=i(t,e);return Object.assign(n,s),n};var ct=(t,e)=>{for(let r of e)t.push(r);return t},ut=(t,e)=>{for(let r of e)t.has(r)||t.add(r);return t},lt=(t,e)=>{t.length=0;for(let r of e)t.push(r);return t},ft=(t,e)=>{t.clear();for(let r of e)t.add(r);return t},pt=()=>{R.set(Array,(r,i,n)=>n?.mergeArrays?ct(r,i):lt(r,i)),R.set(Set,(r,i,n)=>n?.mergeSets?ut(r,i):ft(r,i)),R.set(Object,(r,i,n)=>{let s=r,o=i,c=Object.keys(o);for(let a of c)if(!P(a)){if(s[a]===void 0||$(s[a])||$(o[a])){s[a]=o[a];continue}if(H(s[a],o[a])){s[a]=J(s[a],o[a],n);continue}s[a]=o[a]}return s}),R.set(Map,(r,i,n)=>{let s=r,o=i;for(let[c,a]of o.entries()){if(!s.has(c)){s.set(c,a);continue}let l=s.get(c);if($(l)||$(a)){s.set(c,a);continue}if(H(a,l)){s.set(c,J(l,a,n));continue}s.set(c,a)}return s}),R.set(Error,(r,i,n)=>{let s=r,o=i,c=oe(o);for(let a of c){if(s[a]===void 0){s[a]=o[a];continue}if(H(s[a],o[a])){s[a]=J(s[a],o[a],n);continue}s[a]=o[a]}return s}),[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array].forEach(r=>{R.set(r,(i,n)=>new r(n))}),R.set(ArrayBuffer,(r,i)=>i.slice(0)),R.set(DataView,(r,i)=>{let n=i,s=n.buffer.slice(0);return new DataView(s,n.byteOffset,n.byteLength)}),[Error,TypeError,ReferenceError,SyntaxError,RangeError,EvalError,URIError].forEach(r=>{R.set(r,(i,n)=>{let s=n,o=new s.constructor(s.message);s.name&&(o.name=s.name),s.stack&&(o.stack=s.stack);let c=Object.keys(s);for(let a of c)a!=="name"&&a!=="message"&&a!=="stack"&&!P(a)&&(o[a]=s[a]);return o})})},Be=!1,Re={mergeArrays:!0,mergeSets:!0},J=(t,e,r={})=>{if(Be||(pt(),Be=!0),r={...Re,...r},B(e)||e instanceof Date)return e;if(H(e,t)){let i=Object.getPrototypeOf(t)?.constructor||t.constructor,n=R.get(i);return n?n(t,e,r):t}return e};var ht=(t,e)=>t.priority===e.priority?t.order-e.order:t.priority-e.priority,mt=(t,e)=>t.priority===e.priority?e.order-t.order:t.priority-e.priority,V=class t{heap=[];insertionCounter=0;compare;options;constructor(e={}){if(this.compare=e.lifo?mt:ht,e.compare&&(this.compare=e.compare),e.maxHeap){let r=this.compare;this.compare=(i,n)=>-r(i,n)}this.options=e}push(e,r=0){let i={value:e,priority:r,order:this.insertionCounter++};this.heap.push(i),this.bubbleUp(this.heap.length-1)}pop(){if(this.heap.length===0)return null;let e=this.heap[0],r=this.heap.pop();return this.heap.length>0&&(this.heap[0]=r,this.bubbleDown(0)),e.value}popMany(e=1){let r=[];if(e===0)return r;e>this.heap.length&&(e=this.heap.length);for(let i=e;i>0;i--)r.push(this.pop());return r}peek(){return this.isEmpty()?null:this.heap[0].value}peekMany(e=1){return this.heap.slice(0,e).map(r=>r.value)}find(e){return this.heap.find(r=>e(r.value))?.value??null}heapify(e){this.heap=e.slice(0),this.insertionCounter=e.length;for(let r=Math.floor(this.heap.length/2);r>=0;r--)this.bubbleDown(r)}clone(){let e=new t(this.options);return e.heapify(this.heap),e}toSortedArray(){let e=this.clone(),r=[];for(;e.heap.length>0;)r.push(e.pop());return r}*[Symbol.iterator](){let e=this.clone();for(;e.heap.length>0;)yield e.pop()}size(){return this.heap.length}isEmpty(){return this.heap.length===0}clear(){this.heap=[],this.insertionCounter=0}bubbleUp(e){let r=e;for(;r>0;){let i=r-1>>1;if(this.compare(this.heap[r],this.heap[i])<0)this.swap(r,i),r=i;else break}}bubbleDown(e){let r=this.heap.length,i=e;for(;;){let n=(i<<1)+1,s=n+1,o=i;if(n<r&&this.compare(this.heap[n],this.heap[o])<0&&(o=n),s<r&&this.compare(this.heap[s],this.heap[o])<0&&(o=s),o===i)break;this.swap(i,o),i=o}}swap(e,r){[this.heap[e],this.heap[r]]=[this.heap[r],this.heap[e]]}};var Z=class{promise;resolve;reject;constructor(){this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r})}};typeof Promise.withResolvers!="function"&&(Promise.withResolvers=()=>new Z);var Me=class extends Promise{clear},M=(t,e=!0)=>{let r,i=new Me(n=>{r=setTimeout(()=>{r=null,n(e)},t)});return i.clear=()=>{r&&(clearTimeout(r),r=null)},i};if(typeof setImmediate!="function"){let t=0,e=new Map,r=new MessageChannel;r.port1.onmessage=async i=>{let n=i.data,s=e.get(n);if(!s)return;let[,o]=await O(s);o&&console.error("Error in setImmediate",o)},globalThis.setImmediate=(i,...n)=>{let s=t++;return e.set(s,()=>i(...n)),r.port2.postMessage(s),s},globalThis.clearImmediate=i=>{e.delete(i)}}var gt={retry:new WeakMap,circuitBreaker:new WeakMap,rateLimit:new WeakMap,throttle:new WeakMap,debounce:new WeakMap,memoize:new WeakMap,withTimeout:new WeakMap,inflight:new WeakMap};var ae=(t,e)=>{if(gt[e].has(t))throw new Error(`Function is already wrapped with ${e}`)};var Ie=class extends Error{constructor(e){super(e),this.name="RetryError"}};var bt=t=>{u(C(t),"opts must be an object"),A(t.retries,typeof t.retries=="number"&&t.retries>0,"retries must be a positive number"),A(t.delay,typeof t.delay=="number"&&t.delay>=0,"delay must be a positive number"),A(t.backoff,typeof t.backoff=="number"&&t.backoff>0,"backoff must be a positive number"),A(t.shouldRetry,b(t.shouldRetry),"shouldRetry must be a function"),A(t.signal,t.signal instanceof AbortSignal,"signal must be an AbortSignal")},Tr=async(t,e)=>{u(b(t),"fn must be a function"),ae(t,"retry"),bt(e);let{delay:r=0,retries:i=3,backoff:n=1,jitterFactor:s=0,shouldRetry:o=()=>!0,signal:c}=e,a=0;for(;a<i;){c?.throwIfAborted();let[l,d]=await O(t);if(c?.throwIfAborted(),d===null)return l;if(d&&o(d)){await M(r*n*(1+s*Math.random())),a++,c?.throwIfAborted();continue}throw d}throw new Ie("Max retries reached")};var j=()=>{},Oe=()=>"_"+Math.random().toString(36).slice(2,9);var Ce=new WeakMap,Q=t=>(Ce.has(t)||Ce.set(t,Oe()),Ce.get(t)),ce=t=>{let e=new WeakSet,r=n=>{if(n===null)return"null";if(n===void 0)return"undefined";if(typeof n=="string")return`${n}`;if(typeof n=="number")return Object.is(n,-0)?"-0":String(n);if(typeof n=="boolean")return String(n);if(typeof n=="bigint")return`bi:${n}`;if(typeof n=="symbol")return`sym:${Q(n)}`;if(typeof n=="function")return`fn:${Q(n)}`;if(n instanceof Date)return`d:${n.getTime()}`;if(n instanceof RegExp)return`r:${n.toString()}`;if(n instanceof Error)return`e:${Q(n)}`;if(n instanceof WeakMap)return`wm:${Q(n)}`;if(n instanceof WeakSet)return`ws:${Q(n)}`;if(typeof n=="object"){if(e.has(n))return`circ:${Q(n)}`;if(e.add(n),n instanceof Map){let l=`map:${Array.from(n.entries()).map(([d,y])=>`${r(d)}:${r(y)}`).sort().join(",")}`;return e.delete(n),l}if(n instanceof Set){let l=`set:${Array.from(n).map(r).sort().join(",")}`;return e.delete(n),l}if(Array.isArray(n)){let a=`[${n.map(r).join(",")}]`;return e.delete(n),a}let c=`{${Object.keys(n).sort().map(a=>`"${a}":${r(n[a])}`).join(",")}}`;return e.delete(n),c}return`u:${String(n)}`};return t.map(r).join("|")||"0"};var ue=t=>{if(t instanceof WeakRef){let e=t.deref();return[e,e===void 0]}return[t,!1]},le=(t,e,r,i,n)=>({value:i&&Te(t)&&t!==null?new WeakRef(t):t,createdAt:e,expiresAt:r,accessCount:1,lastAccessed:e,accessSequence:n}),G=t=>Date.now()>=t.expiresAt;var Pe=(t,e)=>{let r=Date.now();t.lastAccessed=r,t.accessCount=(t.accessCount??0)+1,t.accessSequence=e};var fe=t=>{let e=null,r=1/0,i=1/0;for(let[n,s]of t.entries()){let o=s.lastAccessed??0,c=s.accessSequence??0;(o<r||o===r&&c<i)&&(r=o,i=c,e=n)}return e&&t.delete(e),e};var Ve=new WeakSet,pe=(t,e={})=>{u(b(t),"fn must be a function"),u(!Ve.has(t),"Function is already wrapped by memoize");let{ttl:r=6e4,maxSize:i=1e3,generateKey:n,onError:s,cleanupInterval:o=6e4,useWeakRef:c=!1,shouldCache:a}=e,{staleIn:l,staleTimeout:d,adapter:y}=e;u(r>0,"ttl must be greater than 0"),u(i>0,"maxSize must be greater than 0"),u(ie(o,w=>typeof w=="number"&&w>=0),"cleanupInterval must be >= 0"),A(n,b(n),"generateKey must be a function"),A(s,b(s),"onError must be a function"),u(y===void 0,"memoizeSync does not support custom cache adapters (use memoize for async adapters like Redis)"),u(d===void 0,"memoizeSync does not support staleTimeout (sync functions execute instantly)"),u(l===void 0,"memoizeSync does not support staleIn (sync functions execute instantly, use ttl instead)");let p=new Map,h=0,g=0,x=0,f=0,m,E=()=>(h>=Number.MAX_SAFE_INTEGER-1&&(h=0),++h),U=()=>g++,F=()=>x++,be=()=>{let w=Date.now();for(let[T,N]of p.entries())w>=N.expiresAt&&p.delete(T)};o>0&&(m=setInterval(()=>be(),o),typeof m.unref=="function"&&m.unref());let we=function(...w){if(a){let[Ee,Ae]=S(()=>a(...w));if(!Ae&&!Ee)return t(...w)}let[T,N]=S(()=>n?n(...w):ce(w));if(N)return s?.(N,w),F(),t(...w);let K=p.get(T);if(K&&!G(K)){Pe(K,E());let[Ee,Ae]=ue(K.value);if(Ae){p.delete(T),F();let[Le,ve]=S(()=>t(...w));if(ve)throw s?.(ve,w),ve;let We=Date.now(),et=le(Le,We,We+r,c,E());return p.size>=i&&(fe(p),f++),p.set(T,et),Le}return U(),Ee}F();let[Ne,xe]=S(()=>t(...w));if(xe)throw s?.(xe,w),xe;let ze=Date.now(),Ze=le(Ne,ze,ze+r,c,E());return p.size>=i&&(fe(p),f++),p.set(T,Ze),Ne};return we.cache={clear:()=>{p.clear(),g=0,x=0,f=0,h=0,m!==void 0&&(clearInterval(m),m=void 0)},delete:w=>p.delete(w),has:w=>{let T=p.get(w);return T?G(T)?(p.delete(w),!1):!0:!1},get size(){return p.size},stats:()=>({hits:g,misses:x,evictions:f,hitRate:g+x>0?g/(g+x):0,size:p.size}),keys:()=>p.keys(),entries:()=>{let w=[];for(let[T,N]of p.entries())if(!G(N)){let[K]=ue(N.value);w.push([T,K])}return w}},Ve.add(we),we};var he=class{capacity;refillIntervalMs;#t;#n;#e;constructor(e,r){this.capacity=e,this.refillIntervalMs=r,this.#e={totalRequests:0,rejectedRequests:0,totalWaitTime:0,waitCount:0,createdAt:Date.now()},this.#t=e,this.#n=Date.now()}#r(){let e=Date.now(),r=e-this.#n,i=1/this.refillIntervalMs;if(r<0||r>this.refillIntervalMs*this.capacity*2){this.#n=e,this.#t=this.capacity;return}if(r>0){let n=r*i;this.#t=Math.min(this.capacity,this.#t+n),this.#n=e}}reset(){this.#t=this.capacity,this.#n=Date.now()}get tokens(){return Math.floor(this.#t)}consume(e=1){return this.#r(),this.#e.totalRequests++,this.#t>=e?(this.#t-=e,!0):(this.#e.rejectedRequests++,!1)}getWaitTimeMs(e=1){this.#r();let r=e-this.#t;if(r<=0)return 0;let i=1/this.refillIntervalMs;return Math.ceil(r/i)+1}getNextAvailable(e=1){return new Date(Date.now()+this.getWaitTimeMs(e))}get snapshot(){this.#r();let r=Date.now()-this.#e.createdAt;return{currentTokens:this.tokens,capacity:this.capacity,refillIntervalMs:this.refillIntervalMs,totalRequests:this.#e.totalRequests,rejectedRequests:this.#e.rejectedRequests,successfulRequests:this.#e.totalRequests-this.#e.rejectedRequests,rejectionRate:this.#e.totalRequests>0?this.#e.rejectedRequests/this.#e.totalRequests:0,totalWaitTime:this.#e.totalWaitTime,waitCount:this.#e.waitCount,averageWaitTime:this.#e.waitCount>0?this.#e.totalWaitTime/this.#e.waitCount:0,uptime:r,createdAt:this.#e.createdAt}}async waitForToken(e=1,r={}){let{onRateLimit:i,abortController:n,jitterFactor:s=0}=r;if(this.#r(),this.#t>=e)return;let o=Date.now();for(this.#e.waitCount++;this.#t<e;){if(n?.signal?.aborted)return;await i?.(new me("Rate limit exceeded",this.capacity),this.getNextAvailable(e)),await M(this.getWaitTimeMs(e)+Math.random()*s),this.#r()}let c=Date.now();this.#e.totalWaitTime+=c-o}async waitAndConsume(e=1,r={}){let{onRateLimit:i,abortController:n,jitterFactor:s=0}=r;if(this.#r(),this.#e.totalRequests++,this.#t>=e)return this.#t-=e,!0;let o=Date.now();for(this.#e.waitCount++;this.#t<e;){if(n?.signal?.aborted)return this.#e.rejectedRequests++,!1;await i?.(new me("Rate limit exceeded",this.capacity),this.getNextAvailable(e)),await M(this.getWaitTimeMs(e)+Math.random()*s),this.#r()}this.#t-=e;let c=Date.now();return this.#e.totalWaitTime+=c-o,!0}},me=class extends Error{maxCalls;constructor(e,r){super(e),this.name="RateLimitError",this.maxCalls=r}};var ee=class extends Error{constructor(e){super(e)}},Ye=t=>t?.constructor?.name===ee.name;var z={sec:1e3,min:6e4,min15:9e5,min30:18e5,hour:36e5,hour2:72e5,hour4:144e5,hour8:288e5,hour12:432e5,day:864e5,week:6048e5,secs(t){return t*this.sec},mins(t){return t*this.min},hours(t){return t*this.hour},days(t){return t*this.day},weeks(t){return t*this.week},months(t){return Math.round(t*30.4*this.day)},years(t){return t*365*this.day}},xt=t=>z.secs(t),Et=t=>z.mins(t),At=t=>z.hours(t),vt=t=>z.days(t),kt=t=>z.weeks(t),St=t=>z.months(t),Tt=t=>z.years(t),Qe=t=>{let e=t.match(/^(\d+(?:\.\d+)?)\s*(s|sec|secs?|seconds?|m|min|mins?|minutes?|h|hr|hrs?|hour|hours?|d|day|days?|w|wk|wks?|week|weeks?|mo|mon|mons?|month|months?|y|yr|yrs?|year|years?)$/i);if(!e)throw new Error(`Invalid time duration: ${t}`);let[,r,i]=e,n=parseFloat(r),s=i.toLowerCase();if(s.startsWith("s"))return xt(n);if(s.startsWith("m")&&!s.startsWith("mo"))return Et(n);if(s.startsWith("h"))return At(n);if(s.startsWith("d"))return vt(n);if(s.startsWith("w"))return kt(n);if(s.startsWith("mo"))return St(n);if(s.startsWith("y"))return Tt(n);throw new Error(`Unknown unit: ${i}`)};var de={kb:1024,mb:1048576,gb:1073741824,tb:1099511627776,kbs(t){return t*this.kb},mbs(t){return t*this.mb},gbs(t){return t*this.gb},tbs(t){return t*this.tb}},Rt=t=>de.kbs(t),Mt=t=>de.mbs(t),It=t=>de.gbs(t),Ct=t=>de.tbs(t),Ge=t=>{let e=t.match(/^(\d+(?:\.\d+)?)\s*(kb|kbs?|kilobytes?|mb|mbs?|megabytes?|gb|gbs?|gigabytes?|tb|tbs?|terabytes?)$/i);if(!e)throw new Error(`Invalid byte size: ${t}`);let[,r,i]=e,n=parseFloat(r),s=i.toLowerCase();if(s.startsWith("k"))return Rt(n);if(s.startsWith("m"))return Mt(n);if(s.startsWith("g"))return It(n);if(s.startsWith("t"))return Ct(n);throw new Error(`Unknown unit: ${i}`)};var Ot=/^\d+$/,Xe=(t,e={})=>{let{parseUnits:r=!1,skipConversion:i}=e;for(let n in t){let s=n,o=t[s];if(i?.(n,o))continue;if(typeof o=="object"&&o!==null){Xe(o,e);continue}if(r&&typeof o=="string"){let[d,y]=S(()=>Qe(o));if(!y&&typeof d=="number"){t[s]=d;continue}let[p,h]=S(()=>Ge(o));if(!h&&typeof p=="number"){t[s]=p;continue}}let a=qe(t[s]),l=Ue(t[s]);if(a||l){t[s]=a;continue}if(typeof o=="string"&&Ot.test(o)){t[s]=Number(o);continue}}},ps=(t,e={})=>{u(typeof t=="object"&&t!==null,"flatConfig must be a non-null object"),u(typeof e=="object"&&e!==null,"opts must be a non-null object"),u(e.filter===void 0||typeof e.filter=="function","filter must be a function"),u(e.forceAllCapToLower===void 0||typeof e.forceAllCapToLower=="boolean","forceAllCapToLower must be a boolean"),u(e.separator===void 0||typeof e.separator=="string","separator must be a string"),u(e.stripPrefix===void 0||typeof e.stripPrefix=="string"||typeof e.stripPrefix=="number","stripPrefix must be a string or number"),u(e.parseUnits===void 0||typeof e.parseUnits=="boolean","parseUnits must be a boolean"),u(e.skipConversion===void 0||typeof e.skipConversion=="function","skipConversion must be a function"),u(e.memoizeOpts===void 0||typeof e.memoizeOpts=="object"||e.memoizeOpts===!1,"memoizeOpts must be an object or false");let{filter:r,forceAllCapToLower:i=!0,separator:n="_",stripPrefix:s,parseUnits:o=!1,skipConversion:c,memoizeOpts:a=!1}=e,l=h=>/^[A-Z0-9_]+$/.test(h),d=h=>{let g=h;return s!==void 0&&(typeof s=="number"?g=h.slice(s):g=h.startsWith(s)?h.slice(s.length):h),g.split(n).map(f=>l(f)&&i?f.toLowerCase():f).join(".")};function y(){let h=v(t),g={},x=Object.entries(h).filter(([m,E])=>r?.(m,E)??!0).map(([m])=>m).sort(),[,f]=S(()=>{_e(g,x.map(m=>[d(m),h[m]])),Xe(g,{parseUnits:o,skipConversion:c})});if(f instanceof Error&&f.message.includes("on primitive value")){let m=F=>F.split("_").join(n),E=(F,be)=>`${m(F)}=${be}`,U=["Failed to load flatmap variables.","You're likely trying to set a nested property on a non-object value.",`For example, if you have ${E("APP_DB_NAME","foo")}, and then you try to set`,`${E("APP_DB_NAME_TEST","bar")}, you'll get this error because ${m("APP_DB_NAME")} is a string.`,"The correct way is to designate each namespace (separated by underscores) as ",`an object. For example, ${E("APP_DB_NAME","foo")} becomes { db: { name: "foo" } }, and,`,`${E("APP_DB_NAME_TEST","bar")} becomes { db: { name: { test: "bar" } } }, but both cannot coexist.`,`
3
-
4
- You can either \`unset ${m("APP_PROBLEMATIC")}\` or scope all vars to \`${m("APP_NAMESPACE_NAME")}\` to`,"make it a nested object.",`
5
-
6
- `];console.error(U.join(" "))}if(f)throw f;return g}function p(h,g){let x=y(),f=ke(x,h);return f??g}return a?{allConfigs:pe(y,a),getConfig:pe(p,a)}:{allConfigs:y,getConfig:p}};var je=class extends Error{listener;data;func;event;stack},Pt=new RegExp(`(${["node_modules","node:internal","$spy","makeEventTracer","sendToSpy","Function.spy","Observable.Engine"].join("|")})`),L=class extends Error{event;listener;data;constructor(e,r){super(e),this.event=r?.event,this.listener=r?.listener,this.data=r?.data}};var De=(t,e,r)=>{let n=new Error().stack.split(`
7
- `);n.shift();let s=n.filter(l=>!Pt.test(l)),o=`EventStack (${t} ${e.toString()}):`;s.unshift(o);let c=s.join(`
8
- `),a=new je(o);return a.name=o,a.func=e,a.event=t,a.stack=c,a.listener=null,a.data=null,typeof r=="function"?a.listener=r:a.data=r,a},Je=t=>{let e=t?.replace(/^\//,"").split("/"),r=e.pop(),i=e.join("/");return RegExp(i,r)},$e=(t,e)=>{let r=[];for(let i of t)for(let n of e.get(i)||new Set)r.push({event:i,func:n});return r},I=(function(t){return t.on="on",t.off="off",t.emit="emit",t.clear="clear",t})({}),D=class extends Event{type;data;constructor(e,r){super(e),this.data=r,this.type=e}},te=(t,e)=>{if(e.event===void 0||typeof e.event!="string"&&!(e.event instanceof RegExp))throw new L(`observer.${t}: Event must be a string or RegExp`,e)},Fe=(t,e)=>{if(e.listener!==void 0&&typeof e.listener!="function")throw new L(`observer.${t}: Listener must be a function`,e)};var W=class extends Z{cleanup},re=class{#t;#n;#e;#r=!1;#i=null;#a=null;#c=()=>{if(this.#r===!0)throw new L(`Event generator for ${this.#n.toString()} has been destroyed`,{event:this.#n,listener:this.#i,data:null})};cleanup;next;constructor(e,r,i){this.#t=e,this.#n=r,this.#e=new W,this.#e.promise.cleanup=this.cleanup,this.#e.promise.resolve=this.#e.resolve,this.#i=c=>{this.#a=c,this.#e.resolve(c),this.#e=new W,this.#e.promise.cleanup=this.cleanup,this.#e.promise.resolve=this.#e.resolve};let n=e.on(r,this.#i),s;this.next=()=>(this.#c(),this.#e.promise),this.cleanup=()=>{this.#r||(n(),this.#r=!0,this.#o.forEach(c=>{c.resolve?.(this.#a)}),this.#o.clear(),this.#a=null,s?.abort())};let o=i?.signal;if(o){if(o.aborted){this.#r=!0;return}s=new AbortController,o.addEventListener("abort",this.cleanup,{signal:s.signal})}}#o=new Set;async*[Symbol.asyncIterator](){for(;!this.#r;){let e=this.next();this.#o.add(e),yield await e,this.#o.delete(e)}return Promise.resolve(void 0)}get lastValue(){return this.#a}get done(){return this.#r}emit(e){this.#c(),this.#t.emit(this.#n,e)}};var ye=class{status="stopped";#t={running:["paused","draining","stopped"],draining:["stopped","paused"],paused:["running","draining","stopped"],stopped:["running","draining"]};transition(e){u(this.#t[this.status].includes(e),`Invalid transition from ${this.status} to ${e}`),this.status=e}is(...e){return e.includes(this.status)}get state(){return this.status}};var ge=class{observer;queueName;#t;#n;#e;#r;#i;#a;constructor(e,r){this.observer=e,this.queueName=r,this.#t=0,this.#n=0,this.#e=0,this.#r=0,this.#i=0,this.#a=0,this.observer.on(`queue:${this.queueName}:processing`,()=>{this.#t++}),this.observer.on(`queue:${this.queueName}:success`,i=>{this.#n++,this.#r++,this.#t--,this.#c(i.data.elapsed)}),this.observer.on(`queue:${this.queueName}:error`,()=>{this.#n++,this.#i++,this.#t--}),this.observer.on(`queue:${this.queueName}:rejected`,()=>this.#a++)}#c(e){this.#e=(this.#e*(this.#r-1)+e)/this.#r}get stats(){return{processed:this.#n,processing:this.#t,avgProcessingTime:this.#e,success:this.#r,error:this.#i,rejected:this.#a}}};var _=class{data;constructor(e){this.data=e}},ne=(function(t){return t.full="Queue is full",t.notRunning="Queue is not running",t})({});var X=class{opts;#t;#n;#e;#r;#i;#a;#c;#o;#l;#u;#f;#h;#p;constructor(e){this.opts=e,this.#n=new Map,this.#e=j,this.#r=new ye,this.#c=!0,this.#o=!1,this.#l=!1,this.#u=!1,this.#f=0,this.#h=0,this.#p=new Set;let{observer:r=new q,event:i,process:n,name:s,type:o="fifo",concurrency:c=1,pollIntervalMs:a=100,jitterFactor:l=0,rateLimitIntervalMs:d=1e3,processIntervalMs:y=0,taskTimeoutMs:p=0,autoStart:h=!0,debug:g=!1}=this.opts,{maxQueueSize:x=999999999,rateLimitCapacity:f=999999999}=this.opts;u(C(this.opts),"Options is required to be an object"),u(b(r?.on),"ObserverEngine is required"),u(typeof i=="string"&&i.length>0||i instanceof RegExp,"Event is required to be a string or RegExp"),u(b(n),"Process is required to be a function"),u(s&&typeof s=="string"&&s.length>0,"Name is required"),u(c>0,"Concurrency must be greater than 0"),u(a>0,"pollIntervalMs must be a number greater than 0"),u(l>=0&&l<=1,"Jitter must be a number greater than or equal to 0 and less than or equal to 1"),u(x>0,"MaxQueueSize must be a number greater than 0"),u(d>0,"rateLimitIntervalMs must be a number greater than 0"),u(f>0,"rateLimitCapacity must be a number greater than 0"),u(y>=0,"processIntervalMs must be a number greater than or equal to 0"),u(p>=0,"taskTimeoutMs must be a number greater than or equal to 0"),u(o==="fifo"||o==="lifo",'Type must be either "fifo" or "lifo"'),u(typeof h=="boolean","AutoStart must be a boolean"),x===1/0&&(x=999999999),f===1/0&&(f=999999999),Object.assign(this.opts,{observer:r,type:o,concurrency:c,maxQueueSize:x,pollIntervalMs:a,jitterFactor:l,processIntervalMs:y,taskTimeoutMs:p}),this.#u=g,this.#i=new ge(r,s),this.#a=new he(f,d),this.#t=new V({lifo:o==="lifo"}),h&&this.start()}#m(){if(this.#l)return;this.#l=!0;let e=this.opts.observer.on(this.opts.event,r=>{if((r?.data??r)instanceof _)return;let n=r,s={data:n,_taskId:Oe(),priority:this.#n.get(n)??0};if(this.#n.delete(n),this.#t.size()>=this.opts.maxQueueSize){this.#s("rejected",{...s,reason:ne.full});return}this.#s("added",s),this.#c=!1,this.#t.push(s,s.priority)});this.#e=()=>{e(),this.#l=!1}}#s(e,r){if(this.#u){let i=[`[${this.name}] ${e}`,r?._taskId??"",r?.data??""];this.#u==="verbose"&&(i[1]=r),console.log(...i)}this.opts.observer.emit(`queue:${this.name}:${e}`,new _(r))}#y(){let e=++this.#f;for(let r=0;r<this.opts.concurrency;r++)this.#w(e,r)}async#w(e,r){let{pollIntervalMs:i,jitterFactor:n}=this.opts;for(this.#h++;this.#r.is("running")&&this.#f===e;){if(!this.pending){!this.#c&&!this.pending&&this.#p.size===0&&(this.#c=!0,this.#s("idle")),this.#o=!0,await M(i*(1+Math.random()*n)),this.#o=!1;continue}let s=this.#t.pop();s&&(this.#p.add(`${e}-${r}`),await this.#g(s),this.opts.processIntervalMs>0&&await M(this.opts.processIntervalMs),this.#p.delete(`${e}-${r}`))}this.#h--}async#g(e){if(!this.#r.is("running","draining")){this.#t.push(e);return}let r=!1;this.#r.is("draining")||await this.#a.waitAndConsume(1,{onRateLimit:()=>{this.#s("rate-limited",e),r=!0}});let i=Date.now();this.#s("processing",{...e,startedAt:i,rateLimited:r});let[,n]=await O(async()=>{if(this.opts.taskTimeoutMs===0)return this.opts.process(e.data);let o=await Promise.race([this.opts.process(e.data),M(this.opts.taskTimeoutMs,new ee("Task timed out"))]);if(Ye(o))throw this.#s("timeout",{...e,error:o}),o;return o}),s=Date.now()-i;n?this.#s("error",{...e,error:n,rateLimited:r}):this.#s("success",{...e,startedAt:i,elapsed:s,rateLimited:r}),this.#t.size()===0&&this.#r.is("running")&&this.#s("empty")}start(){if(!this.#r.is("running"))return this.#m(),this.#r.transition("running"),this.#s("start"),this.#y(),this.#s("started"),Promise.resolve()}stop(){this.#r.is("stopped")||(this.#e(),this.#r.transition("stopped"),this.#s("stopped"))}pause(){if(!this.#r.is("paused"))return this.#r.transition("paused"),this.#s("paused"),Promise.resolve()}resume(){if(!this.#r.is("running"))return this.#m(),this.#r.transition("running"),this.#y(),this.#s("resumed"),Promise.resolve()}async#b(e=1/0,r,i){let n=e===1/0?this.#t.size():e,s=this.#t.popMany(n);if(n<s.length&&(n=s.length),r?.(n),n!==0)for(let o of s)await this.#g(o);return i?.(n),n}shutdown(e=!1){if(this.#r.is("draining","stopped"))return Promise.resolve(0);if(e){let r=this.purge();return this.stop(),this.#s("shutdown",{force:e,pending:r}),Promise.resolve(r)}return this.#b(1/0,r=>{this.pause(),this.#r.transition("draining"),this.#e(),this.#s("drain",{pending:r})},r=>{this.#s("drained",e?{pending:r}:{drained:r}),this.stop(),this.#s("shutdown",e?{force:e,pending:r}:{force:e})})}async flush(e=1/0){return this.#b(e,r=>this.#s("flush",{pending:r}),r=>this.#s("flushed",{flushed:r}))}purge(){let e=this.#t.size();return this.#t.clear(),this.#s("purged",{count:e}),e}add(e,r){return this.#r.is("running","paused")?this.#t.size()>=this.opts.maxQueueSize?(this.#s("rejected",{data:e,reason:ne.full}),!1):(r&&this.#n.set(e,r),this.opts.observer.emit(this.opts.event,e),!0):(this.#s("rejected",{data:e,reason:ne.notRunning}),!1)}debug(e=!1){this.#u=e}#d(){return this.opts.observer}on(e,r){return this.#d().on(`queue:${this.name}:${e}`,r)}once(e,r){return this.#d().once(`queue:${this.name}:${e}`,r)}off(e,r){return this.#d().off(`queue:${this.name}:${e}`,r)}get name(){return this.opts.name}get isWaiting(){return this.#o}get isIdle(){return this.#c&&this.#r.is("running")}get isRunning(){return this.#r.is("running")}get isPaused(){return this.#r.is("paused")}get isStopped(){return this.#r.is("stopped")}get isDraining(){return this.#r.is("draining")}get state(){return this.#r.state}get pending(){return this.#t.size()}get stats(){return v(this.#i.stats)}get snapshot(){return{name:this.name,state:this.state,pending:this.pending,stats:this.stats,rateLimiter:this.#a.snapshot,activeRunners:this.#h,runningNodes:this.#p,isIdle:this.isIdle,isWaiting:this.isWaiting,isRunning:this.isRunning,isPaused:this.isPaused,isStopped:this.isStopped,isDraining:this.isDraining,isEmpty:this.pending===0}}};var q=class{#t=new Map;#n=new Map;#e=new EventTarget;#r;#i;#a;#c=new AbortController;#o;constructor(e){e&&(u(!e.name||typeof e.name=="string","Observable options.name must be a string",TypeError),u(!e.spy||typeof e.spy=="function","Observable options.spy must be a function",TypeError),u(!e.emitValidator||typeof e.emitValidator=="function","Observable options.emitValidator must be a function",TypeError),this.#i=e.spy),this.#o=this.#c.signal;let r=e?.signal,i=()=>this.clear();this.#o.addEventListener("abort",i,{once:!0}),r&&r.addEventListener("abort",i,{once:!0}),se(this,{on:this.on,once:this.once,emit:this.emit,off:this.off,observe:this.observe,debug:this.debug,$has:this.$has,$facts:this.$facts,$internals:this.$internals,name:e?.name||Math.random().toString(36).substring(7)}),this.#r=e?.emitValidator}name;$facts(){let e=[...this.#t.keys()],r=[...this.#n.keys()],i=Object.fromEntries([e.map(n=>[n,this.#t.get(n)?.size]),r.map(n=>[n,this.#n.get(n)?.size])].flat());return{listeners:e,rgxListeners:r,listenerCounts:i,hasSpy:!!this.#i}}$internals(){return{listenerMap:v(this.#t),rgxListenerMap:v(this.#n),internalListener:v(this.#e),name:this.name,spy:this.#i}}$has(e){return e instanceof RegExp?this.#n.has(e.toString()):this.#t.has(e)||this.#n.has(e)}#l(...e){this.#i&&this.#i.apply(this,e)}debug(e=!0){let r=this.#i,i=n=>{let{event:s,fn:o,data:c,listener:a}=n;console.info(De(s,o,c||a)),r&&r(n)};if(e){this.#i=i,this.#a=r;return}this.#i=this.#a}spy(e,r=!1){u(b(e),"spy must be a function",TypeError),u(r||this.#i===void 0,"you already have a spy function set",TypeError),this.#i=e}observe(e,r){let i=this,n=r?.signal;if(n?.aborted)return se(e,{on:j,once:j,off:j,emit:j,clear:j,cleanup:j}),e;let s=new Map,o=(f,m)=>{let E=s.get(f)||new Set;return E.add(m),s.set(f,E),m},c=()=>{for(let f of s.entries()){let[m,E]=f;[...E].forEach(U=>i.off(m,U)),s.set(m,new Set)}},a=f=>{let[m,E]=f.data;s.get(m)?.delete(E)};this.#e.addEventListener(I.off,a),this.#e.addEventListener(I.clear,c);let l=(f,m)=>i.on(f,o(f,m)),d=(f,m)=>i.once(f,o(f,m)),y=(f,m)=>{i.off(f,m)},p=(f,m)=>i.emit(f,m),h=()=>c(),g,x=()=>{c(),i.#e.removeEventListener(I.off,a),i.#e.removeEventListener(I.clear,c),g?.abort()};return n&&(g=new AbortController,AbortSignal.any([this.#o,n]).addEventListener("abort",x,{signal:g.signal})),se(e,{on:l,once:d,off:y,emit:p,clear:h,cleanup:x}),e}#u(e){let r=e.constructor===RegExp,i=e.toString();return{isRgx:r,eventName:i,rgx:e}}#f(e){return[...this.#t.keys()].filter(r=>e.test(r))}#h(e){return[...this.#n.keys()].filter(r=>Je(r).test(e)).flat()}#p(e){let r=this.#f(e);return $e(r,this.#t)}#m(e){let r=this.#h(e);return $e(r,this.#n)}on(e,r,i){let n=typeof r=="function",s=n?r:void 0,o=n?i:r;if(o?.once||(te("on",{event:e,listener:s}),Fe("on",{event:e,listener:s})),s===void 0)return new re(this,e,o);let c=o?.signal;if(c?.aborted)return()=>{};let{eventName:a,isRgx:l}=this.#u(e),d=l?this.#n:this.#t;this.#l({event:e,fn:o?.once?"once":"on",data:null,listener:s,context:this});let y=d.get(a)||new Set([s]);y&&!y.has(s)&&y.add(s),d.has(a)||d.set(a,y),this.#e.dispatchEvent(new D(I.on,[e,s]));let p=!1,h=()=>{p||(p=!0,this.#l({event:e,fn:"cleanup",data:null,listener:s,context:this}),y.delete(s),y.size===0&&d.delete(a),this.#e.dispatchEvent(new D(I.off,[e,s])))};if(c){let g=()=>{h(),this.#o.removeEventListener("abort",g)};c.addEventListener("abort",g,{once:!0}),this.#o.addEventListener("abort",g,{once:!0});let x=h;return()=>{x(),c.removeEventListener("abort",g),this.#o.removeEventListener("abort",g)}}return h}once(e,r,i){let n=typeof r=="function",s=n?r:void 0,o=n?i:r;if(te("once",{event:e,listener:s}),Fe("once",{event:e,listener:s}),!s){let l=new W,d=o?.signal;if(d?.aborted)return l.reject(d.reason??new DOMException("Aborted","AbortError")),l.promise.cleanup=()=>{},l.promise;let y,p=this.once(e,h=>{l.resolve(h),y?.abort()},o);return d&&(y=new AbortController,d.addEventListener("abort",()=>{p(),l.reject(d.reason??new DOMException("Aborted","AbortError"))},{signal:y.signal})),l.promise.cleanup=()=>{p(),y?.abort()},l.promise}let c=this,a=function(...l){let{eventName:d,isRgx:y}=c.#u(e),p=y?c.#n:c.#t,h=p.get(d);h&&(h.delete(a),h.size===0&&p.delete(d)),s.apply(c,l)};return this.on(e,a,{once:!0,...o})}off(e,r){te("off",{event:e,listener:r}),this.#l({event:e,fn:"off",data:null,listener:r,context:this});let{eventName:i,isRgx:n,rgx:s}=this.#u(e);(n?this.#f(s):[i]).forEach(c=>{let a=c;if(this.#e.dispatchEvent(new D(I.off,[a,r])),r){let l=this.#t.get(a);l&&(l.delete(r),l.size===0&&this.#t.delete(a));return}this.#t.delete(a)})}emit(e,r){te("emit",{event:e,data:r}),this.#r&&this.#r(e,r,this),this.#l({event:e,fn:"emit",data:r,listener:null,context:this});let{eventName:i,isRgx:n,rgx:s}=this.#u(e);if(!n){let c=this.#t.get(i),a=this.#m(i);c&&c.forEach(l=>l.apply(this,[r,{event:e,listener:l}])),a&&a.forEach(({func:l})=>l.apply(this,[{data:r,event:e,listener:l}])),this.#e.dispatchEvent(new D(I.emit,[i,r]));return}let o=this.#p(s);o&&o.forEach(({event:c,func:a})=>a.apply(this,[r,{event:c,listener:a}])),this.#f(s).forEach(c=>{this.#e.dispatchEvent(new D(I.emit,[c,r]))})}clear(){this.#t.clear(),this.#n.clear(),this.#e.dispatchEvent(new D(I.clear,["clear",null]))}queue(e,r,i){return new X({...i,event:e,process:r,observer:this})}};var ni=new q({name:"noorm",spy:process.env.NOORM_DEBUG?t=>console.error(`[noorm:${t.fn}] ${String(t.event)}`):void 0});export{v as a,J as b,O as c,S as d,M as e,Tr as f,It as g,ps as h,ni as i};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{A as te,B as ct,C as ut,D as Ve,E as lt,H as u,I as mt,J as z,L as ft,M as Nt,N as wt,O as yt,P as vt,Q as xt,R as gt,S as T,T as pe,U as Ct,V as f,a as et,b as ze,c as tt,d as Be,e as it,f as rt,g as st,i as Q,j as O,k as i,l as m,m as p,n as w,o as nt,p as ot,q as d,r as at,s as ht,t as C,u as ae,v as pt,w as dt,x as R,y as he,z as P}from"./chunk-QI5B3GSQ.js";var o=i({is(t){return t.kind==="AlterTableNode"},create(t){return i({kind:"AlterTableNode",table:t})},cloneWithTableProps(t,e){return i({...t,...e})},cloneWithColumnAlteration(t,e){return i({...t,columnAlterations:t.columnAlterations?[...t.columnAlterations,e]:[e]})}});var y=i({is(t){return t.kind==="CreateIndexNode"},create(t){return i({kind:"CreateIndexNode",name:p.create(t)})},cloneWith(t,e){return i({...t,...e})},cloneWithColumns(t,e){return i({...t,columns:[...t.columns||[],...e]})}});var de=i({is(t){return t.kind==="CreateSchemaNode"},create(t,e){return i({kind:"CreateSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var bt=["preserve rows","delete rows","drop"],l=i({is(t){return t.kind==="CreateTableNode"},create(t){return i({kind:"CreateTableNode",table:t,columns:i([])})},cloneWithColumn(t,e){return i({...t,columns:i([...t.columns,e])})},cloneWithConstraint(t,e){return i({...t,constraints:t.constraints?i([...t.constraints,e]):i([e])})},cloneWithFrontModifier(t,e){return i({...t,frontModifiers:t.frontModifiers?i([...t.frontModifiers,e]):i([e])})},cloneWithEndModifier(t,e){return i({...t,endModifiers:t.endModifiers?i([...t.endModifiers,e]):i([e])})},cloneWith(t,e){return i({...t,...e})}});var E=i({is(t){return t.kind==="DropIndexNode"},create(t,e){return i({kind:"DropIndexNode",name:w.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var ie=i({is(t){return t.kind==="DropSchemaNode"},create(t,e){return i({kind:"DropSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var re=i({is(t){return t.kind==="DropTableNode"},create(t,e){return i({kind:"DropTableNode",table:t,...e})},cloneWith(t,e){return i({...t,...e})}});var Fe=i({is(t){return t.kind==="AddColumnNode"},create(t){return i({kind:"AddColumnNode",column:t})}});var a=i({is(t){return t.kind==="ColumnDefinitionNode"},create(t,e){return i({kind:"ColumnDefinitionNode",column:d.create(t),dataType:e})},cloneWithFrontModifier(t,e){return i({...t,frontModifiers:t.frontModifiers?i([...t.frontModifiers,e]):[e]})},cloneWithEndModifier(t,e){return i({...t,endModifiers:t.endModifiers?i([...t.endModifiers,e]):[e]})},cloneWith(t,e){return i({...t,...e})}});var Ue=i({is(t){return t.kind==="DropColumnNode"},create(t){return i({kind:"DropColumnNode",column:d.create(t)})}});var $e=i({is(t){return t.kind==="RenameColumnNode"},create(t,e){return i({kind:"RenameColumnNode",column:d.create(t),renameTo:d.create(e)})}});var B=i({is(t){return t.kind==="CheckConstraintNode"},create(t,e){return i({kind:"CheckConstraintNode",expression:t,name:e?p.create(e):void 0})}});var It=["no action","restrict","cascade","set null","set default"],V=i({is(t){return t.kind==="ReferencesNode"},create(t,e){return i({kind:"ReferencesNode",table:t,columns:i([...e])})},cloneWithOnDelete(t,e){return i({...t,onDelete:e})},cloneWithOnUpdate(t,e){return i({...t,onUpdate:e})}});function ce(t){return nt(t)?t.toOperationNode():P.createImmediate(t)}var se=i({is(t){return t.kind==="GeneratedNode"},create(t){return i({kind:"GeneratedNode",...t})},createWithExpression(t){return i({kind:"GeneratedNode",always:!0,expression:t})},cloneWith(t,e){return i({...t,...e})}});var Ot=i({is(t){return t.kind==="DefaultValueNode"},create(t){return i({kind:"DefaultValueNode",defaultValue:t})}});function F(t){if(It.includes(t))return t;throw new Error(`invalid OnModifyForeignAction ${t}`)}var D=class t{#e;constructor(e){this.#e=e}autoIncrement(){return new t(a.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new t(a.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new t(a.cloneWith(this.#e,{primaryKey:!0}))}references(e){let r=pt(e);if(!r.table||at.is(r.column))throw new Error(`invalid call references('${e}'). The reference must have format table.column or schema.table.column`);return new t(a.cloneWith(this.#e,{references:V.create(r.table,[r.column])}))}onDelete(e){if(!this.#e.references)throw new Error("on delete constraint can only be added for foreign keys");return new t(a.cloneWith(this.#e,{references:V.cloneWithOnDelete(this.#e.references,F(e))}))}onUpdate(e){if(!this.#e.references)throw new Error("on update constraint can only be added for foreign keys");return new t(a.cloneWith(this.#e,{references:V.cloneWithOnUpdate(this.#e.references,F(e))}))}unique(){return new t(a.cloneWith(this.#e,{unique:!0}))}notNull(){return new t(a.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new t(a.cloneWith(this.#e,{unsigned:!0}))}defaultTo(e){return new t(a.cloneWith(this.#e,{defaultTo:Ot.create(ce(e))}))}check(e){return new t(a.cloneWith(this.#e,{check:B.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new t(a.cloneWith(this.#e,{generated:se.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new t(a.cloneWith(this.#e,{generated:se.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new t(a.cloneWith(this.#e,{generated:se.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw new Error("stored() can only be called after generatedAlwaysAs");return new t(a.cloneWith(this.#e,{generated:se.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(e){return new t(a.cloneWithFrontModifier(this.#e,e.toOperationNode()))}nullsNotDistinct(){return new t(a.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new t(a.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(e){return new t(a.cloneWithEndModifier(this.#e,e.toOperationNode()))}$call(e){return e(this)}toOperationNode(){return this.#e}};var Ke=i({is(t){return t.kind==="ModifyColumnNode"},create(t){return i({kind:"ModifyColumnNode",column:t})}});var v=i({is(t){return t.kind==="ForeignKeyConstraintNode"},create(t,e,r,s){return i({kind:"ForeignKeyConstraintNode",columns:t,references:V.create(e,r),name:s?p.create(s):void 0})},cloneWith(t,e){return i({...t,...e})}});var U=class t{#e;constructor(e){this.#e=e}onDelete(e){return new t(v.cloneWith(this.#e,{onDelete:F(e)}))}onUpdate(e){return new t(v.cloneWith(this.#e,{onUpdate:F(e)}))}deferrable(){return new t(v.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(v.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(v.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(v.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var $=i({is(t){return t.kind==="AddConstraintNode"},create(t){return i({kind:"AddConstraintNode",constraint:t})}});var b=i({is(t){return t.kind==="UniqueConstraintNode"},create(t,e,r){return i({kind:"UniqueConstraintNode",columns:i(t.map(d.create)),name:e?p.create(e):void 0,nullsNotDistinct:r})},cloneWith(t,e){return i({...t,...e})}});var K=i({is(t){return t.kind==="DropConstraintNode"},create(t){return i({kind:"DropConstraintNode",constraintName:p.create(t)})},cloneWith(t,e){return i({...t,...e})}});var J=i({is(t){return t.kind==="AlterColumnNode"},create(t,e,r){return i({kind:"AlterColumnNode",column:d.create(t),[e]:r})}});var ne=class{#e;constructor(e){this.#e=e}setDataType(e){return new A(J.create(this.#e,"dataType",T(e)))}setDefault(e){return new A(J.create(this.#e,"setDefault",ce(e)))}dropDefault(){return new A(J.create(this.#e,"dropDefault",!0))}setNotNull(){return new A(J.create(this.#e,"setNotNull",!0))}dropNotNull(){return new A(J.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}},A=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}};var W=class{#e;constructor(e){this.#e=i(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var ue=class t{#e;constructor(e){this.#e=i(e)}onDelete(e){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(e)})}onUpdate(e){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(e)})}deferrable(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(o.cloneWithTableProps(this.#e.node,{addConstraint:$.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var oe=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{dropConstraint:K.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{dropConstraint:K.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{dropConstraint:K.cloneWith(this.#e.node.dropConstraint,{modifier:"restrict"})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var S=i({is(t){return t.kind==="PrimaryKeyConstraintNode"},create(t,e){return i({kind:"PrimaryKeyConstraintNode",columns:i(t.map(d.create)),name:e?p.create(e):void 0})},cloneWith(t,e){return i({...t,...e})}});var k=i({is(t){return t.kind==="AddIndexNode"},create(t){return i({kind:"AddIndexNode",name:p.create(t)})},cloneWith(t,e){return i({...t,...e})},cloneWithColumns(t,e){return i({...t,columns:[...t.columns||[],...e]})}});var le=class t{#e;constructor(e){this.#e=i(e)}unique(){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addIndex:k.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addIndex:k.cloneWithColumns(this.#e.node.addIndex,[R(e)])})})}columns(e){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addIndex:k.cloneWithColumns(this.#e.node.addIndex,e.map(R))})})}expression(e){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addIndex:k.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new t({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addIndex:k.cloneWith(this.#e.node.addIndex,{using:C.createWithSql(e)})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var G=class t{#e;constructor(e){this.#e=e}nullsNotDistinct(){return new t(b.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new t(b.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(b.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(b.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(b.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var j=class t{#e;constructor(e){this.#e=e}deferrable(){return new t(S.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(S.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(S.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(S.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var H=class{#e;constructor(e){this.#e=e}$call(e){return e(this)}toOperationNode(){return this.#e}};var Tt=i({is(t){return t.kind==="RenameConstraintNode"},create(t,e){return i({kind:"RenameConstraintNode",oldName:p.create(t),newName:p.create(e)})}});var me=class{#e;constructor(e){this.#e=i(e)}renameTo(e){return new W({...this.#e,node:o.cloneWithTableProps(this.#e.node,{renameTo:f(e)})})}setSchema(e){return new W({...this.#e,node:o.cloneWithTableProps(this.#e.node,{setSchema:p.create(e)})})}alterColumn(e,r){let s=r(new ne(e));return new L({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(e){return new L({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,Ue.create(e))})}renameColumn(e,r){return new L({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,$e.create(e,r))})}addColumn(e,r,s=m){let n=s(new D(a.create(e,T(r))));return new L({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,Fe.create(n.toOperationNode()))})}modifyColumn(e,r,s=m){let n=s(new D(a.create(e,T(r))));return new L({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,Ke.create(n.toOperationNode()))})}addUniqueConstraint(e,r,s=m){let n=s(new G(b.create(r,e)));return new W({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addConstraint:$.create(n.toOperationNode())})})}addCheckConstraint(e,r,s=m){let n=s(new H(B.create(r.toOperationNode(),e)));return new W({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addConstraint:$.create(n.toOperationNode())})})}addForeignKeyConstraint(e,r,s,n,h=m){let c=h(new U(v.create(r.map(d.create),f(s),n.map(d.create),e)));return new ue({...this.#e,constraintBuilder:c})}addPrimaryKeyConstraint(e,r,s=m){let n=s(new j(S.create(r,e)));return new W({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addConstraint:$.create(n.toOperationNode())})})}dropConstraint(e){return new oe({...this.#e,node:o.cloneWithTableProps(this.#e.node,{dropConstraint:K.create(e)})})}renameConstraint(e,r){return new oe({...this.#e,node:o.cloneWithTableProps(this.#e.node,{renameConstraint:Tt.create(e,r)})})}addIndex(e){return new le({...this.#e,node:o.cloneWithTableProps(this.#e.node,{addIndex:k.create(e)})})}dropIndex(e){return new W({...this.#e,node:o.cloneWithTableProps(this.#e.node,{dropIndex:E.create(e)})})}$call(e){return e(this)}},L=class t{#e;constructor(e){this.#e=i(e)}alterColumn(e,r){let s=r(new ne(e));return new t({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(e){return new t({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,Ue.create(e))})}renameColumn(e,r){return new t({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,$e.create(e,r))})}addColumn(e,r,s=m){let n=s(new D(a.create(e,T(r))));return new t({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,Fe.create(n.toOperationNode()))})}modifyColumn(e,r,s=m){let n=s(new D(a.create(e,T(r))));return new t({...this.#e,node:o.cloneWithColumnAlteration(this.#e.node,Ke.create(n.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var Y=class extends mt{transformPrimitiveValueList(e){return he.create(e.values.map(P.createImmediate))}transformValue(e){return P.createImmediate(e.value)}};var fe=class t{#e;constructor(e){this.#e=i(e)}ifNotExists(){return new t({...this.#e,node:y.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new t({...this.#e,node:y.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new t({...this.#e,node:y.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new t({...this.#e,node:y.cloneWith(this.#e.node,{table:f(e)})})}column(e){return new t({...this.#e,node:y.cloneWithColumns(this.#e.node,[R(e)])})}columns(e){return new t({...this.#e,node:y.cloneWithColumns(this.#e.node,e.map(R))})}expression(e){return new t({...this.#e,node:y.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new t({...this.#e,node:y.cloneWith(this.#e.node,{using:C.createWithSql(e)})})}where(...e){let r=new Y;return new t({...this.#e,node:lt.cloneWithWhere(this.#e.node,r.transformNode(ct(e),this.#e.queryId))})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var Ne=class t{#e;constructor(e){this.#e=i(e)}ifNotExists(){return new t({...this.#e,node:de.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};function Dt(t){if(bt.includes(t))return t;throw new Error(`invalid OnCommitAction ${t}`)}var we=class t{#e;constructor(e){this.#e=i(e)}temporary(){return new t({...this.#e,node:l.cloneWith(this.#e.node,{temporary:!0})})}onCommit(e){return new t({...this.#e,node:l.cloneWith(this.#e.node,{onCommit:Dt(e)})})}ifNotExists(){return new t({...this.#e,node:l.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,r,s=m){let n=s(new D(a.create(e,T(r))));return new t({...this.#e,node:l.cloneWithColumn(this.#e.node,n.toOperationNode())})}addPrimaryKeyConstraint(e,r,s=m){let n=s(new j(S.create(r,e)));return new t({...this.#e,node:l.cloneWithConstraint(this.#e.node,n.toOperationNode())})}addUniqueConstraint(e,r,s=m){let n=s(new G(b.create(r,e)));return new t({...this.#e,node:l.cloneWithConstraint(this.#e.node,n.toOperationNode())})}addCheckConstraint(e,r,s=m){let n=s(new H(B.create(r.toOperationNode(),e)));return new t({...this.#e,node:l.cloneWithConstraint(this.#e.node,n.toOperationNode())})}addForeignKeyConstraint(e,r,s,n,h=m){let c=h(new U(v.create(r.map(d.create),f(s),n.map(d.create),e)));return new t({...this.#e,node:l.cloneWithConstraint(this.#e.node,c.toOperationNode())})}modifyFront(e){return new t({...this.#e,node:l.cloneWithFrontModifier(this.#e.node,e.toOperationNode())})}modifyEnd(e){return new t({...this.#e,node:l.cloneWithEndModifier(this.#e.node,e.toOperationNode())})}as(e){return new t({...this.#e,node:l.cloneWith(this.#e.node,{selectQuery:pe(e)})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var ye=class t{#e;constructor(e){this.#e=i(e)}on(e){return new t({...this.#e,node:E.cloneWith(this.#e.node,{table:f(e)})})}ifExists(){return new t({...this.#e,node:E.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:E.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var ve=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:ie.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:ie.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var xe=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var x=i({is(t){return t.kind==="CreateViewNode"},create(t){return i({kind:"CreateViewNode",name:w.create(t)})},cloneWith(t,e){return i({...t,...e})}});var ge=class{#e=new Y;transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}transformResult(e){return Promise.resolve(e.result)}};var Ce=class t{#e;constructor(e){this.#e=i(e)}temporary(){return new t({...this.#e,node:x.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new t({...this.#e,node:x.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new t({...this.#e,node:x.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new t({...this.#e,node:x.cloneWith(this.#e.node,{orReplace:!0})})}columns(e){return new t({...this.#e,node:x.cloneWith(this.#e.node,{columns:e.map(dt)})})}as(e){let r=e.withPlugin(new ge).toOperationNode();return new t({...this.#e,node:x.cloneWith(this.#e.node,{as:r})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var X=i({is(t){return t.kind==="DropViewNode"},create(t){return i({kind:"DropViewNode",name:w.create(t)})},cloneWith(t,e){return i({...t,...e})}});var be=class t{#e;constructor(e){this.#e=i(e)}materialized(){return new t({...this.#e,node:X.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new t({...this.#e,node:X.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:X.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var Ie=i({is(t){return t.kind==="CreateTypeNode"},create(t){return i({kind:"CreateTypeNode",name:t})},cloneWithEnum(t,e){return i({...t,enum:he.create(e.map(P.createImmediate))})}});var Oe=class t{#e;constructor(e){this.#e=i(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(e){return new t({...this.#e,node:Ie.cloneWithEnum(this.#e.node,e)})}$call(e){return e(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var Te=i({is(t){return t.kind==="DropTypeNode"},create(t){return i({kind:"DropTypeNode",name:t})},cloneWith(t,e){return i({...t,...e})}});var De=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:Te.cloneWith(this.#e.node,{ifExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};function Je(t){if(t.includes(".")){let r=t.split(".").map(Pt);if(r.length===2)return w.createWithSchema(r[0],r[1]);throw new Error(`invalid schemable identifier ${t}`)}else return w.create(t)}function Pt(t){return t.trim()}var Z=i({is(t){return t.kind==="RefreshMaterializedViewNode"},create(t){return i({kind:"RefreshMaterializedViewNode",name:w.create(t)})},cloneWith(t,e){return i({...t,...e})}});var We=class t{#e;constructor(e){this.#e=i(e)}concurrently(){return new t({...this.#e,node:Z.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new t({...this.#e,node:Z.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new t({...this.#e,node:Z.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile())}};var Se=class t{#e;constructor(e){this.#e=e}createTable(e){return new we({queryId:u(),executor:this.#e,node:l.create(f(e))})}dropTable(e){return new xe({queryId:u(),executor:this.#e,node:re.create(f(e))})}createIndex(e){return new fe({queryId:u(),executor:this.#e,node:y.create(e)})}dropIndex(e){return new ye({queryId:u(),executor:this.#e,node:E.create(e)})}createSchema(e){return new Ne({queryId:u(),executor:this.#e,node:de.create(e)})}dropSchema(e){return new ve({queryId:u(),executor:this.#e,node:ie.create(e)})}alterTable(e){return new me({queryId:u(),executor:this.#e,node:o.create(f(e))})}createView(e){return new Ce({queryId:u(),executor:this.#e,node:x.create(e)})}refreshMaterializedView(e){return new We({queryId:u(),executor:this.#e,node:Z.create(e)})}dropView(e){return new be({queryId:u(),executor:this.#e,node:X.create(e)})}createType(e){return new Oe({queryId:u(),executor:this.#e,node:Ie.create(Je(e))})}dropType(e){return new De({queryId:u(),executor:this.#e,node:Te.create(Je(e))})}withPlugin(e){return new t(this.#e.withPlugin(e))}withoutPlugins(){return new t(this.#e.withoutPlugins())}withSchema(e){return new t(this.#e.withPluginAtFront(new z(e)))}};var Ee=class{ref(e){return new ht(e)}table(e){return new Ct(e)}};var ke=class{#e;constructor(e){this.#e=e}async provideConnection(e){let r=await this.#e.acquireConnection();try{return await e(r)}finally{await this.#e.releaseConnection(r)}}};var Pe=class t extends Nt{#e;#t;#i;constructor(e,r,s,n=[]){super(n),this.#e=e,this.#t=r,this.#i=s}get adapter(){return this.#t}compileQuery(e,r){return this.#e.compileQuery(e,r)}provideConnection(e){return this.#i.provideConnection(e)}withPlugins(e){return new t(this.#e,this.#t,this.#i,[...this.plugins,...e])}withPlugin(e){return new t(this.#e,this.#t,this.#i,[...this.plugins,e])}withPluginAtFront(e){return new t(this.#e,this.#t,this.#i,[e,...this.plugins])}withConnectionProvider(e){return new t(this.#e,this.#t,e,[...this.plugins])}withoutPlugins(){return new t(this.#e,this.#t,this.#i,[])}};function Ae(){return typeof performance<"u"&&Q(performance.now)?performance.now():Date.now()}var Le=class{#e;#t;#i;#s;#r;#n=new WeakSet;constructor(e,r){this.#s=!1,this.#e=e,this.#t=r}async init(){if(this.#r)throw new Error("driver has already been destroyed");this.#i||(this.#i=this.#e.init().then(()=>{this.#s=!0}).catch(e=>(this.#i=void 0,Promise.reject(e)))),await this.#i}async acquireConnection(){if(this.#r)throw new Error("driver has already been destroyed");this.#s||await this.init();let e=await this.#e.acquireConnection();return this.#n.has(e)||(this.#p()&&this.#d(e),this.#n.add(e)),e}async releaseConnection(e){await this.#e.releaseConnection(e)}beginTransaction(e,r){return this.#e.beginTransaction(e,r)}commitTransaction(e){return this.#e.commitTransaction(e)}rollbackTransaction(e){return this.#e.rollbackTransaction(e)}savepoint(e,r,s){if(this.#e.savepoint)return this.#e.savepoint(e,r,s);throw new Error("The `savepoint` method is not supported by this driver")}rollbackToSavepoint(e,r,s){if(this.#e.rollbackToSavepoint)return this.#e.rollbackToSavepoint(e,r,s);throw new Error("The `rollbackToSavepoint` method is not supported by this driver")}releaseSavepoint(e,r,s){if(this.#e.releaseSavepoint)return this.#e.releaseSavepoint(e,r,s);throw new Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(){this.#i&&(await this.#i,this.#r||(this.#r=this.#e.destroy().catch(e=>(this.#r=void 0,Promise.reject(e)))),await this.#r)}#p(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#d(e){let r=e.executeQuery,s=e.streamQuery,n=this;e.executeQuery=async h=>{let c,I=Ae();try{return await r.call(e,h)}catch(g){throw c=g,await n.#o(g,h,I),g}finally{c||await n.#a(h,I)}},e.streamQuery=async function*(h,c){let I,g=Ae();try{for await(let N of s.call(e,h,c))yield N}catch(N){throw I=N,await n.#o(N,h,g),N}finally{I||await n.#a(h,g,!0)}}}async#o(e,r,s){await this.#t.error(()=>({level:"error",error:e,query:r,queryDurationMillis:this.#h(s)}))}async#a(e,r,s=!1){await this.#t.query(()=>({level:"query",isStream:s,query:e,queryDurationMillis:this.#h(r)}))}#h(e){return Ae()-e}};var At=()=>{},_=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(At);return this.#t=this.#i(e).finally(()=>{this.#t=void 0}),this.#t}async#i(e){return await e(this.#e)}};var Lt=["read only","read write"],Mt=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function Ge(t){if(t.accessMode&&!Lt.includes(t.accessMode))throw new Error(`invalid transaction access mode ${t.accessMode}`);if(t.isolationLevel&&!Mt.includes(t.isolationLevel))throw new Error(`invalid transaction isolation level ${t.isolationLevel}`)}var qt=["query","error"],Ro=i(qt),Me=class{#e;#t;constructor(e){Q(e)?(this.#t=e,this.#e=i({query:!0,error:!0})):(this.#t=Qt,this.#e=i({query:e.includes("query"),error:e.includes("error")}))}isLevelEnabled(e){return this.#e[e]}async query(e){this.#e.query&&await this.#t(e())}async error(e){this.#e.error&&await this.#t(e())}};function Qt(t){if(t.level==="query"){let e=`kysely:query:${t.isStream?"stream:":""}`;console.log(`${e} ${t.query.sql}`),console.log(`${e} duration: ${t.queryDurationMillis.toFixed(1)}ms`)}else t.level==="error"&&(t.error instanceof Error?console.error(`kysely:error: ${t.error.stack??t.error.message}`):console.error(`kysely:error: ${JSON.stringify({error:t.error,query:t.query.sql,queryDurationMillis:t.queryDurationMillis})}`))}function Wt(t){return O(t)&&Q(t.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");var qe=class t extends wt{#e;constructor(e){let r,s;if(Rt(e))r={executor:e.executor},s={...e};else{let n=e.dialect,h=n.createDriver(),c=n.createQueryCompiler(),I=n.createAdapter(),g=new Me(e.log??[]),N=new Le(h,g),ee=new ke(N),_e=new Pe(c,I,ee,e.plugins??[]);r={executor:_e},s={config:e,executor:_e,dialect:n,driver:N}}super(r),this.#e=i(s)}get schema(){return new Se(this.#e.executor)}get dynamic(){return new Ee}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new gt({node:xt.create(et(e)?void 0:pe(e))})}get fn(){return vt()}transaction(){return new He({...this.#e})}startTransaction(){return new Ye({...this.#e})}connection(){return new je({...this.#e})}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new t({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new t({...this.#e,executor:this.#e.executor.withPluginAtFront(new z(e))})}withTables(){return new t({...this.#e})}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}executeQuery(e,r){r!==void 0&&ae("Passing `queryId` in `db.executeQuery` is deprecated and will result in a compile-time error in the future.");let s=Wt(e)?e.compile():e;return this.getExecutor().executeQuery(s)}async[Symbol.asyncDispose](){await this.destroy()}},Qe=class t extends qe{#e;constructor(e){super(e),this.#e=e}get isTransaction(){return!0}transaction(){throw new Error("calling the transaction method for a Transaction is not supported")}connection(){throw new Error("calling the connection method for a Transaction is not supported")}async destroy(){throw new Error("calling the destroy method for a Transaction is not supported")}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new t({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new t({...this.#e,executor:this.#e.executor.withPluginAtFront(new z(e))})}withTables(){return new t({...this.#e})}};function Rt(t){return O(t)&&O(t.config)&&O(t.driver)&&O(t.executor)&&O(t.dialect)}var je=class{#e;constructor(e){this.#e=i(e)}async execute(e){return this.#e.executor.provideConnection(async r=>{let s=this.#e.executor.withConnectionProvider(new _(r)),n=new qe({...this.#e,executor:s});return await e(n)})}},He=class t{#e;constructor(e){this.#e=i(e)}setAccessMode(e){return new t({...this.#e,accessMode:e})}setIsolationLevel(e){return new t({...this.#e,isolationLevel:e})}async execute(e){let{isolationLevel:r,accessMode:s,...n}=this.#e,h={isolationLevel:r,accessMode:s};return Ge(h),this.#e.executor.provideConnection(async c=>{let I=this.#e.executor.withConnectionProvider(new _(c)),g=new Qe({...n,executor:I}),N=!1;try{await this.#e.driver.beginTransaction(c,h),N=!0;let ee=await e(g);return await this.#e.driver.commitTransaction(c),ee}catch(ee){throw N&&await this.#e.driver.rollbackTransaction(c),ee}})}},Ye=class t{#e;constructor(e){this.#e=i(e)}setAccessMode(e){return new t({...this.#e,accessMode:e})}setIsolationLevel(e){return new t({...this.#e,isolationLevel:e})}async execute(){let{isolationLevel:e,accessMode:r,...s}=this.#e,n={isolationLevel:e,accessMode:r};Ge(n);let h=await ft(this.#e.executor);return await this.#e.driver.beginTransaction(h.connection,n),new Xe({...s,connection:h,executor:this.#e.executor.withConnectionProvider(new _(h.connection))})}},Xe=class t extends Qe{#e;#t;#i;constructor(e){let r={isCommitted:!1,isRolledBack:!1};e={...e,executor:new Ze(e.executor,r)};let{connection:s,...n}=e;super(n),this.#e=i(e),this.#i=r;let h=u();this.#t=c=>e.executor.compileQuery(c,h)}get isCommitted(){return this.#i.isCommitted}get isRolledBack(){return this.#i.isRolledBack}commit(){return q(this.#i),new M(async()=>{await this.#e.driver.commitTransaction(this.#e.connection.connection),this.#i.isCommitted=!0,this.#e.connection.release()})}rollback(){return q(this.#i),new M(async()=>{await this.#e.driver.rollbackTransaction(this.#e.connection.connection),this.#i.isRolledBack=!0,this.#e.connection.release()})}savepoint(e){return q(this.#i),new M(async()=>(await this.#e.driver.savepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}rollbackToSavepoint(e){return q(this.#i),new M(async()=>(await this.#e.driver.rollbackToSavepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}releaseSavepoint(e){return q(this.#i),new M(async()=>(await this.#e.driver.releaseSavepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new t({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new t({...this.#e,executor:this.#e.executor.withPluginAtFront(new z(e))})}withTables(){return new t({...this.#e})}},M=class{#e;constructor(e){this.#e=e}async execute(){return await this.#e()}};function q(t){if(t.isCommitted)throw new Error("Transaction is already committed");if(t.isRolledBack)throw new Error("Transaction is already rolled back")}var Ze=class t{#e;#t;constructor(e,r){e instanceof t?this.#e=e.#e:this.#e=e,this.#t=r}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(e,r){return this.#e.transformQuery(e,r)}compileQuery(e,r){return this.#e.compileQuery(e,r)}provideConnection(e){return this.#e.provideConnection(e)}executeQuery(e){return q(this.#t),this.#e.executeQuery(e)}stream(e,r){return q(this.#t),this.#e.stream(e,r)}withConnectionProvider(e){return new t(this.#e.withConnectionProvider(e),this.#t)}withPlugin(e){return new t(this.#e.withPlugin(e),this.#t)}withPlugins(e){return new t(this.#e.withPlugins(e),this.#t)}withPluginAtFront(e){return new t(this.#e.withPluginAtFront(e),this.#t)}withoutPlugins(){return new t(this.#e.withoutPlugins(),this.#t)}};var Re=class{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=i({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this)});visitNode=e=>{this.nodeStack.push(e),this.#e[e.kind](e),this.nodeStack.pop()}};var zt=/'/g,St=class extends Re{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(e,r){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(e),i({query:e,queryId:r,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(e){let r=this.parentNode!==void 0&&!te.is(this.parentNode)&&!ut.is(this.parentNode)&&!l.is(this.parentNode)&&!x.is(this.parentNode)&&!yt.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),r&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("select"),e.distinctOn&&(this.append(" "),this.compileDistinctOn(e.distinctOn)),e.frontModifiers?.length&&(this.append(" "),this.compileList(e.frontModifiers," ")),e.top&&(this.append(" "),this.visitNode(e.top)),e.selections&&(this.append(" "),this.compileList(e.selections)),e.from&&(this.append(" "),this.visitNode(e.from)),e.joins&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.groupBy&&(this.append(" "),this.visitNode(e.groupBy)),e.having&&(this.append(" "),this.visitNode(e.having)),e.setOperations&&(this.append(" "),this.compileList(e.setOperations," ")),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.offset&&(this.append(" "),this.visitNode(e.offset)),e.fetch&&(this.append(" "),this.visitNode(e.fetch)),e.endModifiers?.length&&(this.append(" "),this.compileList(this.sortSelectModifiers([...e.endModifiers])," ")),r&&this.append(")")}visitFrom(e){this.append("from "),this.compileList(e.froms)}visitSelection(e){this.visitNode(e.selection)}visitColumn(e){this.visitNode(e.column)}compileDistinctOn(e){this.append("distinct on ("),this.compileList(e),this.append(")")}compileList(e,r=", "){let s=e.length-1;for(let n=0;n<=s;n++)this.visitNode(e[n]),n<s&&this.append(r)}visitWhere(e){this.append("where "),this.visitNode(e.where)}visitHaving(e){this.append("having "),this.visitNode(e.having)}visitInsertQuery(e){let r=this.parentNode!==void 0&&!te.is(this.parentNode)&&!C.is(this.parentNode)&&!Ve.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),r&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append(e.replace?"replace":"insert"),e.ignore&&(ae("`InsertQueryNode.ignore` is deprecated. Use `InsertQueryNode.orAction` instead."),this.append(" ignore")),e.orAction&&(this.append(" "),this.visitNode(e.orAction)),e.top&&(this.append(" "),this.visitNode(e.top)),e.into&&(this.append(" into "),this.visitNode(e.into)),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.output&&(this.append(" "),this.visitNode(e.output)),e.values&&(this.append(" "),this.visitNode(e.values)),e.defaultValues&&(this.append(" "),this.append("default values")),e.onConflict&&(this.append(" "),this.visitNode(e.onConflict)),e.onDuplicateKey&&(this.append(" "),this.visitNode(e.onDuplicateKey)),e.returning&&(this.append(" "),this.visitNode(e.returning)),r&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitValues(e){this.append("values "),this.compileList(e.values)}visitDeleteQuery(e){let r=this.parentNode!==void 0&&!te.is(this.parentNode)&&!C.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),r&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("delete "),e.top&&(this.visitNode(e.top),this.append(" ")),this.visitNode(e.from),e.output&&(this.append(" "),this.visitNode(e.output)),e.using&&(this.append(" "),this.visitNode(e.using)),e.joins&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.returning&&(this.append(" "),this.visitNode(e.returning)),r&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitReturning(e){this.append("returning "),this.compileList(e.selections)}visitAlias(e){this.visitNode(e.node),this.append(" as "),this.visitNode(e.alias)}visitReference(e){e.table&&(this.visitNode(e.table),this.append(".")),this.visitNode(e.column)}visitSelectAll(e){this.append("*")}visitIdentifier(e){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(e),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(e){if(!ze(e.name))throw new Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(e.name))}visitAnd(e){this.visitNode(e.left),this.append(" and "),this.visitNode(e.right)}visitOr(e){this.visitNode(e.left),this.append(" or "),this.visitNode(e.right)}visitValue(e){e.immediate?this.appendImmediateValue(e.value):this.appendValue(e.value)}visitValueList(e){this.append("("),this.compileList(e.values),this.append(")")}visitTuple(e){this.append("("),this.compileList(e.values),this.append(")")}visitPrimitiveValueList(e){this.append("(");let{values:r}=e;for(let s=0;s<r.length;++s)this.appendValue(r[s]),s!==r.length-1&&this.append(", ");this.append(")")}visitParens(e){this.append("("),this.visitNode(e.node),this.append(")")}visitJoin(e){this.append(Vt[e.joinType]),this.append(" "),this.visitNode(e.table),e.on&&(this.append(" "),this.visitNode(e.on))}visitOn(e){this.append("on "),this.visitNode(e.on)}visitRaw(e){let{sqlFragments:r,parameters:s}=e;for(let n=0;n<r.length;++n)this.append(r[n]),s.length>n&&this.visitNode(s[n])}visitOperator(e){this.append(e.operator)}visitTable(e){this.visitNode(e.table)}visitSchemableIdentifier(e){e.schema&&(this.visitNode(e.schema),this.append(".")),this.visitNode(e.identifier)}visitCreateTable(e){this.append("create "),e.frontModifiers&&e.frontModifiers.length>0&&(this.compileList(e.frontModifiers," "),this.append(" ")),e.temporary&&this.append("temporary "),this.append("table "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.table),e.selectQuery?(this.append(" as "),this.visitNode(e.selectQuery)):(this.append(" ("),this.compileList([...e.columns,...e.constraints??[]]),this.append(")"),e.onCommit&&(this.append(" on commit "),this.append(e.onCommit)),e.endModifiers&&e.endModifiers.length>0&&(this.append(" "),this.compileList(e.endModifiers," ")))}visitColumnDefinition(e){e.ifNotExists&&this.append("if not exists "),this.visitNode(e.column),this.append(" "),this.visitNode(e.dataType),e.unsigned&&this.append(" unsigned"),e.frontModifiers&&e.frontModifiers.length>0&&(this.append(" "),this.compileList(e.frontModifiers," ")),e.generated&&(this.append(" "),this.visitNode(e.generated)),e.identity&&this.append(" identity"),e.defaultTo&&(this.append(" "),this.visitNode(e.defaultTo)),e.notNull&&this.append(" not null"),e.unique&&this.append(" unique"),e.nullsNotDistinct&&this.append(" nulls not distinct"),e.primaryKey&&this.append(" primary key"),e.autoIncrement&&(this.append(" "),this.append(this.getAutoIncrement())),e.references&&(this.append(" "),this.visitNode(e.references)),e.check&&(this.append(" "),this.visitNode(e.check)),e.endModifiers&&e.endModifiers.length>0&&(this.append(" "),this.compileList(e.endModifiers," "))}getAutoIncrement(){return"auto_increment"}visitReferences(e){this.append("references "),this.visitNode(e.table),this.append(" ("),this.compileList(e.columns),this.append(")"),e.onDelete&&(this.append(" on delete "),this.append(e.onDelete)),e.onUpdate&&(this.append(" on update "),this.append(e.onUpdate))}visitDropTable(e){this.append("drop table "),e.ifExists&&this.append("if exists "),this.visitNode(e.table),e.cascade&&this.append(" cascade")}visitDataType(e){this.append(e.dataType)}visitOrderBy(e){this.append("order by "),this.compileList(e.items)}visitOrderByItem(e){this.visitNode(e.orderBy),e.collation&&(this.append(" "),this.visitNode(e.collation)),e.direction&&(this.append(" "),this.visitNode(e.direction)),e.nulls&&(this.append(" nulls "),this.append(e.nulls))}visitGroupBy(e){this.append("group by "),this.compileList(e.items)}visitGroupByItem(e){this.visitNode(e.groupBy)}visitUpdateQuery(e){let r=this.parentNode!==void 0&&!te.is(this.parentNode)&&!C.is(this.parentNode)&&!Ve.is(this.parentNode);if(this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),r&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("update "),e.top&&(this.visitNode(e.top),this.append(" ")),e.table&&(this.visitNode(e.table),this.append(" ")),this.append("set "),e.updates&&this.compileList(e.updates),e.output&&(this.append(" "),this.visitNode(e.output)),e.from&&(this.append(" "),this.visitNode(e.from)),e.joins){if(!e.from)throw new Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(e.joins," ")}e.where&&(this.append(" "),this.visitNode(e.where)),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.returning&&(this.append(" "),this.visitNode(e.returning)),r&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitColumnUpdate(e){this.visitNode(e.column),this.append(" = "),this.visitNode(e.value)}visitLimit(e){this.append("limit "),this.visitNode(e.limit)}visitOffset(e){this.append("offset "),this.visitNode(e.offset)}visitOnConflict(e){this.append("on conflict"),e.columns?(this.append(" ("),this.compileList(e.columns),this.append(")")):e.constraint?(this.append(" on constraint "),this.visitNode(e.constraint)):e.indexExpression&&(this.append(" ("),this.visitNode(e.indexExpression),this.append(")")),e.indexWhere&&(this.append(" "),this.visitNode(e.indexWhere)),e.doNothing===!0?this.append(" do nothing"):e.updates&&(this.append(" do update set "),this.compileList(e.updates),e.updateWhere&&(this.append(" "),this.visitNode(e.updateWhere)))}visitOnDuplicateKey(e){this.append("on duplicate key update "),this.compileList(e.updates)}visitCreateIndex(e){this.append("create "),e.unique&&this.append("unique "),this.append("index "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.name),e.table&&(this.append(" on "),this.visitNode(e.table)),e.using&&(this.append(" using "),this.visitNode(e.using)),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.nullsNotDistinct&&this.append(" nulls not distinct"),e.where&&(this.append(" "),this.visitNode(e.where))}visitDropIndex(e){this.append("drop index "),e.ifExists&&this.append("if exists "),this.visitNode(e.name),e.table&&(this.append(" on "),this.visitNode(e.table)),e.cascade&&this.append(" cascade")}visitCreateSchema(e){this.append("create schema "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.schema)}visitDropSchema(e){this.append("drop schema "),e.ifExists&&this.append("if exists "),this.visitNode(e.schema),e.cascade&&this.append(" cascade")}visitPrimaryKeyConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("primary key ("),this.compileList(e.columns),this.append(")"),this.buildDeferrable(e)}buildDeferrable(e){e.deferrable!==void 0&&(e.deferrable?this.append(" deferrable"):this.append(" not deferrable")),e.initiallyDeferred!==void 0&&(e.initiallyDeferred?this.append(" initially deferred"):this.append(" initially immediate"))}visitUniqueConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("unique"),e.nullsNotDistinct&&this.append(" nulls not distinct"),this.append(" ("),this.compileList(e.columns),this.append(")"),this.buildDeferrable(e)}visitCheckConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("check ("),this.visitNode(e.expression),this.append(")")}visitForeignKeyConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("foreign key ("),this.compileList(e.columns),this.append(") "),this.visitNode(e.references),e.onDelete&&(this.append(" on delete "),this.append(e.onDelete)),e.onUpdate&&(this.append(" on update "),this.append(e.onUpdate)),this.buildDeferrable(e)}visitList(e){this.compileList(e.items)}visitWith(e){this.append("with "),e.recursive&&this.append("recursive "),this.compileList(e.expressions)}visitCommonTableExpression(e){this.visitNode(e.name),this.append(" as "),Be(e.materialized)&&(e.materialized||this.append("not "),this.append("materialized ")),this.visitNode(e.expression)}visitCommonTableExpressionName(e){this.visitNode(e.table),e.columns&&(this.append("("),this.compileList(e.columns),this.append(")"))}visitAlterTable(e){this.append("alter table "),this.visitNode(e.table),this.append(" "),e.renameTo&&(this.append("rename to "),this.visitNode(e.renameTo)),e.setSchema&&(this.append("set schema "),this.visitNode(e.setSchema)),e.addConstraint&&this.visitNode(e.addConstraint),e.dropConstraint&&this.visitNode(e.dropConstraint),e.renameConstraint&&this.visitNode(e.renameConstraint),e.columnAlterations&&this.compileColumnAlterations(e.columnAlterations),e.addIndex&&this.visitNode(e.addIndex),e.dropIndex&&this.visitNode(e.dropIndex)}visitAddColumn(e){this.append("add column "),this.visitNode(e.column)}visitRenameColumn(e){this.append("rename column "),this.visitNode(e.column),this.append(" to "),this.visitNode(e.renameTo)}visitDropColumn(e){this.append("drop column "),this.visitNode(e.column)}visitAlterColumn(e){this.append("alter column "),this.visitNode(e.column),this.append(" "),e.dataType&&(this.announcesNewColumnDataType()&&this.append("type "),this.visitNode(e.dataType),e.dataTypeExpression&&(this.append("using "),this.visitNode(e.dataTypeExpression))),e.setDefault&&(this.append("set default "),this.visitNode(e.setDefault)),e.dropDefault&&this.append("drop default"),e.setNotNull&&this.append("set not null"),e.dropNotNull&&this.append("drop not null")}visitModifyColumn(e){this.append("modify column "),this.visitNode(e.column)}visitAddConstraint(e){this.append("add "),this.visitNode(e.constraint)}visitDropConstraint(e){this.append("drop constraint "),e.ifExists&&this.append("if exists "),this.visitNode(e.constraintName),e.modifier==="cascade"?this.append(" cascade"):e.modifier==="restrict"&&this.append(" restrict")}visitRenameConstraint(e){this.append("rename constraint "),this.visitNode(e.oldName),this.append(" to "),this.visitNode(e.newName)}visitSetOperation(e){this.append(e.operator),this.append(" "),e.all&&this.append("all "),this.visitNode(e.expression)}visitCreateView(e){this.append("create "),e.orReplace&&this.append("or replace "),e.materialized&&this.append("materialized "),e.temporary&&this.append("temporary "),this.append("view "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.name),this.append(" "),e.columns&&(this.append("("),this.compileList(e.columns),this.append(") ")),e.as&&(this.append("as "),this.visitNode(e.as))}visitRefreshMaterializedView(e){this.append("refresh materialized view "),e.concurrently&&this.append("concurrently "),this.visitNode(e.name),e.withNoData?this.append(" with no data"):this.append(" with data")}visitDropView(e){this.append("drop "),e.materialized&&this.append("materialized "),this.append("view "),e.ifExists&&this.append("if exists "),this.visitNode(e.name),e.cascade&&this.append(" cascade")}visitGenerated(e){this.append("generated "),e.always&&this.append("always "),e.byDefault&&this.append("by default "),this.append("as "),e.identity&&this.append("identity"),e.expression&&(this.append("("),this.visitNode(e.expression),this.append(")")),e.stored&&this.append(" stored")}visitDefaultValue(e){this.append("default "),this.visitNode(e.defaultValue)}visitSelectModifier(e){e.rawModifier?this.visitNode(e.rawModifier):this.append(Bt[e.modifier]),e.of&&(this.append(" of "),this.compileList(e.of,", "))}visitCreateType(e){this.append("create type "),this.visitNode(e.name),e.enum&&(this.append(" as enum "),this.visitNode(e.enum))}visitDropType(e){this.append("drop type "),e.ifExists&&this.append("if exists "),this.visitNode(e.name)}visitExplain(e){this.append("explain"),(e.options||e.format)&&(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),e.options&&(this.visitNode(e.options),e.format&&this.append(this.getExplainOptionsDelimiter())),e.format&&(this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(e.format)),this.append(this.getRightExplainOptionsWrapper()))}visitDefaultInsertValue(e){this.append("default")}visitAggregateFunction(e){this.append(e.func),this.append("("),e.distinct&&this.append("distinct "),this.compileList(e.aggregated),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),this.append(")"),e.withinGroup&&(this.append(" within group ("),this.visitNode(e.withinGroup),this.append(")")),e.filter&&(this.append(" filter("),this.visitNode(e.filter),this.append(")")),e.over&&(this.append(" "),this.visitNode(e.over))}visitOver(e){this.append("over("),e.partitionBy&&(this.visitNode(e.partitionBy),e.orderBy&&this.append(" ")),e.orderBy&&this.visitNode(e.orderBy),this.append(")")}visitPartitionBy(e){this.append("partition by "),this.compileList(e.items)}visitPartitionByItem(e){this.visitNode(e.partitionBy)}visitBinaryOperation(e){this.visitNode(e.leftOperand),this.append(" "),this.visitNode(e.operator),this.append(" "),this.visitNode(e.rightOperand)}visitUnaryOperation(e){this.visitNode(e.operator),this.isMinusOperator(e.operator)||this.append(" "),this.visitNode(e.operand)}isMinusOperator(e){return ot.is(e)&&e.operator==="-"}visitUsing(e){this.append("using "),this.compileList(e.tables)}visitFunction(e){this.append(e.func),this.append("("),this.compileList(e.arguments),this.append(")")}visitCase(e){this.append("case"),e.value&&(this.append(" "),this.visitNode(e.value)),e.when&&(this.append(" "),this.compileList(e.when," ")),e.else&&(this.append(" else "),this.visitNode(e.else)),this.append(" end"),e.isStatement&&this.append(" case")}visitWhen(e){this.append("when "),this.visitNode(e.condition),e.result&&(this.append(" then "),this.visitNode(e.result))}visitJSONReference(e){this.visitNode(e.reference),this.visitNode(e.traversal)}visitJSONPath(e){e.inOperator&&this.visitNode(e.inOperator),this.append("'$");for(let r of e.pathLegs)this.visitNode(r);this.append("'")}visitJSONPathLeg(e){let r=e.type==="ArrayLocation";this.append(r?"[":"."),this.append(String(e.value)),r&&this.append("]")}visitJSONOperatorChain(e){for(let r=0,s=e.values.length;r<s;r++)r===s-1?this.visitNode(e.operator):this.append("->"),this.visitNode(e.values[r])}visitMergeQuery(e){e.with&&(this.visitNode(e.with),this.append(" ")),this.append("merge "),e.top&&(this.visitNode(e.top),this.append(" ")),this.append("into "),this.visitNode(e.into),e.using&&(this.append(" "),this.visitNode(e.using)),e.whens&&(this.append(" "),this.compileList(e.whens," ")),e.returning&&(this.append(" "),this.visitNode(e.returning)),e.output&&(this.append(" "),this.visitNode(e.output)),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitMatched(e){e.not&&this.append("not "),this.append("matched"),e.bySource&&this.append(" by source")}visitAddIndex(e){this.append("add "),e.unique&&this.append("unique "),this.append("index "),this.visitNode(e.name),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.using&&(this.append(" using "),this.visitNode(e.using))}visitCast(e){this.append("cast("),this.visitNode(e.expression),this.append(" as "),this.visitNode(e.dataType),this.append(")")}visitFetch(e){this.append("fetch next "),this.visitNode(e.rowCount),this.append(` rows ${e.modifier}`)}visitOutput(e){this.append("output "),this.compileList(e.selections)}visitTop(e){this.append(`top(${e.expression})`),e.modifiers&&this.append(` ${e.modifiers}`)}visitOrAction(e){this.append(e.action)}visitCollate(e){this.append("collate "),this.visitNode(e.collation)}append(e){this.#e+=e}appendValue(e){this.addParameter(e),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(e){let r=this.getLeftIdentifierWrapper(),s=this.getRightIdentifierWrapper(),n="";for(let h of e)n+=h,h===r?n+=r:h===s&&(n+=s);return n}sanitizeStringLiteral(e){return e.replace(zt,"''")}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(ze(e))this.appendStringLiteral(e);else if(tt(e)||Be(e)||st(e))this.append(e.toString());else if(it(e))this.append("null");else if(rt(e))this.appendImmediateValue(e.toISOString());else throw new Error(`invalid immediate value ${e}`)}appendStringLiteral(e){this.append("'"),this.append(this.sanitizeStringLiteral(e)),this.append("'")}sortSelectModifiers(e){return e.sort((r,s)=>r.modifier&&s.modifier?Et[r.modifier]-Et[s.modifier]:1),i(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},Bt=i({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),Et=i({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),Vt=i({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"});var Oa=i({raw(t,e=[]){return i({sql:t,query:C.createWithSql(t),parameters:i(e),queryId:u()})}});var kt=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}};var Ea="kysely_migration",ka="kysely_migration_lock";var Pa=i({__noMigrations__:!0});export{qe as a,St as b,Oa as c,kt as d,Ea as e,ka as f};
@@ -1,5 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{b as c,j as i}from"./chunk-QI5B3GSQ.js";function o(t,n){if(e(t)&&n.stack){let s=n.stack.split(`
3
- `).slice(1).join(`
4
- `);return t.stack+=`
5
- ${s}`,t}return t}function e(t){return i(t)&&c(t.stack)}export{o as a};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as i}from"./chunk-PJYMXUBP.js";import{c as u,d,i as m}from"./chunk-CTFIMWJ7.js";import{randomBytes as g,createCipheriv as x,createDecipheriv as v,createPrivateKey as V,createPublicKey as b,diffieHellman as E,generateKeyPairSync as T,hkdfSync as N}from"crypto";function _(){return g(32)}function k(e,r){let t=V({key:Buffer.from(e,"hex"),format:"der",type:"pkcs8"}),n=b({key:Buffer.from(r,"hex"),format:"der",type:"spki"});return E({privateKey:t,publicKey:n})}function S(e,r){return Buffer.from(N("sha256",e,Buffer.alloc(0),r,32))}function w(e,r){let{publicKey:t,privateKey:n}=T("x25519",{publicKeyEncoding:{type:"spki",format:"der"},privateKeyEncoding:{type:"pkcs8",format:"der"}}),a=n.toString("hex"),s=t.toString("hex"),c=k(a,r),o=S(c,"noorm-vault-key"),l=g(16),f=x("aes-256-gcm",o,l),y=Buffer.concat([f.update(e),f.final()]),p=f.getAuthTag();return{ephemeralPubKey:s,iv:l.toString("hex"),authTag:p.toString("hex"),ciphertext:y.toString("hex")}}function K(e,r){let[t,n]=d(()=>{let a=k(r,e.ephemeralPubKey),s=S(a,"noorm-vault-key"),c=v("aes-256-gcm",s,Buffer.from(e.iv,"hex"));return c.setAuthTag(Buffer.from(e.authTag,"hex")),Buffer.concat([c.update(Buffer.from(e.ciphertext,"hex")),c.final()])});return n?null:t}function B(e,r){let t=g(16),n=x("aes-256-gcm",r,t),a=Buffer.concat([n.update(e,"utf8"),n.final()]),s=n.getAuthTag();return{iv:t.toString("hex"),authTag:s.toString("hex"),ciphertext:a.toString("hex")}}function h(e,r){let[t,n]=d(()=>{let a=v("aes-256-gcm",r,Buffer.from(e.iv,"hex"));return a.setAuthTag(Buffer.from(e.authTag,"hex")),Buffer.concat([a.update(Buffer.from(e.ciphertext,"hex")),a.final()]).toString("utf8")});return n?null:t}async function z(e,r,t){let[n,a]=await u(async()=>e.selectFrom(i.identities).select("encrypted_vault_key").where("encrypted_vault_key","is not",null).limit(1).executeTakeFirst());if(a)return[null,a];if(n?.encrypted_vault_key)return[null,new Error("Vault already initialized")];let s=_(),c=w(s,t),o=JSON.stringify(c),[,l]=await u(async()=>e.updateTable(i.identities).set({encrypted_vault_key:o}).where("identity_hash","=",r).execute());return l?[null,l]:(m.emit("vault:initialized",{identityHash:r}),[s,null])}async function j(e,r,t){let[n,a]=await u(async()=>e.selectFrom(i.identities).select("encrypted_vault_key").where("identity_hash","=",r).executeTakeFirst());if(a||!n?.encrypted_vault_key)return null;let s=n.encrypted_vault_key,[c,o]=d(()=>JSON.parse(s));return o?null:K(c,t)}async function I(e,r,t,n,a){let s=B(n,r),c=JSON.stringify(s),o=new Date().toISOString(),[l,f]=await u(async()=>e.selectFrom(i.vault).select("id").where("secret_key","=",t).executeTakeFirst());if(f)return[void 0,f];if(l){let[,y]=await u(async()=>e.updateTable(i.vault).set({encrypted_value:c,set_by:a,updated_at:o}).where("secret_key","=",t).execute());if(y)return[void 0,y];m.emit("vault:secret:updated",{key:t,setBy:a})}else{let[,y]=await u(async()=>e.insertInto(i.vault).values({secret_key:t,encrypted_value:c,set_by:a}).execute());if(y)return[void 0,y];m.emit("vault:secret:created",{key:t,setBy:a})}return[void 0,null]}async function C(e,r,t){let[n,a]=await u(async()=>e.selectFrom(i.vault).select("encrypted_value").where("secret_key","=",t).executeTakeFirst());if(a||!n)return null;let[s,c]=d(()=>JSON.parse(n.encrypted_value));return c?null:h(s,r)}async function H(e,r){let[t,n]=await u(async()=>e.selectFrom(i.vault).selectAll().execute());if(n||!t)return{};let a={};for(let s of t){let[c,o]=d(()=>JSON.parse(s.encrypted_value));if(o)continue;let l=h(c,r);l&&(a[s.secret_key]={key:s.secret_key,value:l,setBy:s.set_by,createdAt:new Date(s.created_at),updatedAt:new Date(s.updated_at)})}return a}async function U(e){let[r,t]=await u(async()=>e.selectFrom(i.vault).select("secret_key").orderBy("secret_key","asc").execute());return t||!r?[]:r.map(n=>n.secret_key)}async function W(e,r){let[t,n]=await u(async()=>e.deleteFrom(i.vault).where("secret_key","=",r).execute());if(n||!t)return[!1,n??new Error("Delete failed")];let a=t[0],s=!!a&&Number(a.numDeletedRows)>0;return s&&m.emit("vault:secret:deleted",{key:r}),[s,null]}async function L(e,r){let[t,n]=await u(async()=>e.selectFrom(i.vault).select("id").where("secret_key","=",r).executeTakeFirst());return n?!1:!!t}async function M(e,r){let[t]=await u(async()=>e.selectFrom(i.vault).select(e.fn.count("id").as("count")).executeTakeFirst()),n=t?Number(t.count):0,[a]=await u(async()=>e.selectFrom(i.identities).select(["identity_hash","encrypted_vault_key"]).execute()),s=a??[],c=s.filter(p=>p.encrypted_vault_key!==null).length,o=s.filter(p=>p.encrypted_vault_key===null).length,l=c>0,y=s.find(p=>p.identity_hash===r)?.encrypted_vault_key!==null;return{isInitialized:l,hasAccess:y,secretCount:n,usersWithAccess:c,usersWithoutAccess:o}}export{w as a,z as b,j as c,I as d,C as e,H as f,U as g,W as h,L as i,M as j};
@@ -1,9 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{b as dt,c as p,d as P,f as gt,i as g}from"./chunk-CTFIMWJ7.js";import{W as K}from"./chunk-QI5B3GSQ.js";import{c as lt,e as mt}from"./chunk-UR6MHSHU.js";var Dt=lt((Ge,Je)=>{"use strict";(function(e,t){typeof Ge=="object"&&typeof Je<"u"?Je.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs=t()})(Ge,(function(){"use strict";var e=1e3,t=6e4,r=36e5,n="millisecond",i="second",o="minute",s="hour",l="day",f="week",m="month",h="quarter",v="year",C="date",A="Invalid Date",B=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,H=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,J={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(y){var u=["th","st","nd","rd"],a=y%100;return"["+y+(u[(a-20)%10]||u[a]||u[0])+"]"}},F=function(y,u,a){var d=String(y);return!d||d.length>=u?y:""+Array(u+1-d.length).join(a)+y},_={s:F,z:function(y){var u=-y.utcOffset(),a=Math.abs(u),d=Math.floor(a/60),c=a%60;return(u<=0?"+":"-")+F(d,2,"0")+":"+F(c,2,"0")},m:function y(u,a){if(u.date()<a.date())return-y(a,u);var d=12*(a.year()-u.year())+(a.month()-u.month()),c=u.clone().add(d,m),b=a-c<0,w=u.clone().add(d+(b?-1:1),m);return+(-(d+(a-c)/(b?c-w:w-c))||0)},a:function(y){return y<0?Math.ceil(y)||0:Math.floor(y)},p:function(y){return{M:m,y:v,w:f,d:l,D:C,h:s,m:o,s:i,ms:n,Q:h}[y]||String(y||"").toLowerCase().replace(/s$/,"")},u:function(y){return y===void 0}},$="en",N={};N[$]=J;var O="$isDayjsObject",z=function(y){return y instanceof we||!(!y||!y[O])},re=function y(u,a,d){var c;if(!u)return $;if(typeof u=="string"){var b=u.toLowerCase();N[b]&&(c=b),a&&(N[b]=a,c=b);var w=u.split("-");if(!c&&w.length>1)return y(w[0])}else{var S=u.name;N[S]=u,c=S}return!d&&c&&($=c),c||!d&&$},E=function(y,u){if(z(y))return y.clone();var a=typeof u=="object"?u:{};return a.date=y,a.args=arguments,new we(a)},k=_;k.l=re,k.i=z,k.w=function(y,u){return E(y,{locale:u.$L,utc:u.$u,x:u.$x,$offset:u.$offset})};var we=(function(){function y(a){this.$L=re(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[O]=!0}var u=y.prototype;return u.parse=function(a){this.$d=(function(d){var c=d.date,b=d.utc;if(c===null)return new Date(NaN);if(k.u(c))return new Date;if(c instanceof Date)return new Date(c);if(typeof c=="string"&&!/Z$/i.test(c)){var w=c.match(B);if(w){var S=w[2]-1||0,I=(w[7]||"0").substring(0,3);return b?new Date(Date.UTC(w[1],S,w[3]||1,w[4]||0,w[5]||0,w[6]||0,I)):new Date(w[1],S,w[3]||1,w[4]||0,w[5]||0,w[6]||0,I)}}return new Date(c)})(a),this.init()},u.init=function(){var a=this.$d;this.$y=a.getFullYear(),this.$M=a.getMonth(),this.$D=a.getDate(),this.$W=a.getDay(),this.$H=a.getHours(),this.$m=a.getMinutes(),this.$s=a.getSeconds(),this.$ms=a.getMilliseconds()},u.$utils=function(){return k},u.isValid=function(){return this.$d.toString()!==A},u.isSame=function(a,d){var c=E(a);return this.startOf(d)<=c&&c<=this.endOf(d)},u.isAfter=function(a,d){return E(a)<this.startOf(d)},u.isBefore=function(a,d){return this.endOf(d)<E(a)},u.$g=function(a,d,c){return k.u(a)?this[d]:this.set(c,a)},u.unix=function(){return Math.floor(this.valueOf()/1e3)},u.valueOf=function(){return this.$d.getTime()},u.startOf=function(a,d){var c=this,b=!!k.u(d)||d,w=k.p(a),S=function(Q,D){var W=k.w(c.$u?Date.UTC(c.$y,D,Q):new Date(c.$y,D,Q),c);return b?W:W.endOf(l)},I=function(Q,D){return k.w(c.toDate()[Q].apply(c.toDate("s"),(b?[0,0,0,0]:[23,59,59,999]).slice(D)),c)},T=this.$W,M=this.$M,j=this.$D,ne="set"+(this.$u?"UTC":"");switch(w){case v:return b?S(1,0):S(31,11);case m:return b?S(1,M):S(0,M+1);case f:var Z=this.$locale().weekStart||0,ce=(T<Z?T+7:T)-Z;return S(b?j-ce:j+(6-ce),M);case l:case C:return I(ne+"Hours",0);case s:return I(ne+"Minutes",1);case o:return I(ne+"Seconds",2);case i:return I(ne+"Milliseconds",3);default:return this.clone()}},u.endOf=function(a){return this.startOf(a,!1)},u.$set=function(a,d){var c,b=k.p(a),w="set"+(this.$u?"UTC":""),S=(c={},c[l]=w+"Date",c[C]=w+"Date",c[m]=w+"Month",c[v]=w+"FullYear",c[s]=w+"Hours",c[o]=w+"Minutes",c[i]=w+"Seconds",c[n]=w+"Milliseconds",c)[b],I=b===l?this.$D+(d-this.$W):d;if(b===m||b===v){var T=this.clone().set(C,1);T.$d[S](I),T.init(),this.$d=T.set(C,Math.min(this.$D,T.daysInMonth())).$d}else S&&this.$d[S](I);return this.init(),this},u.set=function(a,d){return this.clone().$set(a,d)},u.get=function(a){return this[k.p(a)]()},u.add=function(a,d){var c,b=this;a=Number(a);var w=k.p(d),S=function(M){var j=E(b);return k.w(j.date(j.date()+Math.round(M*a)),b)};if(w===m)return this.set(m,this.$M+a);if(w===v)return this.set(v,this.$y+a);if(w===l)return S(1);if(w===f)return S(7);var I=(c={},c[o]=t,c[s]=r,c[i]=e,c)[w]||1,T=this.$d.getTime()+a*I;return k.w(T,this)},u.subtract=function(a,d){return this.add(-1*a,d)},u.format=function(a){var d=this,c=this.$locale();if(!this.isValid())return c.invalidDate||A;var b=a||"YYYY-MM-DDTHH:mm:ssZ",w=k.z(this),S=this.$H,I=this.$m,T=this.$M,M=c.weekdays,j=c.months,ne=c.meridiem,Z=function(D,W,ue,xe){return D&&(D[W]||D(d,b))||ue[W].slice(0,xe)},ce=function(D){return k.s(S%12||12,D,"0")},Q=ne||function(D,W,ue){var xe=D<12?"AM":"PM";return ue?xe.toLowerCase():xe};return b.replace(H,(function(D,W){return W||(function(ue){switch(ue){case"YY":return String(d.$y).slice(-2);case"YYYY":return k.s(d.$y,4,"0");case"M":return T+1;case"MM":return k.s(T+1,2,"0");case"MMM":return Z(c.monthsShort,T,j,3);case"MMMM":return Z(j,T);case"D":return d.$D;case"DD":return k.s(d.$D,2,"0");case"d":return String(d.$W);case"dd":return Z(c.weekdaysMin,d.$W,M,2);case"ddd":return Z(c.weekdaysShort,d.$W,M,3);case"dddd":return M[d.$W];case"H":return String(S);case"HH":return k.s(S,2,"0");case"h":return ce(1);case"hh":return ce(2);case"a":return Q(S,I,!0);case"A":return Q(S,I,!1);case"m":return String(I);case"mm":return k.s(I,2,"0");case"s":return String(d.$s);case"ss":return k.s(d.$s,2,"0");case"SSS":return k.s(d.$ms,3,"0");case"Z":return w}return null})(D)||w.replace(":","")}))},u.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},u.diff=function(a,d,c){var b,w=this,S=k.p(d),I=E(a),T=(I.utcOffset()-this.utcOffset())*t,M=this-I,j=function(){return k.m(w,I)};switch(S){case v:b=j()/12;break;case m:b=j();break;case h:b=j()/3;break;case f:b=(M-T)/6048e5;break;case l:b=(M-T)/864e5;break;case s:b=M/r;break;case o:b=M/t;break;case i:b=M/e;break;default:b=M}return c?b:k.a(b)},u.daysInMonth=function(){return this.endOf(m).$D},u.$locale=function(){return N[this.$L]},u.locale=function(a,d){if(!a)return this.$L;var c=this.clone(),b=re(a,d,!0);return b&&(c.$L=b),c},u.clone=function(){return k.w(this.$d,this)},u.toDate=function(){return new Date(this.valueOf())},u.toJSON=function(){return this.isValid()?this.toISOString():null},u.toISOString=function(){return this.$d.toISOString()},u.toString=function(){return this.$d.toUTCString()},y})(),ut=we.prototype;return E.prototype=ut,[["$ms",n],["$s",i],["$m",o],["$H",s],["$W",l],["$M",m],["$y",v],["$D",C]].forEach((function(y){ut[y[1]]=function(u){return this.$g(u,y[0],y[1])}})),E.extend=function(y,u){return y.$i||(y(u,we,E),y.$i=!0),E},E.locale=re,E.isDayjs=z,E.unix=function(y){return E(1e3*y)},E.en=N[$],E.Ls=N,E.p={},E}))});var Yt=lt((Ci,Wt)=>{"use strict";var At,Ze,tt,{defineProperty:cn,setPrototypeOf:zt,create:un,keys:ln}=Object,q="",{round:te,max:mn}=Math,Qe=e=>{let t=/([a-f\d]{3,6})/i.exec(e)?.[1],r=t?.length,n=parseInt(6^r?3^r?"0":t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t,16);return[n>>16&255,n>>8&255,255&n]},Bt=(e,t,r)=>e^t||t^r?16+36*te(e/51)+6*te(t/51)+te(r/51):8>e?16:e>248?231:te(24*(e-8)/247)+232,Xe=e=>{let t,r,n,i,o;return 8>e?30+e:16>e?e-8+90:(232>e?(o=(e-=16)%36,t=(e/36|0)/5,r=(o/6|0)/5,n=o%6/5):t=r=n=(10*(e-232)+8)/255,i=2*mn(t,r,n),i?30+(te(n)<<2|te(r)<<1|te(t))+(2^i?0:60):30)},dn=(()=>{let e=m=>n.some((h=>m.test(h))),t=globalThis,r=t.process??{},n=r.argv??[],i=r.env??{},o=-1;try{At=","+ln(i).join(",")}catch{i={},o=0}let s="FORCE_COLOR",l={false:0,0:0,1:1,2:2,3:3}[i[s]]??-1,f=s in i&&l||e(/^--color=?(true|always)?$/);return f&&(o=l),~o||(o=((m,h,v)=>(Ze=m.TERM,{"24bit":3,truecolor:3,ansi256:2,ansi:1}[m.COLORTERM]||(m.CI?/,GITHUB/.test(At)?3:1:h&&Ze!=="dumb"?v?3:/-256/.test(Ze)?2:1:0)))(i,!!i.PM2_HOME||i.NEXT_RUNTIME?.includes("edge")||!!r.stdout?.isTTY,r.platform==="win32")),!l||i.NO_COLOR||e(/^--(no-color|color=(false|never))$/)?0:t.window?.chrome||f&&!o?3:o})(),Ft={open:q,close:q},se=39,ae=49,Ut={},Ht=({p:e},{open:t,close:r})=>{let n=(s,...l)=>{if(!s){if(t&&t===r)return t;if((s??q)===q)return q}let f,m=s.raw?String.raw({raw:s},...l):q+s,h=n.p,v=h.o,C=h.c;if(m.includes("\x1B"))for(;h;h=h.p){let{open:A,close:B}=h,H=B.length,J=q,F=0;if(H)for(;~(f=m.indexOf(B,F));F=f+H)J+=m.slice(F,f)+A;m=J+m.slice(F)}return v+(m.includes(`
3
- `)?m.replace(/(\r?\n)/g,C+"$1"+v):m)+C},i=t,o=r;return e&&(i=e.o+t,o=r+e.c),zt(n,tt),n.p={open:t,close:r,o:i,c:o,p:e},n.open=i,n.close=o,n},et=new function e(t=dn){let r={Ansis:e,level:t,isSupported:()=>i,strip:_=>_.replace(/[›][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,q),extend(_){for(let $ in _){let N=_[$],O=(typeof N)[0];O==="s"?(n($,h(...Qe(N))),n(J($),v(...Qe(N)))):n($,N,O==="f")}return tt=un({},Ut),zt(r,tt),r}},n=(_,$,N)=>{Ut[_]={get(){let O=N?(...z)=>Ht(this,$(...z)):Ht(this,$);return cn(this,_,{value:O}),O}}},i=t>0,o=(_,$)=>i?{open:`\x1B[${_}m`,close:`\x1B[${$}m`}:Ft,s=_=>$=>_(...Qe($)),l=(_,$)=>(N,O,z)=>o(`${_}8;2;${N};${O};${z}`,$),f=(_,$)=>(N,O,z)=>o(((re,E,k)=>Xe(Bt(re,E,k)))(N,O,z)+_,$),m=_=>($,N,O)=>_(Bt($,N,O)),h=l(3,se),v=l(4,ae),C=_=>o("38;5;"+_,se),A=_=>o("48;5;"+_,ae);t===2?(h=m(C),v=m(A)):t===1&&(h=f(0,se),v=f(10,ae),C=_=>o(Xe(_),se),A=_=>o(Xe(_)+10,ae));let B,H={fg:C,bg:A,rgb:h,bgRgb:v,hex:s(h),bgHex:s(v),visible:Ft,reset:o(0,0),bold:o(1,22),dim:o(2,22),italic:o(3,23),underline:o(4,24),inverse:o(7,27),hidden:o(8,28),strikethrough:o(9,29)},J=_=>"bg"+_[0].toUpperCase()+_.slice(1),F="Bright";return"black,red,green,yellow,blue,magenta,cyan,white,gray".split(",").map(((_,$)=>{B=J(_),8>$?(H[_+F]=o(90+$,se),H[B+F]=o(100+$,ae)):$=60,H[_]=o(30+$,se),H[B]=o(40+$,ae)})),r.extend(H)};Wt.exports=et,et.default=et});var Oe=class{#r=new Map;#t=new Map;#o=1;#e=!1;#s=null;constructor(){this.#s=g.on("app:shutdown",async()=>{process.env.NOORM_DEBUG&&console.error(`[ConnectionManager] app:shutdown received, closing ${this.size} connections`),this.#e=!0,await this.closeAll(),process.env.NOORM_DEBUG&&console.error("[ConnectionManager] all connections closed")})}track(t,r){let n=this.#o++;return this.#t.set(n,{conn:t,configName:r,createdAt:new Date}),n}untrack(t){this.#t.delete(t)}async getConnection(t,r){let n=t.name;if(this.#r.has(n))return this.#r.get(n);let i=await r(t);return this.#r.set(n,i),i}async closeCached(t){let r=this.#r.get(t);if(r){let[,n]=await p(()=>r.destroy());this.#r.delete(t),n?g.emit("error",{source:"connection",error:n}):g.emit("connection:close",{configName:t})}}async closeAll(){let r=Array.from(this.#r.keys());for(let i of r)await this.closeCached(i);let n=Array.from(this.#t.entries());for(let[i,o]of n){let s=Promise.race([o.conn.destroy(),new Promise(f=>setTimeout(f,5e3))]),[,l]=await p(()=>s);this.#t.delete(i),l?g.emit("error",{source:"connection",error:l}):g.emit("connection:close",{configName:o.configName})}}hasCached(t){return this.#r.has(t)}get size(){return this.#r.size+this.#t.size}get isShuttingDown(){return this.#e}dispose(){this.#s&&(this.#s(),this.#s=null)}},X=null;function De(){return X||(X=new Oe),X}async function lr(){X&&(await X.closeAll(),X.dispose(),X=null)}import{execSync as ft}from"child_process";import{userInfo as mr}from"os";function Pe(e={}){let t;return e.configIdentity?t=pt(e.configIdentity,"config"):e.cryptoIdentity?t=dr(e.cryptoIdentity):process.env.NOORM_IDENTITY?t=pt(process.env.NOORM_IDENTITY,"env"):e.skipGit?t=yt():t=gr()??yt(),g.emit("identity:resolved",{name:t.name,email:t.email,source:t.source}),t}function dr(e){return{name:e.name,email:e.email,source:"state"}}function pt(e,t){let r=e.trim(),n=r.match(/^(.+?)\s*<([^>]+)>$/);return n?{name:n[1].trim(),email:n[2].trim(),source:t}:{name:r,source:t}}function gr(){let[e,t]=P(()=>ft("git config user.name",{encoding:"utf8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim());if(t||!e)return null;let[r]=P(()=>ft("git config user.email",{encoding:"utf8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim());return{name:e,email:r||void 0,source:"git"}}function yt(){return{name:mr().username,source:"system"}}function fr(e){return e.email?`${e.name} <${e.email}>`:e.name}import{execSync as Ct}from"child_process";import{hostname as Be,platform as Fe,release as Ue,userInfo as Or}from"os";import{generateKeyPairSync as pr,createCipheriv as yr,createDecipheriv as hr,createPrivateKey as br,createPublicKey as wr,diffieHellman as xr,hkdfSync as ht,randomBytes as _r}from"crypto";function _e(){let{publicKey:e,privateKey:t}=pr("x25519",{publicKeyEncoding:{type:"spki",format:"der"},privateKeyEncoding:{type:"pkcs8",format:"der"}});return{publicKey:e.toString("hex"),privateKey:t.toString("hex")}}function bt(e,t){let r=br({key:Buffer.from(e,"hex"),format:"der",type:"pkcs8"}),n=wr({key:Buffer.from(t,"hex"),format:"der",type:"spki"});return xr({privateKey:r,publicKey:n})}function wt(e,t){return Buffer.from(ht("sha256",e,Buffer.alloc(0),t,32))}function vr(e,t,r,n){let i=_e(),o=bt(i.privateKey,t),s=wt(o,"noorm-config-share"),l=_r(16),f=yr("aes-256-gcm",s,l),m=Buffer.concat([f.update(e,"utf8"),f.final()]),h=f.getAuthTag();return{version:1,sender:r,recipient:n,ephemeralPubKey:i.publicKey,iv:l.toString("hex"),authTag:h.toString("hex"),ciphertext:m.toString("hex")}}function $r(e,t){if(e.version!==1)throw new Error(`Unsupported payload version: ${e.version}`);let r=bt(t,e.ephemeralPubKey),n=wt(r,"noorm-config-share"),i=hr("aes-256-gcm",n,Buffer.from(e.iv,"hex"));return i.setAuthTag(Buffer.from(e.authTag,"hex")),Buffer.concat([i.update(Buffer.from(e.ciphertext,"hex")),i.final()]).toString("utf8")}function kr(e){let t=Buffer.from(e,"hex");return Buffer.from(ht("sha256",t,Buffer.alloc(0),"noorm-state-encryption",32))}import{homedir as Sr}from"os";import{join as ve}from"path";import{chmod as xt,mkdir as Cr,readFile as Ke,stat as _t,writeFile as Ve}from"fs/promises";var oe=ve(Sr(),".noorm"),le=ve(oe,"identity.key"),me=ve(oe,"identity.pub"),vt=384,$t=420,kt=ve(oe,"identity.json");async function St(){let[,e]=await p(()=>Cr(oe,{recursive:!0}));if(e)throw new Error(`Failed to create ${oe}: ${e.message}`)}async function je(e){await St();let[,t]=await p(()=>Ve(le,e.privateKey,{encoding:"utf8",mode:vt}));if(t)throw new Error(`Failed to write private key: ${t.message}`);await p(()=>xt(le,vt));let[,r]=await p(()=>Ve(me,e.publicKey,{encoding:"utf8",mode:$t}));if(r)throw new Error(`Failed to write public key: ${r.message}`);await p(()=>xt(me,$t))}async function $e(e){await St();let t={identityHash:e.identityHash,name:e.name,email:e.email,publicKey:e.publicKey,machine:e.machine,os:e.os,createdAt:e.createdAt},[,r]=await p(()=>Ve(kt,JSON.stringify(t,null,2),{encoding:"utf8"}));if(r)throw new Error(`Failed to write identity metadata: ${r.message}`)}async function Ae(){let[e,t]=await p(()=>Ke(kt,{encoding:"utf8"}));if(t){if(t.code==="ENOENT")return null;throw new Error(`Failed to read identity metadata: ${t.message}`)}let[r,n]=P(()=>JSON.parse(e));return n?null:r}async function Ir(){let[e,t]=await p(()=>Ke(le,{encoding:"utf8"}));if(t){if(t.code==="ENOENT")return null;throw new Error(`Failed to read private key: ${t.message}`)}return e.trim()}async function ke(){let[e,t]=await p(()=>Ke(me,{encoding:"utf8"}));if(t){if(t.code==="ENOENT")return null;throw new Error(`Failed to read public key: ${t.message}`)}return e.trim()}async function Rr(){let[e]=await p(()=>_t(le)),[t]=await p(()=>_t(me));return!!e&&!!t}function Nr(){return le}function Er(){return me}function Tr(){return oe}import{createHash as Mr}from"crypto";function Se(e){if(!e.email||!e.name||!e.machine||!e.os)throw new Error("All fields required for identity hash: email, name, machine, os");let t=[e.email,e.name,e.machine,e.os].join("\0");return Mr("sha256").update(t,"utf8").digest("hex")}function Lr(e,t=8){return e.slice(0,t)}function Dr(){let[e]=P(()=>Ct("git config user.name",{encoding:"utf8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim()),[t]=P(()=>Ct("git config user.email",{encoding:"utf8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim());return{name:e||Or().username,email:t||"",machine:Be(),os:`${Fe()} ${Ue()}`}}async function Pr(e,t=!0){if(!e.name?.trim())throw new Error("Name is required for identity");if(!e.email?.trim())throw new Error("Email is required for identity");let r=e.machine?.trim()||Be(),n=`${Fe()} ${Ue()}`,i=_e(),o=Se({email:e.email.trim(),name:e.name.trim(),machine:r,os:n}),s={identityHash:o,name:e.name.trim(),email:e.email.trim(),publicKey:i.publicKey,machine:r,os:n,createdAt:new Date().toISOString()};return t&&(await je(i),await $e(s)),g.emit("identity:created",{identityHash:o,name:s.name,email:s.email,machine:s.machine}),{identity:s,keypair:i}}async function Vr(e){if(!e.name?.trim())throw new Error("Name is required for identity");if(!e.email?.trim())throw new Error("Email is required for identity");let t=await ke();if(!t)return null;let r=e.machine?.trim()||Be(),n=`${Fe()} ${Ue()}`,i=Se({email:e.email.trim(),name:e.name.trim(),machine:r,os:n}),o={identityHash:i,name:e.name.trim(),email:e.email.trim(),publicKey:t,machine:r,os:n,createdAt:new Date().toISOString()};return await $e(o),g.emit("identity:created",{identityHash:i,name:o.name,email:o.email,machine:o.machine}),o}async function de(){let e=await Ae();if(!e)return null;let t=await ke();return t?{...e,publicKey:t}:null}var L=Object.freeze({schema:1,state:1,settings:1}),ee=class extends Error{constructor(r,n,i){super(`${r} version ${n} is newer than CLI supports (${i}). Please upgrade noorm.`);this.layer=r;this.current=n;this.expected=i;this.name="VersionMismatchError"}},Y=class extends Error{constructor(r,n,i){super(`${r} migration v${n} failed: ${i.message}`);this.layer=r;this.version=n;this.cause=i;this.name="MigrationError"}};function ie(e,t){return t==="postgres"?e.addColumn("id","serial",r=>r.primaryKey()):e.addColumn("id","integer",r=>r.primaryKey().autoIncrement())}var It={version:1,description:"Create initial tracking tables",async up(e,t){await ie(e.schema.createTable("__noorm_version__"),t).addColumn("cli_version","varchar(50)",r=>r.notNull()).addColumn("noorm_version","integer",r=>r.notNull()).addColumn("state_version","integer",r=>r.notNull()).addColumn("settings_version","integer",r=>r.notNull()).addColumn("installed_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("upgraded_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await ie(e.schema.createTable("__noorm_change__"),t).addColumn("name","varchar(255)",r=>r.notNull()).addColumn("change_type","varchar(50)",r=>r.notNull()).addColumn("direction","varchar(50)",r=>r.notNull()).addColumn("checksum","varchar(64)",r=>r.notNull().defaultTo("")).addColumn("executed_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("executed_by","varchar(255)",r=>r.notNull().defaultTo("")).addColumn("config_name","varchar(255)",r=>r.notNull().defaultTo("")).addColumn("cli_version","varchar(50)",r=>r.notNull().defaultTo("")).addColumn("status","varchar(50)",r=>r.notNull()).addColumn("error_message","text",r=>r.notNull().defaultTo("")).addColumn("duration_ms","integer",r=>r.notNull().defaultTo(0)).execute(),await ie(e.schema.createTable("__noorm_executions__"),t).addColumn("change_id","integer",r=>r.notNull().references("__noorm_change__.id").onDelete("cascade")).addColumn("filepath","varchar(500)",r=>r.notNull()).addColumn("file_type","varchar(10)",r=>r.notNull()).addColumn("checksum","varchar(64)",r=>r.notNull().defaultTo("")).addColumn("cli_version","varchar(50)",r=>r.notNull().defaultTo("")).addColumn("status","varchar(50)",r=>r.notNull()).addColumn("error_message","text",r=>r.notNull().defaultTo("")).addColumn("skip_reason","varchar(100)",r=>r.notNull().defaultTo("")).addColumn("duration_ms","integer",r=>r.notNull().defaultTo(0)).execute(),await ie(e.schema.createTable("__noorm_lock__"),t).addColumn("config_name","varchar(255)",r=>r.notNull().unique()).addColumn("locked_by","varchar(255)",r=>r.notNull()).addColumn("locked_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("expires_at","timestamp",r=>r.notNull()).addColumn("reason","varchar(255)",r=>r.notNull().defaultTo("")).execute(),await ie(e.schema.createTable("__noorm_identities__"),t).addColumn("identity_hash","varchar(64)",r=>r.notNull().unique()).addColumn("email","varchar(255)",r=>r.notNull()).addColumn("name","varchar(255)",r=>r.notNull()).addColumn("machine","varchar(255)",r=>r.notNull()).addColumn("os","varchar(255)",r=>r.notNull()).addColumn("public_key","text",r=>r.notNull()).addColumn("encrypted_vault_key","text").addColumn("registered_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("last_seen_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await ie(e.schema.createTable("__noorm_vault__"),t).addColumn("secret_key","varchar(255)",r=>r.notNull().unique()).addColumn("encrypted_value","text",r=>r.notNull()).addColumn("set_by","varchar(255)",r=>r.notNull()).addColumn("created_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).addColumn("updated_at","timestamp",r=>r.notNull().defaultTo(K`CURRENT_TIMESTAMP`)).execute(),await e.schema.createIndex("idx_executions_change_id").on("__noorm_executions__").column("change_id").execute(),await e.schema.createIndex("idx_change_name_config").on("__noorm_change__").columns(["name","config_name"]).execute(),await e.schema.createIndex("idx_vault_secret_key").on("__noorm_vault__").column("secret_key").execute()},async down(e,t){await e.schema.dropIndex("idx_change_name_config").execute(),await e.schema.dropIndex("idx_executions_change_id").execute(),await e.schema.dropIndex("idx_vault_secret_key").execute(),await e.schema.dropTable("__noorm_vault__").execute(),await e.schema.dropTable("__noorm_identities__").execute(),await e.schema.dropTable("__noorm_lock__").execute(),await e.schema.dropTable("__noorm_executions__").execute(),await e.schema.dropTable("__noorm_change__").execute(),await e.schema.dropTable("__noorm_version__").execute()}};var Kr="https://registry.npmjs.org/@noormdev/cli",jr=5e3;async function Rt(){let e=new AbortController,t=setTimeout(()=>e.abort(),jr),[r,n]=await p(()=>fetch(Kr,{signal:e.signal,headers:{Accept:"application/json"}}));if(clearTimeout(t),n||!r?.ok)return null;let[i,o]=await p(()=>r.json());return o?null:i??null}function He(e,t="latest"){return e["dist-tags"][t]??null}function Nt(e,t){let n=Object.keys(e.versions).filter(i=>i.includes(`-${t}`));return n.sort((i,o)=>{let[s="0.0.0",l]=i.split(`-${t}`),[f="0.0.0",m]=o.split(`-${t}`),h=s.localeCompare(f,void 0,{numeric:!0});if(h!==0)return h;let v=parseInt(l?.replace(".","")||"0",10),C=parseInt(m?.replace(".","")||"0",10);return v-C}),n}function Ce(){return"1.0.0-alpha.11"}function ze(e){let t=e.match(/-(\w+)\.?(\d+)?$/);return!t||!t[1]?null:{channel:t[1],number:t[2]?parseInt(t[2],10):0}}function Ar(e,t){let r=e.split("-")[0]??"0.0.0",n=t.split("-")[0]??"0.0.0",i=parseInt(r.split(".")[0]??"0",10);return parseInt(n.split(".")[0]??"0",10)>i}function Et(e,t){let r=e.split("-")[0]??"0.0.0",n=t.split("-")[0]??"0.0.0",i=r.split(".").map(Number),o=n.split(".").map(Number);for(let C=0;C<3;C++){let A=i[C]??0,B=o[C]??0;if(A>B)return 1;if(A<B)return-1}let s=ze(e),l=ze(t);if(!s&&l)return 1;if(s&&!l)return-1;if(!s&&!l)return 0;let f={alpha:0,beta:1,rc:2},m=f[s.channel]??99,h=f[l.channel]??99;if(m!==h)return m>h?1:-1;let v=s.number-l.number;return v===0?0:v>0?1:-1}async function ko(){let e=Ce();if(e==="0.0.0-dev")return{currentVersion:e,latestVersion:e,updateAvailable:!1,isMajorUpdate:!1,isPrerelease:!0,channel:"dev"};g.emit("update:checking",{});let t=await Rt();if(!t)return g.emit("update:check-failed",{error:"Network error or timeout"}),null;let r=ze(e),n;if(r){let l=Nt(t,r.channel),f=l[l.length-1],m=He(t,"latest");m&&Et(m,e)>0?n=m:n=f??e}else n=He(t,"latest")??e;let i=Et(n,e)>0,o=i&&Ar(e,n),s={currentVersion:e,latestVersion:n,updateAvailable:i,isMajorUpdate:o,isPrerelease:!!r,channel:r?.channel};return i?o?g.emit("update:major-available",{currentVersion:e,latestVersion:n}):g.emit("update:available",{currentVersion:e,latestVersion:n}):g.emit("update:not-available",{currentVersion:e}),s}var Tt=[It];async function ge(e){let[t,r]=await p(async()=>(await K`SELECT 1 FROM __noorm_version__ LIMIT 1`.execute(e),!0));return r?!1:t}async function Mt(e){if(!await ge(e))return 0;let[r,n]=await p(async()=>e.selectFrom("__noorm_version__").select("noorm_version").orderBy("id","desc").limit(1).executeTakeFirst());return n?0:r?.noorm_version??0}async function We(e){let t=await Mt(e),r=L.schema;return g.emit("version:schema:checking",{current:t}),{current:t,expected:r,needsMigration:t<r,isNewer:t>r}}async function Lt(e,t,r){let n=performance.now();g.emit("version:schema:migrating",{from:0,to:L.schema});for(let o of Tt){let[,s]=await p(()=>o.up(e,t));if(s)throw new Y("schema",o.version,s)}await e.insertInto("__noorm_version__").values({cli_version:Ce(),noorm_version:L.schema,state_version:r?.stateVersion??L.state,settings_version:r?.settingsVersion??L.settings}).execute();let i=performance.now()-n;g.emit("version:schema:migrated",{from:0,to:L.schema,durationMs:i}),await fe(e)}async function Ot(e){if(!await ge(e))return null;let[r,n]=await p(async()=>e.selectFrom("__noorm_version__").select(["state_version","settings_version"]).orderBy("id","desc").limit(1).executeTakeFirst());return n||!r?null:{stateVersion:r.state_version,settingsVersion:r.settings_version}}async function Ye(e,t,r){let n=await We(e);if(n.isNewer)throw g.emit("version:mismatch",{layer:"schema",current:n.current,expected:n.expected}),new ee("schema",n.current,n.expected);if(!n.needsMigration)return;if(n.current===0){await Lt(e,t,r);return}let i=performance.now();g.emit("version:schema:migrating",{from:n.current,to:L.schema});let o=await Ot(e),s=Tt.filter(f=>f.version>n.current);for(let f of s){let[,m]=await p(()=>f.up(e,t));if(m)throw new Y("schema",f.version,m)}await e.insertInto("__noorm_version__").values({cli_version:Ce(),noorm_version:L.schema,state_version:r?.stateVersion??o?.stateVersion??L.state,settings_version:r?.settingsVersion??o?.settingsVersion??L.settings}).execute();let l=performance.now()-i;g.emit("version:schema:migrated",{from:n.current,to:L.schema,durationMs:l}),await fe(e)}async function Br(e,t,r){await Ye(e,t,r)}import{relative as Fr,sep as qe}from"path";function Ur(e,t,r,n){let i=l=>l.split(/[\\/]/).join(qe),o=r.map(i),s=n.map(i);return e.filter(l=>{let f=Fr(t,l),m=o.length===0||o.some(v=>f===v||f.startsWith(v+qe)),h=s.some(v=>f===v||f.startsWith(v+qe));return m&&!h})}import{createWriteStream as On}from"fs";import{join as Dn,dirname as Pn}from"path";import{mkdir as Vn}from"fs/promises";var Zr=["CI","CONTINUOUS_INTEGRATION","GITHUB_ACTIONS","GITLAB_CI","CIRCLECI","TRAVIS","JENKINS_URL","BUILDKITE","TEAMCITY_VERSION","TF_BUILD","BITBUCKET_BUILD_NUMBER"];function Ie(){if(process.env.NOORM_HEADLESS==="true")return!0;for(let e of Zr)if(process.env[e])return!0;return!process.stdout.isTTY}function hi(){return process.env.NODE_ENV==="development"||process.env.NOORM_DEV==="true"}function bi(){return process.env.NOORM_CONFIG}var Te=mt(Dt(),1);import{join as En,dirname as Tn}from"path";import{createWriteStream as Mn}from"fs";import{mkdir as Ln}from"fs/promises";var Pt={silent:0,error:1,warn:2,info:3,verbose:4},Vt={enabled:!0,level:"info",file:".noorm/state/noorm.log",maxSize:"10mb",maxFiles:5};var Qr=[/^error$/,/:error$/,/:failed$/],Xr=[/:warning$/,/:blocked$/,/:expired$/],en=[/:before$/,/:acquiring$/,/:file$/],tn=[/^update:/,/^global-settings:/,/^settings:/,/^file:/,/^change:/,/^build:/,/^run:/,/^lock:/,/^state:/,/^config:/,/^secret:/,/^known-user:/,/^db:/,/^template:/,/^identity:/,/^connection:/,/^app:/,/^transfer:/,/^dt:/,/^vault:/];function Re(e){for(let t of Qr)if(t.test(e))return"error";for(let t of Xr)if(t.test(e))return"warn";for(let t of en)if(t.test(e))return"debug";for(let t of tn)if(t.test(e))return"info";return"debug"}function Kt(e,t){if(t==="silent")return!1;if(t==="verbose")return!0;let r=Re(e),n=rn(r),i=Pt[t];return n<=i}function rn(e){switch(e){case"error":return 1;case"warn":return 2;case"info":return 3;case"debug":return 4}}var nn={"file:before":e=>`Executing ${e.filepath}`,"file:after":e=>e.status==="success"?`Executed ${e.filepath} (${e.durationMs}ms)`:`Failed ${e.filepath}: ${e.error}`,"file:skip":e=>`Skipped ${e.filepath} (${e.reason})`,"change:start":e=>`Starting ${e.direction} for ${e.name} (${e.files?.length??0} files)`,"change:file":e=>`${e.change}: ${e.filepath} (${e.index}/${e.total})`,"change:complete":e=>`${e.direction} ${e.name}: ${e.status} (${e.durationMs}ms)`,"build:start":e=>`Starting schema build (${e.fileCount} files)`,"build:complete":e=>e.status==="success"?`Build complete: ${e.filesRun} run, ${e.filesSkipped} skipped (${e.durationMs}ms)`:`Build failed after ${e.filesRun} files (${e.durationMs}ms)`,"run:file":e=>`Running ${e.filepath} on ${e.configName}`,"run:dir":e=>`Running directory ${e.dirpath} (${e.fileCount} files) on ${e.configName}`,"lock:acquiring":e=>`Acquiring lock for ${e.configName} as ${e.identity}`,"lock:acquired":e=>`Lock acquired for ${e.configName}`,"lock:released":e=>`Lock released for ${e.configName}`,"lock:blocked":e=>`Lock blocked: ${e.configName} held by ${e.holder}`,"lock:expired":e=>`Lock expired for ${e.configName} (was held by ${e.previousHolder})`,"state:loaded":e=>`State loaded: ${e.configCount} configs, version ${e.version}`,"state:persisted":e=>`State saved: ${e.configCount} configs`,"state:migrated":e=>`State migrated from ${e.from} to ${e.to}`,"config:created":e=>`Created config: ${e.name}`,"config:updated":e=>`Updated config ${e.name}: ${e.fields?.join(", ")}`,"config:deleted":e=>`Deleted config: ${e.name}`,"config:activated":e=>`Activated config: ${e.name}${e.previous?` (was ${e.previous})`:""}`,"secret:set":e=>`Set secret ${e.key} for ${e.configName}`,"secret:deleted":e=>`Deleted secret ${e.key} from ${e.configName}`,"global-secret:set":e=>`Set global secret: ${e.key}`,"global-secret:deleted":e=>`Deleted global secret: ${e.key}`,"db:creating":e=>`Creating database ${e.database} for ${e.configName}`,"db:created":e=>`Created database ${e.database} (${e.durationMs}ms)`,"db:destroying":e=>`Destroying database ${e.database} for ${e.configName}`,"db:destroyed":e=>`Destroyed database ${e.database}`,"db:bootstrap":e=>`Bootstrapped ${e.tables?.length??0} tables for ${e.configName}`,"template:render":e=>`Rendered template ${e.filepath} (${e.durationMs}ms)`,"template:load":e=>`Loaded ${e.format} data from ${e.filepath}`,"identity:resolved":e=>`Identity resolved: ${e.name} (${e.source})`,"identity:created":e=>`Created identity: ${e.name} <${e.email}>`,"identity:registered":e=>`Registered identity for ${e.name}`,"identity:synced":e=>`Synced ${e.discovered} identities for ${e.configName}`,"identity:not-found":()=>"No identity found","vault:initialized":e=>`Vault initialized for ${e.identityHash}`,"vault:secret:created":e=>`Created vault secret: ${e.key} (by ${e.setBy})`,"vault:secret:updated":e=>`Updated vault secret: ${e.key} (by ${e.setBy})`,"vault:secret:deleted":e=>`Deleted vault secret: ${e.key}`,"vault:propagated":e=>`Propagated vault access to ${e.toEmail}`,"vault:copy:starting":e=>`Copying vault secrets from ${e.source} to ${e.destination} (${e.keys==="all"?"all":`${e.keys} keys`})`,"vault:copy:completed":e=>`Vault copy complete: ${e.copied} copied, ${e.skipped} skipped, ${e.errors} errors`,"config:exported":e=>`Exported ${e.configName} to ${e.recipient}`,"config:imported":e=>`Imported ${e.configName} from ${e.from}`,"connection:open":e=>`Connected to ${e.configName} (${e.dialect})`,"connection:close":e=>`Disconnected from ${e.configName}`,"connection:error":e=>`Connection error for ${e.configName}: ${e.error}`,"logger:started":e=>`Logger started: ${e.file} at ${e.level} level`,"logger:rotated":e=>`Rotated log: ${e.oldFile} -> ${e.newFile}`,"logger:error":e=>`Logger error: ${e.error?.message??e.error}`,"logger:flushed":e=>`Flushed ${e.entriesWritten} log entries`,"settings:loaded":e=>`Settings loaded from ${e.path}`,"settings:saved":e=>`Settings saved to ${e.path}`,"settings:initialized":e=>`Settings initialized at ${e.path}${e.force?" (forced)":""}`,error:e=>`Error in ${e.source}: ${on(e.error)}`};function on(e){if(e==null)return"Unknown error";if(e instanceof Error||typeof e=="object"&&"message"in e&&typeof e.message=="string")return e.message;if(typeof e=="object"){let t=e;if(t.code&&t.severity){let n=[`${t.severity} ${t.code}`];return t.routine&&n.push(`in ${t.routine}`),t.where&&n.push(`- ${String(t.where).slice(0,100)}`),n.join(" ")}let r=Object.keys(t).slice(0,3);if(r.length>0)return`{${r.map(n=>`${n}: ${sn(t[n])}`).join(", ")}}`}return String(e)}function sn(e){return e==null?String(e):typeof e=="string"?e.length>30?`"${e.slice(0,27)}..."`:`"${e}"`:typeof e=="number"||typeof e=="boolean"?String(e):"[...]"}function jt(e,t){let r=nn[e];if(r){let[i,o]=P(()=>r(t));if(!o&&i!==null)return i}let n=Object.entries(t).slice(0,3).map(([i,o])=>`${i}=${an(o)}`);return n.length===0?e.replace(/:/g," "):`${e.replace(/:/g," ")}: ${n.join(", ")}`}function an(e){return e==null?String(e):typeof e=="string"?e.length>50?`"${e.slice(0,47)}..."`:`"${e}"`:typeof e=="number"||typeof e=="boolean"?String(e):Array.isArray(e)?`[${e.length} items]`:typeof e=="object"?`{${Object.keys(e).length} keys}`:String(e)}var rt=mt(Yt(),1),R=rt.default,{Ansis:Ii,fg:Ri,bg:Ni,rgb:Ei,bgRgb:Ti,hex:Mi,bgHex:Li,reset:Oi,inverse:Di,hidden:Pi,visible:Vi,bold:Ki,dim:ji,italic:Ai,underline:Bi,strikethrough:Fi,black:Ui,red:Hi,green:zi,yellow:Wi,blue:Yi,magenta:qi,cyan:Gi,white:Ji,gray:Zi,redBright:Qi,greenBright:Xi,yellowBright:es,blueBright:ts,magentaBright:rs,cyanBright:ns,whiteBright:os,bgBlack:is,bgRed:ss,bgGreen:as,bgYellow:cs,bgBlue:us,bgMagenta:ls,bgCyan:ms,bgWhite:ds,bgGray:gs,bgRedBright:fs,bgGreenBright:ps,bgYellowBright:ys,bgBlueBright:hs,bgMagentaBright:bs,bgCyanBright:ws,bgWhiteBright:xs}=rt.default;var V={primary:"#3B82F6",success:"#10B981",warning:"#F59E0B",error:"#EF4444",info:"#8B5CF6",debug:"#8B5CF6",action:"#3B82F6",secondary:"#6B7280",muted:"#9CA3AF",destructive:"#EF4444",text:"#F3F4F6",textDim:"#D1D5DB",border:"#4B5563",borderLight:"#6B7280",background:"#1F2937"},x={primary:e=>R.hex(V.primary)(e),success:e=>R.hex(V.success)(e),warning:e=>R.hex(V.warning)(e),error:e=>R.hex(V.error)(e),info:e=>R.hex(V.info)(e),debug:e=>R.hex(V.debug)(e),action:e=>R.hex(V.action)(e),secondary:e=>R.hex(V.secondary)(e),muted:e=>R.hex(V.muted)(e),destructive:e=>R.hex(V.destructive)(e),text:e=>R.hex(V.text)(e),textDim:e=>R.hex(V.textDim)(e),border:e=>R.hex(V.border)(e),borderLight:e=>R.hex(V.borderLight)(e),bold:R.bold,dim:R.dim,italic:R.italic,underline:R.underline,inverse:R.inverse,reset:R.reset},Ne={success:"\u2713",error:"\u2717",warning:"\u26A0",info:"\u2022",debug:"\u25CB",pending:"\u25CC",arrow:"\u2192",bullet:"\u2022",check:"\u2713",cross:"\u2717",star:"\u2605",dot:"\xB7"};var G={string(e){return x.text(e)},number(e){return x.warning(String(e))},boolean(e){return e?x.success("true"):x.error("false")},nil(){return x.muted("null")},pair(e,t){let r=typeof t=="number"?G.number(t):typeof t=="boolean"?G.boolean(t):t==null?G.nil():G.string(String(t));return`${x.muted(e)}=${r}`},path(e){return x.info(e)},duration(e){return e<1e3?x.muted(`${e}ms`):x.muted(`${(e/1e3).toFixed(2)}s`)},count(e,t,r){let n=e===1?t:r??`${t}s`;return`${x.warning(String(e))} ${x.text(n)}`}},pe={error:x.error,warn:x.warning,info:x.info,debug:x.debug},ye={error:Ne.error,warn:Ne.warning,info:Ne.info,debug:Ne.debug};var gn={error:{icon:ye.error,color:pe.error},warn:{icon:ye.warn,color:pe.warn},info:{icon:ye.info,color:pe.info},debug:{icon:ye.debug,color:pe.debug}};function fn(e){if(e===null)return G.nil();if(e===void 0)return x.muted("undefined");if(typeof e=="string")return e.length>50?x.text(`"${e.slice(0,47)}..."`):x.text(e);if(typeof e=="number")return G.number(e);if(typeof e=="boolean")return G.boolean(e);if(e instanceof Date)return x.muted(e.toISOString());if(e instanceof Error)return x.error(e.message);if(Array.isArray(e))return e.length===0?x.muted("[]"):e.length<=3&&e.every(t=>typeof t=="string"||typeof t=="number")?x.text(`[${e.join(", ")}]`):x.muted(`[${e.length} items]`);if(typeof e=="object"){let[t,r]=P(()=>JSON.stringify(e));return r?x.muted("[object]"):x.text(t.length>60?t.slice(0,57)+"...":t)}return x.text(String(e))}function pn(e){let t=[];for(let[r,n]of Object.entries(e))t.push(`${x.muted(r)}=${fn(n)}`);return t.join(" ")}function qt(e,t,r,n){let i=gn[e],o=i.color(i.icon),s=i.color(t),l=`${o} ${s} ${x.text(r)}`;return n&&Object.keys(n).length>0&&(l+=` ${pn(n)}`),l}var Cs={success:x.success("\u2713"),failed:x.error("\u2717"),partial:x.warning("\u26A0"),pending:x.warning("\u25CB"),skipped:x.muted("\u25CB"),reverted:x.info("\u21A9")};var Gt=12,U=new Set;function yn(e){return e.replace(/[-_\s]+(.)?/g,(t,r)=>r?r.toUpperCase():"").replace(/^[A-Z]/,t=>t.toLowerCase())}function hn(e){return e.replace(/[-\s]+/g,"_").replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}function bn(e){return e.replace(/[_\s]+/g,"-").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Jt(e){return e.replace(/[-_\s]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").split(" ").map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function nt(e){return e.replace(/[-_\s]/g,"")}function Ee(e){for(let t of e){let r=[t,`noorm_${t}`];for(let n of r)U.add(n),U.add(n.toLowerCase()),U.add(n.toUpperCase()),U.add(yn(n)),U.add(hn(n)),U.add(bn(n)),U.add(Jt(n)),U.add(nt(n)),U.add(nt(n).toLowerCase()),U.add(nt(n).toUpperCase())}}Ee(["password","pass","secret","token","key","credential","api_key","apikey","access_key","secret_key","db_pass","db_password","redis_pass","client_secret","private_key","encryption_key","auth_token","bearer_token","jwt_secret","session_secret"]);function wn(e,t,r){let n=e.length,i=Math.min(n,Gt),o=Math.min(Math.ceil(n/5),4)||1,s="*".repeat(i);return r==="verbose"&&n>=4&&(s=e.slice(0,o)+"*".repeat(Math.max(0,i-4)),s.length<i&&(s+="*".repeat(i-s.length))),n>Gt&&(s+="..."),`<${Jt(t)} ${s} (${n}) />`}function Zt(e){if(e.stages){for(let t of Object.values(e.stages))if(t.secrets&&Array.isArray(t.secrets)){let r=t.secrets.map(n=>n.key);Ee(r)}}}function Qt(){let e=[];return e.push(g.on("secret:set",({key:t})=>{Ee([t])})),e.push(g.on("global-secret:set",({key:t})=>{Ee([t])})),()=>e.forEach(t=>t())}function he(e,t){if(e==null||typeof e!="object"||e instanceof URL||e instanceof Date)return e;if(Array.isArray(e))return e.map(n=>typeof n=="object"&&n!==null?he(n,t):n);let r={...e};for(let n in r){let i=Object.getOwnPropertyDescriptor(r,n);if(i&&!i.writable&&!i.set)continue;let o=r[n];U.has(n)&&typeof o=="string"?r[n]=wn(o,n,t):typeof o=="object"&&o!==null&&(r[n]=he(o,t))}return r}import{stat as xn,rename as _n,readdir as vn,unlink as $n}from"fs/promises";import{dirname as er,basename as tr,join as rr,extname as nr}from"path";function kn(e){let t=e.toLowerCase().match(/^(\d+(?:\.\d+)?)\s*(b|kb|mb|gb)?$/);if(!t||!t[1])throw new Error(`Invalid size format: ${e}`);let r=parseFloat(t[1]),n=t[2]??"b",o={b:1,kb:1024,mb:1024*1024,gb:1024*1024*1024}[n];if(o===void 0)throw new Error(`Invalid size unit: ${n}`);return Math.floor(r*o)}function Sn(e){let t=er(e),r=nr(e),n=tr(e,r),i=new Date().toISOString().replace(/:/g,"-").replace(/\.\d+Z$/,"");return rr(t,`${n}.${i}${r}`)}async function Cn(e,t){let[r,n]=await p(()=>xn(e));return n?!1:r.size>=t}async function In(e){let t=Sn(e),[r,n]=await p(()=>_n(e,t));if(n)throw new Error(`Failed to rotate log file: ${n.message}`);return t}async function Rn(e){let t=er(e),r=nr(e),n=tr(e,r),i=new RegExp(`^${Xt(n)}\\.\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}${Xt(r)}$`),[o,s]=await p(()=>vn(t));return s?[]:o.filter(l=>i.test(l)).map(l=>rr(t,l)).sort().reverse()}async function Nn(e,t){let n=(await Rn(e)).slice(t),i=[];for(let o of n){let[s,l]=await p(()=>$n(o));l||i.push(o)}return i}async function ot(e,t,r){let n=kn(t);if(!await Cn(e,n))return{rotated:!1};let o=await In(e),s=await Nn(e,r);return{rotated:!0,oldFile:e,newFile:o,deletedFiles:s.length>0?s:void 0}}function Xt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function or(e,t){for(let[r,n]of Object.entries(e))if(!(r in t))if(n==null)t[r]=n;else if(Array.isArray(n))t[r]=JSON.stringify(n);else if(typeof n=="object")for(let[i,o]of Object.entries(n)){let s=`${r}.${i}`;s in t||(t[s]=typeof o=="object"&&o!==null?JSON.stringify(o):o)}else t[r]=n}var be=class{#r;#t;#o;#e={file:null,console:process.stdout,diagnostics:process.stderr};#s=!1;#l=!1;#i=null;#n="idle";#a=null;#c=null;constructor(t){this.#r=t.projectRoot,this.#t={...Vt,...t.config},this.#o=t.context??{},this.#l=t.json??Ie(),this.#l&&(this.#s=!1),t.color&&(this.#s=t.color),t.console&&(this.#e.console=t.console),t.diagnostics&&(this.#e.diagnostics=t.diagnostics),t.file&&(this.#e.file=t.file),this.#c=g.on("app:shutdown",async()=>{await this.stop()})}get state(){return this.#n}get level(){return this.#t.level}get filepath(){return En(this.#r,this.#t.file)}get isEnabled(){return this.#t.enabled&&this.#t.level!=="silent"}get stats(){return this.#n!=="running"||!this.#i?null:{pending:this.#i.pending,totalWritten:this.#i.stats.processed}}async flush(){!this.#i||this.#n!=="running"||await this.#i.flush()}setContext(t){this.#o={...this.#o,...t}}clearContext(){this.#o={}}async start(){if(this.#n==="idle"&&this.isEnabled){if(!this.#e.file&&this.#t.file){let t=this.filepath;await Ln(Tn(t),{recursive:!0}),this.#e.file=Mn(t,{flags:"a"})}if(this.#e.file){let t=await ot(this.filepath,this.#t.maxSize,this.#t.maxFiles);t.rotated&&g.emit("logger:rotated",{oldFile:t.oldFile,newFile:t.newFile}),this.#a=setInterval(()=>{this.#p()},6e4)}this.#i=g.queue(/./,t=>{let{event:r,data:n}=t;this.#f(r,n)},{name:"logger",autoStart:!0,concurrency:1,type:"fifo",debug:process.env.NOORM_LOGGER_DEBUG==="true"}),this.#n="running",g.emit("logger:started",{file:this.filepath,level:this.#t.level})}}async stop(){this.#n==="running"&&(this.#n="flushing",this.#a&&(clearInterval(this.#a),this.#a=null),this.#i&&(await this.#i.stop(),this.#i=null),this.#e.file&&this.#e.file!==process.stdout&&this.#e.file!==process.stderr&&await new Promise(t=>{this.#e.file.end(()=>t())}),this.#c&&(this.#c(),this.#c=null),this.#n="stopped")}#f(t,r){if(t.startsWith("logger:")||!Kt(t,this.#t.level))return;let n=Re(t);(t.endsWith(":complete")||t.endsWith(":after"))&&"status"in r&&r.status!=="success"&&r.status!=="skipped"&&(n="error"),r.error&&(n="error");let i=he({...r},this.#t.level),o=jt(t,i);this.#m(n,t,o,i),this.#d(n,t,o,i)}#m(t,r,n,i){let o=i&&Object.keys(i).length>0;if(this.#l){let s=this.#g(t,r,n,i,o);this.#e.console.write(JSON.stringify(s)+`
4
- `)}else if(this.#s){let s=(0,Te.default)().format("YY-MM-DD HH:mm:ss"),l=qt(t,r,n,o?i:void 0);this.#e.diagnostics.write(`[${s}] ${l}
5
- `)}else{let s=(0,Te.default)().format("YY-MM-DD HH:mm:ss"),l=t.toUpperCase().padEnd(5),f=`[${s}] [${l}] [${r}] ${n}`;o&&(f+=` ${JSON.stringify(i)}`),this.#e.diagnostics.write(f+`
6
- `)}}#d(t,r,n,i){if(!this.#e.file)return;let o=i&&Object.keys(i).length>0,s=this.#g(t,r,n,i,o);this.#e.file.write(JSON.stringify(s)+`
7
- `)}#g(t,r,n,i,o){let s={time:(0,Te.default)().format("YYYY-MM-DDTHH:mm:ss.SSSZ"),type:r,level:t,message:n};return o&&Object.keys(i).length>0&&or(i,s),this.#o&&Object.keys(this.#o).length>0&&or(this.#o,s),s}async#p(){if(!this.#e.file||this.#n!=="running")return;let t=await ot(this.filepath,this.#t.maxSize,this.#t.maxFiles);t.rotated&&g.emit("logger:rotated",{oldFile:t.oldFile,newFile:t.newFile})}info(t,r){this.#u("info",t,r)}warn(t,r){this.#u("warn",t,r)}error(t,r){this.#u("error",t,r)}debug(t,r){this.#u("debug",t,r)}#u(t,r,n){if(!this.isEnabled||this.#n!=="running")return;let i={error:1,warn:2,info:3,debug:4},o={silent:0,error:1,warn:2,info:3,verbose:4};if(i[t]>o[this.#t.level])return;let s=n?he({...n},this.#t.level):{};this.#m(t,"log",r,s),this.#d(t,"log",r,s)}result(t){let r=JSON.stringify(t)+`
8
- `;this.#e.console&&this.#e.console.write(r),this.#e.file&&this.#e.file.write(r)}},it=null;function ir(e){if(!it&&e){let t={projectRoot:"",settings:{}};typeof e=="string"?t.projectRoot=e:t=dt(t,e),it=new be(t)}return it}var Kn=null,sr=null,at=null,st={};function ra(e,t){sr||(st=t??{},Kn=Qt(),sr=g.once("settings:loaded",async r=>{let{settings:n}=r;if(!n.logging?.enabled)return;Zt(n);let i;if(!Ie()){let o=Dn(e,n.logging.file??".noorm/state/noorm.log"),[,s]=await p(()=>Vn(Pn(o),{recursive:!0}));s||(i=On(o,{flags:"a"}))}at=new be({projectRoot:e,settings:n,config:n.logging,file:i,console:st.console,diagnostics:st.diagnostics}),await at.start()}))}function ar(){return at??ir()}async function Me(e,t){let[r,n]=await p(()=>e.selectFrom("__noorm_identities__").select(["id"]).where("identity_hash","=",t.identityHash).executeTakeFirst());if(n)return g.emit("error",{source:"identity:register:select",error:n,context:{identityHash:t.identityHash,name:t.name,email:t.email}}),{ok:!1,registered:!1,error:n.message};if(r){let[,o]=await p(()=>e.updateTable("__noorm_identities__").set({last_seen_at:new Date}).where("identity_hash","=",t.identityHash).execute());return o?(g.emit("error",{source:"identity:register:update",error:o,context:{identityHash:t.identityHash,name:t.name,email:t.email}}),{ok:!1,registered:!1,error:o.message}):{ok:!0,registered:!1}}let[,i]=await p(()=>e.insertInto("__noorm_identities__").values({identity_hash:t.identityHash,email:t.email,name:t.name,machine:t.machine,os:t.os,public_key:t.publicKey}).execute());return i?(g.emit("error",{source:"identity:register:insert",error:i,context:{identityHash:t.identityHash,name:t.name,email:t.email}}),{ok:!1,registered:!1,error:i.message}):(g.emit("identity:registered",{identityHash:t.identityHash,name:t.name,email:t.email}),{ok:!0,registered:!0})}async function cr(e,t){let[r,n]=await p(()=>e.selectFrom("__noorm_identities__").selectAll().execute());return n?{ok:!1,users:[],error:n.message}:{ok:!0,users:(r??[]).map(o=>({identityHash:o.identity_hash,email:o.email,name:o.name,publicKey:o.public_key,machine:o.machine,os:o.os,lastSeen:o.last_seen_at instanceof Date?o.last_seen_at.toISOString():String(o.last_seen_at),source:t}))}}async function ur(e,t,r){let[n,i]=await p(()=>ge(e));if(i)return{ok:!1,error:i.message};if(!n)return{ok:!0,knownUsersCount:0};let o=!1;if(t){let m=await Me(e,t);if(!m.ok)return{ok:!1,error:m.error};o=m.registered}let[s,l]=await p(()=>e.selectFrom("__noorm_identities__").select(e.fn.count("id").as("count")).executeTakeFirst());if(l)return{ok:!1,error:l.message};let f=Number(s?.count??0);return g.emit("identity:synced",{configName:r,registered:o,knownUsersCount:f}),{ok:!0,registered:o,knownUsersCount:f}}async function jn(e){let[t]=await p(()=>de());if(ar()?.info("Loaded existing identity",{identity:t}),!t)return{ok:!0,knownUsersCount:0};let[r,n]=await p(()=>Le(e.connection,e.name));if(n)return g.emit("error",{source:"identity:sync:connection",error:n,context:{configName:e.name}}),{ok:!0,knownUsersCount:0};let i=r.db,o=await ur(i,t,e.name);if(!o.ok)return o;if(o.knownUsersCount&&o.knownUsersCount>0){let[s,l]=await p(()=>cr(i,e.name));if(l)return g.emit("error",{source:"identity:fetch-known-users",error:l,context:{configName:e.name}}),{ok:!1,error:l.message};let{ok:f,users:m,error:h}=s;return f?{...o,knownUsers:m}:{ok:!1,error:h}}return o}var ct=null;function An(e={}){return e.configIdentity||e.cryptoIdentity?Pe(e):(ct||(ct=Pe(e)),ct)}function ka(e){return An({configIdentity:e.identity})}async function fe(e){let t=await de();if(t||g.emit("identity:not-found"),!t)return;let[,r]=await p(()=>Me(e,t));r&&g.emit("error",{error:r,source:"identity:ensure",context:{identity:t}})}async function Bn(e){switch(e){case"sqlite":return(await import("./sqlite-KSGG7IKM.js")).createSqliteConnection;case"postgres":return(await import("./postgres-7E352BHM.js")).createPostgresConnection;case"mysql":return(await import("./mysql-EEPNIS5Q.js")).createMysqlConnection;case"mssql":return(await import("./mssql-Y7W7F4UH.js")).createMssqlConnection;default:throw new Error(`Unsupported dialect: ${e}`)}}function Fn(e){return{postgres:"npm install pg",mysql:"npm install mysql2",sqlite:"npm install better-sqlite3",mssql:"npm install tedious tarn"}[e]}async function Le(e,t="__default__"){let[r,n]=await p(()=>gt(async()=>{let[m,h]=await p(()=>Bn(e.dialect));if(h)throw h.message.includes("Cannot find module")?new Error(`Missing driver for ${e.dialect}. Install it with:
9
- `+Fn(e.dialect)):h;let v=await m(e);return await K`SELECT 1`.execute(v.db),v},{retries:3,delay:1e3,backoff:2,jitterFactor:.1,shouldRetry:m=>{let h=m.message.toLowerCase();return h.includes("authentication")||h.includes("password")||h.includes("missing driver")?!1:h.includes("econnrefused")||h.includes("etimedout")||h.includes("too many connections")||h.includes("connection reset")}}));if(n)throw g.emit("connection:error",{configName:t,error:n.message}),n;let i=De(),o=i.track(r,t),s=r.destroy,l=async()=>{i.untrack(o),await s(),g.emit("connection:close",{configName:t})},f={db:r.db,dialect:r.dialect,destroy:l};return g.emit("connection:open",{configName:t,dialect:e.dialect}),await fe(f.db),f}var Un={postgres:"postgres",mysql:void 0,sqlite:void 0,mssql:"master"};async function Hn(e,t={}){let r=e;if(t.testServerOnly&&e.dialect!=="sqlite"){let o=Un[e.dialect];r={...e,database:o??e.database}}let[n,i]=await p(()=>Le(r,"__test__"));return i?{ok:!1,error:i.message}:(await n.destroy(),{ok:!0})}export{Ae as a,Ir as b,Rr as c,Nr as d,Er as e,Tr as f,vr as g,$r as h,kr as i,De as j,lr as k,Pe as l,fr as m,Lr as n,Dr as o,Pr as p,Vr as q,de as r,Ce as s,ko as t,ge as u,Lt as v,Br as w,Ur as x,Ie as y,hi as z,bi as A,Dt as B,R as C,V as D,wn as E,be as F,ra as G,Me as H,jn as I,An as J,ka as K,Le as L,Hn as M};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{m as r,t as e}from"./chunk-QI5B3GSQ.js";function n(t,o){return e.createWithChildren([e.createWithSql(`${t} `),r.create(o)])}export{n as a};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- var e=Object.freeze({version:"__noorm_version__",change:"__noorm_change__",executions:"__noorm_executions__",lock:"__noorm_lock__",identities:"__noorm_identities__",vault:"__noorm_vault__"});export{e as a};